using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
namespace YLErp.DBModels
{
///
/// 簿记账户
///
[Table("assetunit")]
public class AssetUnit : DBModelWithOperator, IDataEntity, IDataTraceV2, IClonable
{
public const string BookCategoryAgency = "代客";
public const string BookCategorySecuritiesLending = "融券";
[Key]
[DisplayName("簿记账户名称")]
public override int id { get; set; }
[DisplayName("初始金额")]
public double? InitialMoney { get; set; }
[NotMapped]
public List TraderIdsInt
{
get
{
if (string.IsNullOrEmpty(TraderIds))
{
return new List();
}
return TraderIds.Split(","[0]).Select(t => Convert.ToInt32(t)).ToList();
}
}
[NotMapped]
public List TraderNamesList
{
get
{
if (string.IsNullOrEmpty(TraderNames))
{
return new List();
}
return TraderNames.Split(","[0]).Select(t => t).ToList();
}
}
[DisplayName("交易员")]
public string TraderIds { get; set; }
[DisplayName("交易员")]
public string TraderNames { get; set; }
///
/// 资产单元名称
///
[DisplayName("簿记账户名称"), Required]
public string Name { get; set; }
[DisplayName("簿记分类"), Required]
public string BookCategory { get; set; }
///
/// 基础币种
///
[DisplayName("基础币种")]
public string BaseCurrency { get; set; }
///
/// 分组Id
///
[DisplayName("账户组名称")]
public int GroupId { get; set; }
///
/// 账户组名称
///
[NotMapped]
public string GroupName { get; set; }
///
/// 所属业务组
///
[DisplayName("所属业务组")]
public string UserGroup { get; set; }
///
/// 备注
///
[DisplayName("备注")]
public string Remark { get; set; }
public AssetUnit Clone()
{
return (AssetUnit)MemberwiseClone();
}
public string GetDataTraceKeyId()
{
return id.ToString();
}
public string GetDataTraceKeyInfo()
{
return "簿记账户:" + Name;
}
public override string ToString()
{
return $"{Name}--{id}--{UserGroup}";
}
}
///
/// 簿记账户DTO
///
[NotMapped]
public class AssetUnitDto : AssetUnit
{
}
}