using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
using Microsoft.EntityFrameworkCore;
using Volo.Abp.Domain.Entities;
using Volo.Abp.Domain.Entities.Auditing;
namespace Shentun.Peis.Models
{
///
/// 团检体检登记
///
[Table("customer_org_register")]
public class CustomerOrgRegister : AuditedEntity, IHasConcurrencyStamp
{
public CustomerOrgRegister(Guid id):base(id) {
}
public CustomerOrgRegister()
{
CustomerOrgCharges = new HashSet();
CustomerOrgGroups = new HashSet();
//PatientRegisters = new HashSet();
}
//[Key]
//[Column("customer_org_register_id")]
//public Guid CustomerOrgRegisterId { get; set; }
///
/// 单位编号
///
[Column("customer_org_id")]
public Guid CustomerOrgId { get; set; }
///
/// 单位体检次数
///
[Column("medical_times")]
public short MedicalTimes { get; set; }
///
/// 计划号
///
[Column("register_no")]
[StringLength(12)]
public string? RegisterNo { get; set; }
///
/// 计划名称
///
[Column("register_name")]
[StringLength(50)]
public string RegisterName { get; set; } = null!;
///
/// 开始日期
///
[Column("begin_time")]
public DateTime BeginTime { get; set; }
///
/// 结束日期
///
[Column("end_time")]
public DateTime? EndTime { get; set; }
///
/// 完成标志
///
[Column("is_complete")]
[MaxLength(1)]
public char IsComplete { get; set; }
[Column("concurrency_stamp")]
public string ConcurrencyStamp { get; set; }
/////
///// 最后修改者
/////
//[Column("last_modifier_id")]
//public Guid LastModifierId { get; set; }
/////
///// 最后修改日期
/////
//[Column("last_modification_time", TypeName = "timestamp without time zone")]
//public DateTime LastModificationTime { get; set; }
//[Column("creator_id")]
//public Guid CreatorId { get; set; }
//[Column("creation_time", TypeName = "timestamp without time zone")]
//public DateTime CreationTime { get; set; }
//[Column("concurrency_stamp")]
//[StringLength(40)]
//public string ConcurrencyStamp { get; set; } = null!;
[ForeignKey(nameof(CustomerOrgId))]
[InverseProperty("CustomerOrgRegisters")]
public virtual CustomerOrg CustomerOrg { get; set; } = null!;
[InverseProperty(nameof(CustomerOrgCharge.CustomerOrgRegister))]
public virtual ICollection CustomerOrgCharges { get; set; }
[InverseProperty(nameof(CustomerOrgGroup.CustomerOrgRegister))]
public virtual ICollection CustomerOrgGroups { get; set; }
//[InverseProperty(nameof(PatientRegister.CustomerOrgRegister))]
//public virtual ICollection PatientRegisters { get; set; }
//public override object[] GetKeys()
//{
// return new object[] { CustomerOrgRegisterId };
//}
}
}