From f0daa0b283b00c39deac45f3a9eeeca3a5797c54 Mon Sep 17 00:00:00 2001 From: MahanCh Date: Tue, 19 Aug 2025 14:52:52 +0330 Subject: [PATCH] feat: add workshop details handling to InstitutionContract and InstitutionContractApplication --- .../InstitutionContractAgg/InstitutionContract.cs | 10 +++++++--- .../InstitutionContractApplication.cs | 6 ++++++ 2 files changed, 13 insertions(+), 3 deletions(-) diff --git a/Company.Domain/InstitutionContractAgg/InstitutionContract.cs b/Company.Domain/InstitutionContractAgg/InstitutionContract.cs index 4beb15f1..f0bdf849 100644 --- a/Company.Domain/InstitutionContractAgg/InstitutionContract.cs +++ b/Company.Domain/InstitutionContractAgg/InstitutionContract.cs @@ -163,18 +163,22 @@ public class InstitutionContract : EntityBase { Status = InstitutionContractStatus.Completed; } + + public void SetWorkshopDetails(List commandWorkshops) + { + WorkshopDetails = commandWorkshops; + } } public class InstitutionContractWorkshopDetail:EntityBase { public InstitutionContractWorkshopDetail( string workshopName, bool hasRollCallPlan, - bool hasCustomizeCheckoutPlan, bool hasContractPlan,int personnelCount,long institutionContractId) + bool hasCustomizeCheckoutPlan, bool hasContractPlan,int personnelCount) { WorkshopName = workshopName; HasRollCallPlan = hasRollCallPlan; HasCustomizeCheckoutPlan = hasCustomizeCheckoutPlan; HasContractPlan = hasContractPlan; - InstitutionContractId = institutionContractId; PersonnelCount = personnelCount; } @@ -210,7 +214,7 @@ public class InstitutionContractWorkshopDetail:EntityBase /// public long InstitutionContractId { get; private set; } - public InstitutionContractWorkshopDetail() + private InstitutionContractWorkshopDetail() { } diff --git a/CompanyManagment.Application/InstitutionContractApplication.cs b/CompanyManagment.Application/InstitutionContractApplication.cs index f5194645..c4b943c5 100644 --- a/CompanyManagment.Application/InstitutionContractApplication.cs +++ b/CompanyManagment.Application/InstitutionContractApplication.cs @@ -967,6 +967,12 @@ public class InstitutionContractApplication : IInstitutionContractApplication command.Workshops.Sum(x => x.PersonnelCount).ToString(), command.Description, "Official", "JobRelation",hasValueAddedTax , command.TaxAmount); + + var workshopDetails = command.Workshops.Select(x => + new InstitutionContractWorkshopDetail(x.WorkshopName, x.HasRollCallPlan, x.HasCustomizeCheckoutPlan, + x.HasContractPlan, x.PersonnelCount)).ToList(); + + entity.SetWorkshopDetails(workshopDetails); await _institutionContractRepository.CreateAsync(entity); await _institutionContractRepository.SaveChangesAsync(); await transaction.CommitAsync();