using System.ComponentModel.DataAnnotations.Schema; using System.Data; namespace YLErp.DBModels { /// /// 客户授信表 /// [Table("credit")] public class CreditTable : DBModelWithOperator, IDBModelWithCreator { public const string RoleType = "RoleType"; public const string ClientType = "ClientType"; public static string LogClass = "授信"; /// /// 客户信息 /// [DisplayName("客户名称")] public int? ClientId { get; set; } /// /// 授信 /// [DisplayName("授信额度")] public double? Credit { get; set; } /// /// PFE授信 /// [DisplayName("PFE授信")] public double? PFECredit { get; set; } /// /// IM授信 /// [DisplayName("IM授信")] public double? IMCredit { get; set; } /// /// 最小转账金额/追保额度 /// [DisplayName("最小转账金额")] public double? MarginLimit { get; set; } /// /// 用户编号 /// [DisplayName("客户编号")] public string ClientNumber { get; set; } /// /// 客户名称 /// [DisplayName("客户名称")] public string ClientName { get; set; } /// /// 授信起始日 /// [DisplayName("起始日")] public DateTime? CreditStartDate { get; set; } /// /// 授信到期日 /// [DisplayName("到期日")] public DateTime? CreditDeadLine { get; set; } [DisplayName("买卖权限")] public string BuySellRight { get; set; } /// /// 是否全选 /// public bool? IsAll { get; set; } /// /// 是否限制交易品种 /// public bool? IsVariety { get; set; } /// /// 0表示黑名单,1表示白名单(默认为黑名单) /// [DisplayName("是否白名单")] public int IsWhitelist { get; set; } = 0; [NotMapped] public List TradeBuySell { get { if (BuySellRight == "买") { return new List { "买入" }; } else if (BuySellRight == "卖") { return new List { "卖出" }; } else if (BuySellRight == "买卖") { return new List { "买入", "卖出" }; } return new List { "买入" }; } } [DisplayName("角色")] public string RoleName { get; set; } [DisplayName("角色")] public int? RoleId { get; set; } /// /// 目前有用户和角色 /// [DisplayName("授信种类")] public string Type { get; set; } /// /// 名义本金规模 /// [DisplayName("名义本金规模")] public double? StockEqvNotional { get; set; } /// /// 授信审批规模 /// [DisplayName("授信审批规模")] public double? AuditCredit { get; set; } /// /// 名义本金审批规模 /// [DisplayName("名义本金审批规模")] public double? AuditStockEqvNotional { get; set; } /// /// 抵扣名义本金额度 /// [DisplayName("抵扣名义本金额度")] public double? DeductStockEqvNotional { get; set; } /// /// 资质评级 /// [DisplayName("资质评级")] public string QualificationRating { get; set; } IEnumerable _VarietyIdsInt; [NotMapped] public IEnumerable VarietyIdsInt { get { if (_VarietyIdsInt == null) { _VarietyIdsInt = string.IsNullOrEmpty(VarietyId) ? Enumerable.Empty() : VarietyId.Split(',').Select(v => Convert.ToInt32(v)).ToArray(); } return _VarietyIdsInt; } } public string ProcessStatus { get; set; } public int ProcessOrderId { get; set; } [DisplayName("开户时间")] public DateTime? ProcessOptDate { get; set; } [NotMapped] public int? ProcessRoleId { get; set; } [NotMapped] public string ProcessRoleName { get; set; } /// /// 品种 /// [DisplayName("品种")] public string VarietyId { get; set; } /// /// 品种名 /// [DisplayName("品种名")] public string VarietyName { get; set; } private string _comments; /// /// 说明 /// [DisplayName("说明")] public string Comments { get { return _comments ?? ""; } set { _comments = value; } } public bool IsFeelingWhiteList => Type == RoleType || IsWhitelist == 1; /// /// 限制交易品种 /// public bool LimitVariety => Type == RoleType || (Type == ClientType && IsVariety.HasValue && IsVariety.Value); /// /// 创建人ID /// [DisplayName("操作人")] public int? CreatorId { set; get; } /// /// 创建人名称 /// [DisplayName("操作人")] public string CreatorName { set; get; } /// /// 创建时间 /// [DisplayName("操作时间")] public DateTime? CreateDate { set; get; } } [NotMapped] public class CreditDto : CreditTable { /// /// 授信状态 /// public string ProcessStatusOriginal { get; set; } } }