diff --git a/CompanyManagment.Application/CustomizeCheckoutApplication.cs b/CompanyManagment.Application/CustomizeCheckoutApplication.cs index 0c94f1c2..d617a01e 100644 --- a/CompanyManagment.Application/CustomizeCheckoutApplication.cs +++ b/CompanyManagment.Application/CustomizeCheckoutApplication.cs @@ -17,6 +17,7 @@ using System.Collections.Generic; using System.Globalization; using System.Linq; using Company.Domain.CustomizeCheckoutAgg.ValueObjects; +using Company.Domain.CustomizeWorkshopGroupSettingsAgg; using Company.Domain.PersonnelCodeAgg; using CompanyManagment.App.Contracts.PersonnleCode; @@ -33,9 +34,10 @@ namespace CompanyManagment.Application private readonly IContractRepository _contractRepository; private readonly IWorkshopRepository _workshopRepository; private readonly ICustomizeWorkshopSettingsRepository _customizeWorkshopSettingsRepository; + private readonly ICustomizeWorkshopGroupSettingsRepository _customizeWorkshopGroupSettingsRepository; public CustomizeCheckoutApplication(ICustomizeCheckoutRepository customizeCheckoutRepository, IRollCallEmployeeStatusRepository rollCallEmployeeStatusRepository, ILeftWorkRepository leftWorkRepository, IEmployeeRepository employeeRepository, - IRollCallMandatoryRepository rollCallMandatoryRepository, IContractRepository contractRepository, IWorkshopRepository workshopRepository, ICustomizeWorkshopSettingsRepository customizeWorkshopSettingsRepository, IPersonnelCodeRepository personnelCodeRepository) + IRollCallMandatoryRepository rollCallMandatoryRepository, IContractRepository contractRepository, IWorkshopRepository workshopRepository, ICustomizeWorkshopSettingsRepository customizeWorkshopSettingsRepository, IPersonnelCodeRepository personnelCodeRepository, ICustomizeWorkshopGroupSettingsRepository customizeWorkshopGroupSettingsRepository) { _customizeCheckoutRepository = customizeCheckoutRepository; _rollCallEmployeeStatusRepository = rollCallEmployeeStatusRepository; @@ -46,6 +48,7 @@ namespace CompanyManagment.Application _workshopRepository = workshopRepository; _customizeWorkshopSettingsRepository = customizeWorkshopSettingsRepository; _personnelCodeRepository = personnelCodeRepository; + _customizeWorkshopGroupSettingsRepository = customizeWorkshopGroupSettingsRepository; } public List Search(SearchCustomizeCheckout searchModel) @@ -299,8 +302,8 @@ namespace CompanyManagment.Application if (workshopId == 170) { - List employeesIds = [ 45084, 7980, 5976,45214,45215]; - foreach (var employeesId in employeesIds) + var exceptionEmployeeIds =_customizeWorkshopGroupSettingsRepository.GetEmployeeSettingsByGroupSettingsId(117).Select(x=>x.EmployeeId).ToList(); + foreach (var employeesId in exceptionEmployeeIds) { var status = new RollCallEmployeeStatusViewModel() diff --git a/CompanyManagment.Application/CustomizeCheckoutTempApplication.cs b/CompanyManagment.Application/CustomizeCheckoutTempApplication.cs index 1ab816eb..161d542e 100644 --- a/CompanyManagment.Application/CustomizeCheckoutTempApplication.cs +++ b/CompanyManagment.Application/CustomizeCheckoutTempApplication.cs @@ -1,6 +1,4 @@ - - -using _0_Framework.Application; +using _0_Framework.Application; using Company.Domain.ContractAgg; using Company.Domain.CustomizeCheckoutAgg.ValueObjects; using Company.Domain.CustomizeCheckoutTempAgg; @@ -21,6 +19,7 @@ using Company.Domain.CustomizeCheckoutTempAgg.ValueObjects; using Company.Domain.PersonnelCodeAgg; using CompanyManagment.App.Contracts.PersonnleCode; using _0_Framework.Domain.CustomizeCheckoutShared.ValueObjects; +using Company.Domain.CustomizeWorkshopGroupSettingsAgg; namespace CompanyManagment.Application { @@ -35,8 +34,10 @@ namespace CompanyManagment.Application private readonly IContractRepository _contractRepository; private readonly IPersonnelCodeRepository _personnelCodeRepository; private readonly ICustomizeWorkshopSettingsRepository _customizeWorkshopSettingsRepository; + private readonly ICustomizeWorkshopGroupSettingsRepository _customizeWorkshopGroupSettingsRepository; - public CustomizeCheckoutTempApplication(IRollCallEmployeeStatusRepository rollCallEmployeeStatusRepository, ILeftWorkRepository leftWorkRepository, IEmployeeRepository employeeRepository, IRollCallMandatoryRepository rollCallMandatoryRepository, IContractRepository contractRepository, ICustomizeCheckoutTempRepository customizeCheckoutTempRepository, IWorkshopRepository workshopRepository, ICustomizeWorkshopSettingsRepository customizeWorkshopSettingsRepository, IPersonnelCodeRepository personnelCodeRepository) + + public CustomizeCheckoutTempApplication(IRollCallEmployeeStatusRepository rollCallEmployeeStatusRepository, ILeftWorkRepository leftWorkRepository, IEmployeeRepository employeeRepository, IRollCallMandatoryRepository rollCallMandatoryRepository, IContractRepository contractRepository, ICustomizeCheckoutTempRepository customizeCheckoutTempRepository, IWorkshopRepository workshopRepository, ICustomizeWorkshopSettingsRepository customizeWorkshopSettingsRepository, IPersonnelCodeRepository personnelCodeRepository, ICustomizeWorkshopGroupSettingsRepository customizeWorkshopGroupSettingsRepository) { _rollCallEmployeeStatusRepository = rollCallEmployeeStatusRepository; _leftWorkRepository = leftWorkRepository; @@ -47,6 +48,7 @@ namespace CompanyManagment.Application _workshopRepository = workshopRepository; _customizeWorkshopSettingsRepository = customizeWorkshopSettingsRepository; _personnelCodeRepository = personnelCodeRepository; + _customizeWorkshopGroupSettingsRepository = customizeWorkshopGroupSettingsRepository; } public IEnumerable Search(SearchCustomizeCheckout searchModel) @@ -247,8 +249,8 @@ namespace CompanyManagment.Application if (workshopId == 170) { - List employeesIds = [45084, 7980, 5976, 45214,45215]; - foreach (var employeesId in employeesIds) + var exceptionEmployeeIds = _customizeWorkshopGroupSettingsRepository.GetEmployeeSettingsByGroupSettingsId(117).Select(x => x.EmployeeId).ToList(); + foreach (var employeesId in exceptionEmployeeIds) { var status = new RollCallEmployeeStatusViewModel() diff --git a/CompanyManagment.EFCore/Repository/RollCallMandatoryRepository.cs b/CompanyManagment.EFCore/Repository/RollCallMandatoryRepository.cs index f14a7bde..42131f83 100644 --- a/CompanyManagment.EFCore/Repository/RollCallMandatoryRepository.cs +++ b/CompanyManagment.EFCore/Repository/RollCallMandatoryRepository.cs @@ -1884,7 +1884,11 @@ CreateWorkingHoursTemp command, bool holidayWorking) { var checkoutEnd = contractEnd; var checkoutStart = contractStart; - if (employeeId is 45084 or 7980 or 5976 or 45214 or 45215) + + var exceptionEmployees = _context.CustomizeWorkshopGroupSettings.Where(x => x.id == 117) + .Include(x => x.CustomizeWorkshopEmployeeSettingsCollection).AsSplitQuery().FirstOrDefault()?.CustomizeWorkshopEmployeeSettingsCollection.Select(x => x.EmployeeId).ToList() ?? []; + + if (exceptionEmployees.Contains(employeeId)) { return CheckoutWithoutCalculationForKebabMahdi(workshopId, employeeId, contractStart, contractEnd); }