using Furion.DatabaseAccessor; using Microsoft.EntityFrameworkCore; using Microsoft.EntityFrameworkCore.Metadata.Builders; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace FlexJobApi.Core { /// /// 任务人员信息 /// public class TaskInfoUser : CommonEntity, IEntityTypeBuilder { public TaskInfoUser() { Submits = []; } /// /// 任务Id /// public Guid TaskInfoId { get; set; } /// /// 任务 /// public TaskInfo TaskInfo { get; set; } /// /// 灵工Id /// public Guid EnterpriseEmployeeId { get; set; } /// /// 灵工 /// public EnterpriseEmployee EnterpriseEmployee { get; set; } /// /// 录用状态 /// public EnumTaskUserHireStatus HireStatus { get; set; } /// /// 录用时间 /// public DateTime? HireTime { get; set; } /// /// 安排状态 /// public EnumTaskUserArrangeStatus? ArrangeStatus { get; set; } /// /// 安排完成时间 /// public DateTime? ArrangeTime { get; set; } /// /// 验收状态 /// public EnumTaskCheckReceiveStatus? CheckReceiveStatus { get; set; } /// /// 验收完成时间 /// public DateTime? CheckReceiveTime { get; set; } /// /// 最近提交时间 /// public DateTime? LastSubmitTime { get; set; } /// /// 最近验收时间 /// public DateTime? LastCheckReceiveTime { get; set; } /// /// 所属银行 /// public string Bank { get; set; } /// /// 开户支行名称 /// public string BankBranch { get; set; } /// /// 收款人姓名 /// public string ReceiveName { get; set; } /// /// 收款账户 /// public string ReceiveAccount { get; set; } /// /// 结算金额 /// public decimal? SettlementAmount { get; set; } /// /// 实发金额 /// public decimal? ActualSettlementAmount { get; set; } /// /// 结算状态 /// public EnumTaskSettlementStatus? SettlementStatus { get; set; } /// /// 结算时间 /// public DateTime? SettlementTime { get; set; } /// /// 结算备注 /// public string SettlementRemark { get; set; } /// /// 提交 /// public List Submits { get; set; } public void Configure(EntityTypeBuilder entityBuilder, DbContext dbContext, Type dbContextLocator) { entityBuilder .HasOne(it => it.EnterpriseEmployee) .WithMany(it => it.TaskInfoUsers) .HasForeignKey(it => it.EnterpriseEmployeeId) .IsRequired() .OnDelete(DeleteBehavior.Restrict); } } }