Add project data
This commit is contained in:
105
Tabletop.Core/Models/Unit.cs
Normal file
105
Tabletop.Core/Models/Unit.cs
Normal file
@@ -0,0 +1,105 @@
|
||||
using DbController;
|
||||
using Tabletop.Core.Interfaces;
|
||||
using Tabletop.Core.Models.Abstract;
|
||||
|
||||
namespace Tabletop.Core.Models
|
||||
{
|
||||
public class Unit : LocalizationModelBase<UnitDescription>, IDbModel<int?>
|
||||
{
|
||||
[CompareField("unit_id")]
|
||||
public int UnitId { get; set; }
|
||||
|
||||
[CompareField("fraction_id")]
|
||||
public int FractionId { get; set; }
|
||||
[CompareField("class_id")]
|
||||
public int ClassId { get; set; }
|
||||
[CompareField("troop_quantity")]
|
||||
public int TroopQuantity { get; set; }
|
||||
|
||||
[CompareField("defense")]
|
||||
public int Defense { get; set; }
|
||||
|
||||
[CompareField("moving")]
|
||||
public int Moving { get; set; }
|
||||
|
||||
[CompareField("primary_weapon_id")]
|
||||
public int PrimaryWeaponId { get; set; }
|
||||
|
||||
[CompareField("secondary_weapon_id")]
|
||||
public int? SecondaryWeaponId { get; set; }
|
||||
[CompareField("first_ability_id")]
|
||||
public int? FirstAbilityId { get; set; }
|
||||
[CompareField("second_ability_id")]
|
||||
public int? SecondAbilityId { get; set; }
|
||||
|
||||
[CompareField("image")]
|
||||
public byte[]? Image { get; set; }
|
||||
public int Force { get; set; }
|
||||
public string ConvertedImage { get; set; } = string.Empty;
|
||||
|
||||
public Weapon? PrimaryWeapon { get; set; }
|
||||
public Weapon? SecondaryWeapon { get; set; }
|
||||
public Class? Class { get; set; }
|
||||
public Ability? FirstAbility { get; set; }
|
||||
public Ability? SecondAbility { get; set; }
|
||||
|
||||
[CompareField("quantity")]
|
||||
public int Quantity { get; set; }
|
||||
public int ForceOfQuantity { get; set; }
|
||||
|
||||
public int? GetIdentifier()
|
||||
{
|
||||
return UnitId > 0 ? UnitId : null;
|
||||
}
|
||||
|
||||
public IEnumerable<Dictionary<string, object?>> GetLocalizedParameters()
|
||||
{
|
||||
foreach (var description in Description)
|
||||
{
|
||||
yield return new Dictionary<string, object?>
|
||||
{
|
||||
{ "UNIT_ID", UnitId },
|
||||
{ "NAME", description.Name },
|
||||
{ "DESCRIPTION", description.Description },
|
||||
{ "MECHANIC", description.Mechanic }
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
public Dictionary<string, object?> GetParameters()
|
||||
{
|
||||
return new Dictionary<string, object?>
|
||||
{
|
||||
{ "UNIT_ID", UnitId },
|
||||
{ "FRACTION_ID", FractionId },
|
||||
{ "CLASS_ID", ClassId },
|
||||
{ "TROOP_QUANTITY", TroopQuantity },
|
||||
{ "DEFENSE", Defense },
|
||||
{ "MOVING", Moving },
|
||||
{ "PRIMARY_WEAPON_ID", PrimaryWeaponId },
|
||||
{ "SECONDARY_WEAPON_ID", SecondaryWeaponId },
|
||||
{ "FIRST_ABILITY_ID", FirstAbilityId },
|
||||
{ "SECOND_ABILITY_ID" , SecondAbilityId },
|
||||
{ "QUANTITY", Quantity }
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
public class UnitDescription : ILocalizationHelper
|
||||
{
|
||||
[CompareField("unit_id")]
|
||||
public int UnitId { get; set; }
|
||||
|
||||
[CompareField("code")]
|
||||
public string Code { get; set; } = string.Empty;
|
||||
|
||||
[CompareField("name")]
|
||||
public string Name { get; set; } = string.Empty;
|
||||
|
||||
[CompareField("description")]
|
||||
public string Description { get; set; } = string.Empty;
|
||||
|
||||
[CompareField("mechanic")]
|
||||
public string Mechanic { get; set; } = string.Empty;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user