using System.ComponentModel.DataAnnotations.Schema; using YLErp.Helpers; using static YLErp.DBModels.Consts.ConsReport; namespace YLErp.DBModels { [Table("client_file")] public class client_file : DBModelWithOperator, IDataTrace, IComparable { /// /// 客户id /// [DisplayName("客户id")] public int ClientId { get; set; } /// /// 文件名 /// [DisplayName("文件名")] [DataChange] public string FileName { get; set; } /// /// 文件说明 /// [DisplayName("文件说明")] [DataChange] public string FileDesc { get; set; } /// /// 双录时间 /// [DisplayName("双录时间")] [DataChange] public DateTime? BookTime { get; set; } /// /// 文件类型名 /// [DisplayName("文件类型名")] public string FileTypeName { get; set; } /// /// 协议编号 /// [DisplayName("协议编号")] [DataChange] public string ProtocolNumber { get; set; } /// /// 主协议编号 /// [DisplayName("主协议编号")] [DataChange] public string MainProtocolNumber { get; set; } /// /// 母协议编号记录Id /// public int ParentClientFileId { get; set; } /// /// 签署时间 /// [DisplayName("签署时间")] [DataChange] public DateTime? SignDate { get; set; } /// /// 签署类型 /// [DisplayName("签署类型")] [DataChange] public string SignType { get; set; } /// /// 填报方角色 /// [DisplayName("填报方角色")] [DataChange] public string ReportorRole { get; set; } /// /// 操作状态 /// [DisplayName("操作状态")] public OptFlagsEnum OptState { get; set; } /// /// 报送状态 /// [DisplayName("报送状态")] [DataChange] public bool HasSent { get; set; } /// /// 创建日期 /// public DateTime? createDate { get; set; } /// /// 文件路径 /// [DisplayName("文件路径")] public string FilePath { get; set; } /// /// 是否有效 /// [DisplayName("是否有效")] public bool IsValid { get; set; } /// /// 传入client_file /// public int CompareTo(object obj) { var targetFileTypeName = (obj as client_file).FileTypeName; var protocolType = new List() { "主协议附件(PDF)", "补充协议附件(PDF)", "履约协议附件(PDF)", "代签产品附件(PDF)" }; if (FileTypeName == targetFileTypeName) { return OptDate.Value.CompareTo((obj as client_file).OptDate.Value); } if (protocolType.Contains(FileTypeName)) { if (protocolType.Contains(targetFileTypeName)) { return protocolType.IndexOf(FileTypeName).CompareTo(protocolType.IndexOf(targetFileTypeName)); } else { return FileTypeName.CompareTo("0"); } } return FileTypeName.CompareTo(targetFileTypeName); } public string GetDataTraceKeyInfo() { return "客户文件" + FileName; } public client_file Clone() { return (client_file)MemberwiseClone(); } /// /// 自定义标识 /// [NotMapped] public string FlagStr { get; set; } /// /// 审批状态 ApprovalOrderEnum /// public int ApprovalOrder { get; set; } /// /// 来源id主要用于编辑审批 /// public int? SourceId { get; set; } } }