Вынесение модели в отдельный проект

This commit is contained in:
2025-04-18 12:20:15 +04:00
parent df7f01938f
commit e1ec15d03e
96 changed files with 974 additions and 7683 deletions
+37
View File
@@ -0,0 +1,37 @@
using Pf2eModel.Model.Base;
using Pf2eModel.Model.Enum;
using System.ComponentModel.DataAnnotations.Schema;
namespace Pf2eModel.Model.Structure;
public partial class Action : IEntity
{
[System.ComponentModel.DataAnnotations.Key]
[DatabaseGenerated(DatabaseGeneratedOption.None)]
[Column(Order = 1)]
public int Id { get; set; }
[Column(Order = 2)]
public ActionType Type { get; set; }
[Column(Order = 3)]
public int? Actions { get; set; } = null;
[Column(Order = 4)]
public int? MaxActions { get; set; } = null;
[Column(Order = 5)]
public bool IsReaction { get; set; } = false;
[Column(Order = 6)]
public bool IsFreeAction { get; set; } = false;
[Column(Order = 6)]
public bool IsPassive { get; set; } = false;
[Column(Order = 6)]
public string? Extra { get; set; }
public Entity Entity { get; set; } = null!;
}
+39
View File
@@ -0,0 +1,39 @@
using Pf2eModel.Model.Base;
using Pf2eModel.Model.Enum;
using Pf2eModel.Model.Structure.AncestryRelation;
using System.ComponentModel.DataAnnotations.Schema;
namespace Pf2eModel.Model.Structure;
public partial class Ancestry : IEntity
{
[System.ComponentModel.DataAnnotations.Key]
[DatabaseGenerated(DatabaseGeneratedOption.None)]
[Column(Order = 1)]
public int Id { get; set; }
public Entity Entity { get; set; } = null!;
[Column(Order = 2)]
public Size Size { get; set; } = Size.med;
[Column(Order = 3)]
public int Hp { get; set; }
[Column(Order = 4)]
public int Reach { get; set; }
[Column(Order = 5)]
public int Speed { get; set; }
[Column(Order = 6)]
public AncestryVision Vision { get; set; } = AncestryVision.normal;
public virtual ICollection<AncestryBoost> AncestryBoosts { get; set; } = [];
public virtual ICollection<AncestryItem> AncestryItems { get; set; } = [];
public virtual ICollection<AncestryLanguage> AncestryLanguages { get; set; } = [];
public virtual ICollection<Heritage> Heritages { get; set; } = [];
}
@@ -0,0 +1,23 @@
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
namespace Pf2eModel.Model.Structure.AncestryRelation;
public partial class AncestryBoost
{
[Key]
[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
[Column(Order = 1)]
public int Id { get; set; }
[Column(Order = 2)]
public int AncestryId { get; set; }
[Column(Order = 3)]
public bool Boost { get; set; } = true;
[Column(Order = 4)]
public Enum.AttributeValues Value { get; set; }
public virtual Ancestry Ancestry { get; set; } = null!;
}
@@ -0,0 +1,22 @@
using Microsoft.EntityFrameworkCore;
using Pf2eModel.Model.Base;
using System.ComponentModel.DataAnnotations.Schema;
namespace Pf2eModel.Model.Structure.AncestryRelation;
[PrimaryKey(nameof(AncestryId), nameof(ItemId))]
public partial class AncestryItem
{
[Column(Order = 1)]
public int AncestryId { get; set; }
[Column(Order = 2)]
public int ItemId { get; set; }
[Column(Order = 3)]
public int Level { get; set; }
public virtual Ancestry Ancestry { get; set; } = null!;
public virtual Entity Item { get; set; } = null!;
}
@@ -0,0 +1,22 @@
using Microsoft.EntityFrameworkCore;
using Pf2eModel.Model.Common;
using System.ComponentModel.DataAnnotations.Schema;
namespace Pf2eModel.Model.Structure.AncestryRelation;
[PrimaryKey(nameof(AncestryId), nameof(LanguageId))]
public partial class AncestryLanguage
{
[Column(Order = 1)]
public int AncestryId { get; set; }
[Column(Order = 2)]
public int LanguageId { get; set; }
[Column(Order = 3)]
public bool IsAdditional { get; set; }
public virtual Ancestry Ancestry { get; set; } = null!;
public virtual Language Language { get; set; } = null!;
}
+22
View File
@@ -0,0 +1,22 @@
using Pf2eModel.Model.Base;
using Pf2eModel.Model.Structure.BackgroundRelation;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
namespace Pf2eModel.Model.Structure;
public partial class Background : IEntity
{
[Key]
[DatabaseGenerated(DatabaseGeneratedOption.None)]
[Column(Order = 1)]
public int Id { get; set; }
public Entity Entity { get; set; } = null!;
public virtual ICollection<BackgroundBoost> BackgroundBoosts { get; set; } = [];
public virtual ICollection<BackgroundItem> BackgroundItems { get; set; } = [];
public virtual ICollection<BackgroundTraining> BackgroundSkills { get; set; } = [];
}
@@ -0,0 +1,21 @@
using Pf2eModel.Model.Enum;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
namespace Pf2eModel.Model.Structure.BackgroundRelation;
public partial class BackgroundBoost
{
[Key]
[DatabaseGenerated(DatabaseGeneratedOption.None)]
[Column(Order = 1)]
public int Id { get; set; }
[Column(Order = 2)]
public int BackgroundId { get; set; }
[Column(Order = 3)]
public AttributeValues Attribute { get; set; }
public virtual Background Background { get; set; } = null!;
}
@@ -0,0 +1,22 @@
using Microsoft.EntityFrameworkCore;
using Pf2eModel.Model.Base;
using System.ComponentModel.DataAnnotations.Schema;
namespace Pf2eModel.Model.Structure.BackgroundRelation;
[PrimaryKey(nameof(BackgroundId), nameof(EntityId))]
public partial class BackgroundItem
{
[Column(Order = 1)]
public int BackgroundId { get; set; }
[Column(Order = 2)]
public int EntityId { get; set; }
[Column(Order = 3)]
public int? Level { get; set; }
public virtual Background Background { get; set; } = null!;
public virtual Entity Entity { get; set; } = null!;
}
@@ -0,0 +1,27 @@
using Pf2eModel.Model.Common;
using Pf2eModel.Model.Enum;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
namespace Pf2eModel.Model.Structure.BackgroundRelation;
public partial class BackgroundTraining
{
[Key]
[DatabaseGenerated(DatabaseGeneratedOption.None)]
[Column(Order = 1)]
public int Id { get; set; }
[Column(Order = 2)]
public int BackgroundId { get; set; }
[Column(Order = 3)]
public int TrainingId { get; set; }
[Column(Order = 4)]
public TrainingStage Level { get; set; }
public virtual Background Background { get; set; } = null!;
public virtual Training Training { get; set; } = null!;
}
+34
View File
@@ -0,0 +1,34 @@
using Pf2eModel.Model.Base;
using Pf2eModel.Model.Structure.ClassRelation;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
namespace Pf2eModel.Model.Structure;
public partial class Class : IEntity
{
[Key]
[Column(Order = 1)]
public int Id { get; set; }
[Column(Order = 2)]
public Entity Entity { get; set; } = null!;
[Column(Order = 3)]
public int Hp { get; set; }
[Column(Order = 4)]
public int Perception { get; set; }
[Column(Order = 5)]
public bool Spellcasting { get; set; }
[Column(Order = 6)]
public int AdditionalTrainedSkills { get; set; }
public virtual ICollection<ClassKeyAbility> ClassKeyAbilities { get; set; } = [];
public virtual ICollection<ClassProgression> ClassProgressions { get; set; } = [];
public virtual ICollection<ClassTraining> ClassTrainings { get; set; } = [];
}
@@ -0,0 +1,21 @@
using Pf2eModel.Model.Enum;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
namespace Pf2eModel.Model.Structure.ClassRelation;
public partial class ClassKeyAbility
{
[Key]
[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
[Column(Order = 1)]
public int Id { get; set; }
[Column(Order = 2)]
public int ClassId { get; set; }
[Column(Order = 3)]
public AttributeValues Value { get; set; }
public virtual Class Class { get; set; } = null!;
}
@@ -0,0 +1,29 @@
using Pf2eModel.Model.Base;
using Pf2eModel.Model.Enum;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
namespace Pf2eModel.Model.Structure.ClassRelation;
public partial class ClassProgression
{
[Key]
[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
[Column(Order = 1)]
public int Id { get; set; }
[Column(Order = 2)]
public int ClassId { get; set; }
[Column(Order = 31)]
public int Level { get; set; }
[Column(Order = 4)]
public ClassProgressionType Type { get; set; }
[Column(Order = 5)]
public int? EntityId { get; set; }
public virtual Class Class { get; set; } = null!;
public virtual Entity? Entity { get; set; }
}
@@ -0,0 +1,30 @@
using Pf2eModel.Model.Common;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
namespace Pf2eModel.Model.Structure.ClassRelation;
public partial class ClassTraining
{
[Key]
[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
[Column(Order = 1)]
public int Id { get; set; }
[Column(Order = 2)]
public int ClassId { get; set; }
[Column(Order = 3)]
public int? TrainingId { get; set; }
[Column(Order = 4)]
[MaxLength(Pf2eDbContext.NameLength)]
public string? Name { get; set; }
[Column(Order = 5)]
public int Stage { get; set; }
public virtual Class Class { get; set; } = null!;
public virtual Training? Training { get; set; }
}
+22
View File
@@ -0,0 +1,22 @@
using Pf2eModel.Model.Base;
using Pf2eModel.Model.Enum;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
namespace Pf2eModel.Model.Structure;
public partial class Condition : IEntity
{
[Key]
[DatabaseGenerated(DatabaseGeneratedOption.None)]
[Column(Order = 1)]
public int Id { get; set; }
public Entity Entity { get; set; } = null!;
[Column(Order = 2)]
public ConditionGroup? Group { get; set; }
[Column(Order = 3)]
public string? Extra { get; set; }
}
+40
View File
@@ -0,0 +1,40 @@
using Pf2eModel.Model.Base;
using Pf2eModel.Model.Common;
using Pf2eModel.Model.Enum;
using Pf2eModel.Model.Structure.DeityRelation;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
namespace Pf2eModel.Model.Structure;
public partial class Deity : IEntity
{
[Key]
[DatabaseGenerated(DatabaseGeneratedOption.None)]
[Column(Order = 1)]
public int Id { get; set; }
public Entity Entity { get; set; } = null!;
[Column(Order = 2)]
public DeityCategory Category { get; set; }
[Column(Order = 3)]
public DeityFonts Fonts { get; set; }
[Column(Order = 4)]
public DeitySanctification Sanctification { get; set; }
[Column(Order = 5)]
public bool SanctificationMust { get; set; }
public virtual ICollection<DeityAttribute> DeityAttributes { get; set; } = new List<DeityAttribute>();
public virtual ICollection<DeityDomain> DeityDomains { get; set; } = new List<DeityDomain>();
public virtual ICollection<DeitySpell> DeitySpells { get; set; } = new List<DeitySpell>();
public virtual ICollection<DeityWeapon> DeityWeapons { get; set; } = new List<DeityWeapon>();
public virtual ICollection<Training> Skills { get; set; } = new List<Training>();
}
@@ -0,0 +1,17 @@
using Microsoft.EntityFrameworkCore;
using Pf2eModel.Model.Enum;
using System.ComponentModel.DataAnnotations.Schema;
namespace Pf2eModel.Model.Structure.DeityRelation;
[PrimaryKey(nameof(DeityId), nameof(Attribute))]
public partial class DeityAttribute
{
[Column(Order = 1)]
public int DeityId { get; set; }
[Column(Order = 2)]
public AttributeValues Attribute { get; set; }
public virtual Deity Deity { get; set; } = null!;
}
@@ -0,0 +1,24 @@
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
namespace Pf2eModel.Model.Structure.DeityRelation;
public partial class DeityDomain
{
[Key]
[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
[Column(Order = 1)]
public int Id { get; set; }
[Column(Order = 2)]
public int DeityId { get; set; }
[Column(Order = 3)]
public bool IsPrimary { get; set; }
[Column(Order = 4)]
[MaxLength(Pf2eDbContext.NameLength)]
public string Value { get; set; } = null!;
public virtual Deity Deity { get; set; } = null!;
}
@@ -0,0 +1,25 @@
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
namespace Pf2eModel.Model.Structure.DeityRelation;
public partial class DeitySpell
{
[Key]
[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
[Column(Order = 1)]
public int Id { get; set; }
[Column(Order = 2)]
public int DeityId { get; set; }
[Column(Order = 3)]
public int Level { get; set; }
[Column(Order = 4)]
public int SpellId { get; set; }
public virtual Deity Deity { get; set; } = null!;
public virtual Spell Spell { get; set; } = null!;
}
@@ -0,0 +1,21 @@
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
namespace Pf2eModel.Model.Structure.DeityRelation;
public partial class DeityWeapon
{
[Key]
[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
[Column(Order = 1)]
public int Id { get; set; }
[Column(Order = 2)]
public int DeityId { get; set; }
[Column(Order = 3)]
[MaxLength(Pf2eDbContext.NameLength)]
public string Weapon { get; set; } = null!;
public virtual Deity Deity { get; set; } = null!;
}
+47
View File
@@ -0,0 +1,47 @@
using Pf2eModel.Model.Base;
using Pf2eModel.Model.Enum;
using Pf2eModel.Model.Structure.FeatRelation;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
namespace Pf2eModel.Model.Structure;
public partial class Feat : IEntity
{
[Key]
[DatabaseGenerated(DatabaseGeneratedOption.None)]
[Column(Order = 1)]
public int Id { get; set; }
public Entity Entity { get; set; } = null!;
[Column(Order = 2)]
public ActionType Type { get; set; }
[Column(Order = 3)]
public ActionCategory Category { get; set; }
[Column(Order = 4)]
public int? Actions { get; set; }
[Column(Order = 5)]
public int Level { get; set; }
[Column(Order = 6)]
public int? LevelTaken { get; set; }
[Column(Order = 7)]
public int? MaxTakable { get; set; }
[Column(Order = 8)]
[MaxLength(255)]
public string? Location { get; set; }
[Column(Order = 9)]
public bool? OnlyLevel1 { get; set; }
[Column(Order = 10)]
public string? Extra { get; set; }
public virtual ICollection<FeatPrerequisite> FeatPrerequisites { get; set; } = [];
}
@@ -0,0 +1,21 @@
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
namespace Pf2eModel.Model.Structure.FeatRelation;
public partial class FeatPrerequisite
{
[Key]
[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
[Column(Order = 1)]
public int Id { get; set; }
[Column(Order = 2)]
public int FeatId { get; set; }
[Column(Order = 3)]
[MaxLength(255)]
public string Value { get; set; } = null!;
public virtual Feat Feat { get; set; } = null!;
}
+20
View File
@@ -0,0 +1,20 @@
using Pf2eModel.Model.Base;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
namespace Pf2eModel.Model.Structure;
public partial class Heritage : IEntity
{
[Key]
[DatabaseGenerated(DatabaseGeneratedOption.None)]
[Column(Order = 1)]
public int Id { get; set; }
public Entity Entity { get; set; } = null!;
[Column(Order = 2)]
public int? AncestryId { get; set; }
public virtual Ancestry? Ancestry { get; set; }
}
+59
View File
@@ -0,0 +1,59 @@
using Pf2eModel.Model.Base;
using Pf2eModel.Model.Structure.SpellRelation;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
namespace Pf2eModel.Model.Structure;
public partial class Spell : IEntity
{
[Key]
[DatabaseGenerated(DatabaseGeneratedOption.None)]
[Column(Order = 1)]
public int Id { get; set; }
public Entity Entity { get; set; } = null!;
[Column(Order = 2)]
public int Level { get; set; }
[Column(Order = 3)]
public int Cost { get; set; }
[Column(Order = 4)]
public bool Counteraction { get; set; }
[Column(Order = 5)]
public bool Sustained { get; set; }
[Column(Order = 6)]
[MaxLength(255)]
public string Duration { get; set; } = null!;
[Column(Order = 7)]
[MaxLength(255)]
public string Range { get; set; } = null!;
[Column(Order = 8)]
[MaxLength(255)]
public string Requirements { get; set; } = null!;
[Column(Order = 9)]
[MaxLength(255)]
public string Target { get; set; } = null!;
[Column(Order = 10)]
[MaxLength(255)]
public string Time { get; set; } = null!;
[Column(Order = 11)]
public bool CanHeightening { get; set; }
public virtual SpellArea? SpellArea { get; set; }
public virtual SpellRitual? SpellRitual { get; set; }
public virtual ICollection<SpellDamage> SpellDamages { get; set; } = new List<SpellDamage>();
public virtual ICollection<SpellDefense> SpellDefenses { get; set; } = new List<SpellDefense>();
}
@@ -0,0 +1,25 @@
using Pf2eModel.Model.Enum;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
namespace Pf2eModel.Model.Structure.SpellRelation;
public partial class SpellArea
{
[Key]
[DatabaseGenerated(DatabaseGeneratedOption.None)]
[Column(Order = 1)]
public int SpellId { get; set; }
[Column(Order = 2)]
[MaxLength(255)]
public string? Details { get; set; }
[Column(Order = 3)]
public SpellAreaType Type { get; set; }
[Column(Order = 4)]
public int Value { get; set; }
public virtual Spell Spell { get; set; } = null!;
}
@@ -0,0 +1,43 @@
using Pf2eModel.Model.Enum;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
namespace Pf2eModel.Model.Structure.SpellRelation;
public partial class SpellDamage
{
[Key]
[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
[Column(Order = 1)]
public int Id { get; set; }
[Column(Order = 2)]
public int SpellId { get; set; }
[Column(Order = 3)]
[MaxLength(255)]
public string Key { get; set; } = null!;
[Column(Order = 4)]
public bool? ApplyMod { get; set; }
[Column(Order = 5)]
public SpellDamageCategory? Category { get; set; }
[Column(Order = 6)]
[MaxLength(255)]
public string Formula { get; set; } = null!;
[Column(Order = 7)]
public SpellDamageKinds Kinds { get; set; }
[Column(Order = 8)]
[MaxLength(255)]
public string? Materials { get; set; }
[Column(Order = 9)]
[MaxLength(255)]
public string Type { get; set; } = null!;
public virtual Spell Spell { get; set; } = null!;
}
@@ -0,0 +1,27 @@
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
namespace Pf2eModel.Model.Structure.SpellRelation;
public partial class SpellDefense
{
[Key]
[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
[Column(Order = 1)]
public int Id { get; set; }
[Column(Order = 2)]
public int SpellId { get; set; }
[Column(Order = 3)]
public bool IsPassive { get; set; }
[Column(Order = 4)]
public bool? IsBasic { get; set; }
[Column(Order = 5)]
[MaxLength(255)]
public string Statistic { get; set; } = null!;
public virtual Spell Spell { get; set; } = null!;
}
@@ -0,0 +1,25 @@
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
namespace Pf2eModel.Model.Structure.SpellRelation;
public partial class SpellRitual
{
[Key]
[DatabaseGenerated(DatabaseGeneratedOption.None)]
[Column(Order = 1)]
public int SpellId { get; set; }
[Column(Order = 2)]
[MaxLength(255)]
public string PrimaryCheck { get; set; } = null!;
[Column(Order = 3)]
public int SecondaryCasters { get; set; }
[Column(Order = 4)]
[MaxLength(255)]
public string SecondaryChecks { get; set; } = null!;
public virtual Spell Spell { get; set; } = null!;
}
+21
View File
@@ -0,0 +1,21 @@
using Pf2eModel.Model.Base;
using Pf2eModel.Model.Enum;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
namespace Pf2eModel.Model.Structure;
public partial class Trait : IEntity
{
[Key]
[DatabaseGenerated(DatabaseGeneratedOption.None)]
[Column(Order = 1)]
public int Id { get; set; }
public Entity Entity { get; set; } = null!;
[Column(Order = 2)]
public TraitType Type { get; set; }
public virtual ICollection<Entity> Entities { get; set; } = [];
}