diff --git a/Company.Domain/InstitutionContractAgg/InstitutionContractWorkshopCurrent.cs b/Company.Domain/InstitutionContractAgg/InstitutionContractWorkshopCurrent.cs index 94f68b36..f133fa70 100644 --- a/Company.Domain/InstitutionContractAgg/InstitutionContractWorkshopCurrent.cs +++ b/Company.Domain/InstitutionContractAgg/InstitutionContractWorkshopCurrent.cs @@ -10,11 +10,12 @@ public class InstitutionContractWorkshopCurrent:InstitutionContractWorkshopBase public InstitutionContractWorkshopCurrent(string workshopName, bool hasRollCallPlan, bool hasRollCallPlanInPerson, bool hasCustomizeCheckoutPlan, bool hasContractPlan, bool hasContractPlanInPerson, bool hasInsurancePlan, bool hasInsurancePlanInPerson, - int personnelCount, double price,long institutionContractWorkshopGroupId,long workshopId) : base(workshopName, hasRollCallPlan, + int personnelCount, double price,long institutionContractWorkshopGroupId,InstitutionContractWorkshopGroup workshopGroup,long workshopId) : base(workshopName, hasRollCallPlan, hasRollCallPlanInPerson, hasCustomizeCheckoutPlan, hasContractPlan, hasContractPlanInPerson, hasInsurancePlan, hasInsurancePlanInPerson, personnelCount, price) { InstitutionContractWorkshopGroupId = institutionContractWorkshopGroupId; + WorkshopGroup = workshopGroup; WorkshopId = workshopId; } public long InstitutionContractWorkshopGroupId { get; private set; } diff --git a/Company.Domain/InstitutionContractAgg/InstitutionContractWorkshopInitial.cs b/Company.Domain/InstitutionContractAgg/InstitutionContractWorkshopInitial.cs index 3d4e2557..cceaeefb 100644 --- a/Company.Domain/InstitutionContractAgg/InstitutionContractWorkshopInitial.cs +++ b/Company.Domain/InstitutionContractAgg/InstitutionContractWorkshopInitial.cs @@ -31,7 +31,7 @@ public class InstitutionContractWorkshopInitial:InstitutionContractWorkshopBase WorkshopCreated = true; WorkshopCurrent = new InstitutionContractWorkshopCurrent(WorkshopName,Services.RollCall,Services.RollCallInPerson, Services.CustomizeCheckout,Services.Contract,Services.ContractInPerson,Services.Insurance, - Services.InsuranceInPerson,PersonnelCount,Price,InstitutionContractWorkshopGroupId,workshopId); + Services.InsuranceInPerson,PersonnelCount,Price,InstitutionContractWorkshopGroupId,WorkshopGroup,workshopId); WorkshopCurrent.SetEmployers(Employers.Select(x=>x.EmployerId).ToList()); } @@ -49,6 +49,12 @@ public class InstitutionContractWorkshopInitial:InstitutionContractWorkshopBase entity.SetEmployers(employerIds); return entity; } + + public void SetWorkshopGroup(InstitutionContractWorkshopGroup entityWorkshopGroup) + { + InstitutionContractWorkshopGroupId = entityWorkshopGroup.id; + WorkshopGroup = entityWorkshopGroup; + } } public class InstitutionContractWorkshopDetailEmployer : EntityBase diff --git a/CompanyManagment.EFCore/Repository/InstitutionContractRepository.cs b/CompanyManagment.EFCore/Repository/InstitutionContractRepository.cs index 1fee6ec7..bac37d93 100644 --- a/CompanyManagment.EFCore/Repository/InstitutionContractRepository.cs +++ b/CompanyManagment.EFCore/Repository/InstitutionContractRepository.cs @@ -2190,10 +2190,19 @@ public class InstitutionContractRepository : RepositoryBase - new InstitutionContractWorkshopInitial(x.WorkshopName, x.RollCall, x.RollCallInPerson, x.CustomizeCheckout, - x.ContractAndCheckout, - x.ContractAndCheckoutInPerson, x.Insurance, x.InsuranceInPerson, x.CountPerson, x.Price)).ToList(); + var workshopDetails = institutionContractTemp + .Workshops.Select(x => + { + var res = new InstitutionContractWorkshopInitial(x.WorkshopName, x.RollCall, x.RollCallInPerson, + x.CustomizeCheckout, + x.ContractAndCheckout, + x.ContractAndCheckoutInPerson, x.Insurance, x.InsuranceInPerson, x.CountPerson, x.Price); + if (x.WorkshopId != 0) + { + res.SetWorkshopId(x.WorkshopId); + } + return res; + }).ToList(); var employeeCount = institutionContractTemp.Workshops.Sum(x => x.CountPerson).ToString(); @@ -2218,11 +2227,35 @@ public class InstitutionContractRepository : RepositoryBase x.ContractingPartyId == contractingParty.id)) {