using System;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
using Abp.Domain.Entities.Auditing;
using ContractService.Authorization.Users;
using ContractService.Client;
using ContractService.CommonManager.States;
using ContractService.Configuration;
using ContractService.LegalCase;
namespace ContractService.LegalContract
{
///
/// 合同信息
///
[Table("Ls_LegalContracts")]
public class LegalContractInfo : FullAuditedEntity
{
///
/// 合同编号
///
[MaxLength(50)]
public string Code { get; set; }
///
/// 合同名称
///
[MaxLength(50)]
public string Name { get; set; }
///
/// 内容信息
///
[NotMapped] //不映射到数据库,内容存储到 LegalContractContentInfo
public string ContentInfo { get; set; }
///
/// 标签
///
[MaxLength(200)]
public string Tags { get; set; }
///
/// 合同状态
///
public int ContractState { get; set; }
///
/// 启动时间
///
public DateTime? StartDateTime { get; set; }
///
/// 结束时间
///
public DateTime? EndDateTime { get; set; }
///
/// 最后一次状态变更时间
///
public DateTime? StateLastChangeTime { get; set; }
///
/// 最后一次状态变更原由
///
[MaxLength(500)]
public string StateLastChangeCause { get; set; }
///
/// 项目信息
///
[MaxLength(IwbConsts.PrimaryKey)]
public string CaseNo { get; set; }
[ForeignKey("CaseNo")]
public LegalCaseInfo CaseInfo { get; set; }
[MaxLength(1000)]
public string Remark { get; set; }
}
public class LegalContractInfoClone
{
public string Id { get; set; }
///
/// 合同编号
///
[MaxLength(50)]
public string Code { get; set; }
///
/// 合同名称
///
[MaxLength(50)]
public string Name { get; set; }
///
/// 标签
///
[MaxLength(200)]
public string Tags { get; set; }
///
/// 合同状态
///
public int ContractState { get; set; }
///
/// 启动时间
///
public DateTime? StartDateTime { get; set; }
///
/// 结束时间
///
public DateTime? EndDateTime { get; set; }
///
/// 最后一次状态变更时间
///
public DateTime? StateLastChangeTime { get; set; }
///
/// 最后一次状态变更原由
///
[MaxLength(500)]
public string StateLastChangeCause { get; set; }
///
/// 项目信息
///
[MaxLength(IwbConsts.PrimaryKey)]
public string CaseNo { get; set; }
public string CaseName { get; set; }
public LegalCaseInfo CaseInfo { get; set; }
public ClientCompanyInfo CompanyInfo { get; set; }
public string CompanyName { get; set; }
public DateTime CreationTime { get; set; }
}
///
/// 合同状态定义
///
public class LegalContractStateDefinition
{
///
/// 新建
///
public const int New = 1;
///
/// 已启动
///
public const int Running = 2;
///
/// 挂起
///
public const int Hang = 3;
///
/// 结束
///
public const int End = 4;
public static string GetName(int definition, IStatesManager statesManager)
{
return statesManager.GetDisplayValue("LegalContract", "State", definition + "");
}
}
}