From e0a68690c131231e6cb35477f764a4d5e5b7e75f Mon Sep 17 00:00:00 2001 From: SamSys Date: Wed, 23 Apr 2025 21:33:29 +0330 Subject: [PATCH 01/84] InsuranvePermission - Checkout change --- .../Pages/Accounts/Account/CreateRole.cshtml | 30 ++++++++++ .../Pages/Accounts/Account/EditRole.cshtml | 58 ++++++++++++++----- .../Pages/Company/Checkouts/Index.cshtml.cs | 30 ++++++++++ .../Pages/Company/InsuranceList/Index.cshtml | 2 +- .../Company/InsuranceList/MainSearch.cshtml | 14 ++--- ServiceHost/Areas/Admin/Pages/Index.cshtml | 2 +- .../Areas/Admin/Pages/Shared/_Menu.cshtml | 2 +- .../Areas/AdminNew/Pages/Shared/_Menu.cshtml | 2 +- 8 files changed, 115 insertions(+), 25 deletions(-) diff --git a/ServiceHost/Areas/Admin/Pages/Accounts/Account/CreateRole.cshtml b/ServiceHost/Areas/Admin/Pages/Accounts/Account/CreateRole.cshtml index 692bb1a7..eb43fef0 100644 --- a/ServiceHost/Areas/Admin/Pages/Accounts/Account/CreateRole.cshtml +++ b/ServiceHost/Areas/Admin/Pages/Accounts/Account/CreateRole.cshtml @@ -712,6 +712,36 @@ + @*صفحه اصلی*@ +
+ + + +
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ @*لیست مشاغل مقطوع*@
-@* بیمه *@ -
- + @* بیمه *@ +
+ - - @*لیست مشاغل مقطوع*@ -
- - + + @*صفحه اصلی*@ +
+ + -
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
-
+ @*لیست مشاغل مقطوع*@ +
+ + + +
+ +
@* کارپوشه *@
diff --git a/ServiceHost/Areas/Admin/Pages/Company/Checkouts/Index.cshtml.cs b/ServiceHost/Areas/Admin/Pages/Company/Checkouts/Index.cshtml.cs index d35ba248..84f27416 100644 --- a/ServiceHost/Areas/Admin/Pages/Company/Checkouts/Index.cshtml.cs +++ b/ServiceHost/Areas/Admin/Pages/Company/Checkouts/Index.cshtml.cs @@ -7123,6 +7123,36 @@ public class IndexModel : PageModel familyAllowance = familyAllowanceStep4.ToMoney(); } } + else + { + var HousingAllowonceNumberType = HousingAllowance.MoneyToDouble(); + var ConsumableItemsNumberType = ConsumableItems.MoneyToDouble(); + var familyAllowanceNumberType = familyAllowance.MoneyToDouble(); + + var HousingStep1 = HousingAllowonceNumberType / 30; + var HousingStep4 = HousingStep1 * AllDaysCountWithOutSickLive; + HousingAllowance = HousingStep4.ToMoney(); + + + var consumableItemsStep1 = ConsumableItemsNumberType / 30; + var consumableItemsStep4 = consumableItemsStep1 * AllDaysCountWithOutSickLive; + ConsumableItems = consumableItemsStep4.ToMoney(); + + //حق تاهل + if (MarriedAllowance > 0) + { + var MarriedStep1 = MarriedAllowance / 30; + var MarriedStep4 = MarriedStep1 * AllDaysCountWithOutSickLive; + MarriedAllowanceStr = MarriedStep4.ToMoney(); + } + + if (familyAllowance != "0") + { + var familyAllowanceStep1 = familyAllowanceNumberType / 30; + var familyAllowanceStep4 = familyAllowanceStep1 * AllDaysCount; + familyAllowance = familyAllowanceStep4.ToMoney(); + } + } } #endregion diff --git a/ServiceHost/Areas/Admin/Pages/Company/InsuranceList/Index.cshtml b/ServiceHost/Areas/Admin/Pages/Company/InsuranceList/Index.cshtml index e774af6d..dc880e4d 100644 --- a/ServiceHost/Areas/Admin/Pages/Company/InsuranceList/Index.cshtml +++ b/ServiceHost/Areas/Admin/Pages/Company/InsuranceList/Index.cshtml @@ -91,7 +91,7 @@

@* pull-right *@ - ایجاد لیست بیمه + ایجاد لیست بیمه

diff --git a/ServiceHost/Areas/Admin/Pages/Company/InsuranceList/MainSearch.cshtml b/ServiceHost/Areas/Admin/Pages/Company/InsuranceList/MainSearch.cshtml index df9e2e06..2c6a19b4 100644 --- a/ServiceHost/Areas/Admin/Pages/Company/InsuranceList/MainSearch.cshtml +++ b/ServiceHost/Areas/Admin/Pages/Company/InsuranceList/MainSearch.cshtml @@ -78,13 +78,13 @@ @if ((currentAccout.RoleId == 1 && item.ConfirmSentlist) || !item.ConfirmSentlist) { - + - + - @@ -93,10 +93,10 @@ href="#"> *@ - + - + @* @@ -106,10 +106,10 @@ @* Download DBF File*@ - + - + diff --git a/ServiceHost/Areas/Admin/Pages/Index.cshtml b/ServiceHost/Areas/Admin/Pages/Index.cshtml index a16963c4..583742c6 100644 --- a/ServiceHost/Areas/Admin/Pages/Index.cshtml +++ b/ServiceHost/Areas/Admin/Pages/Index.cshtml @@ -308,7 +308,7 @@
- + diff --git a/ServiceHost/Areas/Admin/Pages/Shared/_Menu.cshtml b/ServiceHost/Areas/Admin/Pages/Shared/_Menu.cshtml index 61cbdcb9..716abfc2 100644 --- a/ServiceHost/Areas/Admin/Pages/Shared/_Menu.cshtml +++ b/ServiceHost/Areas/Admin/Pages/Shared/_Menu.cshtml @@ -400,7 +400,7 @@
    -
  • +
  • diff --git a/ServiceHost/Areas/AdminNew/Pages/Shared/_Menu.cshtml b/ServiceHost/Areas/AdminNew/Pages/Shared/_Menu.cshtml index 0a2349ab..d0a6fb1b 100644 --- a/ServiceHost/Areas/AdminNew/Pages/Shared/_Menu.cshtml +++ b/ServiceHost/Areas/AdminNew/Pages/Shared/_Menu.cshtml @@ -600,7 +600,7 @@
      -
    • +
    • From b880721dfad203a77a3792088f9b8cc262075cfe Mon Sep 17 00:00:00 2001 From: SamSys Date: Thu, 24 Apr 2025 14:25:30 +0330 Subject: [PATCH 02/84] GetEmployeeShiftDateByRollCallStartDate bug fixed --- .../RollCallAgg/DomainService/IRollCallDomainService.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Company.Domain/RollCallAgg/DomainService/IRollCallDomainService.cs b/Company.Domain/RollCallAgg/DomainService/IRollCallDomainService.cs index 0abe6b9b..100af86d 100644 --- a/Company.Domain/RollCallAgg/DomainService/IRollCallDomainService.cs +++ b/Company.Domain/RollCallAgg/DomainService/IRollCallDomainService.cs @@ -182,7 +182,7 @@ public class RollCallDomainService : IRollCallDomainService return shiftDetails.shiftType switch { WorkshopShiftStatus.Regular => CalculateRegularShiftDate(rollCallStartDate, offset), - WorkshopShiftStatus.Rotating => FindRotatingShift(rollCallEndDate,rollCallEndDate,shiftDetails.rotatingShifts).start.Date, + WorkshopShiftStatus.Rotating => FindRotatingShift(rollCallStartDate,rollCallEndDate,shiftDetails.rotatingShifts).start.Date, WorkshopShiftStatus.Irregular => rollCallStartDate.Date, _ => throw new ArgumentOutOfRangeException() }; From e190408504d6ffb646f87aba1d9ed7e43e6714fe Mon Sep 17 00:00:00 2001 From: Mahan Ch Date: Thu, 24 Apr 2025 14:49:30 +0330 Subject: [PATCH 03/84] Revert "GetEmployeeShiftDateByRollCallStartDate bug fixed" This reverts commit b880721dfad203a77a3792088f9b8cc262075cfe. --- .../RollCallAgg/DomainService/IRollCallDomainService.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Company.Domain/RollCallAgg/DomainService/IRollCallDomainService.cs b/Company.Domain/RollCallAgg/DomainService/IRollCallDomainService.cs index 100af86d..0abe6b9b 100644 --- a/Company.Domain/RollCallAgg/DomainService/IRollCallDomainService.cs +++ b/Company.Domain/RollCallAgg/DomainService/IRollCallDomainService.cs @@ -182,7 +182,7 @@ public class RollCallDomainService : IRollCallDomainService return shiftDetails.shiftType switch { WorkshopShiftStatus.Regular => CalculateRegularShiftDate(rollCallStartDate, offset), - WorkshopShiftStatus.Rotating => FindRotatingShift(rollCallStartDate,rollCallEndDate,shiftDetails.rotatingShifts).start.Date, + WorkshopShiftStatus.Rotating => FindRotatingShift(rollCallEndDate,rollCallEndDate,shiftDetails.rotatingShifts).start.Date, WorkshopShiftStatus.Irregular => rollCallStartDate.Date, _ => throw new ArgumentOutOfRangeException() }; From 7ad1a2f376e926c813dd559cede8af935a68df2d Mon Sep 17 00:00:00 2001 From: Mahan Ch Date: Thu, 24 Apr 2025 15:07:30 +0330 Subject: [PATCH 04/84] add tomam 2 --- .../Pages/Company/AndroidApk/Index.cshtml.cs | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/ServiceHost/Areas/AdminNew/Pages/Company/AndroidApk/Index.cshtml.cs b/ServiceHost/Areas/AdminNew/Pages/Company/AndroidApk/Index.cshtml.cs index 22bb1f92..bc43a01e 100644 --- a/ServiceHost/Areas/AdminNew/Pages/Company/AndroidApk/Index.cshtml.cs +++ b/ServiceHost/Areas/AdminNew/Pages/Company/AndroidApk/Index.cshtml.cs @@ -73,16 +73,16 @@ namespace ServiceHost.Areas.AdminNew.Pages.Company.AndroidApk public IActionResult OnPostShiftDateNew2() { - var startRollCall = new DateTime(2025, 2, 19); - var rollCalls = _context.RollCalls.Where(x => x.ShiftDate >= startRollCall && x.WorkshopId == 170).ToList(); + var startRollCall = new DateTime(2025, 3, 21); + var rollCalls = _context.RollCalls.Where(x => x.StartDate >= startRollCall &&x.EndDate != null && x.ShiftDate == new DateTime()).ToList(); + var r1 = rollCalls.Take(3000).ToList(); - var r2 = rollCalls.Skip(3000).ToList(); + Console.ForegroundColor = ConsoleColor.DarkRed; + Console.WriteLine("endStep 1 ============"); + SetRollCall(r1); - Console.ForegroundColor = ConsoleColor.Yellow; - Console.WriteLine("endStep 2 ============"); - SetRollCall2(r2); - ViewData["message"] = "تومام دو"; + ViewData["message"] = "تومام دو"; return Page(); } From e8407868a718e6c7fda6354877dbf42f75f708ca Mon Sep 17 00:00:00 2001 From: MahanCh Date: Sat, 26 Apr 2025 11:01:08 +0330 Subject: [PATCH 05/84] fix session bug and edit file bug --- .../ProceedingSessionApplication.cs | 9 +- .../Pages/Company/FilePage/Index.cshtml.cs | 92 +++++++++---------- .../Pages/Company/FilePage/Sessions.cshtml.cs | 4 +- 3 files changed, 54 insertions(+), 51 deletions(-) diff --git a/CompanyManagment.Application/ProceedingSessionApplication.cs b/CompanyManagment.Application/ProceedingSessionApplication.cs index 08d5e2bd..4695dfc3 100644 --- a/CompanyManagment.Application/ProceedingSessionApplication.cs +++ b/CompanyManagment.Application/ProceedingSessionApplication.cs @@ -130,6 +130,7 @@ public class ProceedingSessionApplication : IProceedingSessionApplication ArchiveNo = searchModel.File.ArchiveNo.ToString(), FileClass = searchModel.File.FileClass, UserId_RequesterOrSummoned = searchModel.UserId_RequesterOrSummoned, + Status = 0 }); if (searchModel.IsSearched) @@ -230,6 +231,10 @@ public class ProceedingSessionApplication : IProceedingSessionApplication private List GetFile_Board_PSList(List list, List files, ProceedingSessionSearchModel searchModel) { + if (list.Any(x=>x.Id == 1516)) + { + + } var file_PSList = new List(); foreach (var item in list) @@ -248,7 +253,9 @@ public class ProceedingSessionApplication : IProceedingSessionApplication continue; } - var file = _fileRepository.Search(new FileSearchModel { Id = board.File_Id, Status = 0 }).FirstOrDefault(); + var filelist = _fileRepository.Search(new FileSearchModel { Id = board.File_Id, Status = 0 }).ToList(); + + var file = filelist.FirstOrDefault(); file = _fileApplication.GetFileDetails(file); diff --git a/ServiceHost/Areas/Admin/Pages/Company/FilePage/Index.cshtml.cs b/ServiceHost/Areas/Admin/Pages/Company/FilePage/Index.cshtml.cs index 18c51bff..3f6d64e5 100644 --- a/ServiceHost/Areas/Admin/Pages/Company/FilePage/Index.cshtml.cs +++ b/ServiceHost/Areas/Admin/Pages/Company/FilePage/Index.cshtml.cs @@ -1,4 +1,5 @@ -using _0_Framework.Application; +using System.Transactions; +using _0_Framework.Application; using CompanyManagement.Infrastructure.Excel.CaseManagement; using CompanyManagment.App.Contracts.Board; using CompanyManagment.App.Contracts.Contact2; @@ -183,63 +184,58 @@ public class IndexModel : PageModel public IActionResult OnPostEditFile(EditFile command) { - var result = _fileApplication.Edit(command); + using var transaction = new TransactionScope(); + var fileResult = _fileApplication.Edit(command); - if (!result.IsSuccedded) - return new JsonResult(result); + if (!fileResult.IsSuccedded) + return new JsonResult(fileResult); - if ( - command.createDiagnosisBoard.BoardChairman != null - || command.createDiagnosisBoard.Branch != null - || command.createDiagnosisBoard.DisputeResolutionPetitionDate != null - || command.createDiagnosisBoard.ExpertReport != null - ) - { - if (command.createDiagnosisBoard.Id == 0) - result = _boardApplication.Create(command.createDiagnosisBoard); - else - result = _boardApplication.Edit(command.createDiagnosisBoard); + OperationResult diagnosisBoardResult; + if (command.createDiagnosisBoard.Id == 0) + diagnosisBoardResult = _boardApplication.Create(command.createDiagnosisBoard); + else + diagnosisBoardResult = _boardApplication.Edit(command.createDiagnosisBoard); - if (!result.IsSuccedded) - return new JsonResult(result); + if (!diagnosisBoardResult.IsSuccedded) + return new JsonResult(diagnosisBoardResult); - if (command.createDiagnosisPS != null) - result = _proceedingSessionApplication.CreateProceedingSessions( - command.createDiagnosisPS, - result.SendId - ); + if (command.createDiagnosisPS is { Count: > 0 }) + { + OperationResult diagnosisPs = _proceedingSessionApplication.CreateProceedingSessions( + command.createDiagnosisPS, + diagnosisBoardResult.SendId + ); - if (!result.IsSuccedded) - return new JsonResult(result); - } + if (!diagnosisPs.IsSuccedded) + return new JsonResult(diagnosisPs); + } - if ( - command.createDisputeResolutionBoard.BoardChairman != null - || command.createDisputeResolutionBoard.Branch != null - || command.createDisputeResolutionBoard.DisputeResolutionPetitionDate != null - || command.createDisputeResolutionBoard.ExpertReport != null - ) - { - if (command.createDisputeResolutionBoard.Id == 0) - result = _boardApplication.Create(command.createDisputeResolutionBoard); - else - result = _boardApplication.Edit(command.createDisputeResolutionBoard); + OperationResult disputeBoardResult; + if (command.createDisputeResolutionBoard.Id == 0) + disputeBoardResult = _boardApplication.Create(command.createDisputeResolutionBoard); + else + disputeBoardResult = _boardApplication.Edit(command.createDisputeResolutionBoard); - if (!result.IsSuccedded) - return new JsonResult(result); + if (!disputeBoardResult.IsSuccedded) + return new JsonResult(disputeBoardResult); - if (command.createDisputeResolutionPS != null) - result = _proceedingSessionApplication.CreateProceedingSessions( - command.createDisputeResolutionPS, - result.SendId - ); - if (!result.IsSuccedded) - return new JsonResult(result); - } - return new JsonResult(result); - } + if (command.createDisputeResolutionPS is { Count: > 0 }) + { + OperationResult disputePs = _proceedingSessionApplication.CreateProceedingSessions( + command.createDisputeResolutionPS, + disputeBoardResult.SendId + ); + + if (!disputePs.IsSuccedded) + return new JsonResult(disputePs); + } + + transaction.Complete(); + + return new JsonResult(disputeBoardResult); + } public IActionResult OnGetCreateOrEditPetition(long fileId, int boardTypeId) { diff --git a/ServiceHost/Areas/Admin/Pages/Company/FilePage/Sessions.cshtml.cs b/ServiceHost/Areas/Admin/Pages/Company/FilePage/Sessions.cshtml.cs index eaad9ac1..f7621963 100644 --- a/ServiceHost/Areas/Admin/Pages/Company/FilePage/Sessions.cshtml.cs +++ b/ServiceHost/Areas/Admin/Pages/Company/FilePage/Sessions.cshtml.cs @@ -32,11 +32,11 @@ public class SessionsModel : PageModel public void OnGet(ProceedingSessionSearchModel searchModel) { - _proceedingSessionApplication.UpdatePastProceedingSessions(); +_proceedingSessionApplication.UpdatePastProceedingSessions(); viewModels = _proceedingSessionApplication.FilterSessions(searchModel); - var files = _fileApplication.Search(new FileSearchModel()); + var files = _fileApplication.Search(new FileSearchModel(){Status = 0}); var ArchiveNo_FileClass_UserIdList = files.Select(x => new ArchiveNo_FileClass_UserIdList { ArchiveNo = x.ArchiveNo.ToString(), FileClass = x.FileClass, From 734699b319feeaff7def045f2115237397a8096b Mon Sep 17 00:00:00 2001 From: MahanCh Date: Sat, 26 Apr 2025 11:08:31 +0330 Subject: [PATCH 06/84] fix accept cutbyservice --- CompanyManagment.Application/RollCallApplication.cs | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/CompanyManagment.Application/RollCallApplication.cs b/CompanyManagment.Application/RollCallApplication.cs index 77dc4110..f5505e23 100644 --- a/CompanyManagment.Application/RollCallApplication.cs +++ b/CompanyManagment.Application/RollCallApplication.cs @@ -730,8 +730,11 @@ public class RollCallApplication : IRollCallApplication if (rollCalls == null) return operation.Failed("چنین آیتمی یافت نشد"); - foreach (var item in rollCalls) + foreach (var item in rollCalls) + { + item.Edit(item.StartDate.Value,item.EndDate.Value,_rollCallDomainService); item.SetModifyType(RollCallModifyType.EditByEmployer); + } _rollCallRepository.SaveChanges(); From d95ca28cd4fea16762e869eb225fe355d78fcf1b Mon Sep 17 00:00:00 2001 From: SamSys Date: Sat, 26 Apr 2025 17:13:08 +0330 Subject: [PATCH 07/84] seprate Create js --- .../InstitutionContracts/Create.cshtml | 713 +----------------- .../page/InstitutionContract/js/Create.js | 705 +++++++++++++++++ 2 files changed, 711 insertions(+), 707 deletions(-) create mode 100644 ServiceHost/wwwroot/AssetsAdmin/page/InstitutionContract/js/Create.js diff --git a/ServiceHost/Areas/Admin/Pages/Company/InstitutionContracts/Create.cshtml b/ServiceHost/Areas/Admin/Pages/Company/InstitutionContracts/Create.cshtml index ec68d3d7..75901d4d 100644 --- a/ServiceHost/Areas/Admin/Pages/Company/InstitutionContracts/Create.cshtml +++ b/ServiceHost/Areas/Admin/Pages/Company/InstitutionContracts/Create.cshtml @@ -1,7 +1,7 @@ @model CompanyManagment.App.Contracts.InstitutionContract.CreateInstitutionContract @{ + var adminVersion = _0_Framework.Application.Version.AdminVersion; `; - $(".project_images").append(html); - - }); - - //mobile validation - function mobileValidation(el) { - $(el).on("input", - function() { - this.value = this.value.replace(/[^\d]/, ''); - }); - - - const contactRow = $(el).closest('div.row'); - const elData = $(el).attr("data-mobile"); - - let selectedPhoneType; - contactRow.find("select").each(function() { - if ($(this).attr("data-phonetype") == elData) { - selectedPhoneType = $(this).prop("selectedIndex"); - } - }); - - if (selectedPhoneType == 1) { - if ($(el).val().length < 11 || $(el).val().length > 11) { - - $(el).addClass("invalidMobile"); - contactRow.find("span[data-mobile-err]").text("شماره همراه 11 رقمی وارد کنید"); - } else { - - $(el).removeClass("invalidMobile"); - contactRow.find("span[data-mobile-err]").text(""); - } - } - - - } - - // Remove parent of 'remove' link when link is clicked. - $('.project_images').on('click', - '.remove_project_file', - function(e) { - e.preventDefault(); - const contactRow = $(this).closest('div.row'); - if ($(this).attr("data-remove") == 0) { - contactRow.find('input:text').val(''); - contactRow.find('input:checkbox').prop('checked', false); - contactRow.find("select").each(function() { - $(this).prop("selectedIndex", 0); - }); - } else { - $(this).closest('div.row').remove(); - } - - }); - - //checkbox value copy to string input - function checking(el) { - const datacheckbox = $(el).attr("data-checkbox"); - const contactRow = $(el).closest('div.row'); - if ($(el).is(":checked")) { - let selectedPhoneType; - contactRow.find("select").each(function() { - if ($(this).attr("data-phonetype") == datacheckbox) { - selectedPhoneType = $(this).prop("selectedIndex"); - } - }); - if (selectedPhoneType == 1) { - $(`input[data-checkboxStr='${datacheckbox}']`).val("true"); - } else { - $(`input[data-checkboxStr='${datacheckbox}']`).val("false"); - $(el).prop("checked", false); - $.Notification.autoHideNotify('error', 'top center', 'پیام سیستم ', "ابتدا نوع شماره را همراه انتخاب کنید"); - } - - - } else { - $(`input[data-checkboxStr='${datacheckbox}']`).val("false"); - } - - } - - function setValueAdded() { - $('input[name="checkTaxAdded"]').val("true"); - calculateTotalAmount(); - - } - - function removeValueAdded() { - $('input[name="checkTaxAdded"]').val("false"); - calculateTotalAmount(); - - } - - function findEndOfYear(date) { - $.ajax({ - /* contentType: 'charset=utf-8',*/ - async: false, - dataType: 'json', - type: 'POST', - url: '@Url.Page("/Company/InstitutionContracts/Index", "FindEndOfYear")', - headers: { "RequestVerificationToken": $('input[name="__RequestVerificationToken"]').val() }, - data: { "start": date }, - - success: function(response) { - - $('#end').val(response.end); - - }, - failure: function(response) { - console.log(5, response); - - } - }); - } - - //ارزش افزوده - $('#officialStatus').on('change', - function() { - if ($(this).val() == "Official") { - - const tax = `
      -
      - -
      - -         -
      - -         - -
      - - -
      - - -
      -
      `; - $('#valueAdded').append(tax); - $('#valueAdded').show(); - } else { - $('#valueAdded').html(''); - $('#valueAdded').hide(); - $('input[name="checkTaxAdded"]').val("false"); - calculateTotalAmount(); - } - }); - - // تابع برای محاسبه و نمایش مقدار در فیلد totalAmount - function calculateTotalAmount() { - const start = $('#start').val(); - - const end = $('#end').val(); - - const amount = $('#amount').val(); - - - const checkTax = $('input[name="checkTaxAdded"]').val(); - console.log(checkTax); - let isTaxAdded = "false"; - if ($('#officialStatus').val() == "Official") { - - if (checkTax == "true") { - isTaxAdded = "true"; - } else { - isTaxAdded = "false"; - } - - - } - if (start.length == 10 && end.length == 10 && amount.length > 1) { - $.ajax({ - /* contentType: 'charset=utf-8',*/ - async: false, - dataType: 'json', - type: 'POST', - url: '@Url.Page("/Company/InstitutionContracts/Index", "MountCounter")', - headers: { "RequestVerificationToken": $('input[name="__RequestVerificationToken"]').val() }, - data: { "start": start, "end": end, "amount": amount, "valueAddedtax": isTaxAdded }, - - success: function(response) { - - - numeral.defaultFormat("0,0 تومان"); - const compute = numeral(response.totalAmount).format(); - const finalAmount = numeral(response.finalAmount).format(); - const valueAddedTax = numeral(response.valueAddedTax).format(); - $('#obligation').val(compute); - $('#totalAmount').val(compute); - $('#finalAmount').val(finalAmount); - $('#finalAmountFake').val(finalAmount); - $('#valueAddedTax').val(valueAddedTax); - $('#valueAddedTaxFake').val(valueAddedTax); - - }, - failure: function(response) { - console.log(5, response); - - } - }); - } - - - } - - $(document).ready(function() { - $('#sendData').on('click', - function(e) { - - if (submitcheck1 === false || submitcheck2 === false || submitcheck3 === false) { - e.preventDefault(); - } - - - }); - - $('#city2').on('change', - function() { - const selectedcity = jQuery("#city2 option:selected").text(); - $('#hidencity').val(selectedcity); - - }); - $('#contractDate').on('change', - function() { - submitcheck1 = dateValidcheck(this); - - }); - // هنگام ورود مقدار به فیلد start - $('#start').on('input', - function() { - const startDate = this.value; - if (startDate.length == 10) { - submitcheck2 = dateValidcheck(this); - if (submitcheck2) { - findEndOfYear(startDate); - calculateTotalAmount(); - } - - } - - - }); - - // هنگام ورود مقدار به فیلد end - $('#end').on('input', - function() { - const endDate = this.value; - if (endDate.length == 10) { - submitcheck3 = dateValidcheck(this); - calculateTotalAmount(); - } - - - }); - - // هنگام ورود مقدار به فیلد amount - $('#amount').on('input', - function() { - this.value = this.value.replace(/[^\d]/, ''); - var contractAmount = $("#amount"); - //setting format - numeral.defaultFormat("0,0 تومان"); - contractAmount.on("keyup", - function(e) { - contractAmount.val(numeral(contractAmount.val()).format()); - }); - calculateTotalAmount(); - }); - $('#obligation').on('input', - function() { - this.value = this.value.replace(/[^\d]/, ''); - var obligation = $("#obligation"); - //setting format - numeral.defaultFormat("0,0 تومان"); - obligation.on("keyup", - function(e) { - obligation.val(numeral(obligation.val()).format()); - }); - - }); - $('#totalAmount').on('input', - function() { - this.value = this.value.replace(/[^\d]/, ''); - var totalAmount = $("#totalAmount"); - //setting format - numeral.defaultFormat("0,0 تومان"); - totalAmount.on("keyup", - function(e) { - totalAmount.val(numeral(totalAmount.val()).format()); - }); - - }); - $('#dailyCompenseation').on('input', - function() { - this.value = this.value.replace(/[^\d]/, ''); - var dailyCompenseation = $("#dailyCompenseation"); - //setting format - numeral.defaultFormat("0,0 تومان"); - dailyCompenseation.on("keyup", - function(e) { - dailyCompenseation.val(numeral(dailyCompenseation.val()).format()); - }); - - }); - - }); - - var start1valid = false; - - function dateValidcheck(inputField1) { - - let persianNumbers = [/۰/g, /۱/g, /۲/g, /۳/g, /۴/g, /۵/g, /۶/g, /۷/g, /۸/g, /۹/g], - arabicNumbers = [/٠/g, /١/g, /٢/g, /٣/g, /٤/g, /٥/g, /٦/g, /٧/g, /٨/g, /٩/g], - fixNumbers = function(str) { - if (typeof str === 'string') { - for (let i = 0; i < 10; i++) { - str = str.replace(persianNumbers[i], i).replace(arabicNumbers[i], i); - } - } - return str; - }; - let getdate = inputField1.value; - - let m1, m2; - let y1, y2, y3, y4; - let d1, d2; - let s1, s2; - for (var i = 0; i < getdate.length; i++) { - if (i === 0) { - y1 = fixNumbers(getdate[i]); - } - if (i === 1) { - y2 = fixNumbers(getdate[i]); - } - if (i === 2) { - y3 = fixNumbers(getdate[i]); - } - if (i === 3) { - y4 = fixNumbers(getdate[i]); - } - if (i === 4) { - s1 = fixNumbers(getdate[i]); - } - if (i === 5) { - m1 = fixNumbers(getdate[i]); - } - if (i === 6) { - m2 = fixNumbers(getdate[i]); - } - if (i === 7) { - s2 = fixNumbers(getdate[i]); - } - if (i === 8) { - d1 = fixNumbers(getdate[i]); - } - if (i === 9) { - d2 = fixNumbers(getdate[i]); - } - - } - let yRes = y1 + y2 + y3 + y4; - let year = parseInt(yRes); - let mRes = m1 + m2; - let month = parseInt(mRes); - let dRes = d1 + d2; - let day = parseInt(dRes); - let fixResult = yRes + s1 + mRes + s2 + dRes; - let test1 = checkEnValid(inputField1.value); - - let isValid = /^([1][3-4][0-9][0-9][/])([0][1-9]|[1][0-2])([/])([0][1-9]|[1-2][0-9]|[3][0-1])$/.test(fixResult); - - - if (isValid && test1) { - inputField1.style.backgroundColor = '#a6e9a6'; - start1valid = true; - - - } else { - - if (inputField1.value != "") { - inputField1.style.backgroundColor = '#f94c4c'; - $.Notification.autoHideNotify('error', 'top center', 'پیام سیستم ', "لطفا تاریخ را بصورت صحیح وارد کنید"); - start1valid = false; - } - - - } - return start1valid; - - } - - function checkEnValid(fixDate1) { - - let persianNumbers = [/۰/g, /۱/g, /۲/g, /۳/g, /۴/g, /۵/g, /۶/g, /۷/g, /۸/g, /۹/g], - arabicNumbers = [/٠/g, /١/g, /٢/g, /٣/g, /٤/g, /٥/g, /٦/g, /٧/g, /٨/g, /٩/g], - fixNumbers = function(str) { - if (typeof str === 'string') { - for (let i = 0; i < 10; i++) { - str = str.replace(persianNumbers[i], i).replace(arabicNumbers[i], i); - } - } - return str; - }; - let getdate = fixDate1; - - let m1, m2; - let y1, y2, y3, y4; - let d1, d2; - for (let i = 0; i < getdate.length; i++) { - if (i === 0) { - y1 = fixNumbers(getdate[i]); - } - if (i === 1) { - y2 = fixNumbers(getdate[i]); - } - if (i === 2) { - y3 = fixNumbers(getdate[i]); - } - if (i === 3) { - y4 = fixNumbers(getdate[i]); - } - if (i === 5) { - m1 = fixNumbers(getdate[i]); - } - if (i === 6) { - m2 = fixNumbers(getdate[i]); - } - if (i === 8) { - d1 = fixNumbers(getdate[i]); - } - if (i === 9) { - d2 = fixNumbers(getdate[i]); - } - - } - let yRes = y1 + y2 + y3 + y4; - let year = parseInt(yRes); - let mRes = m1 + m2; - let month = parseInt(mRes); - let dRes = d1 + d2; - let day = parseInt(dRes); - let kabiseh = false; - if (month <= 6 && day > 31) { - return false; - } else if (month > 6 && month < 12 && day > 30) { - return false; - } else if (month === 12) { - - switch (year) { - case 1346: - kabiseh = true; - break; - case 1350: - kabiseh = true; - break; - case 1354: - kabiseh = true; - break; - case 1358: - kabiseh = true; - break; - case 1362: - kabiseh = true; - break; - case 1366: - kabiseh = true; - break; - case 1370: - kabiseh = true; - break; - case 1375: - kabiseh = true; - break; - case 1379: - kabiseh = true; - break; - case 1383: - kabiseh = true; - break; - case 1387: - kabiseh = true; - break; - case 1391: - kabiseh = true; - break; - case 1395: - kabiseh = true; - break; - case 1399: - kabiseh = true; - break; - case 1403: - kabiseh = true; - break; - case 1408: - kabiseh = true; - break; - case 1412: - kabiseh = true; - break; - case 1416: - kabiseh = true; - break; - case 1420: - kabiseh = true; - break; - case 1424: - kabiseh = true; - break; - case 1428: - kabiseh = true; - break; - case 1432: - kabiseh = true; - break; - case 1436: - kabiseh = true; - break; - case 1441: - kabiseh = true; - break; - case 1445: - kabiseh = true; - break; - default: - kabiseh = false; - - } - if (kabiseh == true && day > 30) { - return false; - } else if (kabiseh == false && day > 29) { - return false; - } else { - return true; - } - } else { - return true; - } - - - } + var ajaxFindeEndOfYear = '@Url.Page("/Company/InstitutionContracts/Index", "FindEndOfYear")'; + var ajaxCalculateTotalAmount = '@Url.Page("/Company/InstitutionContracts/Index", "MountCounter")'; + var ajaxLoadContractingPrties = '@Url.Page("/Company/InstitutionContracts/Index", "ContractingParties")'; + var ajaxLoadContractingPrtiesInfo = '@Url.Page("/Company/InstitutionContracts/Index", "WorkshopCountAndEmployeeCount")'; - - $('#getContracingPartiesInfo').empty().append(''); - - - if (nameId != "noId") { - $.ajax({ - /* contentType: 'charset=utf-8',*/ - dataType: 'json', - type: 'POST', - url: '@Url.Page("/Company/InstitutionContracts/Index", "ContractingParties")', - headers: { "RequestVerificationToken": $('input[name="__RequestVerificationToken"]').val() }, - data: { "id": nameId }, - - success: function(response) { - //var items2 = []; - - //$.each(response, - // function (key, val) { - // items2.push({ id: key, vall: val }); - - // }); - - - $.each(response.mylist, - function(i, item) { - $('#getContracingPartiesInfo').append($(''); + + + if (nameId != "noId") { + $.ajax({ + /* contentType: 'charset=utf-8',*/ + dataType: 'json', + type: 'POST', + url: ajaxLoadContractingPrties, + headers: { "RequestVerificationToken": $('input[name="__RequestVerificationToken"]').val() }, + data: { "id": nameId }, + + success: function (response) { + //var items2 = []; + + //$.each(response, + // function (key, val) { + // items2.push({ id: key, vall: val }); + + // }); + + + $.each(response.mylist, + function (i, item) { + $('#getContracingPartiesInfo').append($('
diff --git a/ServiceHost/Areas/Admin/Pages/Company/InstitutionContracts/Index.cshtml b/ServiceHost/Areas/Admin/Pages/Company/InstitutionContracts/Index.cshtml index 87a96d8a..1fd371eb 100644 --- a/ServiceHost/Areas/Admin/Pages/Company/InstitutionContracts/Index.cshtml +++ b/ServiceHost/Areas/Admin/Pages/Company/InstitutionContracts/Index.cshtml @@ -324,7 +324,7 @@ } .eye { - z-index: 0; + z-index: 1; position: relative !important; top: 63px !important; display: inline-block !important; From cad2c152e52c8f303a2ef2865fff960f93781494 Mon Sep 17 00:00:00 2001 From: SamSys Date: Sun, 27 Apr 2025 21:23:56 +0330 Subject: [PATCH 14/84] .eye z-index --- .../Areas/Admin/Pages/Company/InstitutionContracts/Index.cshtml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ServiceHost/Areas/Admin/Pages/Company/InstitutionContracts/Index.cshtml b/ServiceHost/Areas/Admin/Pages/Company/InstitutionContracts/Index.cshtml index 87a96d8a..1fd371eb 100644 --- a/ServiceHost/Areas/Admin/Pages/Company/InstitutionContracts/Index.cshtml +++ b/ServiceHost/Areas/Admin/Pages/Company/InstitutionContracts/Index.cshtml @@ -324,7 +324,7 @@ } .eye { - z-index: 0; + z-index: 1; position: relative !important; top: 63px !important; display: inline-block !important; From ffdc71401eb033102d774b1a30608a7259615a31 Mon Sep 17 00:00:00 2001 From: SamSys Date: Sun, 27 Apr 2025 22:11:39 +0330 Subject: [PATCH 15/84] hasRollCall change --- .../RollCallEmployeeStatusApplication.cs | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/CompanyManagment.Application/RollCallEmployeeStatusApplication.cs b/CompanyManagment.Application/RollCallEmployeeStatusApplication.cs index 8b95f3a0..ede4a1e5 100644 --- a/CompanyManagment.Application/RollCallEmployeeStatusApplication.cs +++ b/CompanyManagment.Application/RollCallEmployeeStatusApplication.cs @@ -92,12 +92,13 @@ namespace CompanyManagment.Application { //موقت // دادمهرگستر 11 * - //585 کاشی گالری سرامیس (بابک ابراهیمی ) * + //585 کاشی گالری سرامیس (بابک ابراهیمی ) //آموزشگاه ملل 604 * //کاریابی ملل 605 * //368 پیتزا امیر آماده سازی //367 پیتزا امیر رستوران //286 مرکز توان بخشی رسالت * + //610 بیمارستان پارس - رازقی طعام DateTime start1404 = new DateTime(2025, 03, 21); bool skipRollCallByWorkshopId = false; if (contractStart < start1404) @@ -106,7 +107,7 @@ namespace CompanyManagment.Application } else { - skipRollCallByWorkshopId = workshopId is 368 or 367; + skipRollCallByWorkshopId = workshopId is 368 or 367 or 585 or 610; } From 64dffd6d252711d9abeabadbc3ded9c01ba2f7c5 Mon Sep 17 00:00:00 2001 From: MahanCh Date: Mon, 28 Apr 2025 13:57:24 +0330 Subject: [PATCH 16/84] change condition in customize checkout eligible employees --- CompanyManagment.Application/CustomizeCheckoutApplication.cs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/CompanyManagment.Application/CustomizeCheckoutApplication.cs b/CompanyManagment.Application/CustomizeCheckoutApplication.cs index c7a82d33..0c94f1c2 100644 --- a/CompanyManagment.Application/CustomizeCheckoutApplication.cs +++ b/CompanyManagment.Application/CustomizeCheckoutApplication.cs @@ -270,8 +270,8 @@ namespace CompanyManagment.Application var statusesWithActiveLeftWorks = statuses .Where(status => workshopLeftWorksInMonth.Any(leftWork => leftWork.EmployeeId == status.EmployeeId && - leftWork.StartWorkDateGr.Date <= status.StartDateGr.Date && - leftWork.LeftWorkDateGr.Date >= status.EndDateGr.Date)).ToList(); + leftWork.StartWorkDateGr.Date <= status.EndDateGr.Date && + leftWork.LeftWorkDateGr.Date >= status.StartDateGr.Date)).ToList(); From 3e02cd711f4f9e29b54a5296810526e7b284d710 Mon Sep 17 00:00:00 2001 From: MahanCh Date: Mon, 28 Apr 2025 16:23:09 +0330 Subject: [PATCH 17/84] fix shiftDateBug --- .../DomainService/IRollCallDomainService.cs | 2 +- Company.Domain/RollCallAgg/RollCall.cs | 2 +- .../Pages/Company/AndroidApk/Index.cshtml.cs | 22 +++++++++---------- 3 files changed, 12 insertions(+), 14 deletions(-) diff --git a/Company.Domain/RollCallAgg/DomainService/IRollCallDomainService.cs b/Company.Domain/RollCallAgg/DomainService/IRollCallDomainService.cs index 0abe6b9b..100af86d 100644 --- a/Company.Domain/RollCallAgg/DomainService/IRollCallDomainService.cs +++ b/Company.Domain/RollCallAgg/DomainService/IRollCallDomainService.cs @@ -182,7 +182,7 @@ public class RollCallDomainService : IRollCallDomainService return shiftDetails.shiftType switch { WorkshopShiftStatus.Regular => CalculateRegularShiftDate(rollCallStartDate, offset), - WorkshopShiftStatus.Rotating => FindRotatingShift(rollCallEndDate,rollCallEndDate,shiftDetails.rotatingShifts).start.Date, + WorkshopShiftStatus.Rotating => FindRotatingShift(rollCallStartDate,rollCallEndDate,shiftDetails.rotatingShifts).start.Date, WorkshopShiftStatus.Irregular => rollCallStartDate.Date, _ => throw new ArgumentOutOfRangeException() }; diff --git a/Company.Domain/RollCallAgg/RollCall.cs b/Company.Domain/RollCallAgg/RollCall.cs index 38a083c9..35204c1c 100644 --- a/Company.Domain/RollCallAgg/RollCall.cs +++ b/Company.Domain/RollCallAgg/RollCall.cs @@ -276,7 +276,7 @@ namespace Company.Domain.RollCallAgg return this; } - private void SetShiftDate(IRollCallDomainService service) + public void SetShiftDate(IRollCallDomainService service) { ShiftDate = service.GetEmployeeShiftDateByRollCallStartDate(WorkshopId, EmployeeId, StartDate!.Value,EndDate.Value); } diff --git a/ServiceHost/Areas/AdminNew/Pages/Company/AndroidApk/Index.cshtml.cs b/ServiceHost/Areas/AdminNew/Pages/Company/AndroidApk/Index.cshtml.cs index bc43a01e..fbaeb19a 100644 --- a/ServiceHost/Areas/AdminNew/Pages/Company/AndroidApk/Index.cshtml.cs +++ b/ServiceHost/Areas/AdminNew/Pages/Company/AndroidApk/Index.cshtml.cs @@ -59,8 +59,8 @@ namespace ServiceHost.Areas.AdminNew.Pages.Company.AndroidApk public IActionResult OnPostShiftDateNew() { var startRollCall = new DateTime(2025, 3, 21); - var rollCalls = _context.RollCalls.Where(x => x.ShiftDate >= startRollCall && x.WorkshopId == 170 ).ToList(); - var r1 = rollCalls.Take(3000).ToList(); + var rollCalls = _context.RollCalls.Where(x => x.ShiftDate >= startRollCall && x.EndDate != null).ToList(); + var r1 = rollCalls.Take(10000).ToList(); Console.ForegroundColor = ConsoleColor.DarkRed; Console.WriteLine("endStep 1 ============"); @@ -73,16 +73,16 @@ namespace ServiceHost.Areas.AdminNew.Pages.Company.AndroidApk public IActionResult OnPostShiftDateNew2() { - var startRollCall = new DateTime(2025, 3, 21); - var rollCalls = _context.RollCalls.Where(x => x.StartDate >= startRollCall &&x.EndDate != null && x.ShiftDate == new DateTime()).ToList(); - var r1 = rollCalls.Take(3000).ToList(); + var startRollCall = new DateTime(2025, 3, 21); + var rollCalls = _context.RollCalls.Where(x => x.StartDate >= startRollCall && x.EndDate != null ).ToList(); + var r1 = rollCalls.Skip(10000).Take(10000).ToList(); - Console.ForegroundColor = ConsoleColor.DarkRed; - Console.WriteLine("endStep 1 ============"); - SetRollCall(r1); + Console.ForegroundColor = ConsoleColor.DarkRed; + Console.WriteLine("endStep 1 ============"); + SetRollCall(r1); - ViewData["message"] = "تومام دو"; + ViewData["message"] = "تومام دو"; return Page(); } @@ -249,9 +249,7 @@ namespace ServiceHost.Areas.AdminNew.Pages.Company.AndroidApk var stepSetTDRollCal = 1; foreach (var endedRollCall in endedRollCalls2) { - endedRollCall.ClearTimeDiff(); - _context.SaveChanges(); - endedRollCall.SetEndDateTime(endedRollCall.EndDate.Value, _rollCallDomainService); + endedRollCall.SetShiftDate(_rollCallDomainService); Console.WriteLine($"{stepSetTDRollCal} - {countSetTDRollCall} ended Set Time Differences{endedRollCall.id}"); stepSetTDRollCal += 1; } From ce088fc432ec631a28ca0f4ddd4fe0da10ddfd14 Mon Sep 17 00:00:00 2001 From: SamSys Date: Mon, 28 Apr 2025 16:59:35 +0330 Subject: [PATCH 18/84] save changes tomam --- .../Areas/AdminNew/Pages/Company/AndroidApk/Index.cshtml.cs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/ServiceHost/Areas/AdminNew/Pages/Company/AndroidApk/Index.cshtml.cs b/ServiceHost/Areas/AdminNew/Pages/Company/AndroidApk/Index.cshtml.cs index fbaeb19a..3e6200a0 100644 --- a/ServiceHost/Areas/AdminNew/Pages/Company/AndroidApk/Index.cshtml.cs +++ b/ServiceHost/Areas/AdminNew/Pages/Company/AndroidApk/Index.cshtml.cs @@ -59,7 +59,7 @@ namespace ServiceHost.Areas.AdminNew.Pages.Company.AndroidApk public IActionResult OnPostShiftDateNew() { var startRollCall = new DateTime(2025, 3, 21); - var rollCalls = _context.RollCalls.Where(x => x.ShiftDate >= startRollCall && x.EndDate != null).ToList(); + var rollCalls = _context.RollCalls.Where(x => x.ShiftDate >= startRollCall && x.EndDate != null && x.id == 105976).ToList(); var r1 = rollCalls.Take(10000).ToList(); Console.ForegroundColor = ConsoleColor.DarkRed; @@ -254,7 +254,7 @@ namespace ServiceHost.Areas.AdminNew.Pages.Company.AndroidApk stepSetTDRollCal += 1; } - //_context.SaveChanges(); + _context.SaveChanges(); } From f9298e13206316ed087bbcc05ec5ccd2882bad78 Mon Sep 17 00:00:00 2001 From: SamSys Date: Mon, 28 Apr 2025 17:00:34 +0330 Subject: [PATCH 19/84] toumam changes --- .../Areas/AdminNew/Pages/Company/AndroidApk/Index.cshtml.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ServiceHost/Areas/AdminNew/Pages/Company/AndroidApk/Index.cshtml.cs b/ServiceHost/Areas/AdminNew/Pages/Company/AndroidApk/Index.cshtml.cs index 3e6200a0..a03ce69a 100644 --- a/ServiceHost/Areas/AdminNew/Pages/Company/AndroidApk/Index.cshtml.cs +++ b/ServiceHost/Areas/AdminNew/Pages/Company/AndroidApk/Index.cshtml.cs @@ -59,7 +59,7 @@ namespace ServiceHost.Areas.AdminNew.Pages.Company.AndroidApk public IActionResult OnPostShiftDateNew() { var startRollCall = new DateTime(2025, 3, 21); - var rollCalls = _context.RollCalls.Where(x => x.ShiftDate >= startRollCall && x.EndDate != null && x.id == 105976).ToList(); + var rollCalls = _context.RollCalls.Where(x => x.ShiftDate >= startRollCall && x.EndDate != null).ToList(); var r1 = rollCalls.Take(10000).ToList(); Console.ForegroundColor = ConsoleColor.DarkRed; From 7f9a2ac597920033a6bc984dbd6e3ac3bcfeda38 Mon Sep 17 00:00:00 2001 From: SamSys Date: Mon, 28 Apr 2025 18:48:19 +0330 Subject: [PATCH 20/84] add partial --- .../Repository/CheckoutRepository.cs | 11 +- .../Pages/Company/Checkouts/Index.cshtml | 1 + .../Pages/Company/Checkouts/Index.cshtml.cs | 30 ++++- .../Pages/Company/Checkouts/MainSearch.cshtml | 3 +- .../Checkouts/RotatingShiftReport.cshtml | 121 ++++++++++++++++++ 5 files changed, 155 insertions(+), 11 deletions(-) create mode 100644 ServiceHost/Areas/Admin/Pages/Company/Checkouts/RotatingShiftReport.cshtml diff --git a/CompanyManagment.EFCore/Repository/CheckoutRepository.cs b/CompanyManagment.EFCore/Repository/CheckoutRepository.cs index dd4a9f2d..f3f93596 100644 --- a/CompanyManagment.EFCore/Repository/CheckoutRepository.cs +++ b/CompanyManagment.EFCore/Repository/CheckoutRepository.cs @@ -91,8 +91,15 @@ public class CheckoutRepository : RepositoryBase, ICheckoutRepos TotalPayment = x.TotalPayment, RewardPay = x.RewardPay, HasRollCall = x.HasRollCall, - - }) + EmployeeId = x.EmployeeId, + WorkshopId = x.WorkshopId, + ContractId = x.ContractId, + ContractStartGr = x.ContractStart, + ContractEndGr = x.ContractEnd, + ContractStart = x.ContractStart.ToFarsi(), + ContractEnd = x.ContractEnd.ToFarsi() + + }) .FirstOrDefault(x => x.Id == id); } diff --git a/ServiceHost/Areas/Admin/Pages/Company/Checkouts/Index.cshtml b/ServiceHost/Areas/Admin/Pages/Company/Checkouts/Index.cshtml index 5a110205..eace4adc 100644 --- a/ServiceHost/Areas/Admin/Pages/Company/Checkouts/Index.cshtml +++ b/ServiceHost/Areas/Admin/Pages/Company/Checkouts/Index.cshtml @@ -1324,6 +1324,7 @@ } function rotatingShiftReport(id){ + console.log(Number(id)); var checkoutId=Number(id); $.ajax({ diff --git a/ServiceHost/Areas/Admin/Pages/Company/Checkouts/Index.cshtml.cs b/ServiceHost/Areas/Admin/Pages/Company/Checkouts/Index.cshtml.cs index fc5b3fce..86115f89 100644 --- a/ServiceHost/Areas/Admin/Pages/Company/Checkouts/Index.cshtml.cs +++ b/ServiceHost/Areas/Admin/Pages/Company/Checkouts/Index.cshtml.cs @@ -150,10 +150,10 @@ public class IndexModel : PageModel #region RotatngShiftReport - public async Task OnPostRotatngShiftReport(long checkoutId) + public async Task OnGetRotatngShiftReport(long id) { var result = new ComputingViewModel(); - var checkout = _checkoutApplication.GetDetails(checkoutId); + var checkout = _checkoutApplication.GetDetails(id); var workingHours = _workingHoursTempApplication.GetByContractIdConvertToShiftwork4(checkout.ContractId); if (checkout.HasRollCall) { @@ -161,14 +161,30 @@ public class IndexModel : PageModel } else { - + var ConvertYear = checkout.ContractStart.Substring(0, 4); + var ConvertMonth = checkout.ContractStart.Substring(5, 2); + + var contract = _contractApplication.GetDetails(checkout.ContractId); + var workshop = _workshopApplication.GetDetails(contract.WorkshopIds); + var separation = _contractApplication.contractSeparation(ConvertYear, ConvertMonth, + contract.ContractStartGr, contract.ContractEndGr, contract.EmployeeId, contract.WorkshopIds); + workingHours.ContractStartGr = separation.ContractStartGr; + workingHours.ContractEndGr = separation.ContractEndGr; + workingHours.ContarctStart = separation.ContarctStart; + workingHours.ContractEnd = separation.ContractEnd; + workingHours.GetWorkDate = contract.GetWorkDate; + workingHours.GetWorkDateHide = contract.GetWorkDate; + workingHours.WorkshopId = contract.WorkshopIds; + workingHours.EmployeeId = contract.EmployeeId; + + result = MandatoryHours(workingHours, workshop.WorkshopHolidayWorking, 0); + + + } Console.WriteLine("ok"); - return new JsonResult(new - { - isSuccedded = true - }); + return Partial("./RotatingShiftReport", result); } #endregion diff --git a/ServiceHost/Areas/Admin/Pages/Company/Checkouts/MainSearch.cshtml b/ServiceHost/Areas/Admin/Pages/Company/Checkouts/MainSearch.cshtml index ca0bdc0b..bad2aab5 100644 --- a/ServiceHost/Areas/Admin/Pages/Company/Checkouts/MainSearch.cshtml +++ b/ServiceHost/Areas/Admin/Pages/Company/Checkouts/MainSearch.cshtml @@ -216,8 +216,7 @@ href="#showmodal=@Url.Page("./Index", "CustomSet", new { item.Id })"> *@ - +
diff --git a/ServiceHost/Areas/Admin/Pages/Company/Checkouts/RotatingShiftReport.cshtml b/ServiceHost/Areas/Admin/Pages/Company/Checkouts/RotatingShiftReport.cshtml new file mode 100644 index 00000000..19267e32 --- /dev/null +++ b/ServiceHost/Areas/Admin/Pages/Company/Checkouts/RotatingShiftReport.cshtml @@ -0,0 +1,121 @@ +@model CompanyManagment.App.Contracts.Contract.ComputingViewModel +@{ + +} + + + + \ No newline at end of file From edc017b4d4d47926f2ca97c9fb38b963878440b1 Mon Sep 17 00:00:00 2001 From: MahanCh Date: Mon, 28 Apr 2025 19:12:58 +0330 Subject: [PATCH 21/84] Left work bug fixed --- ...ustomizeWorkshopGroupSettingsRepository.cs | 7 +++-- .../Repository/RollCallEmployeeRepository.cs | 27 ++++++++++++------- 2 files changed, 22 insertions(+), 12 deletions(-) diff --git a/CompanyManagment.EFCore/Repository/CustomizeWorkshopGroupSettingsRepository.cs b/CompanyManagment.EFCore/Repository/CustomizeWorkshopGroupSettingsRepository.cs index c73d2a44..a986ba2c 100644 --- a/CompanyManagment.EFCore/Repository/CustomizeWorkshopGroupSettingsRepository.cs +++ b/CompanyManagment.EFCore/Repository/CustomizeWorkshopGroupSettingsRepository.cs @@ -123,15 +123,18 @@ public class CustomizeWorkshopGroupSettingsRepository(CompanyContext companyCont public bool HasAnyEmployeeWithoutGroup(long workshopId) { var dateNow = DateTime.Now.Date; + var leftWork = _companyContext.LeftWorkList.Where(x => + x.WorkshopId == workshopId && x.StartWorkDate <= dateNow && x.LeftWorkDate >= dateNow); - var rollCallEmployeesWithoutCWS = _companyContext.RollCallEmployees + var rollCallEmployeesWithoutCWS = _companyContext.RollCallEmployees .Include(x => x.EmployeesStatus) .Where( x => x.WorkshopId == workshopId && x.EmployeesStatus.Any(y => y.StartDate.Date <= dateNow && y.EndDate.Date > dateNow) && - x.HasUploadedImage == "true") + x.HasUploadedImage == "true"&& + leftWork.Any(l => l.EmployeeId == x.EmployeeId && l.WorkshopId == x.WorkshopId)) .GroupJoin(_companyContext.CustomizeWorkshopEmployeeSettings .AsSplitQuery() .Include(x => x.CustomizeWorkshopGroupSettings) diff --git a/CompanyManagment.EFCore/Repository/RollCallEmployeeRepository.cs b/CompanyManagment.EFCore/Repository/RollCallEmployeeRepository.cs index 7b8b4a79..37e836f4 100644 --- a/CompanyManagment.EFCore/Repository/RollCallEmployeeRepository.cs +++ b/CompanyManagment.EFCore/Repository/RollCallEmployeeRepository.cs @@ -145,7 +145,7 @@ public class RollCallEmployeeRepository : RepositoryBase ? "true" : "false", HasUploadedImage = joinedRollCall == null ? "false" : joinedRollCall.HasUploadedImage, - CreatedByClient = clientTemp != null || (employee.workshopTemp != null &&employee.workshopTemp.LeftWorkType == LeftWorkTempType.StartWork) + CreatedByClient = clientTemp != null || (employee.workshopTemp != null && employee.workshopTemp.LeftWorkType == LeftWorkTempType.StartWork) }; @@ -272,8 +272,15 @@ public class RollCallEmployeeRepository : RepositoryBase public List GetActivePersonnelByWorkshopId(long workshopId) { var dateNow = DateTime.Now.Date; - var rollCallEmployeesQuery = _context.RollCallEmployees.Include(x => x.EmployeesStatus).Where(x => x.WorkshopId == workshopId - && x.EmployeesStatus.Any(y => y.StartDate.Date <= dateNow && y.EndDate.Date > dateNow) && x.HasUploadedImage == "true"); + + var leftWork = _context.LeftWorkList.Where(x => + x.WorkshopId == workshopId && x.StartWorkDate <= dateNow && x.LeftWorkDate >= dateNow); + + var rollCallEmployeesQuery = _context.RollCallEmployees.Include(x => x.EmployeesStatus) + .Where(x => x.WorkshopId == workshopId + && x.EmployeesStatus.Any(y => y.StartDate.Date <= dateNow && y.EndDate.Date > dateNow) + && x.HasUploadedImage == "true" &&leftWork.Any(l=>l.EmployeeId == x.EmployeeId && l.WorkshopId == x.WorkshopId)); + var personnel = _context.PersonnelCodeSet.Where(x => x.WorkshopId == workshopId && rollCallEmployeesQuery.Any(y => y.EmployeeId == x.EmployeeId && y.WorkshopId == x.WorkshopId)) @@ -300,15 +307,15 @@ public class RollCallEmployeeRepository : RepositoryBase { var personnelCodes = _context.PersonnelCodeSet.Where(x => x.WorkshopId == workshopId); - var rollCallEmployeesQuery = _context.RollCallEmployees.Include(x=>x.EmployeesStatus) - .Where(x => x.WorkshopId == workshopId && x.EmployeesStatus.Any() && personnelCodes.Any(y=>y.EmployeeId == x.EmployeeId)); + var rollCallEmployeesQuery = _context.RollCallEmployees.Include(x => x.EmployeesStatus) + .Where(x => x.WorkshopId == workshopId && x.EmployeesStatus.Any() && personnelCodes.Any(y => y.EmployeeId == x.EmployeeId)); var res = rollCallEmployeesQuery.Select(x => new RollCallEmployeeViewModel - { - RollCallEmployeeId = x.id, - EmployeeId = x.EmployeeId, - EmployeeFullName = x.EmployeeFullName - }) + { + RollCallEmployeeId = x.id, + EmployeeId = x.EmployeeId, + EmployeeFullName = x.EmployeeFullName + }) .ToList(); return res; From cd83ca4379dc19c9020ed15ead332a1b08ac7a1e Mon Sep 17 00:00:00 2001 From: SamSys Date: Mon, 28 Apr 2025 19:20:10 +0330 Subject: [PATCH 22/84] RotatingShiftReport Modal --- .../Checkouts/RotatingShiftReport.cshtml | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) diff --git a/ServiceHost/Areas/Admin/Pages/Company/Checkouts/RotatingShiftReport.cshtml b/ServiceHost/Areas/Admin/Pages/Company/Checkouts/RotatingShiftReport.cshtml index 19267e32..1defe4f4 100644 --- a/ServiceHost/Areas/Admin/Pages/Company/Checkouts/RotatingShiftReport.cshtml +++ b/ServiceHost/Areas/Admin/Pages/Company/Checkouts/RotatingShiftReport.cshtml @@ -1,6 +1,16 @@ @model CompanyManagment.App.Contracts.Contract.ComputingViewModel @{ + + + + خروجی EXCEL + + + diff --git a/ServiceHost/Areas/Client/Pages/Company/RollCall/Grouping.cshtml.cs b/ServiceHost/Areas/Client/Pages/Company/RollCall/Grouping.cshtml.cs index 004626e2..1d6eadc1 100644 --- a/ServiceHost/Areas/Client/Pages/Company/RollCall/Grouping.cshtml.cs +++ b/ServiceHost/Areas/Client/Pages/Company/RollCall/Grouping.cshtml.cs @@ -14,6 +14,8 @@ using _0_Framework.Domain.CustomizeCheckoutShared.Enums; using _0_Framework.Infrastructure; using CompanyManagment.App.Contracts.RollCallEmployee; using Company.Domain.EmployeeAgg; +using CompanyManagement.Infrastructure.Excel.CWS; +using CompanyManagement.Infrastructure.Excel.EmployeeBankInfo; namespace ServiceHost.Areas.Client.Pages.Company.RollCall { @@ -29,12 +31,12 @@ namespace ServiceHost.Areas.Client.Pages.Company.RollCall private readonly IHttpContextAccessor _contextAccessor; private readonly IAuthHelper _authHelper; public bool GroupedAllEmployees; - private readonly long _workshopId; - public string WorkshopFullName; + private readonly long _workshopId; + public string WorkshopFullName; public CustomizeWorkshopSettingsViewModel RollCallWorkshopSettings; public List RollCallEmployeeList; - public GroupingModel(IPasswordHasher passwordHasher, IWorkshopApplication workshopApplication, ICustomizeWorkshopSettingsApplication rollCallWorkshopSettingsApplication, IEmployeeApplication employeeApplication, IHttpContextAccessor contextAccessor, IAuthHelper authHelper, IRollCallEmployeeApplication rollCallEmployeeApplication) + public GroupingModel(IPasswordHasher passwordHasher, IWorkshopApplication workshopApplication, ICustomizeWorkshopSettingsApplication rollCallWorkshopSettingsApplication, IEmployeeApplication employeeApplication, IHttpContextAccessor contextAccessor, IAuthHelper authHelper, IRollCallEmployeeApplication rollCallEmployeeApplication) { _passwordHasher = passwordHasher; _workshopApplication = workshopApplication; @@ -47,29 +49,29 @@ namespace ServiceHost.Areas.Client.Pages.Company.RollCall _workshopId = _passwordHasher.SlugDecrypt(workshopHash); if (_workshopId < 1) - throw new InvalidDataException("اختلال در کارگاه"); - } + throw new InvalidDataException("اختلال در کارگاه"); + } public bool IrregularWorkshopHaveGroupedAllPersonnelValidation(long workshopId) { - //var isWorkshopIrregular = _customizeWorkshopSettingsApplication - // .GetWorkshopSettingsDetails(workshopId).WorkshopShiftStatus == WorkshopShiftStatus.Irregular; + //var isWorkshopIrregular = _customizeWorkshopSettingsApplication + // .GetWorkshopSettingsDetails(workshopId).WorkshopShiftStatus == WorkshopShiftStatus.Irregular; - //if (isWorkshopIrregular == false) - // return true; - var employeesWithoutGroup = _customizeWorkshopSettingsApplication.HasAnyEmployeeWithoutGroup(workshopId); - if (employeesWithoutGroup) - return false; - return true; - } + //if (isWorkshopIrregular == false) + // return true; + var employeesWithoutGroup = _customizeWorkshopSettingsApplication.HasAnyEmployeeWithoutGroup(workshopId); + if (employeesWithoutGroup) + return false; + return true; + } public IActionResult OnGet() { - //if (_workshopId != 11) - // return Redirect("/Client/Company/RollCall"); + //if (_workshopId != 11) + // return Redirect("/Client/Company/RollCall"); - RollCallEmployeeList = _rollCallEmployeeApplication.GetEmployeeRollCalls(_workshopId); + RollCallEmployeeList = _rollCallEmployeeApplication.GetEmployeeRollCalls(_workshopId); - var account = _authHelper.CurrentAccountInfo(); + var account = _authHelper.CurrentAccountInfo(); GroupedAllEmployees = IrregularWorkshopHaveGroupedAllPersonnelValidation(_workshopId); var workshop = _workshopApplication.GetWorkshopInfo(_workshopId); @@ -77,18 +79,18 @@ namespace ServiceHost.Areas.Client.Pages.Company.RollCall RollCallWorkshopSettings = _customizeWorkshopSettingsApplication.GetWorkshopSettingsByWorkshopId(_workshopId, account); if (RollCallWorkshopSettings.Id == 0) - { - return Redirect("/Client/Company/RollCall"); - } + { + return Redirect("/Client/Company/RollCall"); + } return Page(); } public IActionResult OnGetWorkshopSettingsDataAjax() { - var account = _authHelper.CurrentAccountInfo(); + var account = _authHelper.CurrentAccountInfo(); - var result = _customizeWorkshopSettingsApplication.GetWorkshopSettingsByWorkshopId(_workshopId, account); + var result = _customizeWorkshopSettingsApplication.GetWorkshopSettingsByWorkshopId(_workshopId, account); return new JsonResult(new { isSuccedded = true, @@ -107,16 +109,16 @@ namespace ServiceHost.Areas.Client.Pages.Company.RollCall } public IActionResult OnGetEmployeesGroupSettingsByEmployeeId(long employeeId) - { - var result = _customizeWorkshopSettingsApplication.GetEmployeesGroupSettingsByEmployeeId(employeeId, _workshopId); - return new JsonResult(new - { - success = true, - data = result - }); + { + var result = _customizeWorkshopSettingsApplication.GetEmployeesGroupSettingsByEmployeeId(employeeId, _workshopId); + return new JsonResult(new + { + success = true, + data = result + }); } - public IActionResult OnGetCreateGroup(long workshopSettingId) + public IActionResult OnGetCreateGroup(long workshopSettingId) { var command = new CreateCustomizeWorkshopGroupSettings { @@ -127,7 +129,7 @@ namespace ServiceHost.Areas.Client.Pages.Company.RollCall public IActionResult OnPostCreateGroup(CreateCustomizeWorkshopGroupSettings command) { - command.Salary = "0"; + command.Salary = "0"; OperationResult result = _customizeWorkshopSettingsApplication.CreateGroupSettingsByRollCallWorkshopSettingId(command); return new JsonResult(new @@ -139,35 +141,35 @@ namespace ServiceHost.Areas.Client.Pages.Company.RollCall public IActionResult OnGetEditGroup(long groupId) { - var command = _customizeWorkshopSettingsApplication.GetCustomizeWorkshopGroupSettingsDetails(groupId); - - command.IsShiftChanged = _customizeWorkshopSettingsApplication - .GetEmployeeSettingsByGroupSettingsId(groupId) - .Any(x => x.IsSettingChanged == true); - return Partial("ModalEditGroup", command); - } + var command = _customizeWorkshopSettingsApplication.GetCustomizeWorkshopGroupSettingsDetails(groupId); + + command.IsShiftChanged = _customizeWorkshopSettingsApplication + .GetEmployeeSettingsByGroupSettingsId(groupId) + .Any(x => x.IsSettingChanged == true); + return Partial("ModalEditGroup", command); + } public IActionResult OnPostEditGroup(EditCustomizeWorkshopGroupSettings command) { - var result = _customizeWorkshopSettingsApplication.EditSimpleRollCallGroupSetting(command); + var result = _customizeWorkshopSettingsApplication.EditSimpleRollCallGroupSetting(command); - return new JsonResult(new - { + return new JsonResult(new + { success = result.IsSuccedded, message = result.Message - }); + }); } public IActionResult OnGetEmployeeIsChangeList(long groupId) { - var result = _customizeWorkshopSettingsApplication.GetEmployeeSettingsByGroupSettingsId(groupId) - .Where(x => x.IsSettingChanged).ToList(); - return new JsonResult(new - { - success = true, - data = result - }); - } + var result = _customizeWorkshopSettingsApplication.GetEmployeeSettingsByGroupSettingsId(groupId) + .Where(x => x.IsSettingChanged).ToList(); + return new JsonResult(new + { + success = true, + data = result + }); + } public IActionResult OnPostDeleteGroup(long groupId) { @@ -179,7 +181,7 @@ namespace ServiceHost.Areas.Client.Pages.Company.RollCall }); } - public IActionResult OnGetEmployeeGroupAjax(long rollCallWorkshopSettingId) + public IActionResult OnGetEmployeeGroupAjax(long rollCallWorkshopSettingId) { var result = _customizeWorkshopSettingsApplication.GetEmployeesWithoutGroup(rollCallWorkshopSettingId); return new JsonResult(new @@ -202,8 +204,8 @@ namespace ServiceHost.Areas.Client.Pages.Company.RollCall public IActionResult OnPostCreateEmployee(CreateCustomizeEmployeeSettings command) { - command.WorkshopId = _workshopId; - OperationResult result = _customizeWorkshopSettingsApplication.CreateEmployeeSettings(command); + command.WorkshopId = _workshopId; + OperationResult result = _customizeWorkshopSettingsApplication.CreateEmployeeSettings(command); return new JsonResult(new { success = result.IsSuccedded, @@ -223,29 +225,29 @@ namespace ServiceHost.Areas.Client.Pages.Company.RollCall public IActionResult OnGetEditEmployee(long groupId, List employeeId) { - var employee = _customizeWorkshopSettingsApplication.GetByEmployeeIdAndWorkshopIdIncludeGroupSettings(_workshopId, employeeId.First()); + var employee = _customizeWorkshopSettingsApplication.GetByEmployeeIdAndWorkshopIdIncludeGroupSettings(_workshopId, employeeId.First()); var command = new EditCustomizeEmployeeSettings() { - Id = employee.Id, + Id = employee.Id, EmployeeIds = employeeId, EmployeeFullName = employee.EmployeeFullName, Salary = employee.Salary.ToMoney(), NameGroup = employee.Name, - ShiftViewModel = employee.RollCallWorkshopShifts, + ShiftViewModel = employee.RollCallWorkshopShifts, BreakTime = employee.BreakTime, WorkshopShiftStatus = employee.WorkshopShiftStatus, IrregularShift = employee.IrregularShift, FridayWork = employee.FridayWork, HolidayWork = employee.HolidayWork, CustomizeRotatingShifts = employee.CustomizeRotatingShiftsViewModels - }; + }; return Partial("ModalEditEmployeeFromGroup", command); } public IActionResult OnPostChangeEditEmployee(EditCustomizeEmployeeSettings command) { - command.WorkshopId = _workshopId; - OperationResult result = _customizeWorkshopSettingsApplication.EditSimpleRollCallEmployeeSetting(command); + command.WorkshopId = _workshopId; + OperationResult result = _customizeWorkshopSettingsApplication.EditSimpleRollCallEmployeeSetting(command); return new JsonResult(new { success = result.IsSuccedded, @@ -253,43 +255,113 @@ namespace ServiceHost.Areas.Client.Pages.Company.RollCall }); } - // public IActionResult OnGetGroupingSetting(long groupId) - // { - // var command = _customizeWorkshopSettingsApplication.GetCustomizeWorkshopGroupSettingsDetails(groupId); + public IActionResult OnGetDownloadExcel() + { + var groupData = _customizeWorkshopSettingsApplication.GetWorkshopSettingsByWorkshopIdForAdmin(_workshopId); - // return Partial("ModalSettingGroup", command); - //} + var data = groupData.GroupSettings.Select(x => new CustomizeWorkshopGroupExcelViewModel() + { + Name = x.GroupName, + Salary = ((int)x.Salary).ToString(), + ShiftType = x.WorkshopShiftStatus switch + { + WorkshopShiftStatus.Irregular => "مختلط", + WorkshopShiftStatus.Regular => "منظم", + WorkshopShiftStatus.Rotating => "گردشی", + _ => throw new ArgumentOutOfRangeException() + }, + Shifts = x.WorkshopShiftStatus switch + { + WorkshopShiftStatus.Irregular => x.IrregularShift.WorkshopIrregularShifts switch + { + WorkshopIrregularShifts.None => "نامشخص", + WorkshopIrregularShifts.TwelveThirtySix => "12/36", + WorkshopIrregularShifts.TwelveTwentyFour => "12/24", + WorkshopIrregularShifts.TwentyFourTwentyFour => "24/24", + _ => throw new ArgumentOutOfRangeException() + }, + WorkshopShiftStatus.Regular => string.Join(Environment.NewLine, + x.RollCallWorkshopShifts.Select(s => s.StartTime.ToString() + " - " + s.EndTime).ToList()), + WorkshopShiftStatus.Rotating => string.Join(Environment.NewLine, + x.CustomizeRotatingShiftsViewModels.Select(s => s.StartTime.ToString() + " - " + s.EndTime) + .ToList()), + _ => throw new ArgumentOutOfRangeException() + }, + EmployeeSettings = x.RollCallWorkshopEmployeesSettings.Select(e => new CustomizeWorkshopEmployeeExcelViewModel + { + Shifts = e.WorkshopShiftStatus switch + { + WorkshopShiftStatus.Irregular => e.IrregularShift.WorkshopIrregularShifts switch + { + WorkshopIrregularShifts.None => "نامشخص", + WorkshopIrregularShifts.TwelveThirtySix => "12/36", + WorkshopIrregularShifts.TwelveTwentyFour => "12/24", + WorkshopIrregularShifts.TwentyFourTwentyFour => "24/24", + _ => throw new ArgumentOutOfRangeException() + }, + WorkshopShiftStatus.Regular => string.Join(Environment.NewLine, + e.RollCallWorkshopShifts.Select(s => s.StartTime.ToString() + " - " + s.EndTime).ToList()), + WorkshopShiftStatus.Rotating => string.Join(Environment.NewLine, + e.CustomizeRotatingShiftsViewModels.Select(s => s.StartTime.ToString() + " - " + s.EndTime) + .ToList()), + _ => throw new ArgumentOutOfRangeException() + }, + Salary = ((int)e.Salary).ToString(), + ShiftType = e.WorkshopShiftStatus switch + { + WorkshopShiftStatus.Irregular => "مختلط", + WorkshopShiftStatus.Regular => "منظم", + WorkshopShiftStatus.Rotating => "گردشی", + _ => throw new ArgumentOutOfRangeException() + }, + LeavePermitted = e.LeavePermittedDays, + Name = e.Name + }).ToList(), + }).ToList(); - // public IActionResult OnPostGroupingSetting(EditCustomizeWorkshopGroupSettings command) - // { - // command.EmployeeIds = _customizeWorkshopSettingsApplication.GetEmployeeSettingsByGroupSettingsId(command.Id).Select(x => x.EmployeeId).ToList(); - // OperationResult result = _customizeWorkshopSettingsApplication.EditRollCallGroupSetting(command); + var bytes = CustomizeWorkshopGroupSettingExcelGenerator.Generate(data); + return File(bytes, + "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet", + $"اطلاعات گروهبندی.xlsx"); + } - // return new JsonResult(new - // { - // isSuccess = result.IsSuccedded, - // message = result.Message - // }); - //} + // public IActionResult OnGetGroupingSetting(long groupId) + // { + // var command = _customizeWorkshopSettingsApplication.GetCustomizeWorkshopGroupSettingsDetails(groupId); - //public IActionResult OnGetGroupingEmployeeSetting(long customizeEmployeeId, List employeeId) - // { - // var command = _customizeWorkshopSettingsApplication.GetCustomizeEmployeeSettingsDetails(customizeEmployeeId); - // command.EmployeeIds = employeeId; + // return Partial("ModalSettingGroup", command); + //} - // return Partial("ModalSettingGroupEmployee", command); - // } + // public IActionResult OnPostGroupingSetting(EditCustomizeWorkshopGroupSettings command) + // { + // command.EmployeeIds = _customizeWorkshopSettingsApplication.GetEmployeeSettingsByGroupSettingsId(command.Id).Select(x => x.EmployeeId).ToList(); + // OperationResult result = _customizeWorkshopSettingsApplication.EditRollCallGroupSetting(command); - // public IActionResult OnPostGroupingEmployeeSetting(EditCustomizeEmployeeSettings command) - // { - // command.WorkshopId = _workshopId; - // OperationResult result = _customizeWorkshopSettingsApplication.EditRollCallEmployeeSettings(command); + // return new JsonResult(new + // { + // isSuccess = result.IsSuccedded, + // message = result.Message + // }); + //} - // return new JsonResult(new - // { - // isSuccess = result.IsSuccedded, - // message = result.Message - // }); - //} - } + //public IActionResult OnGetGroupingEmployeeSetting(long customizeEmployeeId, List employeeId) + // { + // var command = _customizeWorkshopSettingsApplication.GetCustomizeEmployeeSettingsDetails(customizeEmployeeId); + // command.EmployeeIds = employeeId; + + // return Partial("ModalSettingGroupEmployee", command); + // } + + // public IActionResult OnPostGroupingEmployeeSetting(EditCustomizeEmployeeSettings command) + // { + // command.WorkshopId = _workshopId; + // OperationResult result = _customizeWorkshopSettingsApplication.EditRollCallEmployeeSettings(command); + + // return new JsonResult(new + // { + // isSuccess = result.IsSuccedded, + // message = result.Message + // }); + //} + } } From 366d42dec9ca6790082c7fcffee11f9d7eb17775 Mon Sep 17 00:00:00 2001 From: SamSys Date: Mon, 28 Apr 2025 19:48:54 +0330 Subject: [PATCH 24/84] styling RotatingShiftReport modal --- .../Repository/RollCallMandatoryRepository.cs | 3 ++- .../Checkouts/RotatingShiftReport.cshtml | 17 +++++++++++++++-- 2 files changed, 17 insertions(+), 3 deletions(-) diff --git a/CompanyManagment.EFCore/Repository/RollCallMandatoryRepository.cs b/CompanyManagment.EFCore/Repository/RollCallMandatoryRepository.cs index 8e889dea..9eb98555 100644 --- a/CompanyManagment.EFCore/Repository/RollCallMandatoryRepository.cs +++ b/CompanyManagment.EFCore/Repository/RollCallMandatoryRepository.cs @@ -840,7 +840,7 @@ CreateWorkingHoursTemp command, bool holidayWorking) var nightWorkingTime = new TimeSpan(); #endregion - + foreach (var shift in item.ShiftList) { #region DatePeriod @@ -1015,6 +1015,7 @@ CreateWorkingHoursTemp command, bool holidayWorking) #region Result var result = new RotatingShiftViewModel(); + result.RotatingDate = item.CreationDate.ToFarsi(); result.MorningWorkSpan = morningWorkingTime; result.EveningWorkSpan = eveningWorkingTime; result.NightWorkSpan = nightWorkingTime; diff --git a/ServiceHost/Areas/Admin/Pages/Company/Checkouts/RotatingShiftReport.cshtml b/ServiceHost/Areas/Admin/Pages/Company/Checkouts/RotatingShiftReport.cshtml index 1defe4f4..8e8b867c 100644 --- a/ServiceHost/Areas/Admin/Pages/Company/Checkouts/RotatingShiftReport.cshtml +++ b/ServiceHost/Areas/Admin/Pages/Company/Checkouts/RotatingShiftReport.cshtml @@ -24,7 +24,7 @@ .modal-body2 { background-color: #f2fbfb; width: 100%; - height: 615px; + height: 644px; border-radius: 25px; position: absolute; } @@ -59,7 +59,20 @@
-
- -
- - -
-
+
+ +
+ + +
+
@@ -545,36 +545,35 @@ } var birthday = $('#iniDateOfBirth').val(); - var codeMelli = $('#iniCodeMelli').val(); + var codeMelli = $('#iniCodeMelli').val(); try { const response = await $.ajax({ - url: loadUidInfo, + url: loadUidInfo, method: 'POST', - data: { nationalCode: codeMelli, birthDate: birthday }, - headers: { "RequestVerificationToken": antiForgeryToken } + data: { nationalCode: codeMelli, birthDate: birthday }, + headers: { "RequestVerificationToken": antiForgeryToken } }); - console.log(response); - if (response.success) { + if (response.success) { $('#IsAuthorized').val(true); $('#name').val(response.data.fName); $('#family').val(response.data.lName); - $('#FatherName').val(response.data.fatherName); - $('#DateOfBirth').val(response.data.birthDate); - $('#code-melli').val(response.data.nationalCode); + $('#FatherName').val(response.data.fatherName); + $('#DateOfBirth').val(response.data.birthDate); + $('#code-melli').val(response.data.nationalCode); $('#IdNumber').val(response.data.idNumber); - $('#IdNumberSerial').val(response.data.idNumberSerial); - $('#IdNumberSeri').val(response.data.idNumberSeri); + $('#IdNumberSerial').val(response.data.idNumberSerial); + $('#IdNumberSeri').val(response.data.idNumberSeri); if (response.data.gender === 0) { $('#GenderMale').prop('checked', true); } else if (response.data.gender === 1) { $('#GenderFemale').prop('checked', true); } } else { - $.Notification.autoHideNotify('error', 'top right', 'خطا', response.message); - return; - } + $.Notification.autoHideNotify('error', 'top right', 'خطا', response.message); + return; + } currentStep++; showStep(currentStep); @@ -582,6 +581,30 @@ $.Notification.autoHideNotify('error', 'top right', 'خطا', "ارسال اطلاعات با مشکل مواجه شد."); return; } + } else if (currentStep === 1) { + + if ($(".form1 #divGender").find('input[type="radio"]:checked').length === 0) { + $.Notification.autoHideNotify('error', 'top right', 'خطا', "لطفا جنسیت را مشخص نمایید."); + $(".form1 #divGender").addClass('errored'); + + setTimeout(function () { + $(".form1 #divGender").removeClass('errored'); + }, 2500); + return; + } + + if ($(".form1 #divMarried").find('input[type="radio"]:checked').length === 0) { + $.Notification.autoHideNotify('error', 'top right', 'خطا', "لطفا وضعیت تاهل را مشخص نمایید."); + $(".form1 #divMarried").addClass('errored'); + + setTimeout(function () { + $(".form1 #divMarried").removeClass('errored'); + }, 2500); + return; + } + + currentStep++; + showStep(currentStep); } else { if (validateStep(currentStep)) { if (currentStep < steps.length - 1) { diff --git a/ServiceHost/Areas/Admin/Pages/Company/Employees/Edit.cshtml b/ServiceHost/Areas/Admin/Pages/Company/Employees/Edit.cshtml index bcba05d6..2b0fbfc9 100644 --- a/ServiceHost/Areas/Admin/Pages/Company/Employees/Edit.cshtml +++ b/ServiceHost/Areas/Admin/Pages/Company/Employees/Edit.cshtml @@ -566,12 +566,26 @@ $(".listNext").click(function() { if ($("#divGender").find('input[type="radio"]:checked').length === 0) { // allInputsFilled = false; + $.Notification.autoHideNotify('error', 'top right', 'خطا', "لطفا جنسیت را مشخص نمایید."); $("#divGender").addClass('errored'); + + setTimeout(function () { + $("#divGender").removeClass('errored'); + }, 2500); + return; } if ($("#divMarried").find('input[type="radio"]:checked').length === 0) { // allInputsFilled = false; // $("#divMarried").addClass('errored'); + + $.Notification.autoHideNotify('error', 'top right', 'خطا', "لطفا وضعیت تاهل را مشخص نمایید."); + $("#divMarried").addClass('errored'); + + setTimeout(function () { + $("#divMarried").removeClass('errored'); + }, 2500); + return; } const option1 = document.getElementById("city").options.selectedIndex; From 718a7d42b7bd2c7889807604321f2471cceb1bd2 Mon Sep 17 00:00:00 2001 From: MahanCh Date: Sun, 4 May 2025 20:03:04 +0330 Subject: [PATCH 45/84] fix case history bug --- .../Pages/Company/RollCall/CaseHistory.cshtml | 72 ++++++++++--------- .../pages/RollCall/js/CaseHistory.js | 4 +- 2 files changed, 39 insertions(+), 37 deletions(-) diff --git a/ServiceHost/Areas/Client/Pages/Company/RollCall/CaseHistory.cshtml b/ServiceHost/Areas/Client/Pages/Company/RollCall/CaseHistory.cshtml index 4131ee3d..996406d0 100644 --- a/ServiceHost/Areas/Client/Pages/Company/RollCall/CaseHistory.cshtml +++ b/ServiceHost/Areas/Client/Pages/Company/RollCall/CaseHistory.cshtml @@ -222,49 +222,51 @@ @if (@Model.RollCallViewModels.ActiveEmployees.Any()) { - - - +
+ + + -
-
-
- - -
- - + +
+ + +
-
-
- لیست سوابق حضور و غیاب -
+
+ لیست سوابق حضور و غیاب +
-
-
- +
+
+ +
diff --git a/ServiceHost/wwwroot/AssetsClient/pages/RollCall/js/CaseHistory.js b/ServiceHost/wwwroot/AssetsClient/pages/RollCall/js/CaseHistory.js index ab43761c..dc19866b 100644 --- a/ServiceHost/wwwroot/AssetsClient/pages/RollCall/js/CaseHistory.js +++ b/ServiceHost/wwwroot/AssetsClient/pages/RollCall/js/CaseHistory.js @@ -840,7 +840,7 @@ function caseHistoryLoadAjax() { html += `
`; item.rollCallTimesList.forEach(function (itemTime) { let { timeDiff, cssClass } = getTimeDiffData(itemTime.entryTimeDifferences); - html += ` ${timeDiff}`; + html += `
${timeDiff}
`; }); html += `
`; @@ -880,7 +880,7 @@ function caseHistoryLoadAjax() { html += `
`; item.rollCallTimesList.forEach(function (itemTime) { let { timeDiff, cssClass } = getTimeDiffData(itemTime.exitTimeDifferences); - html += ` ${timeDiff}`; + html += `
${timeDiff}
`; }); html += `
`; From 6699909b2fcd0a6e048448d9bcb5406be5864273 Mon Sep 17 00:00:00 2001 From: SamSys Date: Sun, 4 May 2025 21:26:01 +0330 Subject: [PATCH 46/84] overTimePay static changes --- .../Repository/ReportRepository.cs | 140 ++++++++++++++++++ .../Pages/Company/Checkouts/Index.cshtml.cs | 34 ++++- 2 files changed, 166 insertions(+), 8 deletions(-) diff --git a/CompanyManagment.EFCore/Repository/ReportRepository.cs b/CompanyManagment.EFCore/Repository/ReportRepository.cs index c7aa1925..3a0810dd 100644 --- a/CompanyManagment.EFCore/Repository/ReportRepository.cs +++ b/CompanyManagment.EFCore/Repository/ReportRepository.cs @@ -114,6 +114,146 @@ public class ReportRepository : IReportRepository // }; //} + + //public async Task GetAllActiveWorkshopsNew(string year, string month) + //{ + // var watch = System.Diagnostics.Stopwatch.StartNew(); + + // // Parse the start and end dates for the current and next months + // #region FindMonthStartAndEnd + + // string nowFa = $"{(DateTime.Now.ToFarsi()).Substring(0, 8)}01"; + + // if (!string.IsNullOrWhiteSpace(year) && !string.IsNullOrWhiteSpace(month)) + // nowFa = $"{year}/{month}/01"; + + + // var currentEndOfMonth = nowFa.FindeEndOfMonth(); + + // //شروع ماه جاری + // var currentMonthStart = nowFa.ToGeorgianDateTime(); + // // پایان کاه جاری + // var currentMonthEnd = currentEndOfMonth.ToGeorgianDateTime(); + + + + // int currentYear = Convert.ToInt32(nowFa.Substring(0, 4)); + // var currentMonth = Convert.ToInt32(nowFa.Substring(5, 2)); + // var nextMonthStartFa = new PersianDateTime(currentYear, currentMonth, 1).AddMonths(1); + + // //شروع ماه بعد + // var nextMonthStart = ($"{nextMonthStartFa}").ToGeorgianDateTime(); + // //پایان ماه بعد + // var nextMonthEnd = (($"{nextMonthStartFa}").FindeEndOfMonth()).ToGeorgianDateTime(); + + + // #endregion + + // // Preload data to reduce database calls + // var accountLeftWorks = await _accountContext.AccountLeftWorks + // .Where(x => x.RoleId == 5) + // .ToListAsync(); + + // var leftWorkList = await _context.LeftWorkList + // .Where(x => x.StartWorkDate <= nextMonthEnd && x.LeftWorkDate > currentMonthStart) + // .ToListAsync(); + + // var institutionContracts = await _context.InstitutionContractSet + // .Where(c => c.ContractStartGr <= nextMonthEnd && c.ContractEndGr >= currentMonthStart) + // .ToListAsync(); + + // var accounts = await _accountContext.Accounts + // .Where(x => x.RoleId == 5) + // .ToListAsync(); + + // // Filter workshops + // var activeWorkshops = await _context.WorkshopEmployers + // .Include(x => x.Workshop) + // .Include(x => x.Employer.ContractingParty) + // .Where(x => x.Workshop.IsActiveString == "true" && + // x.Employer.ContractingParty.IsActiveString == "true" && + // x.Employer.ContractingParty.IsBlock != "true") + // .ToListAsync(); + + // // Group workshops by contract type + // var workshopsWithContracts = activeWorkshops + // .Where(x => institutionContracts.Any(c => c.ContractingPartyId == x.Employer.ContractingPartyId)) + // .Select(x => x.WorkshopId) + // .Distinct() + // .ToList(); + + // var workshopsWithoutContracts = activeWorkshops + // .Where(x => x.Employer.ContractingPartyId == 30428) + // .Select(x => x.WorkshopId) + // .Distinct() + // .ToList(); + + // var allWorkshops = workshopsWithContracts.Concat(workshopsWithoutContracts).Distinct().ToList(); + + // // Calculate left works and contracts + // var leftWorks = leftWorkList + // .Where(x => allWorkshops.Contains(x.WorkshopId)) + // .ToList(); + + // var leftWorkEmployeeIds = leftWorks.Select(x => x.EmployeeId).ToHashSet(); + + // var contracts = await _context.Contracts + // .Where(x => leftWorkEmployeeIds.Contains(x.EmployeeId) && + // x.ContarctStart.Date <= nextMonthEnd.Date && + // x.ContractEnd.Date > nextMonthStart.Date && + // x.IsActiveString == "true") + // .ToListAsync(); + + // var signedContracts = contracts.Count(x => x.Signature == "1"); + + // // Calculate checkouts + // var checkouts = await _context.CheckoutSet + // .Where(x => leftWorkEmployeeIds.Contains(x.EmployeeId) && + // x.ContractStart.Date >= currentMonthStart.Date && + // x.ContractEnd.Date <= currentMonthEnd.Date && + // x.IsActiveString == "true") + // .ToListAsync(); + + // var signedCheckouts = checkouts.Count(x => x.Signature == "1"); + + // // Calculate percentages + // var contractToBe = leftWorks.Count; + // var createdContracts = contracts.Count; + // var checkoutToBe = leftWorks.Count; + // var createdCheckouts = checkouts.Count; + + // var contractPercent = contractToBe > 0 ? (createdContracts * 100) / contractToBe : 0; + // var contractSignaturePercent = createdContracts > 0 ? (signedContracts * 100) / createdContracts : 0; + // var checkoutPercent = checkoutToBe > 0 ? (createdCheckouts * 100) / checkoutToBe : 0; + // var checkoutSignaturePercent = createdCheckouts > 0 ? (signedCheckouts * 100) / createdCheckouts : 0; + + // // Prepare the final result + // var finalResult = new AllReport + // { + // AllPercent = (contractPercent + contractSignaturePercent + checkoutPercent + checkoutSignaturePercent) / 4, + // ContractPercent = contractPercent, + // ContractSignaturePercent = contractSignaturePercent, + // CheckoutPercent = checkoutPercent, + // CheckoutSignaturePercent = checkoutSignaturePercent, + // Year = $"{currentMonthStart.Year}", + // Month = nowFa.Substring(5, 2), + // AllContract = contractToBe, + // ContractNotDone = contractToBe - createdContracts, + // ContrcatDone = createdContracts, + // ContractSignNotDone = createdContracts - signedContracts, + // ContractSignDone = signedContracts, + // AllCheckout = checkoutToBe, + // CheckoutNotDone = checkoutToBe - createdCheckouts, + // CheckoutDone = createdCheckouts, + // CheckoutSignDone = signedCheckouts, + // CheckoutSignNotDone = createdCheckouts - signedCheckouts + // }; + + // Console.WriteLine("Optimized method execution time: " + watch.Elapsed); + // return finalResult; + //} + + public Task GetAllActiveWorkshopsNew(string year, string month) { var watch = System.Diagnostics.Stopwatch.StartNew(); diff --git a/ServiceHost/Areas/Admin/Pages/Company/Checkouts/Index.cshtml.cs b/ServiceHost/Areas/Admin/Pages/Company/Checkouts/Index.cshtml.cs index e8fd8e43..a95cbb5e 100644 --- a/ServiceHost/Areas/Admin/Pages/Company/Checkouts/Index.cshtml.cs +++ b/ServiceHost/Areas/Admin/Pages/Company/Checkouts/Index.cshtml.cs @@ -10,6 +10,7 @@ using CompanyManagment.App.Contracts.Employer; using CompanyManagment.App.Contracts.Job; using CompanyManagment.App.Contracts.Leave; using CompanyManagment.App.Contracts.LeftWork; +using CompanyManagment.App.Contracts.MandantoryHours; using CompanyManagment.App.Contracts.PersonalContractingParty; using CompanyManagment.App.Contracts.RollCall; using CompanyManagment.App.Contracts.RollCallEmployeeStatus; @@ -52,9 +53,10 @@ public class IndexModel : PageModel private readonly IWorkingHoursTempApplication _workingHoursTempApplication; private readonly IWorkshopApplication _workshopApplication; private readonly IYearlySalaryApplication _yearlySalaryApplication; - private readonly IYearlySalaryRepository _yearlySalaryRepository; + private readonly IYearlySalaryRepository _yearlySalaryRepository; - public List chekoutlist; + + public List chekoutlist; public List ComputingView; public List Contracts2; public string employeeFullName; @@ -116,7 +118,7 @@ public class IndexModel : PageModel _employeeComputeOptionsApplication = employeeComputeOptionsApplication; _rollCallMandatoryApplication = rollCallMandatoryApplication; _rollCallEmployeeStatusApp = rollCallEmployeeStatusApp; - } + } public string Message { get; set; } public bool falseCheck { get; set; } @@ -6785,14 +6787,30 @@ public class IndexModel : PageModel var AllDaysCount = (conEnd - conStart).TotalDays + 1; var endContract = command.ContractEnd.ToGeorgianDateTime(); var AllmandatoryDays = 0; - for (var gDate = conStart; gDate <= endContract; gDate = gDate.AddDays(1)) - if (gDate.DayOfWeek != DayOfWeek.Friday) - AllmandatoryDays += 1; + int fridayCount = 0; + int officialHolidayCount = 0; + for (var gDate = conStart; gDate <= endContract; gDate = gDate.AddDays(1)) + { + if (gDate.DayOfWeek != DayOfWeek.Friday) + AllmandatoryDays += 1; + if (gDate.DayOfWeek == DayOfWeek.Friday) + fridayCount += 1; + bool officialHoliday = _holidayItemRepository.GetHoliday(gDate); + if (officialHoliday) + officialHolidayCount += 1; + + } + var mandatoryFixComplex = new TimeSpan(7, 20, 0).Multiply(AllmandatoryDays); - var mandatoryFixShifts = new TimeSpan(7, 20, 0).Multiply(notHolidaysCount); - var allDays = (endContract - conStart).TotalDays + 1; + var allDays = (int)(endContract - conStart).TotalDays + 1; + int mondatoryDaysInMonth = allDays - (fridayCount + officialHolidayCount); + var mandatoryFixShifts = new TimeSpan(7, 20, 0).Multiply(mondatoryDaysInMonth); + + + + var jomeh2 = new TimeSpan(); From 13cad28356eb79bdbb514503cfa8a23b2600de9d Mon Sep 17 00:00:00 2001 From: MahanCh Date: Mon, 5 May 2025 14:03:33 +0330 Subject: [PATCH 47/84] add WorkshopSettingsPage in client --- .../Company/RollCall/CameraAccounts.cshtml.cs | 216 ----------- .../Index.cshtml} | 10 +- .../RollCall/CameraAccounts/Index.cshtml.cs | 263 +++++++++++++ .../ModalCameraAccountChangePassword.cshtml | 185 ++++++++++ .../ModalCreateAccountSetting.cshtml | 171 +++++++++ .../RollCall/WorkshopSetting/Index.cshtml | 321 ++++++++++++++++ .../RollCall/WorkshopSetting/Index.cshtml.cs | 128 +++++++ .../ModalCreateSettingWorkshop.cshtml | 157 ++++++++ .../_Partials/ModalSettingWorkTime.cshtml | 235 ++++++++++++ .../Client/Pages/Shared/_ClientLayout.cshtml | 10 +- .../Areas/Client/Pages/Shared/_Menu.cshtml | 4 +- ServiceHost/ServiceHost.csproj | 1 - .../css/ModalCreateSettingWorkshop.css | 265 ++++++++++++++ .../css/ModalSettingWorkTime.css | 265 ++++++++++++++ .../js/ModalCreateSettingWorkshop.js | 261 +++++++++++++ .../js/ModalSettingWorkTime.js | 346 ++++++++++++++++++ .../css/ModalCreateAccountSetting.css | 13 +- .../pages/RollCall/js/CameraAccounts.js | 3 +- 18 files changed, 2623 insertions(+), 231 deletions(-) delete mode 100644 ServiceHost/Areas/Client/Pages/Company/RollCall/CameraAccounts.cshtml.cs rename ServiceHost/Areas/Client/Pages/Company/RollCall/{CameraAccounts.cshtml => CameraAccounts/Index.cshtml} (94%) create mode 100644 ServiceHost/Areas/Client/Pages/Company/RollCall/CameraAccounts/Index.cshtml.cs create mode 100644 ServiceHost/Areas/Client/Pages/Company/RollCall/CameraAccounts/_Partials/ModalCameraAccountChangePassword.cshtml create mode 100644 ServiceHost/Areas/Client/Pages/Company/RollCall/CameraAccounts/_Partials/ModalCreateAccountSetting.cshtml create mode 100644 ServiceHost/Areas/Client/Pages/Company/RollCall/WorkshopSetting/Index.cshtml create mode 100644 ServiceHost/Areas/Client/Pages/Company/RollCall/WorkshopSetting/Index.cshtml.cs create mode 100644 ServiceHost/Areas/Client/Pages/Company/RollCall/WorkshopSetting/_Partials/ModalCreateSettingWorkshop.cshtml create mode 100644 ServiceHost/Areas/Client/Pages/Company/RollCall/WorkshopSetting/_Partials/ModalSettingWorkTime.cshtml create mode 100644 ServiceHost/wwwroot/AssetsClient/pages/RollCall/WorkshopSetting/css/ModalCreateSettingWorkshop.css create mode 100644 ServiceHost/wwwroot/AssetsClient/pages/RollCall/WorkshopSetting/css/ModalSettingWorkTime.css create mode 100644 ServiceHost/wwwroot/AssetsClient/pages/RollCall/WorkshopSetting/js/ModalCreateSettingWorkshop.js create mode 100644 ServiceHost/wwwroot/AssetsClient/pages/RollCall/WorkshopSetting/js/ModalSettingWorkTime.js diff --git a/ServiceHost/Areas/Client/Pages/Company/RollCall/CameraAccounts.cshtml.cs b/ServiceHost/Areas/Client/Pages/Company/RollCall/CameraAccounts.cshtml.cs deleted file mode 100644 index dd365849..00000000 --- a/ServiceHost/Areas/Client/Pages/Company/RollCall/CameraAccounts.cshtml.cs +++ /dev/null @@ -1,216 +0,0 @@ -using System.Security.Claims; -using _0_Framework.Application; -using _0_Framework.Infrastructure; -using AccountManagement.Application; -using AccountManagement.Application.Contracts.Account; -using AccountManagement.Application.Contracts.CameraAccount; -using AccountManagement.Application.Contracts.SubAccount; -using CompanyManagment.App.Contracts.Workshop; -using Microsoft.AspNetCore.Authorization; -using Microsoft.AspNetCore.Mvc; -using Microsoft.AspNetCore.Mvc.RazorPages; - -namespace ServiceHost.Areas.Client.Pages.Company.RollCall -{ - [Authorize] - [NeedsPermission(SubAccountPermissionHelper.CameraAccountSettingsPermissionCode)] - public class CameraAccountsModel : PageModel - { - public string Mess { get; set; } - private readonly IAuthHelper _authHelper; - private readonly IAccountApplication _accountApplication; - private readonly IWorkshopApplication _workshopApplication; - private readonly IPasswordHasher _passwordHasher; - private readonly ICameraAccountApplication _cameraAccountApplication; - private readonly IHttpContextAccessor _contextAccessor; - private readonly ISubAccountApplication _subAccountApplication; - - private readonly long _workshopId; - public string WorkshopFullName; - - public CameraAccountsModel(IAuthHelper authHelper, IPasswordHasher passwordHasher, ICameraAccountApplication cameraAccountApplication, IAccountApplication accountApplication, IWorkshopApplication workshopApplication, IHttpContextAccessor contextAccessor, ISubAccountApplication subAccountApplication) - { - _authHelper = authHelper; - _passwordHasher = passwordHasher; - _cameraAccountApplication = cameraAccountApplication; - _accountApplication = accountApplication; - _workshopApplication = workshopApplication; - _contextAccessor = contextAccessor; - _subAccountApplication = subAccountApplication; - - var workshopHash = _contextAccessor.HttpContext?.User.FindFirstValue("WorkshopSlug"); - _workshopId = _passwordHasher.SlugDecrypt(workshopHash); - - if (_workshopId < 1) - throw new InvalidDataException("اختلال در کارگاه"); - } - - public void OnGet() - { - WorkshopFullName = _workshopApplication.GetDetails(_workshopId).WorkshopFullName; - } - - public IActionResult OnPostSendSms() - { - var accountInfo = _authHelper.CurrentAccountInfo(); - if (accountInfo.SubAccountId == 0) - { - var accountId = accountInfo.Id; - var result = _accountApplication.Search(new AccountSearchModel() { Id = accountId }).FirstOrDefault(); - if (result != null) - { - _accountApplication.SendVerifyCodeToChangingPass(result.Mobile, accountId); - return new JsonResult(new - { - isSuccess = true - }); - } - } - else - { - var result = _subAccountApplication.GetDetails(accountInfo.SubAccountId); - if (result != null && result != default) - { - _subAccountApplication.SendVerifyCodeForPasswordChange(result.PhoneNumber, accountInfo.SubAccountId); - return new JsonResult(new - { - isSuccess = true - }); - } - } - - return new JsonResult(new - { - isSuccess = false - }); - - } - - public IActionResult OnPostCheckCode(string code) - { - var accountInfo = _authHelper.CurrentAccountInfo(); - if (accountInfo.SubAccountId == 0) - { - var accountId = accountInfo.Id; - - var result = _accountApplication.Search(new AccountSearchModel() { Id = accountId }).FirstOrDefault(); - var verfiyResult = _accountApplication.GetByVerifyCode(code, result.Mobile); - if (verfiyResult != null) - { - return new JsonResult(new - { - exist = true, - }); - } - } - else - { - var subAccountId = accountInfo.SubAccountId; - - var result = _subAccountApplication.GetDetails(accountInfo.SubAccountId); - if (result != null && result != default) - { - var verfiyResult = _subAccountApplication.GetByVerifyCodeAndPhoneNumber(code, result.PhoneNumber); - if (verfiyResult != null) - { - return new JsonResult(new - { - exist = true, - }); - } - } - } - return new JsonResult(new - { - exist = false, - }); - } - - #region Camera Account - public IActionResult OnGetCameraAccounts() - { - var authModel = _authHelper.CurrentAccountInfo(); - List<(long Id, string Name)> workshops = authModel.WorkshopList.Select(x => (x.Id, x.Name)).ToList(); - - var result = _cameraAccountApplication.GetAllByWorkshopIdAndAccountId(authModel.Id, workshops); - - return new JsonResult(new - { - success = true, - data = result - }); - } - - public IActionResult OnGetChangeCameraPassword(long id) - { - var camera = _cameraAccountApplication.GetDetails(id); - var command = new CameraAccountViewModel() - { - Id = id, - Username = camera.Username, - WorkshopName = camera.WorkshopName, - }; - return Partial("ModalCameraAccountChangePassword", command); - } - - public IActionResult OnPostChangeCameraPassword(ChangePassword command) - { - var result = _cameraAccountApplication.ChangePass(command); - - return new JsonResult(new - { - success = result.IsSuccedded, - message = result.Message - }); - } - - public IActionResult OnGetCameraValidation(string password, string rePassword) - { - if (string.IsNullOrWhiteSpace(password) || string.IsNullOrWhiteSpace(rePassword)) - { - return new JsonResult(new - { - success = false, - message = "رمز عبور و تکرار آن نباید خالی باشد" - }); - } - - if (password != rePassword) - { - - return new JsonResult(new - { - success = false, - message = "رمز عبور یکسان نیست", - }); - } - - if (password.Length < 8) - { - return new JsonResult(new - { - success = false, - message = "رمز عبور نمی تواند کمتر از 8 کاراکتر باشد", - }); - } - - return new JsonResult(new - { - success = true, - - }); - } - - public IActionResult OnPostCameraAccountChangeStatus(long id, string type) - { - OperationResult result = type == "active" ? _cameraAccountApplication.Active(id) : _cameraAccountApplication.DeActive(id); - - return new JsonResult(new - { - success = result.IsSuccedded, - message = result.Message - }); - } - #endregion - } -} diff --git a/ServiceHost/Areas/Client/Pages/Company/RollCall/CameraAccounts.cshtml b/ServiceHost/Areas/Client/Pages/Company/RollCall/CameraAccounts/Index.cshtml similarity index 94% rename from ServiceHost/Areas/Client/Pages/Company/RollCall/CameraAccounts.cshtml rename to ServiceHost/Areas/Client/Pages/Company/RollCall/CameraAccounts/Index.cshtml index 1f01d100..6eea410d 100644 --- a/ServiceHost/Areas/Client/Pages/Company/RollCall/CameraAccounts.cshtml +++ b/ServiceHost/Areas/Client/Pages/Company/RollCall/CameraAccounts/Index.cshtml @@ -1,5 +1,5 @@ @page -@model ServiceHost.Areas.Client.Pages.Company.RollCall.CameraAccountsModel +@model ServiceHost.Areas.Client.Pages.Company.RollCall.CameraAccounts.IndexModel @{ string clientVersion = _0_Framework.Application.Version.StyleVersion; @@ -201,12 +201,12 @@ } \ No newline at end of file diff --git a/ServiceHost/Areas/Client/Pages/Company/RollCall/CameraAccounts/Index.cshtml.cs b/ServiceHost/Areas/Client/Pages/Company/RollCall/CameraAccounts/Index.cshtml.cs new file mode 100644 index 00000000..5741a8fc --- /dev/null +++ b/ServiceHost/Areas/Client/Pages/Company/RollCall/CameraAccounts/Index.cshtml.cs @@ -0,0 +1,263 @@ +using _0_Framework.Application; +using AccountManagement.Application.Contracts.Account; +using AccountManagement.Application.Contracts.CameraAccount; +using AccountManagement.Application.Contracts.SubAccount; +using CompanyManagment.App.Contracts.Workshop; +using Microsoft.AspNetCore.Authorization; +using Microsoft.AspNetCore.Mvc; +using Microsoft.AspNetCore.Mvc.RazorPages; +using System.Security.Claims; +using _0_Framework.Infrastructure; +using CompanyManagment.App.Contracts.CustomizeWorkshopSettings; +using CompanyManagment.App.Contracts.RollCall; +using CompanyManagment.Application; +using System.Transactions; + +namespace ServiceHost.Areas.Client.Pages.Company.RollCall.CameraAccounts +{ + [Authorize] + [NeedsPermission(SubAccountPermissionHelper.CameraAccountSettingsPermissionCode)] + public class IndexModel : PageModel + { + public string Mess { get; set; } + private readonly IAuthHelper _authHelper; + private readonly IAccountApplication _accountApplication; + private readonly IWorkshopApplication _workshopApplication; + private readonly IPasswordHasher _passwordHasher; + private readonly ICameraAccountApplication _cameraAccountApplication; + private readonly IHttpContextAccessor _contextAccessor; + private readonly ISubAccountApplication _subAccountApplication; + + private readonly long _workshopId; + public string WorkshopFullName; + public bool HasCamera; + + public IndexModel(IAuthHelper authHelper, IPasswordHasher passwordHasher, ICameraAccountApplication cameraAccountApplication, IAccountApplication accountApplication, IWorkshopApplication workshopApplication, IHttpContextAccessor contextAccessor, ISubAccountApplication subAccountApplication) + { + _authHelper = authHelper; + _passwordHasher = passwordHasher; + _cameraAccountApplication = cameraAccountApplication; + _accountApplication = accountApplication; + _workshopApplication = workshopApplication; + _contextAccessor = contextAccessor; + _subAccountApplication = subAccountApplication; + + var workshopHash = _contextAccessor.HttpContext?.User.FindFirstValue("WorkshopSlug"); + _workshopId = _passwordHasher.SlugDecrypt(workshopHash); + + if (_workshopId < 1) + throw new InvalidDataException("اختلال در کارگاه"); + } + + public void OnGet() + { + var accountId = _authHelper.CurrentAccountId(); + WorkshopFullName = _workshopApplication.GetDetails(_workshopId).WorkshopFullName; + + HasCamera = _cameraAccountApplication.HasCameraAccount(_workshopId, accountId); + } + + public IActionResult OnPostSendSms() + { + var accountInfo = _authHelper.CurrentAccountInfo(); + if (accountInfo.SubAccountId == 0) + { + var accountId = accountInfo.Id; + var result = _accountApplication.Search(new AccountSearchModel() { Id = accountId }).FirstOrDefault(); + if (result != null) + { + _accountApplication.SendVerifyCodeToChangingPass(result.Mobile, accountId); + return new JsonResult(new + { + isSuccess = true + }); + } + } + else + { + var result = _subAccountApplication.GetDetails(accountInfo.SubAccountId); + if (result != null && result != default) + { + _subAccountApplication.SendVerifyCodeForPasswordChange(result.PhoneNumber, accountInfo.SubAccountId); + return new JsonResult(new + { + isSuccess = true + }); + } + } + + return new JsonResult(new + { + isSuccess = false + }); + + } + + public IActionResult OnPostCheckCode(string code) + { + var accountInfo = _authHelper.CurrentAccountInfo(); + if (accountInfo.SubAccountId == 0) + { + var accountId = accountInfo.Id; + + var result = _accountApplication.Search(new AccountSearchModel() { Id = accountId }).FirstOrDefault(); + var verfiyResult = _accountApplication.GetByVerifyCode(code, result.Mobile); + if (verfiyResult != null) + { + return new JsonResult(new + { + exist = true, + }); + } + } + else + { + var subAccountId = accountInfo.SubAccountId; + + var result = _subAccountApplication.GetDetails(accountInfo.SubAccountId); + if (result != null && result != default) + { + var verfiyResult = _subAccountApplication.GetByVerifyCodeAndPhoneNumber(code, result.PhoneNumber); + if (verfiyResult != null) + { + return new JsonResult(new + { + exist = true, + }); + } + } + } + return new JsonResult(new + { + exist = false, + }); + } + + #region Create Camera + public IActionResult OnGetCreateCameraAccount() + { + var command = new CreateCameraAccount(); + command.WorkshopName = _workshopApplication.GetWorkshopFullname(_workshopId); + return Partial("_Partials/ModalCreateAccountSetting", command); + } + + public IActionResult OnPostCreateCameraAccount(CreateCameraAccount command) + { + var createAccountCommand = new CreateCameraAccount() + { + WorkshopId = _workshopId, + AccountId = _authHelper.CurrentAccountId(), + Username = command.Username, + Password = command.Password, + RePassword = command.RePassword, + WorkshopName = _workshopApplication.GetDetails(_workshopId).WorkshopFullName, + IsActiveString = "true", + }; + var result = _cameraAccountApplication.Create(createAccountCommand); + return new JsonResult(new + { + Success = result.IsSuccedded, + message = result.Message, + }); + } + + #endregion + + #region Camera Account + public IActionResult OnGetCameraAccounts() + { + var authModel = _authHelper.CurrentAccountInfo(); + List<(long Id, string Name)> workshops = authModel.WorkshopList.Select(x => (x.Id, x.Name)).ToList(); + + var result = _cameraAccountApplication.GetAllByWorkshopIdAndAccountId(authModel.Id, workshops); + + return new JsonResult(new + { + success = true, + data = result + }); + } + + public IActionResult OnGetChangeCameraPassword(long id) + { + var camera = _cameraAccountApplication.GetDetails(id); + var command = new CameraAccountViewModel() + { + Id = id, + Username = camera.Username, + WorkshopName = camera.WorkshopName, + }; + return Partial("_Partials/ModalCameraAccountChangePassword", command); + } + + public IActionResult OnPostChangeCameraPassword(ChangePassword command) + { + var result = _cameraAccountApplication.ChangePass(command); + + return new JsonResult(new + { + success = result.IsSuccedded, + message = result.Message + }); + } + + public IActionResult OnGetCameraValidation(string password, string rePassword) + { + if (string.IsNullOrWhiteSpace(password) || string.IsNullOrWhiteSpace(rePassword)) + { + return new JsonResult(new + { + success = false, + message = "رمز عبور و تکرار آن نباید خالی باشد" + }); + } + + if (password != rePassword) + { + + return new JsonResult(new + { + success = false, + message = "رمز عبور یکسان نیست", + }); + } + + if (password.Length < 8) + { + return new JsonResult(new + { + success = false, + message = "رمز عبور نمی تواند کمتر از 8 کاراکتر باشد", + }); + } + + return new JsonResult(new + { + success = true, + + }); + } + + public IActionResult OnPostCameraAccountChangeStatus(long id, string type) + { + OperationResult result = type == "active" ? _cameraAccountApplication.Active(id) : _cameraAccountApplication.DeActive(id); + + return new JsonResult(new + { + success = result.IsSuccedded, + message = result.Message + }); + } + #endregion + + public IActionResult OnGetCheckAccount(string username) + { + var result = _cameraAccountApplication.CheckUsername(username); + return new JsonResult(new + { + Success = result.IsSuccedded, + message = result.IsSuccedded ? "نام کاربری با مورد تاییداست" : result.Message, + }); + } + } +} diff --git a/ServiceHost/Areas/Client/Pages/Company/RollCall/CameraAccounts/_Partials/ModalCameraAccountChangePassword.cshtml b/ServiceHost/Areas/Client/Pages/Company/RollCall/CameraAccounts/_Partials/ModalCameraAccountChangePassword.cshtml new file mode 100644 index 00000000..0c47cd5f --- /dev/null +++ b/ServiceHost/Areas/Client/Pages/Company/RollCall/CameraAccounts/_Partials/ModalCameraAccountChangePassword.cshtml @@ -0,0 +1,185 @@ +@model AccountManagement.Application.Contracts.CameraAccount.CameraAccountViewModel +@{ + string clientVersion = _0_Framework.Application.Version.StyleVersion; + +} + +
+ +
+ + + \ No newline at end of file diff --git a/ServiceHost/Areas/Client/Pages/Company/RollCall/CameraAccounts/_Partials/ModalCreateAccountSetting.cshtml b/ServiceHost/Areas/Client/Pages/Company/RollCall/CameraAccounts/_Partials/ModalCreateAccountSetting.cshtml new file mode 100644 index 00000000..c12507a3 --- /dev/null +++ b/ServiceHost/Areas/Client/Pages/Company/RollCall/CameraAccounts/_Partials/ModalCreateAccountSetting.cshtml @@ -0,0 +1,171 @@ +@using Microsoft.AspNetCore.Mvc.TagHelpers +@model AccountManagement.Application.Contracts.CameraAccount.CreateCameraAccount +@{ + string clientVersion = _0_Framework.Application.Version.StyleVersion; + + +} + +
+ + +
+ + + + \ No newline at end of file diff --git a/ServiceHost/Areas/Client/Pages/Company/RollCall/WorkshopSetting/Index.cshtml b/ServiceHost/Areas/Client/Pages/Company/RollCall/WorkshopSetting/Index.cshtml new file mode 100644 index 00000000..2dbc3868 --- /dev/null +++ b/ServiceHost/Areas/Client/Pages/Company/RollCall/WorkshopSetting/Index.cshtml @@ -0,0 +1,321 @@ +@page +@using _0_Framework.Domain.CustomizeCheckoutShared.Enums +@using Microsoft.AspNetCore.Mvc.TagHelpers +@model ServiceHost.Areas.Client.Pages.Company.RollCall._WorkshopSetting.IndexModel + +@{ + ViewData["Title"] = " - " + "حضور و غیاب"; + string clientVersion = _0_Framework.Application.Version.StyleVersion; + int index = 1; + int i = 0; + + + var isRegularWorkshop = Model.WorkshopSettingsDetails.WorkshopShiftStatus == WorkshopShiftStatus.Regular ? true : false; + + +} + + +
+ +
+
+
+
+ +
+

تنظیم ساعات کاری مجموعه

+
@Model.WorkshopFullName
+
+
+ +
+
+
+ +
+
+
+ +
+
+
+ + + +
+
+
+
+ +
+ + + + + +
+ + تنظیم ساعات کاری مجموعه + @if (Model.WorkshopSettingsDetails.Id != 0) + { + - @(isRegularWorkshop ? "منقطع" : "مستمر") + } + + +
+ + + @* *@ + +
+ + @if (Model.WorkshopSettingsDetails.Id != 0) + { + + @if (isRegularWorkshop) + { + @foreach (var item in Model.WorkshopSettingsDetails.ShiftsList.OrderBy(x => x.Placement)) + { +
+ + @if (item.Placement == ShiftPlacement.First) + { + @("نوبت اول") + } + else if (item.Placement == ShiftPlacement.Second) + { + @("نوبت دوم") + } + else + { + @("نوبت سوم") + } + +
+ + @if (item.Placement == ShiftPlacement.First) + { + @("نوبت اول") + } + else if (item.Placement == ShiftPlacement.Second) + { + @("نوبت دوم") + } + else + { + @("نوبت سوم") + } + + @item.StartTime + الی + @item.EndTime + +
+
+ } + + } + else + { +
+ مجموعه بدون وقفه و بصورت مستمر فعال می‌باشد +
+ } + } + else + { + +
+ + نوبت اول + +
+ + نوبت اول + + - + الی + - + +
+
+ } + +
+
+ +
+
+
+
+
+ + + + +@section Script { + + + +} \ No newline at end of file diff --git a/ServiceHost/Areas/Client/Pages/Company/RollCall/WorkshopSetting/Index.cshtml.cs b/ServiceHost/Areas/Client/Pages/Company/RollCall/WorkshopSetting/Index.cshtml.cs new file mode 100644 index 00000000..2fd4e3df --- /dev/null +++ b/ServiceHost/Areas/Client/Pages/Company/RollCall/WorkshopSetting/Index.cshtml.cs @@ -0,0 +1,128 @@ +using _0_Framework.Application; +using _0_Framework.Infrastructure; +using CompanyManagment.App.Contracts.CustomizeWorkshopSettings; +using Microsoft.AspNetCore.Authorization; +using Microsoft.AspNetCore.Mvc; +using Microsoft.AspNetCore.Mvc.RazorPages; +using Microsoft.Extensions.Configuration.UserSecrets; +using System.Security.Claims; +using CompanyManagment.App.Contracts.Error; +using CompanyManagment.App.Contracts.Workshop; +using _0_Framework.Domain.CustomizeCheckoutShared.Enums; +using AccountManagement.Application.Contracts.CameraAccount; +using CompanyManagment.App.Contracts.RollCall; +using System.Transactions; + +namespace ServiceHost.Areas.Client.Pages.Company.RollCall._WorkshopSetting +{ + [Authorize] + [NeedsPermission(SubAccountPermissionHelper.RollCallOperationsPermissionCode)] + public class IndexModel : PageModel + { + private readonly IWorkshopApplication _workshopApplication; + private readonly ICustomizeWorkshopSettingsApplication _customizeWorkshopSettingsApplication; + private readonly IPasswordHasher _passwordHasher; + private readonly IAuthHelper _authHelper; + private readonly IHttpContextAccessor _contextAccessor; + private readonly long _workshopId; + public EditCustomizeWorkshopSettings WorkshopSettingsDetails; + public string WorkshopFullName; + + public IndexModel(IAuthHelper authHelper, IPasswordHasher passwordHasher, ICustomizeWorkshopSettingsApplication customizeWorkshopSettingsApplication, IHttpContextAccessor contextAccessor, IWorkshopApplication workshopApplication) + { + _authHelper = authHelper; + _passwordHasher = passwordHasher; + _customizeWorkshopSettingsApplication = customizeWorkshopSettingsApplication; + _contextAccessor = contextAccessor; + _workshopApplication = workshopApplication; + + var workshopHash = _contextAccessor.HttpContext?.User.FindFirstValue("WorkshopSlug"); + _workshopId = _passwordHasher.SlugDecrypt(workshopHash); + + if (_workshopId < 1) + throw new InvalidDataException("اختلال در کارگاه"); + } + + public IActionResult OnGet() + { + WorkshopFullName = _workshopApplication.GetWorkshopInfo(_workshopId).WorkshopFullName; + WorkshopSettingsDetails = _customizeWorkshopSettingsApplication.GetWorkshopSettingsDetails(_workshopId); + return Page(); + } + + + public IActionResult OnGetWorkshopSettingModal() + { + var command = _customizeWorkshopSettingsApplication.GetSimpleWorkshopSettings(_workshopId); + + if (command.Id == 0) + { + var newCommand = new CreateCustomizeWorkshopSettings(); + return Partial("_Partials/ModalCreateSettingWorkshop", newCommand); + } + + return Partial("_Partials/ModalSettingWorkTime", command); + } + + public IActionResult OnPostSaveNewWorkshopSetting(CreateCustomizeWorkshopSettings command) + { + string finalMessage = ""; + using (var transaction = new TransactionScope()) + { + var result = _customizeWorkshopSettingsApplication.CreateWorkshopSettings(command); + finalMessage = result.Message; + if (!result.IsSuccedded) + { + return new JsonResult(new + { + Success = false, + message = finalMessage, + }); + } + + transaction.Complete(); + } + + return new JsonResult(new + { + Success = true, + message = finalMessage, + }); + } + + public IActionResult OnGetGroupListAndEmployeeList(long customizeWorkshopSettingsId) + { + var resultData = _customizeWorkshopSettingsApplication.GetShiftChangesGroupAndEmployees(customizeWorkshopSettingsId); + var success = resultData.Any(); + + return new JsonResult(new + { + success = success, + data = resultData, + }); + } + + public IActionResult OnPostEditSettingWorkTime(List shiftViewModels, + long customizeWorkshopSettingsId, WorkshopShiftStatus workshopShiftStatus, FridayWork fridayWork, HolidayWork holidayWork) + { + var workshopHash = User.FindFirstValue("WorkshopSlug"); + var workshopId = _passwordHasher.SlugDecrypt(workshopHash); + if (workshopId < 1) + return new JsonResult(new + { + success = false, + message = "هیچ کارگاهی یافت نشد!", + }); + + var result = _customizeWorkshopSettingsApplication + .EditWorkshopSettingShifts(shiftViewModels, customizeWorkshopSettingsId, workshopShiftStatus, fridayWork, holidayWork); + + return new JsonResult(new + { + success = result.IsSuccedded, + message = result.Message, + }); + } + + } +} diff --git a/ServiceHost/Areas/Client/Pages/Company/RollCall/WorkshopSetting/_Partials/ModalCreateSettingWorkshop.cshtml b/ServiceHost/Areas/Client/Pages/Company/RollCall/WorkshopSetting/_Partials/ModalCreateSettingWorkshop.cshtml new file mode 100644 index 00000000..e408acd7 --- /dev/null +++ b/ServiceHost/Areas/Client/Pages/Company/RollCall/WorkshopSetting/_Partials/ModalCreateSettingWorkshop.cshtml @@ -0,0 +1,157 @@ +@using _0_Framework.Domain.CustomizeCheckoutShared.Enums +@using Microsoft.AspNetCore.Mvc.TagHelpers +@model CompanyManagment.App.Contracts.CustomizeWorkshopSettings.CreateCustomizeWorkshopSettings +@{ + string clientVersion = _0_Framework.Application.Version.StyleVersion; + + +} + +
+ +
+ + + + \ No newline at end of file diff --git a/ServiceHost/Areas/Client/Pages/Company/RollCall/WorkshopSetting/_Partials/ModalSettingWorkTime.cshtml b/ServiceHost/Areas/Client/Pages/Company/RollCall/WorkshopSetting/_Partials/ModalSettingWorkTime.cshtml new file mode 100644 index 00000000..483e4132 --- /dev/null +++ b/ServiceHost/Areas/Client/Pages/Company/RollCall/WorkshopSetting/_Partials/ModalSettingWorkTime.cshtml @@ -0,0 +1,235 @@ + +@using _0_Framework.Domain.CustomizeCheckoutShared.Enums +@using Microsoft.AspNetCore.Mvc.TagHelpers +@model CompanyManagment.App.Contracts.CustomizeWorkshopSettings.EditCustomizeWorkshopSettings +@{ + string clientVersion = _0_Framework.Application.Version.StyleVersion; + int i = 0; + + +} + +
+ + + + + @* *@ + +
+ + + + \ No newline at end of file diff --git a/ServiceHost/Areas/Client/Pages/Shared/_ClientLayout.cshtml b/ServiceHost/Areas/Client/Pages/Shared/_ClientLayout.cshtml index 48210f47..5267faa6 100644 --- a/ServiceHost/Areas/Client/Pages/Shared/_ClientLayout.cshtml +++ b/ServiceHost/Areas/Client/Pages/Shared/_ClientLayout.cshtml @@ -128,11 +128,11 @@ $(id).toggleClass('disable', shouldDisable); }); - if (shouldDisable) { - $('#SetWorkshopWorkingHoursPageUrl a').attr('href', linkCameraAccountAndWorkshopSettingUrl); - } else { - $('#SetWorkshopWorkingHoursPageUrl').removeClass('disable'); - } + // if (shouldDisable) { + // $('#SetWorkshopWorkingHoursPageUrl a').attr('href', linkCameraAccountAndWorkshopSettingUrl); + // } else { + // $('#SetWorkshopWorkingHoursPageUrl').removeClass('disable'); + // } } else { $('#RollCallSubMenu').addClass('disable'); } diff --git a/ServiceHost/Areas/Client/Pages/Shared/_Menu.cshtml b/ServiceHost/Areas/Client/Pages/Shared/_Menu.cshtml index bb014ee4..2e478ddc 100644 --- a/ServiceHost/Areas/Client/Pages/Shared/_Menu.cshtml +++ b/ServiceHost/Areas/Client/Pages/Shared/_Menu.cshtml @@ -187,8 +187,8 @@
  • حضور و غیاب جاری
  • سوابق حضور و غیاب
  • گروه‌بندی
  • -
  • تنظیم ساعت فعالیت مجموعه
  • -
  • تنظیمات حساب کاربری دوربین
  • +
  • تنظیم ساعت فعالیت مجموعه
  • +
  • تنظیمات حساب کاربری دوربین
  • diff --git a/ServiceHost/ServiceHost.csproj b/ServiceHost/ServiceHost.csproj index fc0e7ee5..a341064b 100644 --- a/ServiceHost/ServiceHost.csproj +++ b/ServiceHost/ServiceHost.csproj @@ -305,7 +305,6 @@ - diff --git a/ServiceHost/wwwroot/AssetsClient/pages/RollCall/WorkshopSetting/css/ModalCreateSettingWorkshop.css b/ServiceHost/wwwroot/AssetsClient/pages/RollCall/WorkshopSetting/css/ModalCreateSettingWorkshop.css new file mode 100644 index 00000000..6fad6ff4 --- /dev/null +++ b/ServiceHost/wwwroot/AssetsClient/pages/RollCall/WorkshopSetting/css/ModalCreateSettingWorkshop.css @@ -0,0 +1,265 @@ +.errored { + animation: shake 300ms; + color: #eb3434 !important; + background-color: #fef2f2 !important; + border: 1px solid #eb3434 !important; +} + +.modal-dialog, .modal-content { + height: 460px; + width: 510px; +} + +.timeWorkTitle { + color: #5C5C5C; + font-weight: 600; + font-size: 12px; + margin: auto 0 auto 6px; + white-space: nowrap; +} + +.groupBox { + background-color: #F5F5F5; + border-radius: 10px; + border: 1px solid #E7E7E7; + padding: 6px; + margin: 6px 3px; +} + + .groupBox .form-control { + background-color: #ffffff; + } + + .groupBox .form-control::placeholder { + color: #bfbfbf; + opacity: 1; /* Firefox */ + } + + .groupBox .form-control::-ms-input-placeholder { /* Edge 12-18 */ + color: #bfbfbf; + } + +.btnAddTimeWork { + display: flex; + align-items: center; + justify-content: center; + background-color: #84CC16; + border-radius: 5px; + color: #ffffff; + font-size: 12px; + font-weight: 500; + padding: 4px 8px; +} + +.btnRemoveTimeWork { + display: flex; + align-items: center; + justify-content: center; + background-color: #F87171; + border-radius: 7px; + padding: 3px; + width: 30px; + height: 30px; +} + +.ShowMessage { + position: absolute; + background: #dfdfdf; + width: 100%; + top: 0; + right: 0; + height: 100%; + border-radius: 10px; + display: flex; + align-items: center; + justify-content: center; +} + + +.btn-workTimeOption-container { + display: flex; +} + +.radio-workTimeOption { + display: none; +} + +.radio-label-workTimeOption { + font-size: 13px; + font-weight: 500; + color: #0F8080; + background-color: #DDF4F4; + text-align: center; + padding: 8px 16px; + border-radius: 4px; + margin: auto 6px; + transition: all 0.3s ease-in-out; + cursor: pointer; +} + + .radio-label-workTimeOption:hover { + color: #FFFFFF; + background-color: #1c7474; + border-color: #23A8A8; + } + +.radio-workTimeOption:checked + .radio-label-workTimeOption { + color: #FFFFFF; + background: linear-gradient(93.83deg, #2EBEBE 1.59%, #1E9D9D 47.86%, #0B7878 101.16%); +} + +.show-disorganized { + height: 81px; + background: #F2FEFF; + border: 1px solid #B0EBF0; + border-radius: 10px; + display: flex; + align-items: center; + justify-content: center; + text-align: center; +} + + .show-disorganized p { + font-weight: 500; + font-size: 14px; + color: #1B929C; + } + + + +.radio-label-workTimeOption { + font-size: 13px; + font-weight: 500; + color: #0F8080; + background-color: #DDF4F4; + text-align: center; + padding: 8px 16px; + border-radius: 9px; + margin: auto 5px; + transition: all 0.3s ease-in-out; + cursor: pointer; +} + + .radio-label-workTimeOption:hover { + color: #FFFFFF; + background-color: #1c7474; + border-color: #23A8A8; + } + +.radio-workTimeOption:checked + .radio-label-workTimeOption { + color: #FFFFFF; + background: linear-gradient(93.83deg, #2EBEBE 1.59%, #1E9D9D 47.86%, #0B7878 101.16%); +} + +.show-disorganized { + height: 81px; + background: #F2FEFF; + border: 1px solid #B0EBF0; + border-radius: 10px; + display: flex; + align-items: center; + justify-content: center; + text-align: center; +} + + .show-disorganized p { + font-weight: 500; + font-size: 14px; + color: #1B929C; + } + +#computeTime span, +.lableCheckBreakTime, +.labelExtraOption { + font-size: 12px; + font-weight: 500; + margin: 0 10px; + color: #101010; + text-align: right; +} + +.breack-time { + border: 1px solid #ddd; + padding: 8px 0; + border-radius: 20px; +} + +.extraOptionBorder { + border: 1px solid #ddd; + padding: 8px 0; + border-radius: 20px; +} + +/************************ Radio Button Input () ************************/ +.form-check-input[type="radio"], +.form-check-input[type="checkbox"] { + width: 15px; + height: 15px; + border-radius: 6px; + padding: 8px; + border: 1px solid #CFD3D4; + background-color: white; + background-position: center; + background-size: contain; + background-repeat: no-repeat; + margin-right: 8px; + appearance: none; +} + + .form-check-input[type="radio"]:checked, + .form-check-input[type="checkbox"]:checked { + background-color: #148989; + border: 1px solid #ffffff !important; + background-image: url('data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke="white" stroke-width="3"%3E%3Cpath stroke-linecap="round" stroke-linejoin="round" d="M5 13l4 4L19 7" /%3E%3C/svg%3E'); + background-size: 75%; + } + +.form-check-input[type=checkbox]:indeterminate { + background-color: #148989; + border-color: #ffffff; + --bs-form-check-bg-image: url(data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M6 10h8'/%3e%3c/svg%3e); +} + +.form-check-input[type="radio"]:focus, +.form-check-input[type="checkbox"]:focus { + outline: none; + box-shadow: none; +} + +.form-check-input[type="radio"] + label, +.form-check-input[type="checkbox"] + label { + color: #83898C; +} + +.form-check-input[type="radio"]:checked + label, +.form-check-input[type="checkbox"]:checked + label { + color: #2B2F32; +} +/************************ Radio Button Input (Like Checkbox appearance) ************************/ + + +@media (max-width: 992px) { + .modal-dialog, .modal-content { + /*height: 622px;*/ + height: 600px; + width: auto; + } + + .radio-label-workTimeOption { + font-size: 10px; + padding: 8px 8px; + font-weight: 800; + } + + #computeTime span, + .lableCheckBreakTime, + .labelExtraOption { + font-size: 11px; + } +} + +@media (min-width: 576px) { + .container, .container-sm { + max-width: none; + } +} \ No newline at end of file diff --git a/ServiceHost/wwwroot/AssetsClient/pages/RollCall/WorkshopSetting/css/ModalSettingWorkTime.css b/ServiceHost/wwwroot/AssetsClient/pages/RollCall/WorkshopSetting/css/ModalSettingWorkTime.css new file mode 100644 index 00000000..e2a94942 --- /dev/null +++ b/ServiceHost/wwwroot/AssetsClient/pages/RollCall/WorkshopSetting/css/ModalSettingWorkTime.css @@ -0,0 +1,265 @@ +.errored { + animation: shake 300ms; + color: #eb3434 !important; + background-color: #fef2f2 !important; + border: 1px solid #eb3434 !important; +} + +.modal-dialog, .modal-content { + height: 460px; + width: 510px; +} + +.timeWorkTitle { + color: #5C5C5C; + font-weight: 600; + font-size: 12px; + margin: auto 0 auto 6px; + white-space: nowrap; +} + +.groupBox { + background-color: #F5F5F5; + border-radius: 10px; + border: 1px solid #E7E7E7; + padding: 6px; + margin: 6px 3px; +} + + .groupBox .form-control { + background-color: #ffffff; + } + + .groupBox .form-control::placeholder { + color: #bfbfbf; + opacity: 1; /* Firefox */ + } + + .groupBox .form-control::-ms-input-placeholder { /* Edge 12-18 */ + color: #bfbfbf; + } + +.btnAddTimeWork { + display: flex; + align-items: center; + justify-content: center; + background-color: #84CC16; + border-radius: 5px; + color: #ffffff; + font-size: 12px; + font-weight: 500; + padding: 4px 8px; +} + +.btnRemoveTimeWork { + display: flex; + align-items: center; + justify-content: center; + background-color: #F87171; + border-radius: 7px; + padding: 3px; + width: 30px; + height: 30px; +} + +.ShowMessage { + position: absolute; + background: #dfdfdf; + width: 100%; + top: 0; + right: 0; + height: 100%; + border-radius: 10px; + display: flex; + align-items: center; + justify-content: center; +} + + +.btn-workTimeOption-container { + display: flex; +} + +.radio-workTimeOption { + display: none; +} + +.radio-label-workTimeOption { + font-size: 13px; + font-weight: 500; + color: #0F8080; + background-color: #DDF4F4; + text-align: center; + padding: 8px 16px; + border-radius: 4px; + margin: auto 6px; + transition: all 0.3s ease-in-out; + cursor: pointer; +} + + .radio-label-workTimeOption:hover { + color: #FFFFFF; + background-color: #1c7474; + border-color: #23A8A8; + } + +.radio-workTimeOption:checked + .radio-label-workTimeOption { + color: #FFFFFF; + background: linear-gradient(93.83deg, #2EBEBE 1.59%, #1E9D9D 47.86%, #0B7878 101.16%); +} + +.show-disorganized { + height: 81px; + background: #F2FEFF; + border: 1px solid #B0EBF0; + border-radius: 10px; + display: flex; + align-items: center; + justify-content: center; + text-align: center; +} + + .show-disorganized p { + font-weight: 500; + font-size: 14px; + color: #1B929C; + } + + + +.radio-label-workTimeOption { + font-size: 13px; + font-weight: 500; + color: #0F8080; + background-color: #DDF4F4; + text-align: center; + padding: 8px 16px; + border-radius: 9px; + margin: auto 5px; + transition: all 0.3s ease-in-out; + cursor: pointer; +} + + .radio-label-workTimeOption:hover { + color: #FFFFFF; + background-color: #1c7474; + border-color: #23A8A8; + } + +.radio-workTimeOption:checked + .radio-label-workTimeOption { + color: #FFFFFF; + background: linear-gradient(93.83deg, #2EBEBE 1.59%, #1E9D9D 47.86%, #0B7878 101.16%); +} + +.show-disorganized { + height: 81px; + background: #F2FEFF; + border: 1px solid #B0EBF0; + border-radius: 10px; + display: flex; + align-items: center; + justify-content: center; + text-align: center; +} + + .show-disorganized p { + font-weight: 500; + font-size: 14px; + color: #1B929C; + } + +#computeTime span, +.lableCheckBreakTime, +.labelExtraOption { + font-size: 12px; + font-weight: 500; + margin: 0 10px; + color: #101010; + text-align: right; +} + +.breack-time { + border: 1px solid #ddd; + padding: 8px 0; + border-radius: 20px; +} + +.extraOptionBorder { + border: 1px solid #ddd; + padding: 8px 0; + border-radius: 20px; +} + +/************************ Radio Button Input () ************************/ +.form-check-input[type="radio"], +.form-check-input[type="checkbox"] { + width: 15px; + height: 15px; + border-radius: 6px; + padding: 8px; + border: 1px solid #CFD3D4; + background-color: white; + background-position: center; + background-size: contain; + background-repeat: no-repeat; + margin-right: 8px; + appearance: none; +} + + .form-check-input[type="radio"]:checked, + .form-check-input[type="checkbox"]:checked { + background-color: #148989; + border: 1px solid #ffffff !important; + background-image: url('data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke="white" stroke-width="3"%3E%3Cpath stroke-linecap="round" stroke-linejoin="round" d="M5 13l4 4L19 7" /%3E%3C/svg%3E'); + background-size: 75%; + } + +.form-check-input[type=checkbox]:indeterminate { + background-color: #148989; + border-color: #ffffff; + --bs-form-check-bg-image: url(data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M6 10h8'/%3e%3c/svg%3e); +} + +.form-check-input[type="radio"]:focus, +.form-check-input[type="checkbox"]:focus { + outline: none; + box-shadow: none; +} + +.form-check-input[type="radio"] + label, +.form-check-input[type="checkbox"] + label { + color: #83898C; +} + +.form-check-input[type="radio"]:checked + label, +.form-check-input[type="checkbox"]:checked + label { + color: #2B2F32; +} +/************************ Radio Button Input (Like Checkbox appearance) ************************/ + + +@media (max-width: 992px) { + .modal-dialog, .modal-content { + /*height: 622px;*/ + height: 600px; + width: auto; + } + + .radio-label-workTimeOption { + font-size: 10px; + padding: 8px 8px; + font-weight: 800; + } + + #computeTime span, + .lableCheckBreakTime, + .labelExtraOption { + font-size: 11px; + } +} + +@media (min-width: 576px) { + .container, .container-sm { + max-width: none; + } +} diff --git a/ServiceHost/wwwroot/AssetsClient/pages/RollCall/WorkshopSetting/js/ModalCreateSettingWorkshop.js b/ServiceHost/wwwroot/AssetsClient/pages/RollCall/WorkshopSetting/js/ModalCreateSettingWorkshop.js new file mode 100644 index 00000000..be556ea4 --- /dev/null +++ b/ServiceHost/wwwroot/AssetsClient/pages/RollCall/WorkshopSetting/js/ModalCreateSettingWorkshop.js @@ -0,0 +1,261 @@ +$(document).ready(function () { + $(".dateTime").each(function () { + let element = $(this); + + element.on('input', function () { + let value = convertPersianNumbersToEnglish(element.val()); + element.val(value); + }); + + new Cleave(this, { + time: true, + timePattern: ['h', 'm'] + }); + }); + + $("#organized").on("click", function () { + $('#step_workTimeOption').show(); + $('#step_workTimeOptionIrregular').hide(); + + if ($('#step-form2').is(':visible')) { + $('.dateTime').each(function () { + if ($(this).val() === '') { + $('.btn-register').addClass('disable'); + } + }); + } + }); + + $("#disorganized").on("click", function () { + $('#step_workTimeOption').hide(); + $('#step_workTimeOptionIrregular').show(); + $('.btn-register').removeClass('disable'); + }); + + + $(".btnAddTimeWork").on("click", function () { + var currentCount = $('.groupBox').length; + var $inputs = $('.dateTime'); + var allFilled = true; + + $inputs.each(function () { + if ($(this).val() === '') { + allFilled = false; + showAlert('ابتدا ساعت شروع و پایان را وارد نمائید.', $(this)); + } + }); + + //validateAllTimes(); + + if (!allFilled) { + return false; + } + + if (currentCount < 3) { + var namePlacement = ""; + var namePlacementPersian = ""; + + switch (currentCount + 1) { + case 2: + namePlacement = "Second"; + namePlacementPersian = "دوم"; + break; + case 3: + namePlacement = "Third"; + namePlacementPersian = "سوم"; + break; + default: + } + + var timeWorkHtml = ` +
    +
    +
    + +
    نوبت ${namePlacementPersian}
    +
    +
    +
    از
    + +
    +
    +
    الی
    + +
    +
    + +
    +
    +
    `; + + $('#appendChildTimeWorkHtml').append(timeWorkHtml); + + const newStartTimeInput = $(`input[name="ShiftsList[${currentCount}].StartTime"]`); + const newEndTimeInput = $(`input[name="ShiftsList[${currentCount}].EndTime"]`); + + newStartTimeInput.on('input', function () { + const value = convertPersianNumbersToEnglish($(this).val()); + $(this).val(value); + }); + + newEndTimeInput.on('input', function () { + const value = convertPersianNumbersToEnglish($(this).val()); + $(this).val(value); + }); + + new Cleave(newStartTimeInput[0], { + time: true, + timePattern: ['h', 'm'] + }); + + new Cleave(newEndTimeInput[0], { + time: true, + timePattern: ['h', 'm'] + }); + + //new Cleave(`input[name="CreateWorkshopSettings.ShiftsList[${currentCount}].StartTime"]`, { + // time: true, + // timePattern: ['h', 'm'] + //}); + + //new Cleave(`input[name="CreateWorkshopSettings.ShiftsList[${currentCount}].EndTime"]`, { + // time: true, + // timePattern: ['h', 'm'] + //}); + + updateAddButtonText(currentCount + 1); + + if (currentCount + 1 === 3) { + $(".btnAddTimeWork").hide(); + } + + // Update Remove button enable/disable state + updateRemoveButtons(); + } + }); + $(document).on("click", ".btnRemoveTimeWork", function () { + $(this).closest(".groupBox").remove(); + var currentCount = $('.groupBox').length; + + updateAddButtonText(currentCount); + updateRemoveButtons(); + + if (currentCount < 3) { + $(".btnAddTimeWork").show(); + } + }); +}); + +function updateRemoveButtons() { + $(".btnRemoveTimeWork").addClass("disable"); + $(".btnRemoveTimeWork").last().removeClass("disable"); +} + +updateAddButtonText(1); +function updateAddButtonText(currentCount) { + if (currentCount === 1) { + $('.btnAppendChildTimeWork').text('افزودن نوبت دوم'); + } else if (currentCount === 2) { + $('.btnAppendChildTimeWork').text('افزودن نوبت سوم'); + } + + let allFilled = true; + $('.dateTime').each(function () { + const value = $(this).val().trim(); + if (value === "" || !timeValidCheck(value)) { + allFilled = false; + return false; // Break the loop + } + }); + + if (allFilled) { + $('.btn-register').removeClass('disable'); + } else { + $('.btn-register').addClass('disable'); + } +} + +//******************** برای نوشتن تاریخ ******************** + +//$(document).on('input', ".dateTime", function () { +// var value = $(this).val(); +// $(this).val(convertPersianNumbersToEnglish(value)).mask("00:00"); +//}); + +$(document).on('keyup', ".dateTime", function () { + let $input = $(this); + let value = $input.val(); + let lengthValue = value.length; + let currentCount = $('.groupBox').length; + + if (lengthValue >= 5) { + if (!timeValidCheck(value)) { + showAlert('ساعت را به درستی وارد نمائید', $input); + updateAddButtonText(currentCount); + } else { + clearAlert($input); + //validateAllTimes(); + updateAddButtonText(currentCount); + + } + } else { + updateAddButtonText(currentCount); + } +}); + +function showAlert(message, inputElement) { + inputElement.addClass("errored"); + $('.alert-msg').show().find('p').text(message); + setTimeout(function () { + clearAlert(inputElement); + }, 3500); +} + +function clearAlert(inputElement) { + inputElement.removeClass("errored"); + $('.alert-msg').hide().find('p').text(''); +} + +function timeValidCheck(value) { + const timePattern = /^([01]\d|2[0-3]):([0-5]\d)$/; + return timePattern.test(value); +} + +//******************** برای نوشتن تاریخ ******************** + +function saveNewWorkshopSetting() { + $.ajax({ + async: false, + dataType: 'json', + type: 'POST', + url: saveNewWorkshopSettingUrl, + headers: { "RequestVerificationToken": antiForgeryToken }, + data: $('#create-form').serialize(), + success: function (response) { + if (response.success) { + $('.alert-success-msg').show(); + $('.alert-success-msg p').text(response.message); + setTimeout(function () { + $('.alert-success-msg').hide(); + $('.alert-success-msg p').text(''); + }, 3500); + window.location.reload(); + } else { + $('.alert-msg').show(); + $('.alert-msg p').text(response.message); + setTimeout(function () { + $('.alert-msg').hide(); + $('.alert-msg p').text(''); + }, 3500); + } + }, + error: function (err) { + console.log(err); + } + }); +} diff --git a/ServiceHost/wwwroot/AssetsClient/pages/RollCall/WorkshopSetting/js/ModalSettingWorkTime.js b/ServiceHost/wwwroot/AssetsClient/pages/RollCall/WorkshopSetting/js/ModalSettingWorkTime.js new file mode 100644 index 00000000..577c8457 --- /dev/null +++ b/ServiceHost/wwwroot/AssetsClient/pages/RollCall/WorkshopSetting/js/ModalSettingWorkTime.js @@ -0,0 +1,346 @@ +var isTabPressed = false; +$(document).ready(function () { + updateRemoveButtons(); + + $('.loading').hide(); + + $(".dateTime").on("blur", function () { + var valueCheck = $(this).val().trim(); + if (valueCheck === "" || !timeValidCheck(valueCheck)) { + $(this).addClass("errored"); + } + }); + + //$(".dateTime").on("keydown", function (e) { + // if (e.key === "Tab" && !e.shiftKey) { + // e.preventDefault(); + // isTabPressed = true; + + // if (e.shiftKey) { + // focusPreviousTimeInput(this); + // } else { + // focusNextTimeInput(this); + // } + // } + //}); + + if (IsRegularWorkshop) { + + $("#organized").prop('checked', true); + $("#disorganized").prop('checked', false); + $('#step_workTimeOption').show(); + $('#step_workTimeOptionIrregular').hide(); + + // این مرحله هنگام چک کردن تعداد نوبت هستش + var currentCount = $('.groupBox').length; + updateAddButtonText(currentCount); + } else { + $("#organized").prop('checked', false); + $("#disorganized").prop('checked', true); + $('#step_workTimeOption').hide(); + $('#step_workTimeOptionIrregular').show(); + } + + $("#organized").on("click", function () { + $('#step_workTimeOption').show(); + $('#step_workTimeOptionIrregular').hide(); + + if ($('#step_workTimeOption').is(':visible')) { + $('.dateTime').each(function () { + if ($(this).val() === '') { + var currentCount = $('.groupBox').length; + updateAddButtonText(currentCount); + } + }); + } + }); + + $("#disorganized").on("click", function () { + $('#step_workTimeOption').hide(); + $('#step_workTimeOptionIrregular').show(); + $('.btn-register').removeClass('disable'); + }); + + // ---------------------------------------- + + $(".dateTime").each(function () { + let element = $(this); + + element.on('input', function () { + let value = convertPersianNumbersToEnglish(element.val()); + element.val(value); + }); + + new Cleave(this, { + time: true, + timePattern: ['h', 'm'] + }); + }); + $(".btnAddTimeWork").on("click", function () { + var currentCount = $('.groupBox').length; + var $inputs = $('.dateTime'); + var allFilled = true; + + $inputs.each(function () { + if ($(this).val() === '') { + allFilled = false; + showAlert('ابتدا ساعت شروع و پایان را وارد نمائید.', $(this)); + } + }); + + //validateAllTimes(); + + if (!allFilled) { + return false; + } + + + if (currentCount < 3) { + var namePlacement = ""; + var namePlacementPersian = ""; + + switch (currentCount + 1) { + case 2: + namePlacement = "Second"; + namePlacementPersian = "دوم"; + break; + case 3: + namePlacement = "Third"; + namePlacementPersian = "سوم"; + break; + default: + } + + + var timeWorkHtml = ` +
    +
    +
    + +
    نوبت ${namePlacementPersian}
    +
    +
    +
    از
    + +
    +
    +
    الی
    + +
    +
    + +
    +
    +
    `; + + $('#appendChildTimeWorkHtml').append(timeWorkHtml); + + const newStartTimeInput = $(`input[name="shiftViewModels[${currentCount}].StartTime"]`); + const newEndTimeInput = $(`input[name="shiftViewModels[${currentCount}].EndTime"]`); + + newStartTimeInput.on('input', function () { + const value = convertPersianNumbersToEnglish($(this).val()); + $(this).val(value); + }); + + newEndTimeInput.on('input', function () { + const value = convertPersianNumbersToEnglish($(this).val()); + $(this).val(value); + }); + + new Cleave(newStartTimeInput[0], { + time: true, + timePattern: ['h', 'm'] + }); + + new Cleave(newEndTimeInput[0], { + time: true, + timePattern: ['h', 'm'] + }); + + //new Cleave(`input[name="shiftViewModels[${currentCount}].StartTime"]`, { + // time: true, + // timePattern: ['h', 'm'] + //}); + + //new Cleave(`input[name="shiftViewModels[${currentCount}].EndTime"]`, { + // time: true, + // timePattern: ['h', 'm'] + //}); + + updateAddButtonText(currentCount + 1); + + if (currentCount + 1 === 3) { + $(".btnAddTimeWork").hide(); + } + + // Update Remove button enable/disable state + updateRemoveButtons(); + } + }); + + $(document).on("click", ".btnRemoveTimeWork", function () { + $(this).closest(".groupBox").remove(); + var currentCount = $('.groupBox').length; + + updateAddButtonText(currentCount); + + if (currentCount < 3) { + $(".btnAddTimeWork").show(); + } + + // Update Remove button enable/disable state + updateRemoveButtons(); + }); +}); + +function updateRemoveButtons() { + $(".btnRemoveTimeWork").addClass("disable"); + $(".btnRemoveTimeWork").last().removeClass("disable"); +} + +//updateAddButtonText(1); +function updateAddButtonText(currentCount) { + if (currentCount === 1) { + $('.btnAppendChildTimeWork').text('افزودن نوبت دوم'); + $('.btnAddTimeWork').css('visibility', 'visible'); + } else if (currentCount === 2) { + $('.btnAppendChildTimeWork').text('افزودن نوبت سوم'); + $('.btnAddTimeWork').css('visibility', 'visible'); + } else { + $('.btnAddTimeWork').css('visibility', 'hidden'); + } + + let allFilled = true; + $('.dateTime').each(function () { + const value = $(this).val().trim(); + if (value === "" || !timeValidCheck(value)) { + allFilled = false; + return false; // Break the loop + } + }); + + if (allFilled) { + $('.btn-register').removeClass('disable'); + } else { + $('.btn-register').addClass('disable'); + } +} + +//******************** برای نوشتن تاریخ ******************** + +$(document).on('keyup', ".dateTime", function () { + let $input = $(this); + let value = $input.val(); + let lengthValue = value.length; + let currentCount = $('.groupBox').length; + + if (isTabPressed) { + isTabPressed = false; + return; + } + + if (lengthValue >= 5) { + if (!timeValidCheck(value)) { + showAlert('ساعت را به درستی وارد نمائید', $input); + updateAddButtonText(currentCount); + } else { + clearAlert($input); + updateAddButtonText(currentCount); + } + } else { + updateAddButtonText(currentCount); + } +}); + + +function showAlert(message, inputElement) { + inputElement.addClass("errored"); + $('.alert-msg').show().find('p').text(message); + setTimeout(function () { + clearAlert(inputElement); + }, 3500); +} + +function clearAlert(inputElement) { + inputElement.removeClass("errored"); + $('.alert-msg').hide().find('p').text(''); +} + +function timeValidCheck(value) { + const timePattern = /^([01]\d|2[0-3]):([0-5]\d)$/; + return timePattern.test(value); +} + +function actionForShowModalReplaceChange() { + var htmlEmployeeItem = ''; + $.ajax({ + async: false, + dataType: 'json', + type: 'GET', + url: getGroupListAndEmployeeListAjax, + headers: { "RequestVerificationToken": antiForgeryToken }, + data: { 'customizeWorkshopSettingsId': $('#customizeWorkshopSettingsId').val() }, + success: function (response) { + if (response.success) { + $('#ConfirmEmployeeModal').show(); + + response.data.forEach(function (itemEmployee) { + htmlEmployeeItem += `
  • ${itemEmployee.groupName}
  • `; + if (itemEmployee.employeeName.length > 0) { + htmlEmployeeItem += `
      `; + itemEmployee.employeeName.forEach(function (itemEmployeeName) { + htmlEmployeeItem += `
    • ${itemEmployeeName}
    • `; + }); + htmlEmployeeItem += `
    `; + } + }); + + $('#loadEmployeeItem').html(htmlEmployeeItem); + } else { + saveEditSettingWorkTime(); + } + }, + error: function (err) { + console.log(err); + } + }); +} + +function saveEditSettingWorkTime() { + $.ajax({ + async: false, + dataType: 'json', + type: 'POST', + url: saveEditSettingWorkTimeAjax, + headers: { "RequestVerificationToken": antiForgeryToken }, + data: $('#create-form').serialize(), + success: function (response) { + if (response.success) { + $('.alert-success-msg').show(); + $('.alert-success-msg p').text(response.message); + setTimeout(function () { + $('.alert-success-msg').hide(); + $('.alert-success-msg p').text(''); + window.location.reload(); + }, 1500); + $('#MainModal').modal('hide'); + } else { + $('.alert-msg').show(); + $('.alert-msg p').text(response.message); + setTimeout(function () { + $('.alert-msg').hide(); + $('.alert-msg p').text(''); + }, 3500); + } + }, + error: function (err) { + console.log(err); + } + }); +} diff --git a/ServiceHost/wwwroot/AssetsClient/pages/RollCall/css/ModalCreateAccountSetting.css b/ServiceHost/wwwroot/AssetsClient/pages/RollCall/css/ModalCreateAccountSetting.css index 99b44390..9aaa4300 100644 --- a/ServiceHost/wwwroot/AssetsClient/pages/RollCall/css/ModalCreateAccountSetting.css +++ b/ServiceHost/wwwroot/AssetsClient/pages/RollCall/css/ModalCreateAccountSetting.css @@ -121,4 +121,15 @@ font-weight: 500; font-size: 14px; color: #1B929C; -} \ No newline at end of file +} + +.profilePasswordModal .modal-header h5 { + font-size: 20px; +} + +.modal-title { + font-size: 16px; + color: #1F2937; + font-weight: 600; +} + diff --git a/ServiceHost/wwwroot/AssetsClient/pages/RollCall/js/CameraAccounts.js b/ServiceHost/wwwroot/AssetsClient/pages/RollCall/js/CameraAccounts.js index 5f2802ac..fa8d9519 100644 --- a/ServiceHost/wwwroot/AssetsClient/pages/RollCall/js/CameraAccounts.js +++ b/ServiceHost/wwwroot/AssetsClient/pages/RollCall/js/CameraAccounts.js @@ -8,7 +8,8 @@ $(document).ready(function () { if (response.hasRollCallService) { if (!response.hasCameraAccount || !response.hasRollCallWorkshopSetting) { //window.location.href = saveCameraAccountUrl; - AjaxUrlContentModal(saveCameraAccountUrl); + //AjaxUrlContentModal(saveCameraAccountUrl); + AjaxUrlContentModal(modalCreateCameraAccountUrl); } } }); From 4022a1afd8d20aee344695e53c524175fcfe0abe Mon Sep 17 00:00:00 2001 From: SamSys Date: Mon, 5 May 2025 16:43:35 +0330 Subject: [PATCH 48/84] Add new Checkbox for Insurance in CreateWorshopp And EditWorkshop --- .../Repository/WorkshopRepository.cs | 4 +++- .../Pages/Company/Workshops/CreateWorkshop.cshtml | 13 +++++++++++++ .../Pages/Company/Workshops/EditWorkshop.cshtml | 15 ++++++++++++++- 3 files changed, 30 insertions(+), 2 deletions(-) diff --git a/CompanyManagment.EFCore/Repository/WorkshopRepository.cs b/CompanyManagment.EFCore/Repository/WorkshopRepository.cs index 8640a479..982eef2d 100644 --- a/CompanyManagment.EFCore/Repository/WorkshopRepository.cs +++ b/CompanyManagment.EFCore/Repository/WorkshopRepository.cs @@ -195,7 +195,9 @@ public class WorkshopRepository : RepositoryBase x.Id == id); } diff --git a/ServiceHost/Areas/Admin/Pages/Company/Workshops/CreateWorkshop.cshtml b/ServiceHost/Areas/Admin/Pages/Company/Workshops/CreateWorkshop.cshtml index 1411104c..3ce1844d 100644 --- a/ServiceHost/Areas/Admin/Pages/Company/Workshops/CreateWorkshop.cshtml +++ b/ServiceHost/Areas/Admin/Pages/Company/Workshops/CreateWorkshop.cshtml @@ -874,6 +874,19 @@ @if (Model.Command.PermissionIds != null && Model.Command.PermissionIds.Contains(10324)) {
    +
    +
    +

    محاسبه اضافه کار و حق عائله مندی در لیست بیمه کارگاه

    +
    + +
    +
    + +
    + +
    + +

    ارسال لیست بیمه کارگاه

    diff --git a/ServiceHost/Areas/Admin/Pages/Company/Workshops/EditWorkshop.cshtml b/ServiceHost/Areas/Admin/Pages/Company/Workshops/EditWorkshop.cshtml index f63b1175..b37e26b2 100644 --- a/ServiceHost/Areas/Admin/Pages/Company/Workshops/EditWorkshop.cshtml +++ b/ServiceHost/Areas/Admin/Pages/Company/Workshops/EditWorkshop.cshtml @@ -876,6 +876,19 @@
    +
    +
    +

    محاسبه اضافه کار و حق عائله مندی در لیست بیمه کارگاه

    +
    + +
    +
    + +
    + +
    + +

    ارسال لیست بیمه کارگاه

    @@ -888,7 +901,7 @@
    - +
    From 6eec454685bb67035dfec9099541d1ed0c8ba193 Mon Sep 17 00:00:00 2001 From: MahanCh Date: Mon, 5 May 2025 18:09:53 +0330 Subject: [PATCH 49/84] employeeDocument Refactor --- 0_Framework/Application/AuthHelper.cs | 13 +- 0_Framework/Application/IAuthHelper.cs | 2 +- .../EmployeeDocumentItem.cs | 189 +- .../EmployeeDocumentRequiredItems.cs | 8 +- .../IEmployeeDocumentsRepository.cs | 73 +- ...EditEmployeeInEmployeeDocumentViewModel.cs | 5 +- .../IEmployeeDocumentsApplication.cs | 71 + .../EmployeeDocumentsApplication.cs | 108 +- .../FineApplication.cs | 4 +- .../LoanApplication.cs | 2 +- .../RewardApplication.cs | 4 +- .../SalaryAidApplication.cs | 6 +- ...oleId to EmployeeDocumentItems.Designer.cs | 9474 +++++++++++++++++ ...uploaderRoleId to EmployeeDocumentItems.cs | 29 + .../Migrations/CompanyContextModelSnapshot.cs | 3 + .../Repository/EmployeeDocumentsRepository.cs | 878 +- .../Pages/Company/AndroidApk/Index.cshtml.cs | 32 +- .../EmployeesDocuments/EmployeeList.cshtml.cs | 65 +- .../ModalPrintSelectionUploadDocument.cshtml | 271 + .../ModalPrintSingleUploadDocument.cshtml | 53 + .../ModalUploadDocument.cshtml | 1 + .../PrintSelectionUD.cshtml | 375 + .../EmployeesDocuments/PrintSingleUD.cshtml | 251 + .../Pages/Company/RollCall/Index.cshtml.cs | 8 +- .../WorkFlow/EmployeesDocuments.cshtml | 95 +- .../WorkFlow/EmployeesDocuments.cshtml.cs | 360 +- .../Pages/Company/WorkFlow/Index.cshtml.cs | 11 +- .../ModalUploadDocument.cshtml | 34 +- .../Areas/AdminNew/Pages/Index.cshtml.cs | 23 +- .../EmployeesDocuments/Index.cshtml.cs | 11 + .../ModalUploadDocument.cshtml | 1 + .../WorkFlow/EmployeeDocuments/Index.cshtml | 161 + .../EmployeeDocuments/Index.cshtml.cs | 127 + .../ModalUploadDocument.cshtml | 349 + .../Pages/Company/WorkFlow/Index.cshtml.cs | 33 +- .../Client/Pages/Shared/_ClientLayout.cshtml | 57 +- .../Areas/Client/Pages/Shared/_Menu.cshtml | 17 +- ...cture-1404-2-15-652859999124-thumbnail.jpg | Bin 0 -> 5278 bytes ...EmployeePicture-1404-2-15-652859999124.jpg | Bin 0 -> 396577 bytes ...cture-1404-2-15-653376702858-thumbnail.jpg | Bin 0 -> 5278 bytes ...EmployeePicture-1404-2-15-653376702858.jpg | Bin 0 -> 396577 bytes ...cture-1404-2-15-650997942264-thumbnail.jpg | Bin 0 -> 5278 bytes ...EmployeePicture-1404-2-15-650997942264.jpg | Bin 0 -> 396577 bytes ...Front-1404-2-15-651445927927-thumbnail.jpg | Bin 0 -> 5278 bytes ...tionalCardFront-1404-2-15-651445927927.jpg | Bin 0 -> 396577 bytes .../css/ModalPrintSelectionUploadDocument.css | 156 + .../css/ModalPrintSingleUploadDocument.css | 55 + .../EmployeesDocument/js/EmployeeList.js | 82 +- .../js/ModalPrintSelectionUploadDocument.js | 35 + .../js/ModalPrintSingleUploadDocument.js | 9 + .../js/ModalUploadDocument.js | 530 +- .../WorkFlow/css/EmployeesDocuments.css | 20 + .../WorkFlow/js/EmployeesDocuments.js | 756 +- .../WorkFlow/js/ModalUploadDocument.js | 72 +- .../js/ModalUploadDocument.js | 614 +- .../WorkFlow/EmployeeDocuments/css/Index.css | 635 ++ .../WorkFlow/EmployeeDocuments/js/Index.js | 368 + .../js/ModalUploadDocument.js | 775 ++ .../IAdminWorkFlowApplication.cs | 15 +- .../WorkFlow/IWorkFlowApplication.cs | 10 +- .../AdminWorkFlowApplication.cs | 42 +- .../WorkFlowApplication.cs | 66 +- .../IWorkFlowEmployeeDocumentsACL.cs | 83 +- 63 files changed, 16549 insertions(+), 978 deletions(-) create mode 100644 CompanyManagment.EFCore/Migrations/20250505140611_add uploaderRoleId to EmployeeDocumentItems.Designer.cs create mode 100644 CompanyManagment.EFCore/Migrations/20250505140611_add uploaderRoleId to EmployeeDocumentItems.cs create mode 100644 ServiceHost/Areas/AdminNew/Pages/Company/EmployeesDocuments/ModalPrintSelectionUploadDocument.cshtml create mode 100644 ServiceHost/Areas/AdminNew/Pages/Company/EmployeesDocuments/ModalPrintSingleUploadDocument.cshtml create mode 100644 ServiceHost/Areas/AdminNew/Pages/Company/EmployeesDocuments/PrintSelectionUD.cshtml create mode 100644 ServiceHost/Areas/AdminNew/Pages/Company/EmployeesDocuments/PrintSingleUD.cshtml create mode 100644 ServiceHost/Areas/Client/Pages/Company/WorkFlow/EmployeeDocuments/Index.cshtml create mode 100644 ServiceHost/Areas/Client/Pages/Company/WorkFlow/EmployeeDocuments/Index.cshtml.cs create mode 100644 ServiceHost/Areas/Client/Pages/Company/WorkFlow/EmployeeDocuments/ModalUploadDocument.cshtml create mode 100644 ServiceHost/Storage/EmployeeDocuments/Rejected/170/42821/EmployeePicture-1404-2-15-652859999124-thumbnail.jpg create mode 100644 ServiceHost/Storage/EmployeeDocuments/Rejected/170/42821/EmployeePicture-1404-2-15-652859999124.jpg create mode 100644 ServiceHost/Storage/EmployeeDocuments/temp/170/42821/EmployeePicture-1404-2-15-653376702858-thumbnail.jpg create mode 100644 ServiceHost/Storage/EmployeeDocuments/temp/170/42821/EmployeePicture-1404-2-15-653376702858.jpg create mode 100644 ServiceHost/Storage/EmployeeDocuments/temp/572/43228/EmployeePicture-1404-2-15-650997942264-thumbnail.jpg create mode 100644 ServiceHost/Storage/EmployeeDocuments/temp/572/43228/EmployeePicture-1404-2-15-650997942264.jpg create mode 100644 ServiceHost/Storage/EmployeeDocuments/temp/572/43228/NationalCardFront-1404-2-15-651445927927-thumbnail.jpg create mode 100644 ServiceHost/Storage/EmployeeDocuments/temp/572/43228/NationalCardFront-1404-2-15-651445927927.jpg create mode 100644 ServiceHost/wwwroot/AssetsAdminNew/EmployeesDocument/css/ModalPrintSelectionUploadDocument.css create mode 100644 ServiceHost/wwwroot/AssetsAdminNew/EmployeesDocument/css/ModalPrintSingleUploadDocument.css create mode 100644 ServiceHost/wwwroot/AssetsAdminNew/EmployeesDocument/js/ModalPrintSelectionUploadDocument.js create mode 100644 ServiceHost/wwwroot/AssetsAdminNew/EmployeesDocument/js/ModalPrintSingleUploadDocument.js create mode 100644 ServiceHost/wwwroot/AssetsClient/pages/WorkFlow/EmployeeDocuments/css/Index.css create mode 100644 ServiceHost/wwwroot/AssetsClient/pages/WorkFlow/EmployeeDocuments/js/Index.js create mode 100644 ServiceHost/wwwroot/AssetsClient/pages/WorkFlow/EmployeeDocuments/js/ModalUploadDocument.js diff --git a/0_Framework/Application/AuthHelper.cs b/0_Framework/Application/AuthHelper.cs index c30d148a..80e9aae1 100644 --- a/0_Framework/Application/AuthHelper.cs +++ b/0_Framework/Application/AuthHelper.cs @@ -245,21 +245,24 @@ public class AuthHelper : IAuthHelper #region Pooya - public (long Id, UserType userType) GetUserTypeWithId() + public (long Id, UserType userType, long roleId) GetUserTypeWithId() { if (!IsAuthenticated()) - return (0, UserType.Anonymous); + return (0, UserType.Anonymous, 0); var claims = _contextAccessor.HttpContext.User.Claims.ToList(); var subAccountId = long.Parse(claims.FirstOrDefault(x => x.Type == "SubAccountId")?.Value ?? "0"); if (subAccountId > 0) - return (subAccountId, UserType.SubAccount); + return (subAccountId, UserType.SubAccount, 0); var id = long.Parse(_contextAccessor.HttpContext.User.Claims.First(x => x.Type == "AccountId")?.Value); if (claims.FirstOrDefault(x => x.Type == "AdminAreaPermission")?.Value == "true") - return (id, UserType.Admin); + { + var roleId = long.Parse(claims.FirstOrDefault(x => x.Type == ClaimTypes.Role)?.Value ?? "0"); + return (id, UserType.Admin, roleId); + } - return (id, UserType.Client); + return (id, UserType.Client, 0); } #endregion diff --git a/0_Framework/Application/IAuthHelper.cs b/0_Framework/Application/IAuthHelper.cs index b7271c4d..281755aa 100644 --- a/0_Framework/Application/IAuthHelper.cs +++ b/0_Framework/Application/IAuthHelper.cs @@ -23,5 +23,5 @@ public interface IAuthHelper long CurrentSubAccountId(); string GetWorkshopSlug(); string GetWorkshopName(); - (long Id, UserType userType) GetUserTypeWithId(); + (long Id, UserType userType, long roleId) GetUserTypeWithId(); } \ No newline at end of file diff --git a/Company.Domain/EmployeeDocumentItemAgg/EmployeeDocumentItem.cs b/Company.Domain/EmployeeDocumentItemAgg/EmployeeDocumentItem.cs index e79b64ed..0d9f4193 100644 --- a/Company.Domain/EmployeeDocumentItemAgg/EmployeeDocumentItem.cs +++ b/Company.Domain/EmployeeDocumentItemAgg/EmployeeDocumentItem.cs @@ -7,100 +7,105 @@ using System.Collections.Generic; using _0_Framework.Application; using Microsoft.AspNetCore.JsonPatch.Operations; -namespace Company.Domain.EmployeeDocumentItemAgg +namespace Company.Domain.EmployeeDocumentItemAgg; + +public class EmployeeDocumentItem : EntityBase { - public class EmployeeDocumentItem : EntityBase + private EmployeeDocumentItem() { } + public long WorkshopId { get; private set; } + public long EmployeeId { get; private set; } + + public long UploaderId { get; private set; } + public UserType UploaderType { get; private set; } + public long UploaderRoleId { get; set; } + + + public long ReviewedById { get; private set; } + public string RejectionReason { get; private set; } + public DocumentStatus DocumentStatus { get; private set; } + public long MediaId { get; private set; } + + public DateTime? ConfirmationDateTime { get; private set; } + public DocumentItemLabel DocumentLabel { get; private set; } + + public long EmployeeDocumentId { get; private set; } + public virtual EmployeeDocuments EmployeeDocuments { get; private set; } + + public long? EmployeeDocumentsAdminViewId { get; private set; } + public EmployeeDocumentsAdminSelection EmployeeDocumentsAdminSelection { get; private set; } + + public List ItemLogs { get; private set; } + + + public EmployeeDocumentItem(long workshopId, long employeeId, long mediaId, long employeeDocumentId, DocumentItemLabel documentLabel, long uploaderId, + UserType uploaderType, long roleId, DocumentStatus documentStatus = DocumentStatus.Unsubmitted) { - - public long WorkshopId { get; private set; } - public long EmployeeId { get; private set; } - - public long UploaderId { get; private set; } - public UserType UploaderType { get; private set; } - - - public long ReviewedById { get; private set; } - public string RejectionReason { get; private set; } - public DocumentStatus DocumentStatus { get; private set; } - public long MediaId { get; private set; } - - public DateTime? ConfirmationDateTime { get; private set; } - public DocumentItemLabel DocumentLabel { get; private set; } - - public long EmployeeDocumentId { get; private set; } - public virtual EmployeeDocuments EmployeeDocuments { get; private set; } - - public long? EmployeeDocumentsAdminViewId { get; private set; } - public EmployeeDocumentsAdminSelection EmployeeDocumentsAdminSelection { get; private set; } - - public List ItemLogs { get; private set; } - - - public EmployeeDocumentItem(long workshopId,long employeeId, long mediaId, long employeeDocumentId, DocumentItemLabel documentLabel, long uploaderId, - UserType uploaderType, DocumentStatus documentStatus = DocumentStatus.Unsubmitted) - { - MediaId = mediaId; - UploaderId = uploaderId; - UploaderType = uploaderType; - EmployeeId = employeeId; - WorkshopId = workshopId; - DocumentStatus = documentStatus; - if (documentStatus == DocumentStatus.Confirmed) - ConfirmationDateTime = DateTime.Now; - DocumentLabel = documentLabel; - EmployeeDocumentId = employeeDocumentId; - ItemLogs = - [ - new EmployeeDocumentItemLog(EmployeeDocumentItemOperation.CreatedNewItem, uploaderId, uploaderType) - ]; - } - - - public void Confirm(long operatorId, UserType userType) - { - ReviewedById = operatorId; - DocumentStatus = DocumentStatus.Confirmed; + MediaId = mediaId; + UploaderId = uploaderId; + UploaderType = uploaderType; + UploaderRoleId = uploaderType == UserType.Admin ? roleId : -1; + EmployeeId = employeeId; + WorkshopId = workshopId; + DocumentStatus = documentStatus; + if (documentStatus == DocumentStatus.Confirmed) ConfirmationDateTime = DateTime.Now; - ItemLogs.Add(new EmployeeDocumentItemLog(EmployeeDocumentItemOperation.ConfirmedItem, operatorId, userType)); - } - - public void Reject(long operatorId, string rejectionReason, UserType userType) - { - RejectionReason = rejectionReason; - DocumentStatus = DocumentStatus.Rejected; - EmployeeDocuments.UpdateHasRejectedItems(); - ReviewedById = operatorId; - ItemLogs.Add(new EmployeeDocumentItemLog(EmployeeDocumentItemOperation.RejectedItem, operatorId, userType, rejectionReason)); - } - - public void Delete(long operatorId, UserType operatorType) - { - DocumentStatus = DocumentStatus.Deleted; - ItemLogs.Add(new EmployeeDocumentItemLog(EmployeeDocumentItemOperation.DeletedItem, operatorId, operatorType)); - } - - public void AdminSelect(long adminViewId) - { - EmployeeDocumentsAdminViewId = adminViewId; - } - - public void AdminDeselect() - { - EmployeeDocumentsAdminViewId = 0; - } - public void SubmitByClient(long operatorId,UserType operatorType) - { - DocumentStatus = DocumentStatus.SubmittedByClient; - ItemLogs.Add(new EmployeeDocumentItemLog(EmployeeDocumentItemOperation.SubmittedItems, operatorId, operatorType)); - EmployeeDocuments.UpdateHasRejectedItems(); - } - - public void SubmitByAdmin(long operatorId, UserType operatorType) - { - DocumentStatus = DocumentStatus.SubmittedByAdmin; - ItemLogs.Add(new EmployeeDocumentItemLog(EmployeeDocumentItemOperation.SubmittedItems, operatorId, operatorType)); - EmployeeDocuments.UpdateHasRejectedItems(); - } + DocumentLabel = documentLabel; + EmployeeDocumentId = employeeDocumentId; + ItemLogs = + [ + new EmployeeDocumentItemLog(EmployeeDocumentItemOperation.CreatedNewItem, uploaderId, uploaderType) + ]; } -} + + public void Confirm(long operatorId, UserType userType) + { + ReviewedById = operatorId; + DocumentStatus = DocumentStatus.Confirmed; + ConfirmationDateTime = DateTime.Now; + ItemLogs.Add(new EmployeeDocumentItemLog(EmployeeDocumentItemOperation.ConfirmedItem, operatorId, userType)); + } + + public void Reject(long operatorId, string rejectionReason, UserType userType) + { + RejectionReason = rejectionReason; + DocumentStatus = DocumentStatus.Rejected; + EmployeeDocuments.UpdateHasRejectedItems(); + ReviewedById = operatorId; + ItemLogs.Add(new EmployeeDocumentItemLog(EmployeeDocumentItemOperation.RejectedItem, operatorId, userType, rejectionReason)); + } + + public void Delete(long operatorId, UserType operatorType) + { + DocumentStatus = DocumentStatus.Deleted; + ItemLogs.Add(new EmployeeDocumentItemLog(EmployeeDocumentItemOperation.DeletedItem, operatorId, operatorType)); + } + + public void AdminSelect(long adminViewId) + { + EmployeeDocumentsAdminViewId = adminViewId; + } + + public void AdminDeselect() + { + EmployeeDocumentsAdminViewId = 0; + } + public void SubmitByClient(long operatorId, UserType operatorType) + { + DocumentStatus = DocumentStatus.SubmittedByClient; + ItemLogs.Add(new EmployeeDocumentItemLog(EmployeeDocumentItemOperation.SubmittedItems, operatorId, operatorType)); + EmployeeDocuments.UpdateHasRejectedItems(); + } + + public void SubmitByAdmin(long operatorId, UserType operatorType) + { + DocumentStatus = DocumentStatus.SubmittedByAdmin; + ItemLogs.Add(new EmployeeDocumentItemLog(EmployeeDocumentItemOperation.SubmittedItems, operatorId, operatorType)); + EmployeeDocuments.UpdateHasRejectedItems(); + } + + public void SetRoleId(long roleId) + { + UploaderRoleId = roleId; + } +} \ No newline at end of file diff --git a/Company.Domain/EmployeeDocumentsAgg/EmployeeDocumentRequiredItems.cs b/Company.Domain/EmployeeDocumentsAgg/EmployeeDocumentRequiredItems.cs index d263c3e3..9c23bc54 100644 --- a/Company.Domain/EmployeeDocumentsAgg/EmployeeDocumentRequiredItems.cs +++ b/Company.Domain/EmployeeDocumentsAgg/EmployeeDocumentRequiredItems.cs @@ -9,12 +9,12 @@ namespace Company.Domain.EmployeeDocumentsAgg { List requiredDocuments = [ - DocumentItemLabel.IdCardPage1, DocumentItemLabel.IdCardPage2, DocumentItemLabel.IdCardPage3, DocumentItemLabel.NationalCardRear, - DocumentItemLabel.NationalCardFront,DocumentItemLabel.EmployeePicture + DocumentItemLabel.IdCardPage1,/* DocumentItemLabel.IdCardPage2, DocumentItemLabel.IdCardPage3, DocumentItemLabel.NationalCardRear,*/ + DocumentItemLabel.NationalCardFront,/*DocumentItemLabel.EmployeePicture*/ ]; - if (gender == "مرد") - requiredDocuments.Add(DocumentItemLabel.MilitaryServiceCard); + //if (gender == "مرد") + // requiredDocuments.Add(DocumentItemLabel.MilitaryServiceCard); return requiredDocuments; } diff --git a/Company.Domain/EmployeeDocumentsAgg/IEmployeeDocumentsRepository.cs b/Company.Domain/EmployeeDocumentsAgg/IEmployeeDocumentsRepository.cs index edd7afaa..778cbd17 100644 --- a/Company.Domain/EmployeeDocumentsAgg/IEmployeeDocumentsRepository.cs +++ b/Company.Domain/EmployeeDocumentsAgg/IEmployeeDocumentsRepository.cs @@ -9,7 +9,7 @@ using CompanyManagment.App.Contracts.Workshop; namespace Company.Domain.EmployeeDocumentsAgg { public interface IEmployeeDocumentsRepository : IRepository - { + { EmployeeDocuments GetByEmployeeIdWorkshopId(long employeeId, long workshopId); EmployeeDocumentsViewModel GetViewModelByEmployeeIdWorkshopId(long employeeId, long workshopId); List SearchForClient(SearchEmployeeDocuments cmd); @@ -30,5 +30,76 @@ namespace Company.Domain.EmployeeDocumentsAgg Task GetAdminWorkFlowCountForNewEmployees(List workshopIds); Task GetAdminWorkFlowCountForSubmittedAndRejectedDocuments(List workshopIds); List GetDocumentsAwaitingReviewByWorkshopIdForCheckerWorkFlow(long workshopId); + + #region Mahan + /// + /// کارگاهی که افزودن پرسنل کرده اند. بر اساس نقش فیلتر میشوند + /// + /// + /// + /// + Task> GetWorkshopDocumentCreatedEmployeeForAdmin( + List workshops, long roleId); + + /// + ///کارگاه های مدارک های برگشت خورده براساس دسترسی افراد و نقششان. یک مدرک برگشت خورده به تمامی کسانی که به آن کارگاه دسترسی دارند و تمامی کسانی که هم نقش آپلود کننده بوده اند نمایش داده میشود + /// + /// + /// + /// + Task> GetWorkshopDocumentRejectedForAdmin( + List workshops, long roleId); + + /// + /// مدارک های برگشت خورده براساس دسترسی افراد و نقششان. یک مدرک برگشت خورده به تمامی کسانی که به آن کارگاه دسترسی دارند و تمامی کسانی که هم نقش آپلود کننده بوده اند نمایش داده میشود + /// + /// + /// + /// + Task> GetRejectedItemsByWorkshopIdAndRoleForAdminWorkFlow(long workshopId, + long roleId); + + /// + /// کارگاه هایی که افزودن پرسنل کرده اند و مدارک آنها ناقص است + /// + /// + /// + /// + Task> GetCreatedEmployeesWorkshopDocumentForAdmin( + List workshops,long roleId); + + /// + /// پرسنلی که افزوده شده اند در کارگاه و آپلود مدارک آنها ناقص است + /// + /// + /// + Task> GetCreatedEmployeesDocumentByWorkshopIdForAdmin(long workshopId); + + /// + /// لیست کارگاه هایی که مدارک آپلود شده توسط کلاینت برگشت خورده است در کارپوشه ادمین + /// + /// + /// + /// + Task> GetClientRejectedDocumentWorkshopsForAdmin( + List workshops, long roleId); + + /// + /// مدارک های آپلود شده توسط کلاینت در کارگاه که برگشت خورده اند در کارپوشه ادمین + /// + /// + /// + Task> GetClientRejectedDocumentByWorkshopIdForAdmin(long workshopId); + + /// + /// مدارک های برگشت خورده برای کلاینت + /// + /// + /// + /// + Task> GetClientRejectedDocumentForClient(long workshopId, long accountId); + + #endregion + } } diff --git a/CompanyManagment.App.Contracts/Employee/GetEditEmployeeInEmployeeDocumentViewModel.cs b/CompanyManagment.App.Contracts/Employee/GetEditEmployeeInEmployeeDocumentViewModel.cs index 2017623b..c8d40287 100644 --- a/CompanyManagment.App.Contracts/Employee/GetEditEmployeeInEmployeeDocumentViewModel.cs +++ b/CompanyManagment.App.Contracts/Employee/GetEditEmployeeInEmployeeDocumentViewModel.cs @@ -1,4 +1,6 @@ -namespace CompanyManagment.App.Contracts.Employee; +using AccountManagement.Application.Contracts.Media; + +namespace CompanyManagment.App.Contracts.Employee; public class GetEditEmployeeInEmployeeDocumentViewModel { @@ -14,4 +16,5 @@ public class GetEditEmployeeInEmployeeDocumentViewModel public string Nationality { get; set; } = string.Empty; public string Gender { get; set; } = string.Empty; public bool IsAuthorized { get; set; } + public MediaViewModel Media { get; set; } } \ No newline at end of file diff --git a/CompanyManagment.App.Contracts/EmployeeDocuments/IEmployeeDocumentsApplication.cs b/CompanyManagment.App.Contracts/EmployeeDocuments/IEmployeeDocumentsApplication.cs index 29d99e89..c6999a8c 100644 --- a/CompanyManagment.App.Contracts/EmployeeDocuments/IEmployeeDocumentsApplication.cs +++ b/CompanyManagment.App.Contracts/EmployeeDocuments/IEmployeeDocumentsApplication.cs @@ -59,6 +59,77 @@ namespace CompanyManagment.App.Contracts.EmployeeDocuments /// OperationResult AddRangeEmployeeDocumentItemsByAdmin(long workshopId, long employeeId, List command); + + #region Mahan + /// + /// کارگاهی که افزودن پرسنل کرده اند. بر اساس نقش فیلتر میشوند + /// + /// + /// + /// + Task> GetWorkshopDocumentCreatedEmployeeForAdmin( + List workshops, long roleId); + + /// + /// مدارک های برگشت خورده براساس دسترسی افراد و نقششان. یک مدرک برگشت خورده به تمامی کسانی که به آن کارگاه دسترسی دارند و تمامی کسانی که هم نقش آپلود کننده بوده اند نمایش داده میشود + /// + /// + /// + /// + Task> GetWorkshopDocumentRejectedForAdmin( + List workshops, long roleId); + + /// + /// مدارک های برگشت خورده براساس دسترسی افراد و نقششان. یک مدرک برگشت خورده به تمامی کسانی که به آن کارگاه دسترسی دارند و تمامی کسانی که هم نقش آپلود کننده بوده اند نمایش داده میشود + /// + /// + /// + /// + Task> GetRejectedItemsByWorkshopIdAndRoleForAdminWorkFlow(long workshopId, + long roleId); + + /// + /// کارگاه هایی که افزودن پرسنل کرده اند و مدارک آنها ناقص است + /// + /// + /// + /// + Task> GetCreatedEmployeesWorkshopDocumentForAdmin( + List workshops, long roleId); + + /// + /// پرسنلی که افزوده شده اند در کارگاه و آپلود مدارک آنها ناقص است + /// + /// + /// + Task> GetCreatedEmployeesDocumentByWorkshopIdForAdmin(long workshopId); + + /// + /// لیست کارگاه هایی که مدارک آپلود شده توسط کلاینت برگشت خورده است در کارپوشه ادمین + /// + /// + /// + /// + Task> GetClientRejectedDocumentWorkshopsForAdmin( + List workshops, long roleId); + + /// + /// مدارک های آپلود شده توسط کلاینت در کارگاه که برگشت خورده اند در کارپوشه ادمین + /// + /// + /// + Task> GetClientRejectedDocumentByWorkshopIdForAdmin(long workshopId); + + /// + /// مدارک های برگشت خورده برای کلاینت + /// + /// + /// + /// + Task> GetClientRejectedDocumentForClient(long workshopId, long accountId); + + #endregion + EmployeeDocumentItemViewModel GetOneDocumentItemDetailsForAdmin(long employeeId, long workshopId,long documentItemId); } } diff --git a/CompanyManagment.Application/EmployeeDocumentsApplication.cs b/CompanyManagment.Application/EmployeeDocumentsApplication.cs index 96963bcc..a84392b8 100644 --- a/CompanyManagment.Application/EmployeeDocumentsApplication.cs +++ b/CompanyManagment.Application/EmployeeDocumentsApplication.cs @@ -88,7 +88,7 @@ namespace CompanyManagment.Application { OperationResult op = new(); - var (uploaderId, uploaderType) = _authHelper.GetUserTypeWithId(); + var (uploaderId, uploaderType,roleId) = _authHelper.GetUserTypeWithId(); if (!_employeeRepository.Exists(x => x.id == employeeId)) @@ -133,7 +133,7 @@ namespace CompanyManagment.Application if (_employeeDocumentItemRepository.Exists(x => x.MediaId == mediaOpResult.SendId)) return op.Failed("امکان ثبت رکورد تکراری وجود ندارد"); - var newEntity = new EmployeeDocumentItem(workshopId, employeeId, mediaOpResult.SendId, entity.id, item.Label, uploaderId, uploaderType); + var newEntity = new EmployeeDocumentItem(workshopId, employeeId, mediaOpResult.SendId, entity.id, item.Label, uploaderId, uploaderType,roleId); newEntities.Add(newEntity); } @@ -206,7 +206,7 @@ namespace CompanyManagment.Application public OperationResult DeleteUnsubmittedItems(long workshopId, long employeeId) { OperationResult op = new(); - (_, UserType userType) = _authHelper.GetUserTypeWithId(); + (_, UserType userType,_) = _authHelper.GetUserTypeWithId(); var entity = _employeeDocumentsRepository.GetByEmployeeIdWorkshopIdWithItems(employeeId, workshopId); var items = entity.EmployeeDocumentItemCollection.Where(x => @@ -244,7 +244,7 @@ namespace CompanyManagment.Application { OperationResult op = new(); - var (uploaderId, uploaderType) = _authHelper.GetUserTypeWithId(); + var (uploaderId, uploaderType, roleId) = _authHelper.GetUserTypeWithId(); if (!_employeeRepository.Exists(x => x.id == command.EmployeeId)) return op.Failed("پرسنل یافت نشد"); @@ -289,7 +289,7 @@ namespace CompanyManagment.Application if (_employeeDocumentItemRepository.Exists(x => x.MediaId == mediaOpResult.SendId)) return op.Failed("امکان ثبت رکورد تکراری وجود ندارد"); - var newEntity = new EmployeeDocumentItem(command.WorkshopId, command.EmployeeId, mediaOpResult.SendId, entity.id, command.Label, uploaderId, uploaderType); + var newEntity = new EmployeeDocumentItem(command.WorkshopId, command.EmployeeId, mediaOpResult.SendId, entity.id, command.Label, uploaderId, uploaderType, roleId); _employeeDocumentItemRepository.Create(newEntity); _employeeDocumentItemRepository.SaveChanges(); @@ -311,7 +311,7 @@ namespace CompanyManagment.Application .ToList(); - var (userId, userType) = _authHelper.GetUserTypeWithId(); + var (userId, userType,_) = _authHelper.GetUserTypeWithId(); var unsubmittedDocs = currentDocs.Where(x => x.DocumentStatus == DocumentStatus.Unsubmitted && x.UploaderType == UserType.Client).ToList(); @@ -356,7 +356,7 @@ namespace CompanyManagment.Application if (!HasRequiredDocuments(notRejectedDocs, entity.Gender)) return op.Failed("مدارک الزامی بارگذاری نشده اند"); - var (userId, userType) = _authHelper.GetUserTypeWithId(); + var (userId, userType, roleId) = _authHelper.GetUserTypeWithId(); var unsubmittedDocs = notRejectedDocs.Where(x => x.DocumentStatus == DocumentStatus.Unsubmitted).ToList(); @@ -386,10 +386,9 @@ namespace CompanyManagment.Application { OperationResult op = new(); - var (uploaderId, uploaderType) = _authHelper.GetUserTypeWithId(); + var (uploaderId, uploaderType,roleId) = _authHelper.GetUserTypeWithId(); if (!_employeeRepository.Exists(x => x.id == employeeId)) - return op.Failed("پرسنل یافت نشد"); @@ -430,11 +429,12 @@ namespace CompanyManagment.Application if (_employeeDocumentItemRepository.Exists(x => x.MediaId == mediaOpResult.SendId)) return op.Failed("امکان ثبت رکورد تکراری وجود ندارد"); - var newEntity = new EmployeeDocumentItem(workshopId, employeeId, mediaOpResult.SendId, entity.id, item.Label, uploaderId, uploaderType, DocumentStatus.SubmittedByClient); + var newEntity = new EmployeeDocumentItem(workshopId, employeeId, mediaOpResult.SendId, entity.id, item.Label, uploaderId, uploaderType, roleId,DocumentStatus.SubmittedByClient); newEntities.Add(newEntity); } var currentItems = entity.EmployeeDocumentItemCollection.GroupBy(x => x.DocumentLabel) + .Where(x => command.Any(a => a.Label == x.Key)) .Select(x => x.MaxBy(y => y.CreationDate)); //This can bite! @@ -660,6 +660,12 @@ namespace CompanyManagment.Application return result; } + + public Task> GetClientRejectedDocumentForClient(long workshopId, long accountId) + { + return _employeeDocumentsRepository.GetClientRejectedDocumentForClient(workshopId, accountId); + } + #endregion #region Admin Only Methods @@ -670,7 +676,7 @@ namespace CompanyManagment.Application { OperationResult op = new(); - var (uploaderId, uploaderType) = _authHelper.GetUserTypeWithId(); + var (uploaderId, uploaderType, roleId) = _authHelper.GetUserTypeWithId(); if (!_employeeRepository.Exists(x => x.id == employeeId)) @@ -725,7 +731,7 @@ namespace CompanyManagment.Application { OperationResult op = new(); - var (uploaderId, uploaderType) = _authHelper.GetUserTypeWithId(); + var (uploaderId, uploaderType,roleId) = _authHelper.GetUserTypeWithId(); if (!_employeeRepository.Exists(x => x.id == employeeId)) @@ -778,7 +784,7 @@ namespace CompanyManagment.Application { OperationResult op = new(); - var (uploaderId, uploaderType) = _authHelper.GetUserTypeWithId(); + var (uploaderId, uploaderType, roleId) = _authHelper.GetUserTypeWithId(); //ToDo: add check for leftwork if (!_employeeRepository.Exists(x => x.id == command.EmployeeId)) @@ -834,7 +840,7 @@ namespace CompanyManagment.Application if (_employeeDocumentItemRepository.Exists(x => x.MediaId == mediaOpResult.SendId)) return op.Failed("امکان ثبت رکورد تکراری وجود ندارد"); - var newEntity = new EmployeeDocumentItem(command.WorkshopId, command.EmployeeId, mediaOpResult.SendId, entity.id, command.Label, uploaderId, uploaderType); + var newEntity = new EmployeeDocumentItem(command.WorkshopId, command.EmployeeId, mediaOpResult.SendId, entity.id, command.Label, uploaderId, uploaderType, roleId); _employeeDocumentItemRepository.Create(newEntity); _employeeDocumentItemRepository.SaveChanges(); @@ -856,7 +862,7 @@ namespace CompanyManagment.Application //if (!HasRequiredDocuments(notRejectedDocs, entity.Gender)) // return op.Failed("مدارک الزامی بارگذاری نشده اند"); - var (userId, operatorType) = _authHelper.GetUserTypeWithId(); + var (userId, operatorType, _) = _authHelper.GetUserTypeWithId(); var adminUnsubmittedDocs = currentDocs.Where(x => x.DocumentStatus == DocumentStatus.SubmittedByClient || (x.DocumentStatus == DocumentStatus.Unsubmitted && x.UploaderType == UserType.Admin)).ToList(); @@ -895,7 +901,7 @@ namespace CompanyManagment.Application //if (!HasRequiredDocuments(notRejectedDocs, entity.Gender)) // return op.Failed("مدارک الزامی بارگذاری نشده اند"); - var (userId, operatorType) = _authHelper.GetUserTypeWithId(); + var (userId, operatorType, _) = _authHelper.GetUserTypeWithId(); var adminUnsubmittedDocs = currentDocs.Where(x => x.DocumentStatus == DocumentStatus.SubmittedByClient || (x.DocumentStatus == DocumentStatus.Unsubmitted && x.UploaderType == UserType.Admin)).ToList(); @@ -1131,7 +1137,7 @@ namespace CompanyManagment.Application OperationResult op = new(); var entity = _employeeDocumentItemRepository.Get(documentItemId); - (long operatorId, _) = _authHelper.GetUserTypeWithId(); + (long operatorId, _,_) = _authHelper.GetUserTypeWithId(); if (entity == null) return op.Failed(ApplicationMessages.RecordNotFound); @@ -1165,6 +1171,45 @@ namespace CompanyManagment.Application return await _employeeDocumentsRepository.GetAdminWorkFlowCountForNewEmployees(workshopIds); } + public async Task> GetWorkshopDocumentCreatedEmployeeForAdmin(List workshops, long roleId) + { + return await _employeeDocumentsRepository.GetWorkshopDocumentCreatedEmployeeForAdmin(workshops, roleId); + } + + public async Task> GetWorkshopDocumentRejectedForAdmin(List workshops, long roleId) + { + return await _employeeDocumentsRepository.GetWorkshopDocumentRejectedForAdmin(workshops, roleId); + } + + public async Task> GetRejectedItemsByWorkshopIdAndRoleForAdminWorkFlow(long workshopId, long roleId) + { + return await _employeeDocumentsRepository.GetRejectedItemsByWorkshopIdAndRoleForAdminWorkFlow(workshopId, + roleId); + } + + public Task> GetCreatedEmployeesWorkshopDocumentForAdmin( + List workshops, long roleId) + { + return _employeeDocumentsRepository.GetCreatedEmployeesWorkshopDocumentForAdmin(workshops, roleId); + } + + public Task> GetCreatedEmployeesDocumentByWorkshopIdForAdmin(long workshopId) + { + return _employeeDocumentsRepository.GetCreatedEmployeesDocumentByWorkshopIdForAdmin(workshopId); + } + + public Task> GetClientRejectedDocumentWorkshopsForAdmin( + List workshops, long roleId) + { + return _employeeDocumentsRepository.GetClientRejectedDocumentWorkshopsForAdmin(workshops,roleId); + } + + public Task> GetClientRejectedDocumentByWorkshopIdForAdmin(long workshopId) + { + return _employeeDocumentsRepository.GetClientRejectedDocumentByWorkshopIdForAdmin(workshopId); + } + + #endregion #region Checker Only Methods @@ -1189,7 +1234,7 @@ namespace CompanyManagment.Application return op.Failed("رکورد مورد نظر یافت نشد"); } - (long operatorId, UserType userType) = _authHelper.GetUserTypeWithId(); + (long operatorId, UserType userType,long roleId) = _authHelper.GetUserTypeWithId(); if ((item.DocumentStatus is DocumentStatus.SubmittedByAdmin or DocumentStatus.SubmittedByClient) == false) return op.Failed("امکان بررسی رکورد مورد نظر وجود ندارد"); @@ -1390,7 +1435,7 @@ namespace CompanyManagment.Application { OperationResult op = new(); - var (uploaderId, uploaderType) = _authHelper.GetUserTypeWithId(); + var (uploaderId, uploaderType,roleId) = _authHelper.GetUserTypeWithId(); if (!_employeeRepository.Exists(x => x.id == employeeId)) @@ -1449,7 +1494,7 @@ namespace CompanyManagment.Application mediaId = mediaOpResult.SendId; } - var newEntity = new EmployeeDocumentItem(workshopId, employeeId, mediaId, entity.id, item.Label, uploaderId, uploaderType, DocumentStatus.SubmittedByAdmin); + var newEntity = new EmployeeDocumentItem(workshopId, employeeId, mediaId, entity.id, item.Label, uploaderId, uploaderType,roleId ,DocumentStatus.SubmittedByAdmin); newEntities.Add(newEntity); } @@ -1474,6 +1519,24 @@ namespace CompanyManagment.Application return op.Succcedded(entity.id); } + public EmployeeDocumentItemViewModel GetOneDocumentItemDetailsForAdmin(long employeeId, long workshopId,long documentItemId) + { + var documentItem = _employeeDocumentItemRepository.GetWithEmployeeDocumentsByItemId(documentItemId); + var viewModel = new EmployeeDocumentItemViewModel() + { + CreationDateTime = documentItem.CreationDate, + DocumentItemLabel = documentItem.DocumentLabel, + EmployeeDocumentsId = documentItem.EmployeeDocumentId, + Gender = documentItem.EmployeeDocuments.Gender, + Id = documentItem.id, + Status = documentItem.DocumentStatus, + MediaId = documentItem.MediaId, + RejectionMessage = documentItem.RejectionReason, + UploaderType = documentItem.UploaderType + }; + return viewModel; + } + #endregion @@ -1800,8 +1863,9 @@ namespace CompanyManagment.Application StatusString = item.DocumentStatus.ToString().ToLower(), PicturePath = medias.FirstOrDefault(x => x.Id == item.MediaId)?.Path ?? "", RejectionMessage = item.RejectionReason, - UploaderType = item.UploaderType - }; + UploaderType = item.UploaderType, + MediaId = medias.FirstOrDefault(x => x.Id == item.MediaId)?.Id ?? 0, + }; } diff --git a/CompanyManagment.Application/FineApplication.cs b/CompanyManagment.Application/FineApplication.cs index 39c19008..ffb5908d 100644 --- a/CompanyManagment.Application/FineApplication.cs +++ b/CompanyManagment.Application/FineApplication.cs @@ -147,7 +147,7 @@ public class FineApplication : IFineApplication #endregion DateTime date = command.FineDate.ToGeorgianDateTime(); - var (userId, userType) = _authHelper.GetUserTypeWithId(); + var (userId, userType,_) = _authHelper.GetUserTypeWithId(); foreach (var employeeId in command.EmployeeIds) { Fine entity = new Fine(employeeId, command.WorkshopId, command.Title, command.Amount.MoneyToDouble(), date, @@ -218,7 +218,7 @@ public class FineApplication : IFineApplication } DateTime date = command.FineDate.ToGeorgianDateTime(); - var (userId, userType) = _authHelper.GetUserTypeWithId(); + var (userId, userType,_) = _authHelper.GetUserTypeWithId(); entity.Edit(command.EmployeeId, command.WorkshopId, command.Title, command.Amount.MoneyToDouble(), date, diff --git a/CompanyManagment.Application/LoanApplication.cs b/CompanyManagment.Application/LoanApplication.cs index 1457faa3..10c1cfdc 100644 --- a/CompanyManagment.Application/LoanApplication.cs +++ b/CompanyManagment.Application/LoanApplication.cs @@ -91,7 +91,7 @@ public class LoanApplication : ILoanApplication #endregion - var (userId, userType) = _authHelper.GetUserTypeWithId(); + var (userId, userType, _) = _authHelper.GetUserTypeWithId(); foreach (var employeeId in command.EmployeeIds) { diff --git a/CompanyManagment.Application/RewardApplication.cs b/CompanyManagment.Application/RewardApplication.cs index 946e2b52..97dec4e8 100644 --- a/CompanyManagment.Application/RewardApplication.cs +++ b/CompanyManagment.Application/RewardApplication.cs @@ -120,7 +120,7 @@ public class RewardApplication : IRewardApplication #endregion - var (userId, userType) = _authHelper.GetUserTypeWithId(); + var (userId, userType, _) = _authHelper.GetUserTypeWithId(); foreach (var employeeId in command.EmployeeIds) { @@ -164,7 +164,7 @@ public class RewardApplication : IRewardApplication { return op.Failed("شما نمیتوانید برای پرسنلی در تاریخی که برای فیش حقوقی صادر شده است پاداشی دهید"); } - var (userId, userType) = _authHelper.GetUserTypeWithId(); + var (userId, userType, _) = _authHelper.GetUserTypeWithId(); if (_customizeCheckoutTempRepository.Exists(x => x.WorkshopId == command.WorkshopId && entity.EmployeeId == x.EmployeeId && x.YearInt == year && x.MonthInt == month && x.ContractStart <= grantDate && x.ContractEnd >= grantDate)) diff --git a/CompanyManagment.Application/SalaryAidApplication.cs b/CompanyManagment.Application/SalaryAidApplication.cs index 3cd9f16d..367f04eb 100644 --- a/CompanyManagment.Application/SalaryAidApplication.cs +++ b/CompanyManagment.Application/SalaryAidApplication.cs @@ -76,7 +76,7 @@ public class SalaryAidApplication : ISalaryAidApplication { return op.Failed("شما نمیتوانید برای پرسنلی در تاریخی که برای فیش حقوقی موقت صادر شده است مساعده ای دهید"); } - var (userId, userType) = _authHelper.GetUserTypeWithId(); + var (userId, userType, _) = _authHelper.GetUserTypeWithId(); foreach (var employeeId in command.EmployeeIds) { @@ -122,7 +122,7 @@ public class SalaryAidApplication : ISalaryAidApplication { return op.Failed("شما نمیتوانید برای پرسنلی در تاریخی که برای فیش حقوقی موقت صادر شده است مساعده ای دهید"); } - var (userId, userType) = _authHelper.GetUserTypeWithId(); + var (userId, userType, _) = _authHelper.GetUserTypeWithId(); entity.Edit(Tools.MoneyToDouble(command.Amount),startDate,userId,userType); _salaryAidRepository.SaveChanges(); @@ -193,7 +193,7 @@ public class SalaryAidApplication : ISalaryAidApplication { return op.Failed("شما نمیتوانید برای پرسنلی در تاریخی که برای فیش حقوقی صادر شده است مساعده ای دهید"); } - var (userId, userType) = _authHelper.GetUserTypeWithId(); + var (userId, userType, _) = _authHelper.GetUserTypeWithId(); foreach (var employeeId in command.EmployeeIds) { var id = employeeId; diff --git a/CompanyManagment.EFCore/Migrations/20250505140611_add uploaderRoleId to EmployeeDocumentItems.Designer.cs b/CompanyManagment.EFCore/Migrations/20250505140611_add uploaderRoleId to EmployeeDocumentItems.Designer.cs new file mode 100644 index 00000000..999331f2 --- /dev/null +++ b/CompanyManagment.EFCore/Migrations/20250505140611_add uploaderRoleId to EmployeeDocumentItems.Designer.cs @@ -0,0 +1,9474 @@ +// +using System; +using CompanyManagment.EFCore; +using Microsoft.EntityFrameworkCore; +using Microsoft.EntityFrameworkCore.Infrastructure; +using Microsoft.EntityFrameworkCore.Metadata; +using Microsoft.EntityFrameworkCore.Migrations; +using Microsoft.EntityFrameworkCore.Storage.ValueConversion; + +#nullable disable + +namespace CompanyManagment.EFCore.Migrations +{ + [DbContext(typeof(CompanyContext))] + [Migration("20250505140611_add uploaderRoleId to EmployeeDocumentItems")] + partial class adduploaderRoleIdtoEmployeeDocumentItems + { + /// + protected override void BuildTargetModel(ModelBuilder modelBuilder) + { +#pragma warning disable 612, 618 + modelBuilder + .HasAnnotation("ProductVersion", "8.0.10") + .HasAnnotation("Relational:MaxIdentifierLength", 128); + + SqlServerModelBuilderExtensions.UseIdentityColumns(modelBuilder); + + modelBuilder.Entity("Company.Domain.AndroidApkVersionAgg.AndroidApkVersion", b => + { + b.Property("id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("id")); + + b.Property("CreationDate") + .HasColumnType("datetime2"); + + b.Property("IsActive") + .IsRequired() + .HasMaxLength(5) + .HasColumnType("nvarchar(5)"); + + b.Property("Path") + .HasMaxLength(255) + .HasColumnType("nvarchar(255)"); + + b.Property("Title") + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("VersionCode") + .HasMaxLength(20) + .HasColumnType("nvarchar(20)"); + + b.Property("VersionName") + .HasMaxLength(35) + .HasColumnType("nvarchar(35)"); + + b.HasKey("id"); + + b.ToTable("AndroidApkVersions", (string)null); + }); + + modelBuilder.Entity("Company.Domain.BankAgg.Bank", b => + { + b.Property("id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("id")); + + b.Property("BankLogoMediaId") + .HasColumnType("bigint"); + + b.Property("BankName") + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.HasKey("id"); + + b.ToTable("Banks", (string)null); + }); + + modelBuilder.Entity("Company.Domain.BillAgg.EntityBill", b => + { + b.Property("id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("id")); + + b.Property("Appointed") + .HasColumnType("nvarchar(max)"); + + b.Property("Contact") + .HasColumnType("nvarchar(max)"); + + b.Property("CreationDate") + .HasColumnType("datetime2"); + + b.Property("Description") + .HasColumnType("nvarchar(max)"); + + b.Property("IsActiveString") + .HasColumnType("nvarchar(max)"); + + b.Property("ProcessingStage") + .HasColumnType("nvarchar(max)"); + + b.Property("SubjectBill") + .IsRequired() + .HasMaxLength(500) + .HasColumnType("nvarchar(500)"); + + b.HasKey("id"); + + b.ToTable("TextManager_Bill", (string)null); + }); + + modelBuilder.Entity("Company.Domain.Board.Board", b => + { + b.Property("id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("id")); + + b.Property("BoardChairman") + .HasColumnType("nvarchar(max)"); + + b.Property("BoardType_Id") + .HasColumnType("int"); + + b.Property("Branch") + .HasColumnType("nvarchar(max)"); + + b.Property("CreationDate") + .HasColumnType("datetime2"); + + b.Property("DisputeResolutionPetitionDate") + .HasColumnType("datetime2"); + + b.Property("ExpertReport") + .HasColumnType("nvarchar(max)"); + + b.Property("File_Id") + .HasColumnType("bigint"); + + b.HasKey("id"); + + b.HasIndex("BoardType_Id"); + + b.HasIndex("File_Id"); + + b.ToTable("Boards", (string)null); + }); + + modelBuilder.Entity("Company.Domain.BoardType.BoardType", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("int"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id")); + + b.Property("Title") + .HasColumnType("nvarchar(max)"); + + b.HasKey("Id"); + + b.ToTable("BoardTypes", (string)null); + }); + + modelBuilder.Entity("Company.Domain.ChapterAgg.EntityChapter", b => + { + b.Property("id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("id")); + + b.Property("Chapter") + .IsRequired() + .HasMaxLength(60) + .HasColumnType("nvarchar(60)"); + + b.Property("CreationDate") + .HasColumnType("datetime2"); + + b.Property("IsActiveString") + .HasColumnType("nvarchar(max)"); + + b.Property("Subtitle_Id") + .HasColumnType("bigint"); + + b.HasKey("id"); + + b.HasIndex("Subtitle_Id"); + + b.ToTable("TextManager_Chapter", (string)null); + }); + + modelBuilder.Entity("Company.Domain.CheckoutAgg.Checkout", b => + { + b.Property("id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("id")); + + b.Property("AbsenceDeduction") + .HasColumnType("float"); + + b.Property("AbsencePeriod") + .HasColumnType("float"); + + b.Property("AbsenceValue") + .HasMaxLength(10) + .HasColumnType("nvarchar(10)"); + + b.Property("ArchiveCode") + .HasMaxLength(15) + .HasColumnType("nvarchar(15)"); + + b.Property("AverageHoursPerDay") + .HasColumnType("float"); + + b.Property("BaseYearsPay") + .HasColumnType("float"); + + b.Property("BonusesPay") + .HasColumnType("float"); + + b.Property("ConsumableItems") + .HasColumnType("float"); + + b.Property("ContractEnd") + .HasColumnType("datetime2"); + + b.Property("ContractId") + .HasColumnType("bigint"); + + b.Property("ContractNo") + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("ContractStart") + .HasColumnType("datetime2"); + + b.Property("CreationDate") + .HasColumnType("datetime2"); + + b.Property("CreditLeaves") + .HasColumnType("float"); + + b.Property("DateOfBirth") + .HasMaxLength(10) + .HasColumnType("nvarchar(10)"); + + b.Property("EmployeeFullName") + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("EmployeeId") + .HasColumnType("bigint"); + + b.Property("FamilyAllowance") + .HasColumnType("float"); + + b.Property("FathersName") + .HasMaxLength(20) + .HasColumnType("nvarchar(20)"); + + b.Property("FridayPay") + .HasColumnType("float"); + + b.Property("FridayWorkValue") + .HasMaxLength(10) + .HasColumnType("nvarchar(10)"); + + b.Property("HasRollCall") + .HasColumnType("bit"); + + b.Property("HousingAllowance") + .HasColumnType("float"); + + b.Property("InstallmentDeduction") + .HasColumnType("float"); + + b.Property("InsuranceDeduction") + .HasColumnType("float"); + + b.Property("IsActiveString") + .HasMaxLength(10) + .HasColumnType("nvarchar(10)"); + + b.Property("LeaveCheckout") + .HasColumnType("bit"); + + b.Property("LeavePay") + .HasColumnType("float"); + + b.Property("MarriedAllowance") + .HasColumnType("float"); + + b.Property("MissionPay") + .HasColumnType("float"); + + b.Property("Month") + .HasMaxLength(10) + .HasColumnType("nvarchar(10)"); + + b.Property("MonthlySalary") + .HasColumnType("float"); + + b.Property("NationalCode") + .HasMaxLength(10) + .HasColumnType("nvarchar(10)"); + + b.Property("NightworkPay") + .HasColumnType("float"); + + b.Property("OverNightWorkValue") + .HasMaxLength(10) + .HasColumnType("nvarchar(10)"); + + b.Property("OverTimeWorkValue") + .HasMaxLength(10) + .HasColumnType("nvarchar(10)"); + + b.Property("OvertimePay") + .HasColumnType("float"); + + b.Property("PersonnelCode") + .HasMaxLength(10) + .HasColumnType("nvarchar(10)"); + + b.Property("RewardPay") + .HasColumnType("float"); + + b.Property("RotatingShiftValue") + .HasMaxLength(10) + .HasColumnType("nvarchar(10)"); + + b.Property("SalaryAidDeduction") + .HasColumnType("float"); + + b.Property("ShiftPay") + .HasColumnType("float"); + + b.Property("Signature") + .HasMaxLength(20) + .HasColumnType("nvarchar(20)"); + + b.Property("SumOfWorkingDays") + .HasMaxLength(6) + .HasColumnType("nvarchar(6)"); + + b.Property("TaxDeducation") + .HasColumnType("float"); + + b.Property("TotalClaims") + .HasMaxLength(25) + .HasColumnType("nvarchar(25)"); + + b.Property("TotalDayOfBunosesCompute") + .HasMaxLength(10) + .HasColumnType("nvarchar(10)"); + + b.Property("TotalDayOfLeaveCompute") + .HasMaxLength(10) + .HasColumnType("nvarchar(10)"); + + b.Property("TotalDayOfYearsCompute") + .HasMaxLength(10) + .HasColumnType("nvarchar(10)"); + + b.Property("TotalDeductions") + .HasMaxLength(25) + .HasColumnType("nvarchar(25)"); + + b.Property("TotalPayment") + .HasColumnType("float"); + + b.Property("WorkingHoursId") + .HasColumnType("bigint"); + + b.Property("WorkshopId") + .HasColumnType("bigint"); + + b.Property("WorkshopName") + .HasMaxLength(70) + .HasColumnType("nvarchar(70)"); + + b.Property("Year") + .HasMaxLength(4) + .HasColumnType("nvarchar(4)"); + + b.Property("YearsPay") + .HasColumnType("float"); + + b.HasKey("id"); + + b.HasIndex("WorkshopId"); + + b.ToTable("Checkouts", (string)null); + }); + + modelBuilder.Entity("Company.Domain.ClassifiedSalaryAgg.ClassifiedSalary", b => + { + b.Property("id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("id")); + + b.Property("CreationDate") + .HasColumnType("datetime2"); + + b.Property("EndDate") + .HasColumnType("datetime2"); + + b.Property("Group1") + .HasColumnType("float"); + + b.Property("Group10") + .HasColumnType("float"); + + b.Property("Group11") + .HasColumnType("float"); + + b.Property("Group12") + .HasColumnType("float"); + + b.Property("Group13") + .HasColumnType("float"); + + b.Property("Group14") + .HasColumnType("float"); + + b.Property("Group15") + .HasColumnType("float"); + + b.Property("Group16") + .HasColumnType("float"); + + b.Property("Group17") + .HasColumnType("float"); + + b.Property("Group18") + .HasColumnType("float"); + + b.Property("Group19") + .HasColumnType("float"); + + b.Property("Group2") + .HasColumnType("float"); + + b.Property("Group20") + .HasColumnType("float"); + + b.Property("Group3") + .HasColumnType("float"); + + b.Property("Group4") + .HasColumnType("float"); + + b.Property("Group5") + .HasColumnType("float"); + + b.Property("Group6") + .HasColumnType("float"); + + b.Property("Group7") + .HasColumnType("float"); + + b.Property("Group8") + .HasColumnType("float"); + + b.Property("Group9") + .HasColumnType("float"); + + b.Property("StartDate") + .HasColumnType("datetime2"); + + b.Property("Year") + .HasColumnType("int"); + + b.HasKey("id"); + + b.ToTable("ClassifiedSalaries", (string)null); + }); + + modelBuilder.Entity("Company.Domain.ClientEmployeeWorkshopAgg.ClientEmployeeWorkshop", b => + { + b.Property("WorkshopId") + .HasColumnType("bigint"); + + b.Property("EmployeeId") + .HasColumnType("bigint"); + + b.HasKey("WorkshopId", "EmployeeId"); + + b.HasIndex("EmployeeId"); + + b.ToTable("ClientWorkshopEmployee", (string)null); + }); + + modelBuilder.Entity("Company.Domain.Contact2Agg.EntityContact", b => + { + b.Property("id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("id")); + + b.Property("CreationDate") + .HasColumnType("datetime2"); + + b.Property("IsActiveString") + .HasColumnType("nvarchar(max)"); + + b.Property("NameContact") + .HasColumnType("nvarchar(max)"); + + b.Property("Signature") + .HasColumnType("nvarchar(max)"); + + b.HasKey("id"); + + b.ToTable("TextManager_Contact", (string)null); + }); + + modelBuilder.Entity("Company.Domain.ContarctingPartyAgg.PersonalContractingParty", b => + { + b.Property("id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("id")); + + b.Property("Address") + .HasMaxLength(500) + .HasColumnType("nvarchar(500)"); + + b.Property("AgentPhone") + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("ArchiveCode") + .HasColumnType("int"); + + b.Property("BlockTimes") + .HasColumnType("int"); + + b.Property("City") + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("CreationDate") + .HasColumnType("datetime2"); + + b.Property("DateOfBirth") + .HasColumnType("datetime2"); + + b.Property("FName") + .IsRequired() + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("FatherName") + .HasMaxLength(20) + .HasColumnType("nvarchar(20)"); + + b.Property("Gender") + .IsRequired() + .HasMaxLength(6) + .HasColumnType("nvarchar(6)"); + + b.Property("IdNumber") + .HasMaxLength(20) + .HasColumnType("nvarchar(20)"); + + b.Property("IdNumberSeri") + .HasMaxLength(5) + .HasColumnType("nvarchar(5)"); + + b.Property("IdNumberSerial") + .HasMaxLength(15) + .HasColumnType("nvarchar(15)"); + + b.Property("IsActiveString") + .HasMaxLength(5) + .HasColumnType("nvarchar(5)"); + + b.Property("IsAuthenticated") + .HasColumnType("bit"); + + b.Property("IsBlock") + .HasMaxLength(5) + .HasColumnType("nvarchar(5)"); + + b.Property("IsLegal") + .IsRequired() + .HasMaxLength(10) + .HasColumnType("nvarchar(10)"); + + b.Property("LName") + .IsRequired() + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("NationalId") + .IsRequired() + .HasMaxLength(15) + .HasColumnType("nvarchar(15)"); + + b.Property("Nationalcode") + .IsRequired() + .HasMaxLength(10) + .HasColumnType("nvarchar(10)"); + + b.Property("Phone") + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("RegisterId") + .IsRequired() + .HasMaxLength(15) + .HasColumnType("nvarchar(15)"); + + b.Property("RepresentativeFullName") + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("RepresentativeId") + .HasColumnType("bigint"); + + b.Property("State") + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("SureName") + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("Zone") + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.HasKey("id"); + + b.HasIndex("RepresentativeId"); + + b.ToTable("PersonalContractingParties", (string)null); + }); + + modelBuilder.Entity("Company.Domain.ContractAgg.Contract", b => + { + b.Property("id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("id")); + + b.Property("AgreementSalary") + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("ArchiveCode") + .IsRequired() + .HasMaxLength(255) + .HasColumnType("nvarchar(255)"); + + b.Property("ConsumableItems") + .IsRequired() + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("ContarctStart") + .HasColumnType("datetime2"); + + b.Property("ContractEnd") + .HasColumnType("datetime2"); + + b.Property("ContractNo") + .IsRequired() + .HasMaxLength(255) + .HasColumnType("nvarchar(255)"); + + b.Property("ContractPeriod") + .HasMaxLength(2) + .HasColumnType("nvarchar(2)"); + + b.Property("ContractType") + .IsRequired() + .HasMaxLength(20) + .HasColumnType("nvarchar(20)"); + + b.Property("CreationDate") + .HasColumnType("datetime2"); + + b.Property("DayliWage") + .IsRequired() + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("EmployeeId") + .HasColumnType("bigint"); + + b.Property("EmployerId") + .HasColumnType("bigint"); + + b.Property("FamilyAllowance") + .IsRequired() + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b.Property("GetWorkDate") + .HasColumnType("datetime2"); + + b.Property("HousingAllowance") + .IsRequired() + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("IsActiveString") + .IsRequired() + .HasMaxLength(10) + .HasColumnType("nvarchar(10)"); + + b.Property("JobType") + .IsRequired() + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b.Property("JobTypeId") + .HasColumnType("bigint"); + + b.Property("MandatoryHoursid") + .HasColumnType("bigint"); + + b.Property("PersonnelCode") + .HasColumnType("bigint"); + + b.Property("SetContractDate") + .HasColumnType("datetime2"); + + b.Property("Signature") + .HasMaxLength(1) + .HasColumnType("nvarchar(1)"); + + b.Property("WorkingHoursWeekly") + .IsRequired() + .HasMaxLength(10) + .HasColumnType("nvarchar(10)"); + + b.Property("WorkshopAddress1") + .HasMaxLength(500) + .HasColumnType("nvarchar(500)"); + + b.Property("WorkshopAddress2") + .HasMaxLength(500) + .HasColumnType("nvarchar(500)"); + + b.Property("WorkshopIds") + .HasColumnType("bigint"); + + b.Property("YearlySalaryId") + .HasColumnType("bigint"); + + b.HasKey("id"); + + b.HasIndex("EmployeeId"); + + b.HasIndex("EmployerId"); + + b.HasIndex("JobTypeId"); + + b.HasIndex("MandatoryHoursid"); + + b.HasIndex("WorkshopIds"); + + b.HasIndex("YearlySalaryId"); + + b.ToTable("Contracts", (string)null); + }); + + modelBuilder.Entity("Company.Domain.ContractingPartyAccountAgg.ContractingPartyAccount", b => + { + b.Property("PersonalContractingPartyId") + .HasColumnType("bigint"); + + b.Property("AccountId") + .HasColumnType("bigint"); + + b.HasKey("PersonalContractingPartyId", "AccountId"); + + b.ToTable("ContractingPartyAccount", (string)null); + }); + + modelBuilder.Entity("Company.Domain.CrossJobAgg.CrossJob", b => + { + b.Property("id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("id")); + + b.Property("CreationDate") + .HasColumnType("datetime2"); + + b.Property("CrossJobGuildId") + .HasColumnType("bigint"); + + b.Property("EquivalentRialOver") + .HasColumnType("bigint"); + + b.Property("EquivalentRialUnder") + .HasColumnType("bigint"); + + b.Property("SalaryRatioOver") + .HasColumnType("float"); + + b.Property("SalaryRatioUnder") + .HasColumnType("float"); + + b.HasKey("id"); + + b.HasIndex("CrossJobGuildId"); + + b.ToTable("CrossJobs", (string)null); + }); + + modelBuilder.Entity("Company.Domain.CrossJobGuildAgg.CrossJobGuild", b => + { + b.Property("id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("id")); + + b.Property("CreationDate") + .HasColumnType("datetime2"); + + b.Property("EconomicCode") + .HasMaxLength(255) + .HasColumnType("nvarchar(255)"); + + b.Property("Title") + .IsRequired() + .HasMaxLength(255) + .HasColumnType("nvarchar(255)"); + + b.Property("Year") + .HasMaxLength(4) + .HasColumnType("int"); + + b.HasKey("id"); + + b.ToTable("CrossJobGuilds", (string)null); + }); + + modelBuilder.Entity("Company.Domain.CrossJobItemsAgg.CrossJobItems", b => + { + b.Property("id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("id")); + + b.Property("CreationDate") + .HasColumnType("datetime2"); + + b.Property("CrossJobId") + .HasColumnType("bigint"); + + b.Property("JobId") + .HasColumnType("bigint"); + + b.HasKey("id"); + + b.HasIndex("CrossJobId"); + + b.HasIndex("JobId"); + + b.ToTable("CrossJobItems", (string)null); + }); + + modelBuilder.Entity("Company.Domain.CustomizeCheckoutAgg.CustomizeCheckout", b => + { + b.Property("id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("id")); + + b.Property("BaseYearsPay") + .HasColumnType("float"); + + b.Property("BonusesPay") + .HasColumnType("float"); + + b.Property("ContractEnd") + .HasColumnType("datetime2"); + + b.Property("ContractId") + .HasColumnType("bigint"); + + b.Property("ContractNo") + .HasMaxLength(20) + .HasColumnType("nvarchar(20)"); + + b.Property("ContractStart") + .HasColumnType("datetime2"); + + b.Property("CreationDate") + .HasColumnType("datetime2"); + + b.Property("DailyWage") + .HasColumnType("float"); + + b.Property("DateOfBirth") + .HasColumnType("datetime2"); + + b.Property("EarlyExitDeduction") + .HasColumnType("float"); + + b.Property("EmployeeFName") + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b.Property("EmployeeId") + .HasColumnType("bigint"); + + b.Property("EmployeeLName") + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b.Property("FamilyAllowance") + .HasColumnType("float"); + + b.Property("FineAbsenceDeduction") + .HasColumnType("float"); + + b.Property("FineDeduction") + .HasColumnType("float"); + + b.Property("FridayPay") + .HasColumnType("float"); + + b.Property("InstallmentDeduction") + .HasColumnType("float"); + + b.Property("InsuranceDeduction") + .HasColumnType("float"); + + b.Property("LateToWorkDeduction") + .HasColumnType("float"); + + b.Property("LateToWorkValue") + .IsRequired() + .HasMaxLength(30) + .HasColumnType("nvarchar(30)"); + + b.Property("LeavePay") + .HasColumnType("float"); + + b.Property("MarriedAllowance") + .HasColumnType("float"); + + b.Property("MonthInt") + .HasColumnType("int"); + + b.Property("MonthlySalary") + .HasColumnType("float"); + + b.Property("NationalCode") + .HasMaxLength(10) + .HasColumnType("nvarchar(10)"); + + b.Property("NightWorkPay") + .HasColumnType("float"); + + b.Property("OverTimePay") + .HasColumnType("float"); + + b.Property("RewardPay") + .HasColumnType("float"); + + b.Property("SalaryAidDeduction") + .HasColumnType("float"); + + b.Property("SettingSalary") + .HasColumnType("float"); + + b.Property("ShiftPay") + .HasColumnType("float"); + + b.Property("ShiftStatus") + .IsRequired() + .HasMaxLength(10) + .HasColumnType("nvarchar(10)"); + + b.Property("SumOfWorkingDays") + .HasColumnType("nvarchar(max)"); + + b.Property("TaxDeduction") + .HasColumnType("float"); + + b.Property("TotalClaims") + .HasColumnType("nvarchar(max)"); + + b.Property("TotalDeductions") + .HasColumnType("nvarchar(max)"); + + b.Property("TotalPayment") + .HasColumnType("float"); + + b.Property("WorkshopFullName") + .HasMaxLength(255) + .HasColumnType("nvarchar(255)"); + + b.Property("WorkshopId") + .HasColumnType("bigint"); + + b.Property("YearInt") + .HasColumnType("int"); + + b.HasKey("id"); + + b.HasIndex("EmployeeId"); + + b.HasIndex("WorkshopId"); + + b.ToTable("CustomizeCheckouts", (string)null); + }); + + modelBuilder.Entity("Company.Domain.CustomizeCheckoutTempAgg.CustomizeCheckoutTemp", b => + { + b.Property("id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("id")); + + b.Property("BaseYearsPay") + .HasColumnType("float"); + + b.Property("BonusesPay") + .HasColumnType("float"); + + b.Property("ContractEnd") + .HasColumnType("datetime2"); + + b.Property("ContractId") + .HasColumnType("bigint"); + + b.Property("ContractNo") + .HasMaxLength(20) + .HasColumnType("nvarchar(20)"); + + b.Property("ContractStart") + .HasColumnType("datetime2"); + + b.Property("CreationDate") + .HasColumnType("datetime2"); + + b.Property("DailyWage") + .HasColumnType("float"); + + b.Property("DateOfBirth") + .HasColumnType("datetime2"); + + b.Property("EarlyExitDeduction") + .HasColumnType("float"); + + b.Property("EmployeeFName") + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b.Property("EmployeeId") + .HasColumnType("bigint"); + + b.Property("EmployeeLName") + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b.Property("FamilyAllowance") + .HasColumnType("float"); + + b.Property("FineAbsenceDeduction") + .HasColumnType("float"); + + b.Property("FineDeduction") + .HasColumnType("float"); + + b.Property("FridayPay") + .HasColumnType("float"); + + b.Property("InstallmentDeduction") + .HasColumnType("float"); + + b.Property("InsuranceDeduction") + .HasColumnType("float"); + + b.Property("LateToWorkDeduction") + .HasColumnType("float"); + + b.Property("LateToWorkValue") + .IsRequired() + .HasMaxLength(30) + .HasColumnType("nvarchar(30)"); + + b.Property("LeavePay") + .HasColumnType("float"); + + b.Property("MarriedAllowance") + .HasColumnType("float"); + + b.Property("MonthInt") + .HasColumnType("int"); + + b.Property("MonthlySalary") + .HasColumnType("float"); + + b.Property("NationalCode") + .HasMaxLength(10) + .HasColumnType("nvarchar(10)"); + + b.Property("NightWorkPay") + .HasColumnType("float"); + + b.Property("OverTimePay") + .HasColumnType("float"); + + b.Property("RewardPay") + .HasColumnType("float"); + + b.Property("SalaryAidDeduction") + .HasColumnType("float"); + + b.Property("SettingSalary") + .HasColumnType("float"); + + b.Property("ShiftPay") + .HasColumnType("float"); + + b.Property("ShiftStatus") + .IsRequired() + .HasMaxLength(10) + .HasColumnType("nvarchar(10)"); + + b.Property("SumOfWorkingDays") + .HasColumnType("nvarchar(max)"); + + b.Property("TaxDeduction") + .HasColumnType("float"); + + b.Property("TotalClaims") + .HasColumnType("nvarchar(max)"); + + b.Property("TotalDeductions") + .HasColumnType("nvarchar(max)"); + + b.Property("TotalPayment") + .HasColumnType("float"); + + b.Property("WorkshopFullName") + .HasMaxLength(255) + .HasColumnType("nvarchar(255)"); + + b.Property("WorkshopId") + .HasColumnType("bigint"); + + b.Property("YearInt") + .HasColumnType("int"); + + b.HasKey("id"); + + b.HasIndex("EmployeeId"); + + b.HasIndex("WorkshopId"); + + b.ToTable("CustomizeCheckoutTemps", (string)null); + }); + + modelBuilder.Entity("Company.Domain.CustomizeWorkshopEmployeeSettingsAgg.Entities.CustomizeWorkshopEmployeeSettings", b => + { + b.Property("id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("id")); + + b.Property("CreationDate") + .HasColumnType("datetime2"); + + b.Property("CustomizeWorkshopGroupSettingId") + .HasColumnType("bigint"); + + b.Property("EmployeeId") + .HasColumnType("bigint"); + + b.Property("FridayWork") + .IsRequired() + .HasMaxLength(1) + .HasColumnType("nvarchar(1)"); + + b.Property("HolidayWork") + .IsRequired() + .HasMaxLength(1) + .HasColumnType("nvarchar(1)"); + + b.Property("IsSettingChanged") + .HasColumnType("bit"); + + b.Property("IsShiftChanged") + .HasColumnType("bit"); + + b.Property("LeavePermittedDays") + .HasColumnType("int"); + + b.Property("Salary") + .HasColumnType("float"); + + b.Property("WorkshopId") + .HasColumnType("bigint"); + + b.Property("WorkshopShiftStatus") + .IsRequired() + .HasMaxLength(1) + .HasColumnType("nvarchar(1)"); + + b.HasKey("id"); + + b.HasIndex("CustomizeWorkshopGroupSettingId"); + + b.ToTable("CustomizeWorkshopEmployeeSettings", (string)null); + }); + + modelBuilder.Entity("Company.Domain.CustomizeWorkshopGroupSettingsAgg.Entities.CustomizeWorkshopGroupSettings", b => + { + b.Property("id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("id")); + + b.Property("CreationDate") + .HasColumnType("datetime2"); + + b.Property("CustomizeWorkshopSettingId") + .HasColumnType("bigint"); + + b.Property("FridayWork") + .IsRequired() + .HasMaxLength(1) + .HasColumnType("nvarchar(1)"); + + b.Property("GroupName") + .HasMaxLength(120) + .HasColumnType("nvarchar(120)"); + + b.Property("HolidayWork") + .IsRequired() + .HasMaxLength(1) + .HasColumnType("nvarchar(1)"); + + b.Property("IsSettingChange") + .HasColumnType("bit"); + + b.Property("IsShiftChange") + .HasColumnType("bit"); + + b.Property("LeavePermittedDays") + .HasColumnType("int"); + + b.Property("MainGroup") + .HasColumnType("bit"); + + b.Property("Salary") + .HasColumnType("float"); + + b.Property("WorkshopShiftStatus") + .IsRequired() + .HasMaxLength(1) + .HasColumnType("nvarchar(1)"); + + b.HasKey("id"); + + b.HasIndex("CustomizeWorkshopSettingId"); + + b.ToTable("CustomizeWorkshopGroupSettings", (string)null); + }); + + modelBuilder.Entity("Company.Domain.CustomizeWorkshopSettingsAgg.Entities.CustomizeWorkshopSettings", b => + { + b.Property("id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("id")); + + b.Property("BaseYearsPayInEndOfYear") + .IsRequired() + .HasMaxLength(1) + .HasColumnType("nvarchar(1)"); + + b.Property("BonusesPaysInEndOfMonth") + .IsRequired() + .HasMaxLength(1) + .HasColumnType("nvarchar(1)"); + + b.Property("CreationDate") + .HasColumnType("datetime2"); + + b.Property("Currency") + .HasColumnType("int"); + + b.Property("EndTimeOffSet") + .HasColumnType("time"); + + b.Property("FridayWork") + .IsRequired() + .HasMaxLength(1) + .HasColumnType("nvarchar(1)"); + + b.Property("HolidayWork") + .IsRequired() + .HasMaxLength(1) + .HasColumnType("nvarchar(1)"); + + b.Property("LeavePermittedDays") + .HasColumnType("int"); + + b.Property("MaxMonthDays") + .HasColumnType("int"); + + b.Property("OverTimeThresholdMinute") + .HasColumnType("int"); + + b.Property("WorkshopId") + .HasColumnType("bigint"); + + b.Property("WorkshopShiftStatus") + .IsRequired() + .HasMaxLength(1) + .HasColumnType("nvarchar(1)"); + + b.HasKey("id"); + + b.HasIndex("WorkshopId") + .IsUnique(); + + b.ToTable("CustomizeWorkshopSettings", (string)null); + }); + + modelBuilder.Entity("Company.Domain.DateSalaryAgg.DateSalary", b => + { + b.Property("id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("id")); + + b.Property("CreationDate") + .HasColumnType("datetime2"); + + b.Property("EndDateFa") + .HasMaxLength(10) + .HasColumnType("nvarchar(10)"); + + b.Property("EndDateGr") + .HasColumnType("datetime2"); + + b.Property("StartDateFa") + .HasMaxLength(10) + .HasColumnType("nvarchar(10)"); + + b.Property("StartDateGr") + .HasColumnType("datetime2"); + + b.Property("Year") + .HasMaxLength(4) + .HasColumnType("nvarchar(4)"); + + b.HasKey("id"); + + b.ToTable("DateSalaries", (string)null); + }); + + modelBuilder.Entity("Company.Domain.DateSalaryItemAgg.DateSalaryItem", b => + { + b.Property("id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("id")); + + b.Property("CreationDate") + .HasColumnType("datetime2"); + + b.Property("DateSalaryId") + .HasColumnType("bigint"); + + b.Property("Percent") + .HasColumnType("float"); + + b.Property("PercentageId") + .HasColumnType("bigint"); + + b.Property("Salary") + .HasColumnType("float"); + + b.HasKey("id"); + + b.HasIndex("DateSalaryId"); + + b.HasIndex("PercentageId"); + + b.ToTable("DateSalaryItems", (string)null); + }); + + modelBuilder.Entity("Company.Domain.EmployeeAccountAgg.EmployeeAccount", b => + { + b.Property("EmployeeId") + .HasColumnType("bigint"); + + b.Property("AccountId") + .HasColumnType("bigint"); + + b.HasKey("EmployeeId", "AccountId"); + + b.ToTable("EmployeeAccounts", (string)null); + }); + + modelBuilder.Entity("Company.Domain.EmployeeAgg.Employee", b => + { + b.Property("id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("id")); + + b.Property("Address") + .HasMaxLength(500) + .HasColumnType("nvarchar(500)"); + + b.Property("BankBranch") + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b.Property("BankCardNumber") + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("City") + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b.Property("CreationDate") + .HasColumnType("datetime2"); + + b.Property("DateOfBirth") + .HasColumnType("datetime2"); + + b.Property("DateOfIssue") + .HasColumnType("datetime2"); + + b.Property("EservicePassword") + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b.Property("EserviceUserName") + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b.Property("FName") + .IsRequired() + .HasMaxLength(255) + .HasColumnType("nvarchar(255)"); + + b.Property("FatherName") + .HasMaxLength(255) + .HasColumnType("nvarchar(255)"); + + b.Property("FieldOfStudy") + .HasMaxLength(255) + .HasColumnType("nvarchar(255)"); + + b.Property("Gender") + .HasMaxLength(10) + .HasColumnType("nvarchar(10)"); + + b.Property("IdNumber") + .HasMaxLength(20) + .HasColumnType("nvarchar(20)"); + + b.Property("IdNumberSeri") + .HasMaxLength(25) + .HasColumnType("nvarchar(25)"); + + b.Property("IdNumberSerial") + .HasMaxLength(25) + .HasColumnType("nvarchar(25)"); + + b.Property("InsuranceCode") + .HasMaxLength(10) + .HasColumnType("nvarchar(10)"); + + b.Property("InsuranceHistoryByMonth") + .HasMaxLength(10) + .HasColumnType("nvarchar(10)"); + + b.Property("InsuranceHistoryByYear") + .HasMaxLength(10) + .HasColumnType("nvarchar(10)"); + + b.Property("IsActive") + .HasColumnType("bit"); + + b.Property("IsActiveString") + .HasMaxLength(10) + .HasColumnType("nvarchar(10)"); + + b.Property("IsAuthorized") + .HasColumnType("bit"); + + b.Property("LName") + .IsRequired() + .HasMaxLength(255) + .HasColumnType("nvarchar(255)"); + + b.Property("LevelOfEducation") + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b.Property("MaritalStatus") + .HasMaxLength(10) + .HasColumnType("nvarchar(10)"); + + b.Property("MclsPassword") + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b.Property("MclsUserName") + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b.Property("MilitaryService") + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b.Property("NationalCode") + .HasMaxLength(10) + .HasColumnType("nvarchar(10)"); + + b.Property("Nationality") + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("NumberOfChildren") + .HasMaxLength(10) + .HasColumnType("nvarchar(10)"); + + b.Property("OfficePhone") + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("Phone") + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("PlaceOfIssue") + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("SanaPassword") + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b.Property("SanaUserName") + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b.Property("State") + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b.Property("TaxOfficeUserName") + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b.Property("TaxOfficepassword") + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b.HasKey("id"); + + b.ToTable("Employees", (string)null); + }); + + modelBuilder.Entity("Company.Domain.EmployeeAuthorizeTempAgg.EmployeeAuthorizeTemp", b => + { + b.Property("id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("id")); + + b.Property("BirthDate") + .HasColumnType("datetime2"); + + b.Property("CreationDate") + .HasColumnType("datetime2"); + + b.Property("FName") + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b.Property("FatherName") + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b.Property("Gender") + .IsRequired() + .HasMaxLength(15) + .HasColumnType("nvarchar(15)"); + + b.Property("IdNumber") + .HasMaxLength(15) + .HasColumnType("nvarchar(15)"); + + b.Property("IdNumberSeri") + .HasMaxLength(25) + .HasColumnType("nvarchar(25)"); + + b.Property("IdNumberSerial") + .HasMaxLength(25) + .HasColumnType("nvarchar(25)"); + + b.Property("LName") + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b.Property("NationalCode") + .HasMaxLength(15) + .HasColumnType("nvarchar(15)"); + + b.HasKey("id"); + + b.HasIndex("NationalCode") + .IsUnique() + .HasFilter("[NationalCode] IS NOT NULL"); + + b.ToTable("EmployeeAuthorizeTemps", (string)null); + }); + + modelBuilder.Entity("Company.Domain.EmployeeBankInformationAgg.EmployeeBankInformation", b => + { + b.Property("id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("id")); + + b.Property("BankAccountNumber") + .HasMaxLength(20) + .HasColumnType("nvarchar(20)"); + + b.Property("BankId") + .HasColumnType("bigint"); + + b.Property("CardNumber") + .HasMaxLength(16) + .HasColumnType("nvarchar(16)"); + + b.Property("CreationDate") + .HasColumnType("datetime2"); + + b.Property("EmployeeId") + .HasColumnType("bigint"); + + b.Property("IsDefault") + .HasColumnType("bit"); + + b.Property("ShebaNumber") + .HasMaxLength(26) + .HasColumnType("nvarchar(26)"); + + b.Property("WorkshopId") + .HasColumnType("bigint"); + + b.HasKey("id"); + + b.HasIndex("BankId"); + + b.HasIndex("EmployeeId"); + + b.ToTable("EmployeeBankInformationSet", (string)null); + }); + + modelBuilder.Entity("Company.Domain.EmployeeChildrenAgg.EmployeeChildren", b => + { + b.Property("id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("id")); + + b.Property("CreationDate") + .HasColumnType("datetime2"); + + b.Property("DateOfBirth") + .HasColumnType("datetime2"); + + b.Property("EmployeeId") + .HasColumnType("bigint"); + + b.Property("FName") + .HasMaxLength(255) + .HasColumnType("nvarchar(255)"); + + b.Property("ParentNationalCode") + .HasMaxLength(10) + .HasColumnType("nvarchar(10)"); + + b.HasKey("id"); + + b.HasIndex("EmployeeId"); + + b.ToTable("EmployeeChildren", (string)null); + }); + + modelBuilder.Entity("Company.Domain.EmployeeClientTempAgg.EmployeeClientTemp", b => + { + b.Property("id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("id")); + + b.Property("CreationDate") + .HasColumnType("datetime2"); + + b.Property("EmployeeFullName") + .HasColumnType("nvarchar(max)"); + + b.Property("EmployeeId") + .HasColumnType("bigint"); + + b.Property("MaritalStatus") + .HasColumnType("nvarchar(max)"); + + b.Property("StartWorkDate") + .HasColumnType("datetime2"); + + b.Property("WorkshopId") + .HasColumnType("bigint"); + + b.HasKey("id"); + + b.ToTable("EmployeeClientTemps"); + }); + + modelBuilder.Entity("Company.Domain.EmployeeComputeOptionsAgg.EmployeeComputeOptions", b => + { + b.Property("id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("id")); + + b.Property("BonusesOptions") + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("ComputeOptions") + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("CreationDate") + .HasColumnType("datetime2"); + + b.Property("EmployeeId") + .HasColumnType("bigint"); + + b.Property("WorkshopId") + .HasColumnType("bigint"); + + b.Property("YearsOptions") + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.HasKey("id"); + + b.ToTable("EmployeeComputeOptions", (string)null); + }); + + modelBuilder.Entity("Company.Domain.EmployeeDocumentItemAgg.EmployeeDocumentItem", b => + { + b.Property("id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("id")); + + b.Property("ConfirmationDateTime") + .HasColumnType("datetime2"); + + b.Property("CreationDate") + .HasColumnType("datetime2"); + + b.Property("DocumentLabel") + .IsRequired() + .HasMaxLength(31) + .HasColumnType("nvarchar(31)"); + + b.Property("DocumentStatus") + .IsRequired() + .HasMaxLength(20) + .HasColumnType("nvarchar(20)"); + + b.Property("EmployeeDocumentId") + .HasColumnType("bigint"); + + b.Property("EmployeeDocumentsAdminViewId") + .HasColumnType("bigint"); + + b.Property("EmployeeId") + .HasColumnType("bigint"); + + b.Property("MediaId") + .HasColumnType("bigint"); + + b.Property("RejectionReason") + .HasMaxLength(150) + .HasColumnType("nvarchar(150)"); + + b.Property("ReviewedById") + .HasMaxLength(120) + .HasColumnType("bigint"); + + b.Property("UploaderId") + .HasColumnType("bigint"); + + b.Property("UploaderRoleId") + .HasColumnType("bigint"); + + b.Property("UploaderType") + .IsRequired() + .HasMaxLength(20) + .HasColumnType("nvarchar(20)"); + + b.Property("WorkshopId") + .HasColumnType("bigint"); + + b.HasKey("id"); + + b.HasIndex("EmployeeDocumentId"); + + b.HasIndex("EmployeeDocumentsAdminViewId"); + + b.ToTable("EmployeeDocumentItems", (string)null); + }); + + modelBuilder.Entity("Company.Domain.EmployeeDocumentsAdminSelectionAgg.EmployeeDocumentsAdminSelection", b => + { + b.Property("id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("id")); + + b.Property("CreationDate") + .HasColumnType("datetime2"); + + b.Property("EmployeeId") + .HasColumnType("bigint"); + + b.HasKey("id"); + + b.HasIndex("EmployeeId") + .IsUnique(); + + b.ToTable("EmployeeDocumentsAdminSelection", (string)null); + }); + + modelBuilder.Entity("Company.Domain.EmployeeDocumentsAgg.EmployeeDocuments", b => + { + b.Property("id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("id")); + + b.Property("CreationDate") + .HasColumnType("datetime2"); + + b.Property("EmployeeId") + .HasColumnType("bigint"); + + b.Property("Gender") + .IsRequired() + .HasMaxLength(10) + .HasColumnType("nvarchar(10)"); + + b.Property("HasRejectedItems") + .HasColumnType("bit"); + + b.Property("IsConfirmed") + .HasColumnType("bit"); + + b.Property("IsSentToChecker") + .HasColumnType("bit"); + + b.Property("RequiredItemsSubmittedByClient") + .HasColumnType("bit"); + + b.Property("WorkshopId") + .HasColumnType("bigint"); + + b.HasKey("id"); + + b.HasIndex("EmployeeId"); + + b.HasIndex("WorkshopId"); + + b.ToTable("EmployeeDocuments", (string)null); + }); + + modelBuilder.Entity("Company.Domain.EmployeeInsurancListDataAgg.EmployeeInsurancListData", b => + { + b.Property("id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("id")); + + b.Property("BaseYears") + .HasColumnType("float"); + + b.Property("BenefitsIncludedContinuous") + .HasColumnType("float"); + + b.Property("BenefitsIncludedNonContinuous") + .HasColumnType("float"); + + b.Property("CreationDate") + .HasColumnType("datetime2"); + + b.Property("DailyWage") + .HasColumnType("float"); + + b.Property("DailyWagePlusBaseYears") + .HasColumnType("float"); + + b.Property("EmployeeId") + .HasColumnType("bigint"); + + b.Property("IncludeStatus") + .HasColumnType("bit"); + + b.Property("InsuranceListId") + .HasColumnType("bigint"); + + b.Property("InsuranceShare") + .HasColumnType("float"); + + b.Property("JobId") + .HasColumnType("bigint"); + + b.Property("LeftWorkDate") + .HasColumnType("datetime2(7)"); + + b.Property("MarriedAllowance") + .HasColumnType("float"); + + b.Property("MonthlyBenefits") + .HasColumnType("float"); + + b.Property("MonthlyBenefitsIncluded") + .HasColumnType("float"); + + b.Property("MonthlySalary") + .HasColumnType("float"); + + b.Property("StartWorkDate") + .HasColumnType("datetime2"); + + b.Property("WorkingDays") + .HasColumnType("int"); + + b.HasKey("id"); + + b.ToTable("EmployeeInsurancListData", (string)null); + }); + + modelBuilder.Entity("Company.Domain.EmployeeInsuranceRecordAgg.EmployeeInsuranceRecord", b => + { + b.Property("id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("id")); + + b.Property("CreationDate") + .HasColumnType("datetime2"); + + b.Property("DateOfEnd") + .HasColumnType("datetime2"); + + b.Property("DateOfStart") + .HasColumnType("datetime2"); + + b.Property("EmployeeId") + .HasColumnType("bigint"); + + b.Property("WorkShopId") + .HasColumnType("bigint"); + + b.HasKey("id"); + + b.HasIndex("EmployeeId"); + + b.HasIndex("WorkShopId"); + + b.ToTable("EmployeeInsuranceRecord", (string)null); + }); + + modelBuilder.Entity("Company.Domain.EmployerAccountAgg.EmployerAccount", b => + { + b.Property("EmployerId") + .HasColumnType("bigint"); + + b.Property("AccountId") + .HasColumnType("bigint"); + + b.HasKey("EmployerId", "AccountId"); + + b.ToTable("EmployerAccounts", (string)null); + }); + + modelBuilder.Entity("Company.Domain.Evidence.Evidence", b => + { + b.Property("id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("id")); + + b.Property("BoardType_Id") + .HasColumnType("int"); + + b.Property("CreationDate") + .HasColumnType("datetime2"); + + b.Property("Description") + .HasColumnType("nvarchar(max)"); + + b.Property("File_Id") + .HasColumnType("bigint"); + + b.HasKey("id"); + + b.HasIndex("BoardType_Id"); + + b.HasIndex("File_Id"); + + b.ToTable("Evidences", (string)null); + }); + + modelBuilder.Entity("Company.Domain.EvidenceDetail.EvidenceDetail", b => + { + b.Property("id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("id")); + + b.Property("CreationDate") + .HasColumnType("datetime2"); + + b.Property("Day") + .HasColumnType("nvarchar(max)"); + + b.Property("Description") + .HasColumnType("nvarchar(max)"); + + b.Property("Evidence_Id") + .HasColumnType("bigint"); + + b.Property("FromDate") + .HasColumnType("datetime2"); + + b.Property("Title") + .HasColumnType("nvarchar(max)"); + + b.Property("ToDate") + .HasColumnType("datetime2"); + + b.HasKey("id"); + + b.HasIndex("Evidence_Id"); + + b.ToTable("EvidenceDetails", (string)null); + }); + + modelBuilder.Entity("Company.Domain.File1.File1", b => + { + b.Property("id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("id")); + + b.Property("ArchiveNo") + .HasColumnType("bigint"); + + b.Property("Client") + .HasColumnType("int"); + + b.Property("ClientVisitDate") + .HasColumnType("datetime2"); + + b.Property("CreationDate") + .HasColumnType("datetime2"); + + b.Property("Description") + .HasColumnType("nvarchar(max)"); + + b.Property("FileClass") + .HasColumnType("nvarchar(max)"); + + b.Property("HasMandate") + .HasColumnType("int"); + + b.Property("ProceederReference") + .HasColumnType("nvarchar(max)"); + + b.Property("Reqester") + .HasColumnType("bigint"); + + b.Property("Status") + .HasColumnType("int"); + + b.Property("Summoned") + .HasColumnType("bigint"); + + b.HasKey("id"); + + b.ToTable("Files", (string)null); + }); + + modelBuilder.Entity("Company.Domain.FileAlert.FileAlert", b => + { + b.Property("id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("id")); + + b.Property("AdditionalDeadline") + .HasColumnType("int"); + + b.Property("CreationDate") + .HasColumnType("datetime2"); + + b.Property("FileState_Id") + .HasColumnType("bigint"); + + b.Property("File_Id") + .HasColumnType("bigint"); + + b.HasKey("id"); + + b.HasIndex("FileState_Id"); + + b.HasIndex("File_Id"); + + b.ToTable("File_Alerts", (string)null); + }); + + modelBuilder.Entity("Company.Domain.FileAndFileEmployerAgg.FileAndFileEmployer", b => + { + b.Property("FileId") + .HasColumnType("bigint"); + + b.Property("FileEmployerId") + .HasColumnType("bigint"); + + b.HasKey("FileId", "FileEmployerId"); + + b.HasIndex("FileEmployerId"); + + b.ToTable("FileAndFileEmployers", (string)null); + }); + + modelBuilder.Entity("Company.Domain.FileEmployeeAgg.FileEmployee", b => + { + b.Property("id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("id")); + + b.Property("CreationDate") + .HasColumnType("datetime2"); + + b.Property("DateOfBirth") + .HasColumnType("datetime2"); + + b.Property("EservicePassword") + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b.Property("EserviceUserName") + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b.Property("FName") + .HasMaxLength(25) + .HasColumnType("nvarchar(25)"); + + b.Property("FatherName") + .HasMaxLength(25) + .HasColumnType("nvarchar(25)"); + + b.Property("FieldOfStudy") + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b.Property("Gender") + .HasMaxLength(10) + .HasColumnType("nvarchar(10)"); + + b.Property("IdNumber") + .HasMaxLength(15) + .HasColumnType("nvarchar(15)"); + + b.Property("InsuranceCode") + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b.Property("IsActive") + .HasMaxLength(5) + .HasColumnType("nvarchar(5)"); + + b.Property("LName") + .HasMaxLength(25) + .HasColumnType("nvarchar(25)"); + + b.Property("LevelOfEducation") + .HasMaxLength(15) + .HasColumnType("nvarchar(15)"); + + b.Property("MaritalStatus") + .HasMaxLength(10) + .HasColumnType("nvarchar(10)"); + + b.Property("MclsPassword") + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b.Property("MclsUserName") + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b.Property("NationalCode") + .HasMaxLength(10) + .HasColumnType("nvarchar(10)"); + + b.Property("OfficePhone") + .HasMaxLength(30) + .HasColumnType("nvarchar(30)"); + + b.Property("Phone") + .HasMaxLength(30) + .HasColumnType("nvarchar(30)"); + + b.Property("RepresentativeFullName") + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("RepresentativeId") + .HasColumnType("bigint"); + + b.Property("SanaPassword") + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b.Property("SanaUserName") + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b.Property("TaxOfficeUserName") + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b.Property("TaxOfficepassword") + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b.HasKey("id"); + + b.HasIndex("RepresentativeId"); + + b.ToTable("FileEmployee", (string)null); + }); + + modelBuilder.Entity("Company.Domain.FileEmployerAgg.FileEmployer", b => + { + b.Property("id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("id")); + + b.Property("CreationDate") + .HasColumnType("datetime2"); + + b.Property("DateOfBirth") + .HasColumnType("datetime2"); + + b.Property("EservicePassword") + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b.Property("EserviceUserName") + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b.Property("FName") + .HasMaxLength(25) + .HasColumnType("nvarchar(25)"); + + b.Property("FieldOfStudy") + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b.Property("FullName") + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("Gender") + .HasMaxLength(10) + .HasColumnType("nvarchar(10)"); + + b.Property("IdNumber") + .HasMaxLength(15) + .HasColumnType("nvarchar(15)"); + + b.Property("InsuranceWorkshopCode") + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b.Property("IsActive") + .HasMaxLength(5) + .HasColumnType("nvarchar(5)"); + + b.Property("IsLegal") + .HasMaxLength(5) + .HasColumnType("nvarchar(5)"); + + b.Property("LName") + .HasMaxLength(25) + .HasColumnType("nvarchar(25)"); + + b.Property("LegalName") + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("LevelOfEducation") + .HasMaxLength(15) + .HasColumnType("nvarchar(15)"); + + b.Property("MaritalStatus") + .HasMaxLength(10) + .HasColumnType("nvarchar(10)"); + + b.Property("MclsPassword") + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b.Property("MclsUserName") + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b.Property("NationalCode") + .HasMaxLength(10) + .HasColumnType("nvarchar(10)"); + + b.Property("NationalId") + .HasMaxLength(10) + .HasColumnType("nvarchar(10)"); + + b.Property("OfficePhone") + .HasMaxLength(30) + .HasColumnType("nvarchar(30)"); + + b.Property("Phone") + .HasMaxLength(30) + .HasColumnType("nvarchar(30)"); + + b.Property("RegisterId") + .HasMaxLength(10) + .HasColumnType("nvarchar(10)"); + + b.Property("RepresentativeFullName") + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("RepresentativeId") + .HasColumnType("bigint"); + + b.Property("SanaPassword") + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b.Property("SanaUserName") + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b.Property("TaxOfficeUserName") + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b.Property("TaxOfficepassword") + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b.HasKey("id"); + + b.HasIndex("RepresentativeId"); + + b.ToTable("FileEmployer", (string)null); + }); + + modelBuilder.Entity("Company.Domain.FileState.FileState", b => + { + b.Property("id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("id")); + + b.Property("CreationDate") + .HasColumnType("datetime2"); + + b.Property("FileTiming_Id") + .HasColumnType("bigint"); + + b.Property("State") + .HasColumnType("int"); + + b.Property("Title") + .HasColumnType("nvarchar(max)"); + + b.HasKey("id"); + + b.HasIndex("FileTiming_Id"); + + b.ToTable("File_States", (string)null); + }); + + modelBuilder.Entity("Company.Domain.FileTiming.FileTiming", b => + { + b.Property("id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("id")); + + b.Property("CreationDate") + .HasColumnType("datetime2"); + + b.Property("Deadline") + .HasColumnType("int"); + + b.Property("Tips") + .HasColumnType("nvarchar(max)"); + + b.Property("Title") + .HasColumnType("nvarchar(max)"); + + b.HasKey("id"); + + b.ToTable("File_Timings", (string)null); + }); + + modelBuilder.Entity("Company.Domain.FileTitle.FileTitle", b => + { + b.Property("id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("id")); + + b.Property("CreationDate") + .HasColumnType("datetime2"); + + b.Property("Title") + .HasColumnType("nvarchar(max)"); + + b.Property("Type") + .HasColumnType("nvarchar(max)"); + + b.HasKey("id"); + + b.ToTable("File_Titles", (string)null); + }); + + modelBuilder.Entity("Company.Domain.FinancialStatmentAgg.FinancialStatment", b => + { + b.Property("id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("id")); + + b.Property("ContractingPartyId") + .HasColumnType("bigint"); + + b.Property("ContractingPartyName") + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b.Property("CreationDate") + .HasColumnType("datetime2"); + + b.HasKey("id"); + + b.ToTable("FinancialStatments", (string)null); + }); + + modelBuilder.Entity("Company.Domain.FinancialTransactionAgg.FinancialTransaction", b => + { + b.Property("id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("id")); + + b.Property("Balance") + .HasColumnType("float"); + + b.Property("CreationDate") + .HasColumnType("datetime2"); + + b.Property("Creditor") + .HasColumnType("float"); + + b.Property("Deptor") + .HasColumnType("float"); + + b.Property("Description") + .HasMaxLength(600) + .HasColumnType("nvarchar(600)"); + + b.Property("DescriptionOption") + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("FinancialStatementId") + .HasColumnType("bigint"); + + b.Property("MessageText") + .HasMaxLength(255) + .HasColumnType("nvarchar(255)"); + + b.Property("SentSms") + .HasColumnType("bit"); + + b.Property("SentSmsDateFa") + .HasMaxLength(10) + .HasColumnType("nvarchar(10)"); + + b.Property("TdateFa") + .HasMaxLength(10) + .HasColumnType("nvarchar(10)"); + + b.Property("TdateGr") + .HasColumnType("datetime2"); + + b.Property("TypeOfTransaction") + .HasMaxLength(10) + .HasColumnType("nvarchar(10)"); + + b.HasKey("id"); + + b.HasIndex("FinancialStatementId"); + + b.ToTable("FinancialTransactions", (string)null); + }); + + modelBuilder.Entity("Company.Domain.FineAgg.Fine", b => + { + b.Property("id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("id")); + + b.Property("Amount") + .HasColumnType("float"); + + b.Property("CreatedByAccountId") + .HasColumnType("bigint"); + + b.Property("CreatedByUserType") + .IsRequired() + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("CreationDate") + .HasColumnType("datetime2"); + + b.Property("EmployeeId") + .HasColumnType("bigint"); + + b.Property("FineDate") + .HasColumnType("datetime2"); + + b.Property("IsActive") + .IsRequired() + .HasMaxLength(5) + .HasColumnType("nvarchar(5)"); + + b.Property("LastModifiedByAccountId") + .HasColumnType("bigint"); + + b.Property("LastModifiedByUserType") + .IsRequired() + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("Title") + .HasMaxLength(255) + .HasColumnType("nvarchar(255)"); + + b.Property("WorkshopId") + .HasColumnType("bigint"); + + b.HasKey("id"); + + b.ToTable("Fines", (string)null); + }); + + modelBuilder.Entity("Company.Domain.FineSubjectAgg.FineSubject", b => + { + b.Property("id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("id")); + + b.Property("Amount") + .HasMaxLength(25) + .HasColumnType("nvarchar(25)"); + + b.Property("CreationDate") + .HasColumnType("datetime2"); + + b.Property("Title") + .HasMaxLength(255) + .HasColumnType("nvarchar(255)"); + + b.Property("WorkshopId") + .HasColumnType("bigint"); + + b.HasKey("id"); + + b.ToTable("FineSubjects", (string)null); + }); + + modelBuilder.Entity("Company.Domain.GroupPlanAgg.GroupPlan", b => + { + b.Property("id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("id")); + + b.Property("AnnualSalary") + .HasColumnType("float"); + + b.Property("BaseSalary") + .HasColumnType("float"); + + b.Property("CreationDate") + .HasColumnType("datetime2"); + + b.Property("GroupNo") + .HasMaxLength(2) + .HasColumnType("nvarchar(2)"); + + b.Property("JobSalary") + .HasColumnType("float"); + + b.Property("WorkshopId") + .HasColumnType("bigint"); + + b.Property("WorkshopPlanId") + .HasColumnType("bigint"); + + b.HasKey("id"); + + b.HasIndex("WorkshopPlanId"); + + b.ToTable("GroupPlans", (string)null); + }); + + modelBuilder.Entity("Company.Domain.GroupPlanJobItemAgg.GroupPlanJobItem", b => + { + b.Property("id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("id")); + + b.Property("CreationDate") + .HasColumnType("datetime2"); + + b.Property("GroupNo") + .HasMaxLength(2) + .HasColumnType("nvarchar(2)"); + + b.Property("GroupPlanId") + .HasColumnType("bigint"); + + b.Property("JobId") + .HasColumnType("bigint"); + + b.Property("JobName") + .HasMaxLength(150) + .HasColumnType("nvarchar(150)"); + + b.Property("WorkshopId") + .HasColumnType("bigint"); + + b.Property("WorkshopPlanId") + .HasColumnType("bigint"); + + b.HasKey("id"); + + b.HasIndex("GroupPlanId"); + + b.ToTable("GroupPlanJobItems", (string)null); + }); + + modelBuilder.Entity("Company.Domain.HolidayAgg.Holiday", b => + { + b.Property("id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("id")); + + b.Property("CreationDate") + .HasColumnType("datetime2"); + + b.Property("Year") + .HasMaxLength(4) + .HasColumnType("nvarchar(4)"); + + b.HasKey("id"); + + b.ToTable("Holidays", (string)null); + }); + + modelBuilder.Entity("Company.Domain.HolidayItemAgg.HolidayItem", b => + { + b.Property("id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("id")); + + b.Property("CreationDate") + .HasColumnType("datetime2"); + + b.Property("HolidayId") + .HasColumnType("bigint"); + + b.Property("HolidayYear") + .HasMaxLength(4) + .HasColumnType("nvarchar(4)"); + + b.Property("Holidaydate") + .HasColumnType("datetime2"); + + b.HasKey("id"); + + b.HasIndex("HolidayId"); + + b.ToTable("Holidayitems", (string)null); + }); + + modelBuilder.Entity("Company.Domain.InstitutionContractAgg.InstitutionContract", b => + { + b.Property("id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("id")); + + b.Property("Address") + .HasMaxLength(250) + .HasColumnType("nvarchar(250)"); + + b.Property("City") + .HasMaxLength(30) + .HasColumnType("nvarchar(30)"); + + b.Property("ContractAmount") + .HasColumnType("float"); + + b.Property("ContractDateFa") + .HasMaxLength(10) + .HasColumnType("nvarchar(10)"); + + b.Property("ContractDateGr") + .HasColumnType("datetime2"); + + b.Property("ContractEndFa") + .HasMaxLength(10) + .HasColumnType("nvarchar(10)"); + + b.Property("ContractEndGr") + .HasColumnType("datetime2"); + + b.Property("ContractNo") + .HasMaxLength(40) + .HasColumnType("nvarchar(40)"); + + b.Property("ContractStartFa") + .HasMaxLength(10) + .HasColumnType("nvarchar(10)"); + + b.Property("ContractStartGr") + .HasColumnType("datetime2"); + + b.Property("ContractingPartyId") + .HasColumnType("bigint"); + + b.Property("ContractingPartyName") + .HasMaxLength(80) + .HasColumnType("nvarchar(80)"); + + b.Property("CreationDate") + .HasColumnType("datetime2"); + + b.Property("DailyCompenseation") + .HasColumnType("float"); + + b.Property("Description") + .HasMaxLength(10000) + .HasColumnType("nvarchar(max)"); + + b.Property("EmployeeManualCount") + .HasMaxLength(10) + .HasColumnType("nvarchar(10)"); + + b.Property("ExtensionNo") + .HasColumnType("int"); + + b.Property("HasValueAddedTax") + .HasMaxLength(10) + .HasColumnType("nvarchar(10)"); + + b.Property("IsActiveString") + .HasMaxLength(5) + .HasColumnType("nvarchar(5)"); + + b.Property("Obligation") + .HasColumnType("float"); + + b.Property("OfficialCompany") + .HasMaxLength(12) + .HasColumnType("nvarchar(12)"); + + b.Property("RepresentativeId") + .HasColumnType("bigint"); + + b.Property("RepresentativeName") + .HasMaxLength(80) + .HasColumnType("nvarchar(80)"); + + b.Property("Signature") + .HasMaxLength(1) + .HasColumnType("nvarchar(1)"); + + b.Property("State") + .HasMaxLength(20) + .HasColumnType("nvarchar(20)"); + + b.Property("TotalAmount") + .HasColumnType("float"); + + b.Property("TypeOfContract") + .HasMaxLength(30) + .HasColumnType("nvarchar(30)"); + + b.Property("ValueAddedTax") + .HasColumnType("float"); + + b.Property("WorkshopManualCount") + .HasMaxLength(5) + .HasColumnType("nvarchar(5)"); + + b.HasKey("id"); + + b.ToTable("InstitutionContracts", (string)null); + }); + + modelBuilder.Entity("Company.Domain.InstitutionContractContactInfoAgg.InstitutionContractContactInfo", b => + { + b.Property("id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("id")); + + b.Property("CreationDate") + .HasColumnType("datetime2"); + + b.Property("FnameLname") + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("InstitutionContractId") + .HasColumnType("bigint"); + + b.Property("PhoneNumber") + .HasMaxLength(20) + .HasColumnType("nvarchar(20)"); + + b.Property("PhoneType") + .HasMaxLength(20) + .HasColumnType("nvarchar(20)"); + + b.Property("Position") + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("SendSms") + .HasColumnType("bit"); + + b.HasKey("id"); + + b.HasIndex("InstitutionContractId"); + + b.ToTable("InstitutinContractContactInfo", (string)null); + }); + + modelBuilder.Entity("Company.Domain.InstitutionPlanAgg.InstitutionPlan", b => + { + b.Property("id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("id")); + + b.Property("BaseContractAmont") + .HasColumnType("float"); + + b.Property("CountPerson") + .HasColumnType("int"); + + b.Property("FinalContractAmont") + .HasColumnType("float"); + + b.Property("IncreasePercentage") + .HasColumnType("float"); + + b.HasKey("id"); + + b.ToTable("InstitutionPlan", (string)null); + }); + + modelBuilder.Entity("Company.Domain.InstitutionPlanAgg.PlanPercentage", b => + { + b.Property("id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("id")); + + b.Property("ContractAndCheckoutInPersonPercent") + .HasColumnType("int"); + + b.Property("ContractAndCheckoutPercent") + .HasColumnType("int"); + + b.Property("CustomizeCheckoutPercent") + .HasColumnType("int"); + + b.Property("InsuranceInPersonPercent") + .HasColumnType("int"); + + b.Property("InsurancePercent") + .HasColumnType("int"); + + b.Property("RollCallPercent") + .HasColumnType("int"); + + b.HasKey("id"); + + b.ToTable("PlanPercentage", (string)null); + }); + + modelBuilder.Entity("Company.Domain.InsurancJobAgg.InsuranceJob", b => + { + b.Property("id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("id")); + + b.Property("CreationDate") + .HasColumnType("datetime2"); + + b.Property("EconomicCode") + .HasMaxLength(255) + .HasColumnType("nvarchar(255)"); + + b.Property("InsuranceJobTitle") + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b.Property("Year") + .HasMaxLength(4) + .HasColumnType("nvarchar(4)"); + + b.Property("YearlySalaryId") + .HasColumnType("bigint"); + + b.HasKey("id"); + + b.ToTable("InsuranceJobs", (string)null); + }); + + modelBuilder.Entity("Company.Domain.InsurancWorkshopInfoAgg.InsuranceWorkshopInfo", b => + { + b.Property("id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("id")); + + b.Property("Address") + .HasMaxLength(500) + .HasColumnType("nvarchar(500)"); + + b.Property("AgreementNumber") + .HasMaxLength(5) + .HasColumnType("nvarchar(5)"); + + b.Property("CreationDate") + .HasColumnType("datetime2"); + + b.Property("EmployerName") + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b.Property("InsuranceCode") + .HasMaxLength(10) + .HasColumnType("nvarchar(10)"); + + b.Property("ListNumber") + .HasMaxLength(30) + .HasColumnType("nvarchar(30)"); + + b.Property("WorkshopId") + .HasColumnType("bigint"); + + b.Property("WorkshopName") + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b.HasKey("id"); + + b.HasIndex("WorkshopId") + .IsUnique(); + + b.ToTable("InsuranceWorkshopInformation", (string)null); + }); + + modelBuilder.Entity("Company.Domain.InsuranceAgg.Insurance", b => + { + b.Property("id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("id")); + + b.Property("Address") + .HasMaxLength(255) + .HasColumnType("nvarchar(255)"); + + b.Property("CreationDate") + .HasColumnType("datetime2"); + + b.Property("EmployerStr") + .HasColumnType("nvarchar(max)"); + + b.Property("ListNumber") + .HasColumnType("nvarchar(max)"); + + b.Property("Month") + .HasMaxLength(2) + .HasColumnType("int"); + + b.Property("WorkShopId") + .HasColumnType("bigint"); + + b.Property("WorkShopStr") + .HasColumnType("nvarchar(max)"); + + b.Property("Year") + .HasMaxLength(4) + .HasColumnType("int"); + + b.HasKey("id"); + + b.HasIndex("WorkShopId"); + + b.ToTable("Insurances", (string)null); + }); + + modelBuilder.Entity("Company.Domain.InsuranceEmployeeInfoAgg.InsuranceEmployeeInfo", b => + { + b.Property("id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("id")); + + b.Property("CreationDate") + .HasColumnType("datetime2"); + + b.Property("DateOfBirth") + .HasColumnType("datetime2"); + + b.Property("DateOfIssue") + .HasColumnType("datetime2"); + + b.Property("EmployeeId") + .HasColumnType("bigint"); + + b.Property("FName") + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b.Property("FatherName") + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b.Property("Gender") + .HasMaxLength(5) + .HasColumnType("nvarchar(5)"); + + b.Property("IdNumber") + .HasMaxLength(15) + .HasColumnType("nvarchar(15)"); + + b.Property("InsuranceCode") + .HasMaxLength(10) + .HasColumnType("nvarchar(10)"); + + b.Property("LName") + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b.Property("NationalCode") + .HasMaxLength(10) + .HasColumnType("nvarchar(10)"); + + b.Property("PlaceOfIssue") + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b.HasKey("id"); + + b.HasIndex("EmployeeId") + .IsUnique(); + + b.ToTable("InsuranceEmployeeInformation", (string)null); + }); + + modelBuilder.Entity("Company.Domain.InsuranceJobAndJobsAgg.InsuranceJobAndJobs", b => + { + b.Property("JobId") + .HasColumnType("bigint"); + + b.Property("InsuranceJobItemId") + .HasColumnType("bigint"); + + b.HasKey("JobId", "InsuranceJobItemId"); + + b.HasIndex("InsuranceJobItemId"); + + b.ToTable("InsuranceJobAndJobs", (string)null); + }); + + modelBuilder.Entity("Company.Domain.InsuranceJobItemAgg.InsuranceJobItem", b => + { + b.Property("id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("id")); + + b.Property("CreationDate") + .HasColumnType("datetime2"); + + b.Property("InsuranceJobId") + .HasColumnType("bigint"); + + b.Property("PercentageLessThan") + .HasColumnType("float"); + + b.Property("PercentageMoreThan") + .HasColumnType("float"); + + b.Property("SalaeyLessThan") + .HasColumnType("float"); + + b.Property("SalaryMoreThan") + .HasColumnType("float"); + + b.HasKey("id"); + + b.HasIndex("InsuranceJobId"); + + b.ToTable("InsuranceJobItems", (string)null); + }); + + modelBuilder.Entity("Company.Domain.InsuranceListAgg.InsuranceList", b => + { + b.Property("id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("id")); + + b.Property("ConfirmSentlist") + .HasColumnType("bit"); + + b.Property("CreationDate") + .HasColumnType("datetime2"); + + b.Property("DifficultJobsInsuranc") + .HasColumnType("float"); + + b.Property("EmployerShare") + .HasColumnType("float"); + + b.Property("EndDate") + .HasColumnType("datetime2"); + + b.Property("Included") + .HasColumnType("float"); + + b.Property("IncludedAndNotIncluded") + .HasColumnType("float"); + + b.Property("InsuredShare") + .HasColumnType("float"); + + b.Property("Month") + .HasMaxLength(2) + .HasColumnType("nvarchar(2)"); + + b.Property("StartDate") + .HasColumnType("datetime2"); + + b.Property("SumOfBaseYears") + .HasColumnType("float"); + + b.Property("SumOfBenefitsIncluded") + .HasColumnType("float"); + + b.Property("SumOfDailyWage") + .HasColumnType("float"); + + b.Property("SumOfDailyWagePlusBaseYears") + .HasColumnType("float"); + + b.Property("SumOfEmployees") + .HasColumnType("int"); + + b.Property("SumOfMarriedAllowance") + .HasColumnType("float"); + + b.Property("SumOfSalaries") + .HasColumnType("float"); + + b.Property("SumOfWorkingDays") + .HasColumnType("int"); + + b.Property("UnEmploymentInsurance") + .HasColumnType("float"); + + b.Property("WorkshopId") + .HasColumnType("bigint"); + + b.Property("Year") + .HasMaxLength(4) + .HasColumnType("nvarchar(4)"); + + b.HasKey("id"); + + b.ToTable("InsuranceLists", (string)null); + }); + + modelBuilder.Entity("Company.Domain.InsuranceWorkshopAgg.InsuranceListWorkshop", b => + { + b.Property("InsurancListId") + .HasColumnType("bigint"); + + b.Property("WorkshopId") + .HasColumnType("bigint"); + + b.HasKey("InsurancListId", "WorkshopId"); + + b.HasIndex("WorkshopId"); + + b.ToTable("InsuranceListWorkshops", (string)null); + }); + + modelBuilder.Entity("Company.Domain.InsuranceYearlySalaryAgg.InsuranceYearlySalary", b => + { + b.Property("id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("id")); + + b.Property("CreationDate") + .HasColumnType("datetime2"); + + b.Property("EndDate") + .HasColumnType("datetime2"); + + b.Property("Group1") + .HasColumnType("float"); + + b.Property("Group10") + .HasColumnType("float"); + + b.Property("Group11") + .HasColumnType("float"); + + b.Property("Group12") + .HasColumnType("float"); + + b.Property("Group13") + .HasColumnType("float"); + + b.Property("Group14") + .HasColumnType("float"); + + b.Property("Group15") + .HasColumnType("float"); + + b.Property("Group16") + .HasColumnType("float"); + + b.Property("Group17") + .HasColumnType("float"); + + b.Property("Group18") + .HasColumnType("float"); + + b.Property("Group19") + .HasColumnType("float"); + + b.Property("Group2") + .HasColumnType("float"); + + b.Property("Group20") + .HasColumnType("float"); + + b.Property("Group21") + .HasColumnType("float"); + + b.Property("Group22") + .HasColumnType("float"); + + b.Property("Group23") + .HasColumnType("float"); + + b.Property("Group24") + .HasColumnType("float"); + + b.Property("Group25") + .HasColumnType("float"); + + b.Property("Group26") + .HasColumnType("float"); + + b.Property("Group27") + .HasColumnType("float"); + + b.Property("Group28") + .HasColumnType("float"); + + b.Property("Group29") + .HasColumnType("float"); + + b.Property("Group3") + .HasColumnType("float"); + + b.Property("Group30") + .HasColumnType("float"); + + b.Property("Group4") + .HasColumnType("float"); + + b.Property("Group5") + .HasColumnType("float"); + + b.Property("Group6") + .HasColumnType("float"); + + b.Property("Group7") + .HasColumnType("float"); + + b.Property("Group8") + .HasColumnType("float"); + + b.Property("Group9") + .HasColumnType("float"); + + b.Property("StartDate") + .HasColumnType("datetime2"); + + b.Property("Year") + .HasColumnType("int"); + + b.HasKey("id"); + + b.ToTable("InsuranceYearlySalaries", (string)null); + }); + + modelBuilder.Entity("Company.Domain.JobAgg.Job", b => + { + b.Property("id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("id")); + + b.Property("CreationDate") + .HasColumnType("datetime2"); + + b.Property("JobCode") + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b.Property("JobName") + .HasMaxLength(255) + .HasColumnType("nvarchar(255)"); + + b.HasKey("id"); + + b.ToTable("Jobs", (string)null); + }); + + modelBuilder.Entity("Company.Domain.LeaveAgg.Leave", b => + { + b.Property("id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("id")); + + b.Property("CreationDate") + .HasColumnType("datetime2"); + + b.Property("Decription") + .HasMaxLength(255) + .HasColumnType("nvarchar(255)"); + + b.Property("EmployeeFullName") + .HasMaxLength(255) + .HasColumnType("nvarchar(255)"); + + b.Property("EmployeeId") + .HasColumnType("bigint"); + + b.Property("EndLeave") + .HasColumnType("datetime2"); + + b.Property("HasShiftDuration") + .HasColumnType("bit"); + + b.Property("IsAccepted") + .HasColumnType("bit"); + + b.Property("LeaveHourses") + .HasMaxLength(5) + .HasColumnType("nvarchar(5)"); + + b.Property("LeaveType") + .HasMaxLength(25) + .HasColumnType("nvarchar(25)"); + + b.Property("Month") + .HasColumnType("int"); + + b.Property("PaidLeaveType") + .HasMaxLength(25) + .HasColumnType("nvarchar(25)"); + + b.Property("ShiftDuration") + .IsRequired() + .HasMaxLength(30) + .HasColumnType("nvarchar(30)"); + + b.Property("StartLeave") + .HasColumnType("datetime2"); + + b.Property("WorkshopId") + .HasColumnType("bigint"); + + b.Property("WorkshopName") + .HasMaxLength(255) + .HasColumnType("nvarchar(255)"); + + b.Property("Year") + .HasColumnType("int"); + + b.HasKey("id"); + + b.ToTable("Leave", (string)null); + }); + + modelBuilder.Entity("Company.Domain.LeftWorkAgg.LeftWork", b => + { + b.Property("id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("id")); + + b.Property("AddBonusesPay") + .HasColumnType("bit"); + + b.Property("AddLeavePay") + .HasColumnType("bit"); + + b.Property("AddYearsPay") + .HasColumnType("bit"); + + b.Property("BonusesOptions") + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("ComputeOptions") + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("CreationDate") + .HasColumnType("datetime2"); + + b.Property("EmployeeFullName") + .HasMaxLength(255) + .HasColumnType("nvarchar(255)"); + + b.Property("EmployeeId") + .HasColumnType("bigint"); + + b.Property("IncludeStatus") + .HasColumnType("bit"); + + b.Property("JobId") + .HasColumnType("bigint"); + + b.Property("LeftWorkDate") + .HasColumnType("datetime2"); + + b.Property("StartWorkDate") + .HasColumnType("datetime2"); + + b.Property("WorkshopId") + .HasColumnType("bigint"); + + b.Property("WorkshopName") + .HasMaxLength(255) + .HasColumnType("nvarchar(255)"); + + b.HasKey("id"); + + b.HasIndex("EmployeeId"); + + b.HasIndex("WorkshopId"); + + b.ToTable("LeftWork", (string)null); + }); + + modelBuilder.Entity("Company.Domain.LeftWorkInsuranceAgg.LeftWorkInsurance", b => + { + b.Property("id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("id")); + + b.Property("CreationDate") + .HasColumnType("datetime2"); + + b.Property("EmployeeFullName") + .HasMaxLength(255) + .HasColumnType("nvarchar(255)"); + + b.Property("EmployeeId") + .HasColumnType("bigint"); + + b.Property("IncludeStatus") + .HasColumnType("bit"); + + b.Property("JobId") + .HasColumnType("bigint"); + + b.Property("LeftWorkDate") + .HasColumnType("datetime2(7)"); + + b.Property("StartWorkDate") + .HasColumnType("datetime2"); + + b.Property("WorkshopId") + .HasColumnType("bigint"); + + b.Property("WorkshopName") + .HasMaxLength(255) + .HasColumnType("nvarchar(255)"); + + b.HasKey("id"); + + b.HasIndex("EmployeeId"); + + b.HasIndex("WorkshopId"); + + b.ToTable("LeftWorkInsurances", (string)null); + }); + + modelBuilder.Entity("Company.Domain.LeftWorkTempAgg.LeftWorkTemp", b => + { + b.Property("id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("id")); + + b.Property("CreationDate") + .HasColumnType("datetime2"); + + b.Property("EmployeeId") + .HasColumnType("bigint"); + + b.Property("JobId") + .HasColumnType("bigint"); + + b.Property("LastDayStanding") + .HasColumnType("datetime2"); + + b.Property("LeftWork") + .HasColumnType("datetime2"); + + b.Property("LeftWorkId") + .HasColumnType("bigint"); + + b.Property("LeftWorkType") + .HasColumnType("int"); + + b.Property("StartWork") + .HasColumnType("datetime2"); + + b.Property("WorkshopId") + .HasColumnType("bigint"); + + b.HasKey("id"); + + b.ToTable("LeftWorkTemps"); + }); + + modelBuilder.Entity("Company.Domain.LoanAgg.Entities.Loan", b => + { + b.Property("id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("id")); + + b.Property("Amount") + .HasColumnType("float"); + + b.Property("AmountPerMonth") + .HasColumnType("float"); + + b.Property("Count") + .HasMaxLength(3) + .HasColumnType("nvarchar(3)"); + + b.Property("CreatedByAccountId") + .HasColumnType("bigint"); + + b.Property("CreatedByUserType") + .IsRequired() + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("CreationDate") + .HasColumnType("datetime2"); + + b.Property("EmployeeId") + .HasColumnType("bigint"); + + b.Property("GetRounded") + .HasColumnType("bit"); + + b.Property("LoanGrantDate") + .HasColumnType("datetime2"); + + b.Property("StartInstallmentPayment") + .HasColumnType("datetime2"); + + b.Property("WorkshopId") + .HasColumnType("bigint"); + + b.HasKey("id"); + + b.ToTable("Loan", (string)null); + }); + + modelBuilder.Entity("Company.Domain.MandatoryHoursAgg.MandatoryHours", b => + { + b.Property("id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("id")); + + b.Property("Aban") + .HasColumnType("float"); + + b.Property("AbanFridays") + .HasColumnType("int"); + + b.Property("AbanHolidays") + .HasColumnType("int"); + + b.Property("AbanMonadatoryDays") + .HasColumnType("int"); + + b.Property("Azar") + .HasColumnType("float"); + + b.Property("AzarFridays") + .HasColumnType("int"); + + b.Property("AzarHolidays") + .HasColumnType("int"); + + b.Property("AzarMonadatoryDays") + .HasColumnType("int"); + + b.Property("Bahman") + .HasColumnType("float"); + + b.Property("BahmanFridays") + .HasColumnType("int"); + + b.Property("BahmanHolidays") + .HasColumnType("int"); + + b.Property("BahmanMonadatoryDays") + .HasColumnType("int"); + + b.Property("CreationDate") + .HasColumnType("datetime2"); + + b.Property("Dey") + .HasColumnType("float"); + + b.Property("DeyFridays") + .HasColumnType("int"); + + b.Property("DeyHolidays") + .HasColumnType("int"); + + b.Property("DeyMonadatoryDays") + .HasColumnType("int"); + + b.Property("Esfand") + .HasColumnType("float"); + + b.Property("EsfandFridays") + .HasColumnType("int"); + + b.Property("EsfandHolidays") + .HasColumnType("int"); + + b.Property("EsfandMonadatoryDays") + .HasColumnType("int"); + + b.Property("Farvardin") + .HasColumnType("float"); + + b.Property("FarvardinFridays") + .HasColumnType("int"); + + b.Property("FarvardinHolidays") + .HasColumnType("int"); + + b.Property("FarvardinMonadatoryDays") + .HasColumnType("int"); + + b.Property("Khordad") + .HasColumnType("float"); + + b.Property("KhordadFridays") + .HasColumnType("int"); + + b.Property("KhordadHolidays") + .HasColumnType("int"); + + b.Property("KhordadMonadatoryDays") + .HasColumnType("int"); + + b.Property("Mehr") + .HasColumnType("float"); + + b.Property("MehrFridays") + .HasColumnType("int"); + + b.Property("MehrHolidays") + .HasColumnType("int"); + + b.Property("MehrMonadatoryDays") + .HasColumnType("int"); + + b.Property("Mordad") + .HasColumnType("float"); + + b.Property("MordadFridays") + .HasColumnType("int"); + + b.Property("MordadHolidays") + .HasColumnType("int"); + + b.Property("MordadMonadatoryDays") + .HasColumnType("int"); + + b.Property("Ordibehesht") + .HasColumnType("float"); + + b.Property("OrdibeheshtFridays") + .HasColumnType("int"); + + b.Property("OrdibeheshtHolidays") + .HasColumnType("int"); + + b.Property("OrdibeheshtMonadatoryDays") + .HasColumnType("int"); + + b.Property("Shahrivar") + .HasColumnType("float"); + + b.Property("ShahrivarFridays") + .HasColumnType("int"); + + b.Property("ShahrivarHolidays") + .HasColumnType("int"); + + b.Property("ShahrivarMonadatoryDays") + .HasColumnType("int"); + + b.Property("Tir") + .HasColumnType("float"); + + b.Property("TirFridays") + .HasColumnType("int"); + + b.Property("TirHolidays") + .HasColumnType("int"); + + b.Property("TirMonadatoryDays") + .HasColumnType("int"); + + b.Property("Year") + .HasMaxLength(4) + .HasColumnType("int"); + + b.HasKey("id"); + + b.ToTable("MandatoryHours", (string)null); + }); + + modelBuilder.Entity("Company.Domain.MasterPenaltyTitle.MasterPenaltyTitle", b => + { + b.Property("id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("id")); + + b.Property("CreationDate") + .HasColumnType("datetime2"); + + b.Property("Day") + .HasColumnType("nvarchar(max)"); + + b.Property("FromDate") + .HasColumnType("datetime2"); + + b.Property("MasterPetition_Id") + .HasColumnType("bigint"); + + b.Property("PaidAmount") + .HasColumnType("nvarchar(max)"); + + b.Property("RemainingAmount") + .HasColumnType("nvarchar(max)"); + + b.Property("Title") + .HasColumnType("nvarchar(max)"); + + b.Property("ToDate") + .HasColumnType("datetime2"); + + b.HasKey("id"); + + b.HasIndex("MasterPetition_Id"); + + b.ToTable("Master_PenaltyTitles", (string)null); + }); + + modelBuilder.Entity("Company.Domain.MasterPetition.MasterPetition", b => + { + b.Property("id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("id")); + + b.Property("BoardType_Id") + .HasColumnType("int"); + + b.Property("CreationDate") + .HasColumnType("datetime2"); + + b.Property("Description") + .HasColumnType("nvarchar(max)"); + + b.Property("File_Id") + .HasColumnType("bigint"); + + b.Property("MasterName") + .HasColumnType("nvarchar(max)"); + + b.Property("WorkHistoryDescreption") + .HasColumnType("nvarchar(max)"); + + b.HasKey("id"); + + b.HasIndex("BoardType_Id"); + + b.HasIndex("File_Id"); + + b.ToTable("Master_Petitions", (string)null); + }); + + modelBuilder.Entity("Company.Domain.MasterWorkHistory.MasterWorkHistory", b => + { + b.Property("id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("id")); + + b.Property("CreationDate") + .HasColumnType("datetime2"); + + b.Property("Description") + .HasColumnType("nvarchar(max)"); + + b.Property("FromDate") + .HasColumnType("datetime2"); + + b.Property("MasterPetition_Id") + .HasColumnType("bigint"); + + b.Property("ToDate") + .HasColumnType("datetime2"); + + b.Property("WorkingHoursPerDay") + .HasColumnType("int"); + + b.Property("WorkingHoursPerWeek") + .HasColumnType("int"); + + b.HasKey("id"); + + b.HasIndex("MasterPetition_Id"); + + b.ToTable("Master_WorkHistories", (string)null); + }); + + modelBuilder.Entity("Company.Domain.ModuleAgg.EntityModule", b => + { + b.Property("id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("id")); + + b.Property("CreationDate") + .HasColumnType("datetime2"); + + b.Property("IsActiveString") + .HasColumnType("nvarchar(max)"); + + b.Property("NameSubModule") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.HasKey("id"); + + b.ToTable("TextManager_Module", (string)null); + }); + + modelBuilder.Entity("Company.Domain.ModuleTextManagerAgg.EntityModuleTextManager", b => + { + b.Property("TextManagerId") + .HasColumnType("bigint"); + + b.Property("ModuleId") + .HasColumnType("bigint"); + + b.HasKey("TextManagerId", "ModuleId"); + + b.HasIndex("ModuleId"); + + b.ToTable("TextManager_ModuleTextManager", (string)null); + }); + + modelBuilder.Entity("Company.Domain.OriginalTitleAgg.EntityOriginalTitle", b => + { + b.Property("id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("id")); + + b.Property("CreationDate") + .HasColumnType("datetime2"); + + b.Property("IsActiveString") + .HasColumnType("nvarchar(max)"); + + b.Property("Title") + .IsRequired() + .HasMaxLength(60) + .HasColumnType("nvarchar(60)"); + + b.HasKey("id"); + + b.ToTable("TextManager_OriginalTitle", (string)null); + }); + + modelBuilder.Entity("Company.Domain.PaymentToEmployeeAgg.PaymentToEmployee", b => + { + b.Property("id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("id")); + + b.Property("CreationDate") + .HasColumnType("datetime2"); + + b.Property("EmployeeId") + .HasColumnType("bigint"); + + b.Property("Month") + .HasMaxLength(10) + .HasColumnType("nvarchar(10)"); + + b.Property("WorkshopId") + .HasColumnType("bigint"); + + b.Property("Year") + .HasMaxLength(4) + .HasColumnType("nvarchar(4)"); + + b.HasKey("id"); + + b.ToTable("PaymentToEmployees", (string)null); + }); + + modelBuilder.Entity("Company.Domain.PaymentToEmployeeItemAgg.PaymentToEmployeeItem", b => + { + b.Property("id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("id")); + + b.Property("BankCheckNumber") + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("CashDescription") + .HasMaxLength(500) + .HasColumnType("nvarchar(500)"); + + b.Property("CreationDate") + .HasColumnType("datetime2"); + + b.Property("DestinationBankAccountNumber") + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("DestinationBankName") + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("EmployeeId") + .HasColumnType("bigint"); + + b.Property("PayDate") + .HasColumnType("datetime2"); + + b.Property("Payment") + .HasColumnType("float"); + + b.Property("PaymentMetod") + .HasMaxLength(25) + .HasColumnType("nvarchar(25)"); + + b.Property("PaymentTitle") + .HasMaxLength(150) + .HasColumnType("nvarchar(150)"); + + b.Property("PaymentToEmployeeId") + .HasColumnType("bigint"); + + b.Property("SourceBankAccountNumber") + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("SourceBankName") + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("TypeDestinationBankNumber") + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("TypeSourceBankNumber") + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("WorkshopId") + .HasColumnType("bigint"); + + b.HasKey("id"); + + b.HasIndex("PaymentToEmployeeId"); + + b.ToTable("PaymentToEmployeeItems", (string)null); + }); + + modelBuilder.Entity("Company.Domain.PenaltyTitle.PenaltyTitle", b => + { + b.Property("id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("id")); + + b.Property("CreationDate") + .HasColumnType("datetime2"); + + b.Property("Day") + .HasColumnType("nvarchar(max)"); + + b.Property("FromDate") + .HasColumnType("datetime2(7)"); + + b.Property("PaidAmount") + .HasColumnType("nvarchar(max)"); + + b.Property("Petition_Id") + .HasColumnType("bigint"); + + b.Property("RemainingAmount") + .HasColumnType("nvarchar(max)"); + + b.Property("Title") + .HasColumnType("nvarchar(max)"); + + b.Property("ToDate") + .HasColumnType("datetime2(7)"); + + b.HasKey("id"); + + b.HasIndex("Petition_Id"); + + b.ToTable("PenaltyTitles", (string)null); + }); + + modelBuilder.Entity("Company.Domain.PercentageAgg.Percentage", b => + { + b.Property("id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("id")); + + b.Property("CreationDate") + .HasColumnType("datetime2"); + + b.Property("Percent") + .HasColumnType("float"); + + b.HasKey("id"); + + b.ToTable("Percentages", (string)null); + }); + + modelBuilder.Entity("Company.Domain.PersonnelCodeAgg.PersonnelCodeDomain", b => + { + b.Property("id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("id")); + + b.Property("CreationDate") + .HasColumnType("datetime2"); + + b.Property("EmployeeId") + .HasColumnType("bigint"); + + b.Property("PersonnelCode") + .HasColumnType("bigint"); + + b.Property("WorkshopId") + .HasColumnType("bigint"); + + b.HasKey("id"); + + b.HasIndex("EmployeeId"); + + b.HasIndex("WorkshopId"); + + b.ToTable("PersonnelCodes", (string)null); + }); + + modelBuilder.Entity("Company.Domain.Petition.Petition", b => + { + b.Property("id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("id")); + + b.Property("BoardType_Id") + .HasColumnType("int"); + + b.Property("CreationDate") + .HasColumnType("datetime2"); + + b.Property("Description") + .HasColumnType("nvarchar(max)"); + + b.Property("File_Id") + .HasColumnType("bigint"); + + b.Property("NotificationPetitionDate") + .HasColumnType("datetime2"); + + b.Property("PetitionIssuanceDate") + .HasColumnType("datetime2"); + + b.Property("PetitionNo") + .HasColumnType("nvarchar(max)"); + + b.Property("TotalPenalty") + .HasColumnType("nvarchar(max)"); + + b.Property("TotalPenaltyTitles") + .HasColumnType("nvarchar(max)"); + + b.Property("WorkHistoryDescreption") + .HasColumnType("nvarchar(max)"); + + b.HasKey("id"); + + b.HasIndex("BoardType_Id"); + + b.HasIndex("File_Id"); + + b.ToTable("Petitions", (string)null); + }); + + modelBuilder.Entity("Company.Domain.ProceedingSession.ProceedingSession", b => + { + b.Property("id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("id")); + + b.Property("Board_Id") + .HasColumnType("bigint"); + + b.Property("CreationDate") + .HasColumnType("datetime2"); + + b.Property("Date") + .HasColumnType("datetime2"); + + b.Property("Status") + .HasColumnType("int"); + + b.Property("Time") + .HasColumnType("nvarchar(max)"); + + b.HasKey("id"); + + b.HasIndex("Board_Id"); + + b.ToTable("ProceedingSessions", (string)null); + }); + + modelBuilder.Entity("Company.Domain.RepresentativeAgg.Representative", b => + { + b.Property("id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("id")); + + b.Property("Address") + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("AgentPhone") + .HasMaxLength(20) + .HasColumnType("nvarchar(20)"); + + b.Property("CreationDate") + .HasColumnType("datetime2"); + + b.Property("FName") + .HasMaxLength(20) + .HasColumnType("nvarchar(20)"); + + b.Property("FullName") + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("IdNumber") + .HasMaxLength(20) + .HasColumnType("nvarchar(20)"); + + b.Property("IsActive") + .HasMaxLength(5) + .HasColumnType("nvarchar(5)"); + + b.Property("IsLegal") + .HasMaxLength(5) + .HasColumnType("nvarchar(5)"); + + b.Property("LName") + .HasMaxLength(20) + .HasColumnType("nvarchar(20)"); + + b.Property("LegalName") + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("NationalId") + .HasMaxLength(20) + .HasColumnType("nvarchar(20)"); + + b.Property("Nationalcode") + .HasMaxLength(10) + .HasColumnType("nvarchar(10)"); + + b.Property("Phone") + .HasMaxLength(20) + .HasColumnType("nvarchar(20)"); + + b.Property("RegisterId") + .HasMaxLength(20) + .HasColumnType("nvarchar(20)"); + + b.HasKey("id"); + + b.ToTable("Representative", (string)null); + }); + + modelBuilder.Entity("Company.Domain.RewardAgg.Reward", b => + { + b.Property("id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("id")); + + b.Property("Amount") + .HasColumnType("float"); + + b.Property("CreatedByAccountId") + .HasColumnType("bigint"); + + b.Property("CreatedByUserType") + .IsRequired() + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("CreationDate") + .HasColumnType("datetime2"); + + b.Property("Description") + .HasColumnType("ntext"); + + b.Property("EmployeeId") + .HasColumnType("bigint"); + + b.Property("GrantDate") + .HasColumnType("datetime2"); + + b.Property("IsActive") + .IsRequired() + .HasMaxLength(5) + .HasColumnType("nvarchar(5)"); + + b.Property("LastModifiedByAccountId") + .HasColumnType("bigint"); + + b.Property("LastModifiedByUserType") + .IsRequired() + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("RewardType") + .IsRequired() + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("Title") + .HasMaxLength(255) + .HasColumnType("nvarchar(255)"); + + b.Property("WorkshopId") + .HasColumnType("bigint"); + + b.HasKey("id"); + + b.ToTable("Rewards", (string)null); + }); + + modelBuilder.Entity("Company.Domain.RollCallAgg.RollCall", b => + { + b.Property("id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("id")); + + b.Property("BreakTimeSpan") + .IsRequired() + .HasMaxLength(30) + .HasColumnType("nvarchar(30)"); + + b.Property("CreationDate") + .HasColumnType("datetime2"); + + b.Property("EarlyEntryDuration") + .IsRequired() + .HasMaxLength(30) + .HasColumnType("nvarchar(30)"); + + b.Property("EarlyExitDuration") + .IsRequired() + .HasMaxLength(30) + .HasColumnType("nvarchar(30)"); + + b.Property("EmployeeFullName") + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b.Property("EmployeeId") + .HasColumnType("bigint"); + + b.Property("EndDate") + .HasColumnType("datetime2"); + + b.Property("FridayWorkTimeSpan") + .IsRequired() + .HasMaxLength(30) + .HasColumnType("nvarchar(30)"); + + b.Property("LateEntryDuration") + .IsRequired() + .HasMaxLength(30) + .HasColumnType("nvarchar(30)"); + + b.Property("LateExitDuration") + .IsRequired() + .HasMaxLength(30) + .HasColumnType("nvarchar(30)"); + + b.Property("Month") + .HasColumnType("int"); + + b.Property("NightWorkTimeSpan") + .IsRequired() + .HasMaxLength(30) + .HasColumnType("nvarchar(30)"); + + b.Property("RollCallModifyType") + .IsRequired() + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("ShiftDate") + .HasColumnType("datetime2"); + + b.Property("ShiftDurationTimeSpan") + .IsRequired() + .HasMaxLength(30) + .HasColumnType("nvarchar(30)"); + + b.Property("ShiftType") + .IsRequired() + .HasMaxLength(22) + .HasColumnType("nvarchar(22)"); + + b.Property("StartDate") + .HasColumnType("datetime2"); + + b.Property("WorkshopId") + .HasColumnType("bigint"); + + b.Property("Year") + .HasColumnType("int"); + + b.HasKey("id"); + + b.ToTable("RollCall", (string)null); + }); + + modelBuilder.Entity("Company.Domain.RollCallEmployeeAgg.RollCallEmployee", b => + { + b.Property("id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("id")); + + b.Property("EmployeeFullName") + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b.Property("EmployeeId") + .HasColumnType("bigint"); + + b.Property("FName") + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("HasChangedName") + .HasColumnType("bit"); + + b.Property("HasUploadedImage") + .HasMaxLength(5) + .HasColumnType("nvarchar(5)"); + + b.Property("IsActiveString") + .HasMaxLength(5) + .HasColumnType("nvarchar(5)"); + + b.Property("LName") + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("WorkshopId") + .HasColumnType("bigint"); + + b.HasKey("id"); + + b.ToTable("RollCallEmployees", (string)null); + }); + + modelBuilder.Entity("Company.Domain.RollCallEmployeeStatusAgg.RollCallEmployeeStatus", b => + { + b.Property("id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("id")); + + b.Property("EndDate") + .HasColumnType("datetime2"); + + b.Property("RollCallEmployeeId") + .HasColumnType("bigint"); + + b.Property("StartDate") + .HasColumnType("datetime2"); + + b.HasKey("id"); + + b.HasIndex("RollCallEmployeeId"); + + b.ToTable("RollCallEmployeesStatus"); + }); + + modelBuilder.Entity("Company.Domain.RollCallPlanAgg.RollCallPlan", b => + { + b.Property("id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("id")); + + b.Property("BaseAmont") + .HasColumnType("float"); + + b.Property("FinalAmont") + .HasColumnType("float"); + + b.Property("IncreasePercentage") + .HasColumnType("float"); + + b.Property("MaxPersonValid") + .HasColumnType("int"); + + b.HasKey("id"); + + b.ToTable("RollCallPlans", (string)null); + }); + + modelBuilder.Entity("Company.Domain.RollCallServiceAgg.RollCallService", b => + { + b.Property("id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("id")); + + b.Property("AccountId") + .HasColumnType("bigint"); + + b.Property("Amount") + .HasColumnType("float"); + + b.Property("CreationDate") + .HasColumnType("datetime2"); + + b.Property("CustomizeCheckoutAmount") + .HasColumnType("float"); + + b.Property("CustomizeCheckoutServiceEnd") + .HasColumnType("datetime2"); + + b.Property("CustomizeCheckoutServiceStart") + .HasColumnType("datetime2"); + + b.Property("Duration") + .HasMaxLength(2) + .HasColumnType("nvarchar(2)"); + + b.Property("EndService") + .HasColumnType("datetime2"); + + b.Property("HasCustomizeCheckoutService") + .HasMaxLength(5) + .HasColumnType("nvarchar(5)"); + + b.Property("IsActiveString") + .HasMaxLength(5) + .HasColumnType("nvarchar(5)"); + + b.Property("MaxPersonValid") + .HasColumnType("int"); + + b.Property("ServiceType") + .HasMaxLength(20) + .HasColumnType("nvarchar(20)"); + + b.Property("StartService") + .HasColumnType("datetime2"); + + b.Property("WorkshopId") + .HasColumnType("bigint"); + + b.HasKey("id"); + + b.HasIndex("WorkshopId"); + + b.ToTable("RollCallServices", (string)null); + }); + + modelBuilder.Entity("Company.Domain.SalaryAidAgg.SalaryAid", b => + { + b.Property("id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("id")); + + b.Property("Amount") + .HasColumnType("float"); + + b.Property("CreatedByAccountId") + .HasColumnType("bigint"); + + b.Property("CreatedByUserType") + .IsRequired() + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("CreationDate") + .HasColumnType("datetime2"); + + b.Property("EmployeeId") + .HasColumnType("bigint"); + + b.Property("LastModifiedByAccountId") + .HasColumnType("bigint"); + + b.Property("LastModifiedByUserType") + .IsRequired() + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("SalaryAidDateTime") + .HasColumnType("datetime2"); + + b.Property("WorkshopId") + .HasColumnType("bigint"); + + b.HasKey("id"); + + b.ToTable("SalaryAids", (string)null); + }); + + modelBuilder.Entity("Company.Domain.SmsResultAgg.SmsResult", b => + { + b.Property("id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("id")); + + b.Property("ContractingPartyName") + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("ContractingPatyId") + .HasColumnType("bigint"); + + b.Property("CreationDate") + .HasColumnType("datetime2"); + + b.Property("InstitutionContractId") + .HasColumnType("bigint"); + + b.Property("MessageId") + .HasColumnType("int"); + + b.Property("Mobile") + .HasMaxLength(12) + .HasColumnType("nvarchar(12)"); + + b.Property("Status") + .HasMaxLength(30) + .HasColumnType("nvarchar(30)"); + + b.Property("TypeOfSms") + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.HasKey("id"); + + b.ToTable("SmsResults", (string)null); + }); + + modelBuilder.Entity("Company.Domain.SubtitleAgg.EntitySubtitle", b => + { + b.Property("id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("id")); + + b.Property("CreationDate") + .HasColumnType("datetime2"); + + b.Property("EntitySubtitleid") + .HasColumnType("bigint"); + + b.Property("IsActiveString") + .HasColumnType("nvarchar(max)"); + + b.Property("OriginalTitle_Id") + .HasColumnType("bigint"); + + b.Property("Subtitle") + .IsRequired() + .HasMaxLength(60) + .HasColumnType("nvarchar(60)"); + + b.HasKey("id"); + + b.HasIndex("EntitySubtitleid"); + + b.HasIndex("OriginalTitle_Id"); + + b.ToTable("TextManager_Subtitle", (string)null); + }); + + modelBuilder.Entity("Company.Domain.TaxJobCategoryAgg.TaxJobCategory", b => + { + b.Property("id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("id")); + + b.Property("JobCategoryCode") + .HasMaxLength(5) + .HasColumnType("nvarchar(5)"); + + b.Property("JobCategoryName") + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b.HasKey("id"); + + b.ToTable("TaxJobCategory", (string)null); + }); + + modelBuilder.Entity("Company.Domain.TaxLeftWorkCategoryAgg.TaxLeftWorkCategory", b => + { + b.Property("id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("id")); + + b.Property("BudgetLawExceptions") + .HasMaxLength(3) + .HasColumnType("nvarchar(3)"); + + b.Property("Country") + .HasMaxLength(3) + .HasColumnType("nvarchar(3)"); + + b.Property("CreationDate") + .HasColumnType("datetime2"); + + b.Property("CurrencyType") + .HasMaxLength(3) + .HasColumnType("nvarchar(3)"); + + b.Property("EmployeeId") + .HasColumnType("bigint"); + + b.Property("EmployeeName") + .HasMaxLength(150) + .HasColumnType("nvarchar(150)"); + + b.Property("EmploymentLocationStatus") + .HasMaxLength(3) + .HasColumnType("nvarchar(3)"); + + b.Property("ExchangeRate") + .HasMaxLength(3) + .HasColumnType("nvarchar(3)"); + + b.Property("InsuranceBranch") + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b.Property("InsuranceName") + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b.Property("JobCategoryCode") + .HasMaxLength(3) + .HasColumnType("nvarchar(3)"); + + b.Property("JobCategoryId") + .HasColumnType("bigint"); + + b.Property("JobTitle") + .HasMaxLength(150) + .HasColumnType("nvarchar(150)"); + + b.Property("PaymentType") + .HasMaxLength(3) + .HasColumnType("nvarchar(3)"); + + b.Property("RetirementDate") + .HasMaxLength(10) + .HasColumnType("nvarchar(10)"); + + b.Property("TaxExempt") + .HasMaxLength(3) + .HasColumnType("nvarchar(3)"); + + b.Property("TypeOfEmployment") + .HasMaxLength(3) + .HasColumnType("nvarchar(3)"); + + b.Property("TypeOfInsurance") + .HasMaxLength(3) + .HasColumnType("nvarchar(3)"); + + b.Property("WorkshopId") + .HasColumnType("bigint"); + + b.Property("WorkshopName") + .HasMaxLength(150) + .HasColumnType("nvarchar(150)"); + + b.HasKey("id"); + + b.HasIndex("WorkshopId"); + + b.ToTable("TaxLeftWorkCategory", (string)null); + }); + + modelBuilder.Entity("Company.Domain.TaxLeftWorkItemAgg.TaxLeftWorkItem", b => + { + b.Property("id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("id")); + + b.Property("CreationDate") + .HasColumnType("datetime2"); + + b.Property("LeftWork") + .HasColumnType("datetime2"); + + b.Property("StartWork") + .HasColumnType("datetime2"); + + b.Property("TaxLeftWorkCategoryId") + .HasColumnType("bigint"); + + b.HasKey("id"); + + b.HasIndex("TaxLeftWorkCategoryId"); + + b.ToTable("TaxLeftWorkItem", (string)null); + }); + + modelBuilder.Entity("Company.Domain.TemporaryClientRegistrationAgg.ContractingPartyTemp", b => + { + b.Property("id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("id")); + + b.Property("Address") + .HasMaxLength(500) + .HasColumnType("nvarchar(500)"); + + b.Property("City") + .HasMaxLength(35) + .HasColumnType("nvarchar(35)"); + + b.Property("CreationDate") + .HasColumnType("datetime2"); + + b.Property("DateOfBirth") + .HasColumnType("datetime2"); + + b.Property("FName") + .IsRequired() + .HasMaxLength(25) + .HasColumnType("nvarchar(25)"); + + b.Property("FatherName") + .HasMaxLength(25) + .HasColumnType("nvarchar(25)"); + + b.Property("Gender") + .IsRequired() + .HasMaxLength(6) + .HasColumnType("nvarchar(6)"); + + b.Property("IdNumber") + .HasMaxLength(10) + .HasColumnType("nvarchar(10)"); + + b.Property("IdNumberSeri") + .HasMaxLength(5) + .HasColumnType("nvarchar(5)"); + + b.Property("IdNumberSerial") + .HasMaxLength(15) + .HasColumnType("nvarchar(15)"); + + b.Property("LName") + .IsRequired() + .HasMaxLength(25) + .HasColumnType("nvarchar(25)"); + + b.Property("NationalCode") + .IsRequired() + .HasMaxLength(10) + .HasColumnType("nvarchar(10)"); + + b.Property("Phone") + .HasMaxLength(12) + .HasColumnType("nvarchar(12)"); + + b.Property("State") + .HasMaxLength(35) + .HasColumnType("nvarchar(35)"); + + b.HasKey("id"); + + b.ToTable("ContractingPartyTemp", (string)null); + }); + + modelBuilder.Entity("Company.Domain.TemporaryClientRegistrationAgg.InstitutionContractTemp", b => + { + b.Property("id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("id")); + + b.Property("ContractEndGr") + .HasColumnType("datetime2"); + + b.Property("ContractStartGr") + .HasColumnType("datetime2"); + + b.Property("ContractingPartyTempId") + .HasColumnType("bigint"); + + b.Property("CreationDate") + .HasColumnType("datetime2"); + + b.Property("MessageId") + .HasColumnType("int"); + + b.Property("OfficialCompany") + .HasMaxLength(30) + .HasColumnType("nvarchar(30)"); + + b.Property("PaymentModel") + .HasMaxLength(30) + .HasColumnType("nvarchar(30)"); + + b.Property("PeriodModel") + .HasMaxLength(3) + .HasColumnType("nvarchar(3)"); + + b.Property("RegistrationStatus") + .HasMaxLength(30) + .HasColumnType("nvarchar(30)"); + + b.Property("SendVerifyCodeTime") + .HasColumnType("datetime2"); + + b.Property("TotalPayment") + .HasColumnType("float"); + + b.Property("ValueAddedTax") + .HasColumnType("float"); + + b.Property("VerifyCode") + .HasMaxLength(6) + .HasColumnType("nvarchar(6)"); + + b.Property("VerifyCodeEndTime") + .HasColumnType("datetime2"); + + b.HasKey("id"); + + b.ToTable("InstitutionContractTemps", (string)null); + }); + + modelBuilder.Entity("Company.Domain.TemporaryClientRegistrationAgg.WorkshopServicesTemp", b => + { + b.Property("id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("id")); + + b.Property("CountPerson") + .HasColumnType("int"); + + b.Property("CreationDate") + .HasColumnType("datetime2"); + + b.Property("ServiceName") + .HasMaxLength(40) + .HasColumnType("nvarchar(40)"); + + b.Property("WorkshopTempId") + .HasColumnType("bigint"); + + b.HasKey("id"); + + b.HasIndex("WorkshopTempId"); + + b.ToTable("WorkshopServicesTemps", (string)null); + }); + + modelBuilder.Entity("Company.Domain.TemporaryClientRegistrationAgg.WorkshopTemp", b => + { + b.Property("id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("id")); + + b.Property("ContractingPartyTempId") + .HasColumnType("bigint"); + + b.Property("CountPerson") + .HasColumnType("int"); + + b.Property("CreationDate") + .HasColumnType("datetime2"); + + b.Property("WorkshopName") + .HasMaxLength(255) + .HasColumnType("nvarchar(255)"); + + b.Property("WorkshopServicesAmount") + .HasColumnType("float"); + + b.HasKey("id"); + + b.ToTable("WorkshopTemps", (string)null); + }); + + modelBuilder.Entity("Company.Domain.TextManagerAgg.EntityTextManager", b => + { + b.Property("id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("id")); + + b.Property("Chapter_Id") + .HasColumnType("bigint"); + + b.Property("CreationDate") + .HasColumnType("datetime2"); + + b.Property("DateTextManager") + .HasColumnType("nvarchar(max)"); + + b.Property("Description") + .HasColumnType("nvarchar(max)"); + + b.Property("IsActiveString") + .HasColumnType("nvarchar(max)"); + + b.Property("NoteNumber") + .HasColumnType("nvarchar(max)"); + + b.Property("NumberTextManager") + .HasColumnType("nvarchar(max)"); + + b.Property("OriginalTitle_Id") + .HasColumnType("bigint"); + + b.Property("Paragraph") + .HasColumnType("nvarchar(max)"); + + b.Property("SubjectTextManager") + .HasColumnType("nvarchar(max)"); + + b.Property("Subtitle_Id") + .HasColumnType("bigint"); + + b.HasKey("id"); + + b.ToTable("TextManager_TextManager", (string)null); + }); + + modelBuilder.Entity("Company.Domain.WorkHistory.WorkHistory", b => + { + b.Property("id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("id")); + + b.Property("CreationDate") + .HasColumnType("datetime2"); + + b.Property("Description") + .HasColumnType("nvarchar(max)"); + + b.Property("FromDate") + .HasColumnType("datetime2"); + + b.Property("Petition_Id") + .HasColumnType("bigint"); + + b.Property("ToDate") + .HasColumnType("datetime2"); + + b.Property("WorkingHoursPerDay") + .HasColumnType("int"); + + b.Property("WorkingHoursPerWeek") + .HasColumnType("int"); + + b.HasKey("id"); + + b.HasIndex("Petition_Id"); + + b.ToTable("WorkHistories", (string)null); + }); + + modelBuilder.Entity("Company.Domain.WorkingHoursAgg.WorkingHours", b => + { + b.Property("id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("id")); + + b.Property("ContractId") + .HasColumnType("bigint"); + + b.Property("ContractNo") + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b.Property("CreationDate") + .HasColumnType("datetime2"); + + b.Property("NumberOfFriday") + .HasMaxLength(15) + .HasColumnType("nvarchar(15)"); + + b.Property("NumberOfWorkingDays") + .HasMaxLength(15) + .HasColumnType("nvarchar(15)"); + + b.Property("OverNightWorkH") + .HasMaxLength(10) + .HasColumnType("nvarchar(10)"); + + b.Property("OverNightWorkM") + .HasMaxLength(2) + .HasColumnType("nvarchar(2)"); + + b.Property("OverTimeWorkH") + .HasMaxLength(15) + .HasColumnType("nvarchar(15)"); + + b.Property("OverTimeWorkM") + .HasMaxLength(2) + .HasColumnType("nvarchar(2)"); + + b.Property("ShiftWork") + .HasMaxLength(2) + .HasColumnType("nvarchar(2)"); + + b.Property("TotalHoursesH") + .HasMaxLength(15) + .HasColumnType("nvarchar(15)"); + + b.Property("TotalHoursesM") + .HasMaxLength(2) + .HasColumnType("nvarchar(2)"); + + b.Property("WeeklyWorkingTime") + .HasMaxLength(10) + .HasColumnType("nvarchar(10)"); + + b.HasKey("id"); + + b.HasIndex("ContractId"); + + b.ToTable("WorkingHours", (string)null); + }); + + modelBuilder.Entity("Company.Domain.WorkingHoursItemsAgg.WorkingHoursItems", b => + { + b.Property("id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("id")); + + b.Property("ComplexEnd") + .HasMaxLength(5) + .HasColumnType("nvarchar(5)"); + + b.Property("ComplexStart") + .HasMaxLength(5) + .HasColumnType("nvarchar(5)"); + + b.Property("CreationDate") + .HasColumnType("datetime2"); + + b.Property("DayOfWork") + .HasMaxLength(1) + .HasColumnType("nvarchar(1)"); + + b.Property("End1") + .HasMaxLength(5) + .HasColumnType("nvarchar(5)"); + + b.Property("End2") + .HasMaxLength(5) + .HasColumnType("nvarchar(5)"); + + b.Property("End3") + .HasMaxLength(5) + .HasColumnType("nvarchar(5)"); + + b.Property("RestTime") + .HasMaxLength(5) + .HasColumnType("nvarchar(5)"); + + b.Property("Start1") + .HasMaxLength(5) + .HasColumnType("nvarchar(5)"); + + b.Property("Start2") + .HasMaxLength(5) + .HasColumnType("nvarchar(5)"); + + b.Property("Start3") + .HasMaxLength(5) + .HasColumnType("nvarchar(5)"); + + b.Property("WeekNumber") + .HasMaxLength(10) + .HasColumnType("nvarchar(10)"); + + b.Property("WorkingHoursId") + .HasColumnType("bigint"); + + b.HasKey("id"); + + b.HasIndex("WorkingHoursId"); + + b.ToTable("WorkingHoursItems", (string)null); + }); + + modelBuilder.Entity("Company.Domain.WorkingHoursTempAgg.WorkingHoursTemp", b => + { + b.Property("id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("id")); + + b.Property("CreationDate") + .HasColumnType("datetime2"); + + b.Property("EmployeeId") + .HasColumnType("bigint"); + + b.Property("ShiftWork") + .HasMaxLength(2) + .HasColumnType("nvarchar(2)"); + + b.Property("WorkShopAddress2") + .HasMaxLength(500) + .HasColumnType("nvarchar(500)"); + + b.Property("WorkshopId") + .HasColumnType("bigint"); + + b.HasKey("id"); + + b.ToTable("WorkingHoursTemp", (string)null); + }); + + modelBuilder.Entity("Company.Domain.WorkingHoursTempItemAgg.WorkingHoursTempItem", b => + { + b.Property("id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("id")); + + b.Property("ComplexEnd") + .HasMaxLength(5) + .HasColumnType("nvarchar(5)"); + + b.Property("ComplexStart") + .HasMaxLength(5) + .HasColumnType("nvarchar(5)"); + + b.Property("CreationDate") + .HasColumnType("datetime2"); + + b.Property("DayOfWork") + .HasMaxLength(1) + .HasColumnType("nvarchar(1)"); + + b.Property("End1") + .HasMaxLength(5) + .HasColumnType("nvarchar(5)"); + + b.Property("End2") + .HasMaxLength(5) + .HasColumnType("nvarchar(5)"); + + b.Property("RestTime") + .HasMaxLength(5) + .HasColumnType("nvarchar(5)"); + + b.Property("Start1") + .HasMaxLength(5) + .HasColumnType("nvarchar(5)"); + + b.Property("Start2") + .HasMaxLength(5) + .HasColumnType("nvarchar(5)"); + + b.Property("WeekNumber") + .HasMaxLength(10) + .HasColumnType("nvarchar(10)"); + + b.Property("WorkingHoursTempId") + .HasColumnType("bigint"); + + b.HasKey("id"); + + b.HasIndex("WorkingHoursTempId"); + + b.ToTable("WorkingHoursTempItem", (string)null); + }); + + modelBuilder.Entity("Company.Domain.WorkshopAccountAgg.WorkshopAccount", b => + { + b.Property("WorkshopId") + .HasColumnType("bigint"); + + b.Property("AccountId") + .HasColumnType("bigint"); + + b.Property("ContractAndCheckout") + .HasMaxLength(5) + .HasColumnType("nvarchar(5)"); + + b.Property("Insurance") + .HasMaxLength(5) + .HasColumnType("nvarchar(5)"); + + b.Property("IsActiveSting") + .HasMaxLength(5) + .HasColumnType("nvarchar(5)"); + + b.Property("Tax") + .HasMaxLength(5) + .HasColumnType("nvarchar(5)"); + + b.HasKey("WorkshopId", "AccountId"); + + b.ToTable("WorkshopeAccounts", (string)null); + }); + + modelBuilder.Entity("Company.Domain.WorkshopAgg.Workshop", b => + { + b.Property("id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("id")); + + b.Property("AddBonusesPay") + .HasColumnType("bit"); + + b.Property("AddLeavePay") + .HasColumnType("bit"); + + b.Property("AddYearsPay") + .HasColumnType("bit"); + + b.Property("Address") + .HasMaxLength(500) + .HasColumnType("nvarchar(500)"); + + b.Property("AgentName") + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b.Property("AgentPhone") + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("AgreementNumber") + .HasMaxLength(10) + .HasColumnType("nvarchar(10)"); + + b.Property("ArchiveCode") + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b.Property("BonusesOptions") + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("City") + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b.Property("ComputeOptions") + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("ContractTerm") + .HasMaxLength(10) + .HasColumnType("nvarchar(10)"); + + b.Property("CreationDate") + .HasColumnType("datetime2"); + + b.Property("FixedSalary") + .HasColumnType("bit"); + + b.Property("HasRollCallFreeVip") + .HasMaxLength(5) + .HasColumnType("nvarchar(5)"); + + b.Property("InsuranceCode") + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b.Property("InsuranceJobId") + .HasColumnType("bigint"); + + b.Property("IsActive") + .HasColumnType("bit"); + + b.Property("IsActiveString") + .HasMaxLength(10) + .HasColumnType("nvarchar(10)"); + + b.Property("IsClassified") + .HasColumnType("bit"); + + b.Property("IsOldContract") + .HasColumnType("bit"); + + b.Property("Population") + .HasMaxLength(25) + .HasColumnType("nvarchar(25)"); + + b.Property("State") + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b.Property("TotalPaymentHide") + .HasColumnType("bit"); + + b.Property("TypeOfContract") + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b.Property("TypeOfInsuranceSend") + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b.Property("TypeOfOwnership") + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b.Property("WorkshopFullName") + .HasMaxLength(255) + .HasColumnType("nvarchar(255)"); + + b.Property("WorkshopHolidayWorking") + .HasColumnType("bit"); + + b.Property("WorkshopName") + .IsRequired() + .HasMaxLength(255) + .HasColumnType("nvarchar(255)"); + + b.Property("WorkshopSureName") + .HasMaxLength(255) + .HasColumnType("nvarchar(255)"); + + b.Property("YearsOptions") + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("ZoneName") + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.HasKey("id"); + + b.ToTable("Workshops", (string)null); + }); + + modelBuilder.Entity("Company.Domain.WorkshopEmployerAgg.WorkshopEmployer", b => + { + b.Property("WorkshopId") + .HasColumnType("bigint"); + + b.Property("EmployerId") + .HasColumnType("bigint"); + + b.HasKey("WorkshopId", "EmployerId"); + + b.HasIndex("EmployerId"); + + b.ToTable("WorkshopeEmployers", (string)null); + }); + + modelBuilder.Entity("Company.Domain.WorkshopPlanAgg.WorkshopPlan", b => + { + b.Property("id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("id")); + + b.Property("CreationDate") + .HasColumnType("datetime2"); + + b.Property("Designer") + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b.Property("DesignerPhone") + .HasMaxLength(20) + .HasColumnType("nvarchar(20)"); + + b.Property("ExecutionDateFa") + .HasMaxLength(10) + .HasColumnType("nvarchar(10)"); + + b.Property("ExecutionDateGr") + .HasColumnType("datetime2"); + + b.Property("IncludingDateFa") + .HasMaxLength(10) + .HasColumnType("nvarchar(10)"); + + b.Property("IncludingDateGr") + .HasColumnType("datetime2"); + + b.Property("WorkshopId") + .HasColumnType("bigint"); + + b.HasKey("id"); + + b.ToTable("WorkshopPlan", (string)null); + }); + + modelBuilder.Entity("Company.Domain.WorkshopPlanEmployeeAgg.WorkshopPlanEmployee", b => + { + b.Property("id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("id")); + + b.Property("CreationDate") + .HasColumnType("datetime2"); + + b.Property("EmployeeFullName") + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b.Property("EmployeeId") + .HasColumnType("bigint"); + + b.Property("WorkshopId") + .HasColumnType("bigint"); + + b.Property("WorkshopPlanId") + .HasColumnType("bigint"); + + b.HasKey("id"); + + b.HasIndex("WorkshopPlanId"); + + b.ToTable("WorkshopPlanEmployees", (string)null); + }); + + modelBuilder.Entity("Company.Domain.WorkshopSubAccountAgg.WorkshopSubAccount", b => + { + b.Property("SubAccountId") + .HasColumnType("bigint"); + + b.Property("WorkshopId") + .HasColumnType("bigint"); + + b.Property("IsActive") + .HasMaxLength(5) + .HasColumnType("int"); + + b.HasKey("SubAccountId", "WorkshopId"); + + b.HasIndex("WorkshopId"); + + b.ToTable("WorkshopSubAccounts", (string)null); + }); + + modelBuilder.Entity("Company.Domain.YearlySalaryAgg.YearlySalary", b => + { + b.Property("id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("id")); + + b.Property("ConnectionId") + .HasColumnType("int"); + + b.Property("CreationDate") + .HasColumnType("datetime2"); + + b.Property("EndDate") + .HasColumnType("datetime2"); + + b.Property("StartDate") + .HasColumnType("datetime2"); + + b.Property("Year") + .HasMaxLength(10) + .HasColumnType("nvarchar(10)"); + + b.HasKey("id"); + + b.ToTable("YearlySalariess", (string)null); + }); + + modelBuilder.Entity("Company.Domain.YearlySalaryItemsAgg.YearlySalaryItem", b => + { + b.Property("id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("id")); + + b.Property("CreationDate") + .HasColumnType("datetime2"); + + b.Property("ItemName") + .HasMaxLength(255) + .HasColumnType("nvarchar(255)"); + + b.Property("ItemValue") + .HasColumnType("float"); + + b.Property("ParentConnectionId") + .HasColumnType("int"); + + b.Property("ValueType") + .HasMaxLength(10) + .HasColumnType("nvarchar(10)"); + + b.Property("YearlySalaryId") + .HasColumnType("bigint"); + + b.HasKey("id"); + + b.HasIndex("YearlySalaryId"); + + b.ToTable("YearlyItems", (string)null); + }); + + modelBuilder.Entity("Company.Domain.YearlysSalaryTitleAgg.YearlySalaryTitle", b => + { + b.Property("id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("id")); + + b.Property("CreationDate") + .HasColumnType("datetime2"); + + b.Property("Title1") + .HasMaxLength(255) + .HasColumnType("nvarchar(255)"); + + b.Property("Title10") + .HasMaxLength(255) + .HasColumnType("nvarchar(255)"); + + b.Property("Title2") + .HasMaxLength(255) + .HasColumnType("nvarchar(255)"); + + b.Property("Title3") + .HasMaxLength(255) + .HasColumnType("nvarchar(255)"); + + b.Property("Title4") + .HasMaxLength(255) + .HasColumnType("nvarchar(255)"); + + b.Property("Title5") + .HasMaxLength(255) + .HasColumnType("nvarchar(255)"); + + b.Property("Title6") + .HasMaxLength(255) + .HasColumnType("nvarchar(255)"); + + b.Property("Title7") + .HasMaxLength(255) + .HasColumnType("nvarchar(255)"); + + b.Property("Title8") + .HasMaxLength(255) + .HasColumnType("nvarchar(255)"); + + b.Property("Title9") + .HasMaxLength(255) + .HasColumnType("nvarchar(255)"); + + b.HasKey("id"); + + b.ToTable("YearlySalaryTitles", (string)null); + }); + + modelBuilder.Entity("Company.Domain.ZoneAgg.Zone", b => + { + b.Property("id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("id")); + + b.Property("CityId") + .HasColumnType("int"); + + b.Property("CreationDate") + .HasColumnType("datetime2"); + + b.Property("ZoneName") + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.HasKey("id"); + + b.ToTable("Zones", (string)null); + }); + + modelBuilder.Entity("Company.Domain.empolyerAgg.Employer", b => + { + b.Property("id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("id")); + + b.Property("Address") + .HasMaxLength(500) + .HasColumnType("nvarchar(500)"); + + b.Property("AgentPhone") + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("ContractingPartyId") + .HasColumnType("bigint"); + + b.Property("CreationDate") + .HasColumnType("datetime2"); + + b.Property("DateOfBirth") + .HasColumnType("datetime2"); + + b.Property("DateOfIssue") + .HasColumnType("datetime2"); + + b.Property("EmployerLName") + .IsRequired() + .HasMaxLength(255) + .HasColumnType("nvarchar(255)"); + + b.Property("EmployerNo") + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b.Property("EservicePassword") + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b.Property("EserviceUserName") + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b.Property("FName") + .HasMaxLength(255) + .HasColumnType("nvarchar(255)"); + + b.Property("FatherName") + .HasMaxLength(255) + .HasColumnType("nvarchar(255)"); + + b.Property("FullName") + .HasMaxLength(255) + .HasColumnType("nvarchar(255)"); + + b.Property("Gender") + .HasMaxLength(10) + .HasColumnType("nvarchar(10)"); + + b.Property("IdNumber") + .HasMaxLength(20) + .HasColumnType("nvarchar(20)"); + + b.Property("IsActive") + .HasColumnType("bit"); + + b.Property("IsLegal") + .HasMaxLength(10) + .HasColumnType("nvarchar(10)"); + + b.Property("LName") + .IsRequired() + .HasMaxLength(255) + .HasColumnType("nvarchar(255)"); + + b.Property("MclsPassword") + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b.Property("MclsUserName") + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b.Property("NationalId") + .HasMaxLength(15) + .HasColumnType("nvarchar(15)"); + + b.Property("Nationalcode") + .HasMaxLength(10) + .HasColumnType("nvarchar(10)"); + + b.Property("Nationality") + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("Phone") + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("PlaceOfIssue") + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("RegisterId") + .HasMaxLength(15) + .HasColumnType("nvarchar(15)"); + + b.Property("SanaPassword") + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b.Property("SanaUserName") + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b.Property("TaxOfficeUserName") + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b.Property("TaxOfficepassword") + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b.HasKey("id"); + + b.HasIndex("ContractingPartyId"); + + b.ToTable("Employers", (string)null); + }); + + modelBuilder.Entity("EmployerWorkshop", b => + { + b.Property("EmployersListid") + .HasColumnType("bigint"); + + b.Property("WorkshopsListid") + .HasColumnType("bigint"); + + b.HasKey("EmployersListid", "WorkshopsListid"); + + b.HasIndex("WorkshopsListid"); + + b.ToTable("EmployerWorkshop"); + }); + + modelBuilder.Entity("Company.Domain.Board.Board", b => + { + b.HasOne("Company.Domain.BoardType.BoardType", "BoardType") + .WithMany("BoardsList") + .HasForeignKey("BoardType_Id") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("Company.Domain.File1.File1", "File1") + .WithMany("BoardsList") + .HasForeignKey("File_Id") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("BoardType"); + + b.Navigation("File1"); + }); + + modelBuilder.Entity("Company.Domain.ChapterAgg.EntityChapter", b => + { + b.HasOne("Company.Domain.SubtitleAgg.EntitySubtitle", "EntitySubtitle") + .WithMany("Chapters") + .HasForeignKey("Subtitle_Id") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("EntitySubtitle"); + }); + + modelBuilder.Entity("Company.Domain.CheckoutAgg.Checkout", b => + { + b.HasOne("Company.Domain.WorkshopAgg.Workshop", "Workshop") + .WithMany("Checkouts") + .HasForeignKey("WorkshopId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Workshop"); + }); + + modelBuilder.Entity("Company.Domain.ClientEmployeeWorkshopAgg.ClientEmployeeWorkshop", b => + { + b.HasOne("Company.Domain.EmployeeAgg.Employee", "Employee") + .WithMany("ClientEmployeeWorkshopList") + .HasForeignKey("EmployeeId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("Company.Domain.WorkshopAgg.Workshop", "Workshop") + .WithMany("ClientEmployeeWorkshopList") + .HasForeignKey("WorkshopId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Employee"); + + b.Navigation("Workshop"); + }); + + modelBuilder.Entity("Company.Domain.ContarctingPartyAgg.PersonalContractingParty", b => + { + b.HasOne("Company.Domain.RepresentativeAgg.Representative", "Representative") + .WithMany("ContractingParties") + .HasForeignKey("RepresentativeId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Representative"); + }); + + modelBuilder.Entity("Company.Domain.ContractAgg.Contract", b => + { + b.HasOne("Company.Domain.EmployeeAgg.Employee", "Employee") + .WithMany("Contracts") + .HasForeignKey("EmployeeId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("Company.Domain.empolyerAgg.Employer", "Employer") + .WithMany("Contracts") + .HasForeignKey("EmployerId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("Company.Domain.JobAgg.Job", "Job") + .WithMany("ContractsList") + .HasForeignKey("JobTypeId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("Company.Domain.MandatoryHoursAgg.MandatoryHours", null) + .WithMany("Contracts") + .HasForeignKey("MandatoryHoursid"); + + b.HasOne("Company.Domain.WorkshopAgg.Workshop", "Workshop") + .WithMany("Contracts2") + .HasForeignKey("WorkshopIds") + .OnDelete(DeleteBehavior.NoAction) + .IsRequired(); + + b.HasOne("Company.Domain.YearlySalaryAgg.YearlySalary", "YearlySalary") + .WithMany("Contracts") + .HasForeignKey("YearlySalaryId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Employee"); + + b.Navigation("Employer"); + + b.Navigation("Job"); + + b.Navigation("Workshop"); + + b.Navigation("YearlySalary"); + }); + + modelBuilder.Entity("Company.Domain.ContractingPartyAccountAgg.ContractingPartyAccount", b => + { + b.HasOne("Company.Domain.ContarctingPartyAgg.PersonalContractingParty", "PersonalContractingParty") + .WithMany() + .HasForeignKey("PersonalContractingPartyId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("PersonalContractingParty"); + }); + + modelBuilder.Entity("Company.Domain.CrossJobAgg.CrossJob", b => + { + b.HasOne("Company.Domain.CrossJobGuildAgg.CrossJobGuild", "CrossJobGuild") + .WithMany("CrossJobList") + .HasForeignKey("CrossJobGuildId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("CrossJobGuild"); + }); + + modelBuilder.Entity("Company.Domain.CrossJobItemsAgg.CrossJobItems", b => + { + b.HasOne("Company.Domain.CrossJobAgg.CrossJob", "CrossJob") + .WithMany("CrossJobItemsList") + .HasForeignKey("CrossJobId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("Company.Domain.JobAgg.Job", "Job") + .WithMany("CrossJobItemsList") + .HasForeignKey("JobId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("CrossJob"); + + b.Navigation("Job"); + }); + + modelBuilder.Entity("Company.Domain.CustomizeCheckoutAgg.CustomizeCheckout", b => + { + b.HasOne("Company.Domain.EmployeeAgg.Employee", "Employee") + .WithMany("CustomizeCheckouts") + .HasForeignKey("EmployeeId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("Company.Domain.WorkshopAgg.Workshop", "Workshop") + .WithMany("CustomizeCheckouts") + .HasForeignKey("WorkshopId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.OwnsMany("_0_Framework.Domain.CustomizeCheckoutShared.ValueObjects.CustomizeRotatingShift", "CustomizeRotatingShifts", b1 => + { + b1.Property("CustomizeCheckoutid") + .HasColumnType("bigint"); + + b1.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("int"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b1.Property("Id")); + + b1.Property("EndTime") + .HasColumnType("time"); + + b1.Property("StartTime") + .HasColumnType("time"); + + b1.HasKey("CustomizeCheckoutid", "Id"); + + b1.ToTable("CustomizeCheckouts_CustomizeRotatingShifts"); + + b1.WithOwner() + .HasForeignKey("CustomizeCheckoutid"); + }); + + b.OwnsOne("_0_Framework.Domain.CustomizeCheckoutShared.ValueObjects.IrregularShift", "IrregularShift", b1 => + { + b1.Property("CustomizeCheckoutid") + .HasColumnType("bigint"); + + b1.Property("EndTime") + .HasColumnType("time"); + + b1.Property("StartTime") + .HasColumnType("time"); + + b1.Property("WorkshopIrregularShifts") + .IsRequired() + .HasMaxLength(30) + .HasColumnType("nvarchar(30)"); + + b1.HasKey("CustomizeCheckoutid"); + + b1.ToTable("CustomizeCheckouts"); + + b1.WithOwner() + .HasForeignKey("CustomizeCheckoutid"); + }); + + b.OwnsMany("Company.Domain.CustomizeCheckoutAgg.ValueObjects.CustomizeCheckoutRegularShift", "RegularShifts", b1 => + { + b1.Property("id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b1.Property("id")); + + b1.Property("CreationDate") + .HasColumnType("datetime2"); + + b1.Property("CustomizeCheckoutid") + .HasColumnType("bigint"); + + b1.Property("EndTime") + .HasColumnType("time"); + + b1.Property("Placement") + .IsRequired() + .HasMaxLength(20) + .HasColumnType("nvarchar(20)"); + + b1.Property("StartTime") + .HasColumnType("time"); + + b1.HasKey("id"); + + b1.HasIndex("CustomizeCheckoutid"); + + b1.ToTable("CustomizeCheckouts_RegularShifts"); + + b1.WithOwner() + .HasForeignKey("CustomizeCheckoutid"); + }); + + b.OwnsMany("Company.Domain.CustomizeCheckoutAgg.ValueObjects.CustomizeCheckoutFine", "CheckoutFines", b1 => + { + b1.Property("CustomizeCheckoutid") + .HasColumnType("bigint"); + + b1.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("int"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b1.Property("Id")); + + b1.Property("Amount") + .HasMaxLength(20) + .HasColumnType("nvarchar(20)"); + + b1.Property("CreationDate") + .HasColumnType("datetime2"); + + b1.Property("FineDateFa") + .HasMaxLength(12) + .HasColumnType("nvarchar(12)"); + + b1.Property("FineDateGr") + .HasColumnType("datetime2"); + + b1.Property("IsActive") + .IsRequired() + .HasMaxLength(5) + .HasColumnType("nvarchar(5)"); + + b1.Property("Title") + .HasMaxLength(255) + .HasColumnType("nvarchar(255)"); + + b1.HasKey("CustomizeCheckoutid", "Id"); + + b1.ToTable("CustomizeCheckoutFine"); + + b1.WithOwner() + .HasForeignKey("CustomizeCheckoutid"); + }); + + b.OwnsMany("Company.Domain.CustomizeCheckoutAgg.ValueObjects.CustomizeCheckoutLoanInstallments", "CustomizeCheckoutLoanInstallments", b1 => + { + b1.Property("CustomizeCheckoutid") + .HasColumnType("bigint"); + + b1.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("int"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b1.Property("Id")); + + b1.Property("AmountForMonth") + .HasMaxLength(25) + .HasColumnType("nvarchar(25)"); + + b1.Property("IsActive") + .IsRequired() + .HasMaxLength(5) + .HasColumnType("nvarchar(5)"); + + b1.Property("LoanAmount") + .HasMaxLength(30) + .HasColumnType("nvarchar(30)"); + + b1.Property("LoanRemaining") + .HasMaxLength(25) + .HasColumnType("nvarchar(25)"); + + b1.Property("Month") + .HasMaxLength(2) + .HasColumnType("nvarchar(2)"); + + b1.Property("Year") + .HasMaxLength(4) + .HasColumnType("nvarchar(4)"); + + b1.HasKey("CustomizeCheckoutid", "Id"); + + b1.ToTable("CustomizeCheckoutLoanInstallments"); + + b1.WithOwner() + .HasForeignKey("CustomizeCheckoutid"); + }); + + b.OwnsMany("Company.Domain.CustomizeCheckoutAgg.ValueObjects.CustomizeCheckoutReward", "CustomizeCheckoutRewards", b1 => + { + b1.Property("CustomizeCheckoutid") + .HasColumnType("bigint"); + + b1.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("int"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b1.Property("Id")); + + b1.Property("Amount") + .HasMaxLength(25) + .HasColumnType("nvarchar(25)"); + + b1.Property("Description") + .HasColumnType("ntext"); + + b1.Property("GrantDate") + .HasColumnType("datetime2"); + + b1.Property("GrantDateFa") + .HasMaxLength(15) + .HasColumnType("nvarchar(15)"); + + b1.Property("IsActive") + .IsRequired() + .HasMaxLength(5) + .HasColumnType("nvarchar(5)"); + + b1.Property("Title") + .HasMaxLength(255) + .HasColumnType("nvarchar(255)"); + + b1.HasKey("CustomizeCheckoutid", "Id"); + + b1.ToTable("CustomizeCheckoutReward"); + + b1.WithOwner() + .HasForeignKey("CustomizeCheckoutid"); + }); + + b.OwnsMany("Company.Domain.CustomizeCheckoutAgg.ValueObjects.CustomizeCheckoutSalaryAid", "CustomizeCheckoutSalaryAids", b1 => + { + b1.Property("CustomizeCheckoutid") + .HasColumnType("bigint"); + + b1.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("int"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b1.Property("Id")); + + b1.Property("Amount") + .HasMaxLength(25) + .HasColumnType("nvarchar(25)"); + + b1.Property("SalaryAidDateTime") + .HasColumnType("datetime2"); + + b1.Property("SalaryAidDateTimeFa") + .HasMaxLength(15) + .HasColumnType("nvarchar(15)"); + + b1.HasKey("CustomizeCheckoutid", "Id"); + + b1.ToTable("CustomizeCheckoutSalaryAid"); + + b1.WithOwner() + .HasForeignKey("CustomizeCheckoutid"); + }); + + b.Navigation("CheckoutFines"); + + b.Navigation("CustomizeCheckoutLoanInstallments"); + + b.Navigation("CustomizeCheckoutRewards"); + + b.Navigation("CustomizeCheckoutSalaryAids"); + + b.Navigation("CustomizeRotatingShifts"); + + b.Navigation("Employee"); + + b.Navigation("IrregularShift"); + + b.Navigation("RegularShifts"); + + b.Navigation("Workshop"); + }); + + modelBuilder.Entity("Company.Domain.CustomizeCheckoutTempAgg.CustomizeCheckoutTemp", b => + { + b.HasOne("Company.Domain.EmployeeAgg.Employee", "Employee") + .WithMany() + .HasForeignKey("EmployeeId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("Company.Domain.WorkshopAgg.Workshop", "Workshop") + .WithMany() + .HasForeignKey("WorkshopId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.OwnsMany("_0_Framework.Domain.CustomizeCheckoutShared.ValueObjects.CustomizeRotatingShift", "CustomizeRotatingShifts", b1 => + { + b1.Property("CustomizeCheckoutTempid") + .HasColumnType("bigint"); + + b1.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("int"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b1.Property("Id")); + + b1.Property("EndTime") + .HasColumnType("time"); + + b1.Property("StartTime") + .HasColumnType("time"); + + b1.HasKey("CustomizeCheckoutTempid", "Id"); + + b1.ToTable("CustomizeCheckoutTemps_CustomizeRotatingShifts"); + + b1.WithOwner() + .HasForeignKey("CustomizeCheckoutTempid"); + }); + + b.OwnsOne("_0_Framework.Domain.CustomizeCheckoutShared.ValueObjects.IrregularShift", "IrregularShift", b1 => + { + b1.Property("CustomizeCheckoutTempid") + .HasColumnType("bigint"); + + b1.Property("EndTime") + .HasColumnType("time"); + + b1.Property("StartTime") + .HasColumnType("time"); + + b1.Property("WorkshopIrregularShifts") + .IsRequired() + .HasMaxLength(30) + .HasColumnType("nvarchar(30)"); + + b1.HasKey("CustomizeCheckoutTempid"); + + b1.ToTable("CustomizeCheckoutTemps"); + + b1.WithOwner() + .HasForeignKey("CustomizeCheckoutTempid"); + }); + + b.OwnsMany("Company.Domain.CustomizeCheckoutAgg.ValueObjects.CustomizeCheckoutRegularShift", "RegularShifts", b1 => + { + b1.Property("id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b1.Property("id")); + + b1.Property("CreationDate") + .HasColumnType("datetime2"); + + b1.Property("CustomizeCheckoutTempid") + .HasColumnType("bigint"); + + b1.Property("EndTime") + .HasColumnType("time"); + + b1.Property("Placement") + .IsRequired() + .HasMaxLength(20) + .HasColumnType("nvarchar(20)"); + + b1.Property("StartTime") + .HasColumnType("time"); + + b1.HasKey("id"); + + b1.HasIndex("CustomizeCheckoutTempid"); + + b1.ToTable("CustomizeCheckoutTemps_RegularShifts"); + + b1.WithOwner() + .HasForeignKey("CustomizeCheckoutTempid"); + }); + + b.OwnsMany("Company.Domain.CustomizeCheckoutTempAgg.ValueObjects.CustomizeCheckoutTempFine", "CheckoutFines", b1 => + { + b1.Property("CustomizeCheckoutTempid") + .HasColumnType("bigint"); + + b1.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("int"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b1.Property("Id")); + + b1.Property("Amount") + .HasMaxLength(20) + .HasColumnType("nvarchar(20)"); + + b1.Property("CreationDate") + .HasColumnType("datetime2"); + + b1.Property("FineDateFa") + .HasMaxLength(12) + .HasColumnType("nvarchar(12)"); + + b1.Property("FineDateGr") + .HasColumnType("datetime2"); + + b1.Property("IsActive") + .IsRequired() + .HasMaxLength(5) + .HasColumnType("nvarchar(5)"); + + b1.Property("Title") + .HasMaxLength(255) + .HasColumnType("nvarchar(255)"); + + b1.HasKey("CustomizeCheckoutTempid", "Id"); + + b1.ToTable("CustomizeCheckoutTempFine"); + + b1.WithOwner() + .HasForeignKey("CustomizeCheckoutTempid"); + }); + + b.OwnsMany("Company.Domain.CustomizeCheckoutTempAgg.ValueObjects.CustomizeCheckoutTempLoanInstallments", "CustomizeCheckoutLoanInstallments", b1 => + { + b1.Property("CustomizeCheckoutTempid") + .HasColumnType("bigint"); + + b1.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("int"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b1.Property("Id")); + + b1.Property("AmountForMonth") + .HasMaxLength(25) + .HasColumnType("nvarchar(25)"); + + b1.Property("IsActive") + .IsRequired() + .HasMaxLength(5) + .HasColumnType("nvarchar(5)"); + + b1.Property("LoanAmount") + .HasMaxLength(30) + .HasColumnType("nvarchar(30)"); + + b1.Property("LoanRemaining") + .HasMaxLength(25) + .HasColumnType("nvarchar(25)"); + + b1.Property("Month") + .HasMaxLength(2) + .HasColumnType("nvarchar(2)"); + + b1.Property("Year") + .HasMaxLength(4) + .HasColumnType("nvarchar(4)"); + + b1.HasKey("CustomizeCheckoutTempid", "Id"); + + b1.ToTable("CustomizeCheckoutTempLoanInstallments"); + + b1.WithOwner() + .HasForeignKey("CustomizeCheckoutTempid"); + }); + + b.OwnsMany("Company.Domain.CustomizeCheckoutTempAgg.ValueObjects.CustomizeCheckoutTempReward", "CustomizeCheckoutRewards", b1 => + { + b1.Property("CustomizeCheckoutTempid") + .HasColumnType("bigint"); + + b1.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("int"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b1.Property("Id")); + + b1.Property("Amount") + .HasMaxLength(25) + .HasColumnType("nvarchar(25)"); + + b1.Property("Description") + .HasColumnType("ntext"); + + b1.Property("GrantDate") + .HasColumnType("datetime2"); + + b1.Property("GrantDateFa") + .HasMaxLength(15) + .HasColumnType("nvarchar(15)"); + + b1.Property("IsActive") + .IsRequired() + .HasMaxLength(5) + .HasColumnType("nvarchar(5)"); + + b1.Property("Title") + .HasMaxLength(255) + .HasColumnType("nvarchar(255)"); + + b1.HasKey("CustomizeCheckoutTempid", "Id"); + + b1.ToTable("CustomizeCheckoutTempReward"); + + b1.WithOwner() + .HasForeignKey("CustomizeCheckoutTempid"); + }); + + b.OwnsMany("Company.Domain.CustomizeCheckoutTempAgg.ValueObjects.CustomizeCheckoutTempSalaryAid", "CustomizeCheckoutSalaryAids", b1 => + { + b1.Property("CustomizeCheckoutTempid") + .HasColumnType("bigint"); + + b1.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("int"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b1.Property("Id")); + + b1.Property("Amount") + .HasMaxLength(25) + .HasColumnType("nvarchar(25)"); + + b1.Property("SalaryAidDateTime") + .HasColumnType("datetime2"); + + b1.Property("SalaryAidDateTimeFa") + .HasMaxLength(15) + .HasColumnType("nvarchar(15)"); + + b1.HasKey("CustomizeCheckoutTempid", "Id"); + + b1.ToTable("CustomizeCheckoutTempSalaryAid"); + + b1.WithOwner() + .HasForeignKey("CustomizeCheckoutTempid"); + }); + + b.Navigation("CheckoutFines"); + + b.Navigation("CustomizeCheckoutLoanInstallments"); + + b.Navigation("CustomizeCheckoutRewards"); + + b.Navigation("CustomizeCheckoutSalaryAids"); + + b.Navigation("CustomizeRotatingShifts"); + + b.Navigation("Employee"); + + b.Navigation("IrregularShift"); + + b.Navigation("RegularShifts"); + + b.Navigation("Workshop"); + }); + + modelBuilder.Entity("Company.Domain.CustomizeWorkshopEmployeeSettingsAgg.Entities.CustomizeWorkshopEmployeeSettings", b => + { + b.HasOne("Company.Domain.CustomizeWorkshopGroupSettingsAgg.Entities.CustomizeWorkshopGroupSettings", "CustomizeWorkshopGroupSettings") + .WithMany("CustomizeWorkshopEmployeeSettingsCollection") + .HasForeignKey("CustomizeWorkshopGroupSettingId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.OwnsMany("Company.Domain.CustomizeWorkshopEmployeeSettingsAgg.Entities.CustomizeWorkshopEmployeeSettingsShift", "CustomizeWorkshopEmployeeSettingsShifts", b1 => + { + b1.Property("id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b1.Property("id")); + + b1.Property("CreationDate") + .HasColumnType("datetime2"); + + b1.Property("CustomizeWorkshopEmployeeSettingsId") + .HasColumnType("bigint"); + + b1.Property("EndTime") + .HasColumnType("time"); + + b1.Property("Placement") + .IsRequired() + .HasMaxLength(20) + .HasColumnType("nvarchar(20)"); + + b1.Property("PreviousShiftThreshold") + .HasColumnType("time"); + + b1.Property("StartTime") + .HasColumnType("time"); + + b1.HasKey("id"); + + b1.HasIndex("CustomizeWorkshopEmployeeSettingsId"); + + b1.ToTable("CustomizeWorkshopEmployeeSettingsShifts", (string)null); + + b1.WithOwner("CustomizeWorkshopEmployeeSettings") + .HasForeignKey("CustomizeWorkshopEmployeeSettingsId"); + + b1.Navigation("CustomizeWorkshopEmployeeSettings"); + }); + + b.OwnsOne("_0_Framework.Domain.CustomizeCheckoutShared.ValueObjects.BaseYearsPay", "BaseYearsPay", b1 => + { + b1.Property("CustomizeWorkshopEmployeeSettingsid") + .HasColumnType("bigint"); + + b1.Property("BaseYearsPayType") + .IsRequired() + .HasMaxLength(1) + .HasColumnType("nvarchar(1)") + .HasColumnName("BaseYearsPay_BaseYearsPayType"); + + b1.Property("PaymentType") + .IsRequired() + .HasMaxLength(1) + .HasColumnType("nvarchar(1)") + .HasColumnName("BaseYearsPay_PaymentType"); + + b1.Property("Value") + .HasColumnType("float") + .HasColumnName("BaseYearsPay_Value"); + + b1.HasKey("CustomizeWorkshopEmployeeSettingsid"); + + b1.ToTable("CustomizeWorkshopEmployeeSettings"); + + b1.WithOwner() + .HasForeignKey("CustomizeWorkshopEmployeeSettingsid"); + }); + + b.OwnsOne("_0_Framework.Domain.CustomizeCheckoutShared.ValueObjects.BonusesPay", "BonusesPay", b1 => + { + b1.Property("CustomizeWorkshopEmployeeSettingsid") + .HasColumnType("bigint"); + + b1.Property("BonusesPayType") + .IsRequired() + .HasMaxLength(1) + .HasColumnType("nvarchar(1)") + .HasColumnName("BonusesPay_BonusesPayType"); + + b1.Property("PaymentType") + .IsRequired() + .HasMaxLength(1) + .HasColumnType("nvarchar(1)") + .HasColumnName("BonusesPay_PaymentType"); + + b1.Property("Value") + .HasColumnType("float") + .HasColumnName("BonusesPay_Value"); + + b1.HasKey("CustomizeWorkshopEmployeeSettingsid"); + + b1.ToTable("CustomizeWorkshopEmployeeSettings"); + + b1.WithOwner() + .HasForeignKey("CustomizeWorkshopEmployeeSettingsid"); + }); + + b.OwnsOne("_0_Framework.Domain.CustomizeCheckoutShared.ValueObjects.BreakTime", "BreakTime", b1 => + { + b1.Property("CustomizeWorkshopEmployeeSettingsid") + .HasColumnType("bigint"); + + b1.Property("BreakTimeType") + .IsRequired() + .HasMaxLength(1) + .HasColumnType("nvarchar(1)"); + + b1.Property("BreakTimeValue") + .HasColumnType("time"); + + b1.Property("HasBreakTimeValue") + .HasColumnType("bit"); + + b1.HasKey("CustomizeWorkshopEmployeeSettingsid"); + + b1.ToTable("CustomizeWorkshopEmployeeSettings"); + + b1.WithOwner() + .HasForeignKey("CustomizeWorkshopEmployeeSettingsid"); + }); + + b.OwnsMany("_0_Framework.Domain.CustomizeCheckoutShared.ValueObjects.CustomizeRotatingShift", "CustomizeRotatingShifts", b1 => + { + b1.Property("CustomizeWorkshopEmployeeSettingsid") + .HasColumnType("bigint"); + + b1.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("int"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b1.Property("Id")); + + b1.Property("EndTime") + .HasColumnType("time"); + + b1.Property("StartTime") + .HasColumnType("time"); + + b1.HasKey("CustomizeWorkshopEmployeeSettingsid", "Id"); + + b1.ToTable("CustomizeWorkshopEmployeeSettings_CustomizeRotatingShifts"); + + b1.WithOwner() + .HasForeignKey("CustomizeWorkshopEmployeeSettingsid"); + }); + + b.OwnsOne("_0_Framework.Domain.CustomizeCheckoutShared.ValueObjects.EarlyExit", "EarlyExit", b1 => + { + b1.Property("CustomizeWorkshopEmployeeSettingsid") + .HasColumnType("bigint"); + + b1.Property("EarlyExitType") + .IsRequired() + .HasMaxLength(1) + .HasColumnType("nvarchar(1)") + .HasColumnName("EarlyExit_EarlyExitType"); + + b1.Property("Value") + .HasColumnType("float") + .HasColumnName("EarlyExitTimeFines_Value"); + + b1.HasKey("CustomizeWorkshopEmployeeSettingsid"); + + b1.ToTable("CustomizeWorkshopEmployeeSettings"); + + b1.WithOwner() + .HasForeignKey("CustomizeWorkshopEmployeeSettingsid"); + + b1.OwnsMany("_0_Framework.Domain.CustomizeCheckoutShared.ValueObjects.EarlyExitTimeFine", "EarlyExitTimeFines", b2 => + { + b2.Property("CustomizeWorkshopEmployeeSettingsId") + .HasColumnType("bigint"); + + b2.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("int"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b2.Property("Id")); + + b2.Property("FineMoney") + .HasColumnType("float") + .HasColumnName("EarlyExitTimeFines_FineMoney"); + + b2.Property("Minute") + .HasMaxLength(4) + .HasColumnType("nvarchar(4)") + .HasColumnName("EarlyExitTimeFines_Minute"); + + b2.HasKey("CustomizeWorkshopEmployeeSettingsId", "Id"); + + b2.ToTable("CustomizeWorkshopEmployeeSettings_EarlyExitTimeFines"); + + b2.WithOwner() + .HasForeignKey("CustomizeWorkshopEmployeeSettingsId"); + }); + + b1.Navigation("EarlyExitTimeFines"); + }); + + b.OwnsOne("_0_Framework.Domain.CustomizeCheckoutShared.ValueObjects.FamilyAllowance", "FamilyAllowance", b1 => + { + b1.Property("CustomizeWorkshopEmployeeSettingsid") + .HasColumnType("bigint"); + + b1.Property("FamilyAllowanceType") + .IsRequired() + .HasMaxLength(1) + .HasColumnType("nvarchar(1)") + .HasColumnName("FamilyAllowance_FamilyAllowanceType"); + + b1.Property("Value") + .HasColumnType("float") + .HasColumnName("FamilyAllowance_Value"); + + b1.HasKey("CustomizeWorkshopEmployeeSettingsid"); + + b1.ToTable("CustomizeWorkshopEmployeeSettings"); + + b1.WithOwner() + .HasForeignKey("CustomizeWorkshopEmployeeSettingsid"); + }); + + b.OwnsOne("_0_Framework.Domain.CustomizeCheckoutShared.ValueObjects.FineAbsenceDeduction", "FineAbsenceDeduction", b1 => + { + b1.Property("CustomizeWorkshopEmployeeSettingsid") + .HasColumnType("bigint"); + + b1.Property("FineAbsenceDeductionType") + .IsRequired() + .HasMaxLength(1) + .HasColumnType("nvarchar(1)") + .HasColumnName("FineAbsenceDeduction_FineAbsenceDeductionType"); + + b1.Property("Value") + .HasColumnType("float") + .HasColumnName("FineAbsenceDeduction_Value"); + + b1.HasKey("CustomizeWorkshopEmployeeSettingsid"); + + b1.ToTable("CustomizeWorkshopEmployeeSettings"); + + b1.WithOwner() + .HasForeignKey("CustomizeWorkshopEmployeeSettingsid"); + + b1.OwnsMany("_0_Framework.Domain.CustomizeCheckoutShared.ValueObjects.FineAbsenceDayOfWeek", "FineAbsenceDayOfWeekCollection", b2 => + { + b2.Property("CustomizeWorkshopEmployeeSettingsId") + .HasColumnType("bigint"); + + b2.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("int"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b2.Property("Id")); + + b2.Property("DayOfWeek") + .IsRequired() + .HasMaxLength(1) + .HasColumnType("nvarchar(1)") + .HasColumnName("FineAbsenceDayOfWeekCollection_DayOfWeek"); + + b2.HasKey("CustomizeWorkshopEmployeeSettingsId", "Id"); + + b2.ToTable("CustomizeWorkshopEmployeeSettings_FineAbsenceDayOfWeekCollection"); + + b2.WithOwner() + .HasForeignKey("CustomizeWorkshopEmployeeSettingsId"); + }); + + b1.Navigation("FineAbsenceDayOfWeekCollection"); + }); + + b.OwnsOne("_0_Framework.Domain.CustomizeCheckoutShared.ValueObjects.FridayPay", "FridayPay", b1 => + { + b1.Property("CustomizeWorkshopEmployeeSettingsid") + .HasColumnType("bigint"); + + b1.Property("FridayPayType") + .IsRequired() + .HasMaxLength(1) + .HasColumnType("nvarchar(1)"); + + b1.Property("Value") + .HasColumnType("float") + .HasColumnName("FridayPay_Value"); + + b1.HasKey("CustomizeWorkshopEmployeeSettingsid"); + + b1.ToTable("CustomizeWorkshopEmployeeSettings"); + + b1.WithOwner() + .HasForeignKey("CustomizeWorkshopEmployeeSettingsid"); + }); + + b.OwnsOne("_0_Framework.Domain.CustomizeCheckoutShared.ValueObjects.InsuranceDeduction", "InsuranceDeduction", b1 => + { + b1.Property("CustomizeWorkshopEmployeeSettingsid") + .HasColumnType("bigint"); + + b1.Property("InsuranceDeductionType") + .IsRequired() + .HasMaxLength(1) + .HasColumnType("nvarchar(1)") + .HasColumnName("InsuranceDeduction_InsuranceDeductionType"); + + b1.Property("Value") + .HasColumnType("float") + .HasColumnName("InsuranceDeduction_Value"); + + b1.HasKey("CustomizeWorkshopEmployeeSettingsid"); + + b1.ToTable("CustomizeWorkshopEmployeeSettings"); + + b1.WithOwner() + .HasForeignKey("CustomizeWorkshopEmployeeSettingsid"); + }); + + b.OwnsOne("_0_Framework.Domain.CustomizeCheckoutShared.ValueObjects.IrregularShift", "IrregularShift", b1 => + { + b1.Property("CustomizeWorkshopEmployeeSettingsid") + .HasColumnType("bigint"); + + b1.Property("EndTime") + .HasColumnType("time"); + + b1.Property("StartTime") + .HasColumnType("time"); + + b1.Property("WorkshopIrregularShifts") + .IsRequired() + .HasMaxLength(1) + .HasColumnType("nvarchar(1)"); + + b1.HasKey("CustomizeWorkshopEmployeeSettingsid"); + + b1.ToTable("CustomizeWorkshopEmployeeSettings"); + + b1.WithOwner() + .HasForeignKey("CustomizeWorkshopEmployeeSettingsid"); + }); + + b.OwnsOne("_0_Framework.Domain.CustomizeCheckoutShared.ValueObjects.LateToWork", "LateToWork", b1 => + { + b1.Property("CustomizeWorkshopEmployeeSettingsid") + .HasColumnType("bigint"); + + b1.Property("LateToWorkType") + .IsRequired() + .HasMaxLength(1) + .HasColumnType("nvarchar(1)") + .HasColumnName("LateToWork_LateToWorkType"); + + b1.Property("Value") + .HasColumnType("float") + .HasColumnName("LateToWork_Value"); + + b1.HasKey("CustomizeWorkshopEmployeeSettingsid"); + + b1.ToTable("CustomizeWorkshopEmployeeSettings"); + + b1.WithOwner() + .HasForeignKey("CustomizeWorkshopEmployeeSettingsid"); + + b1.OwnsMany("_0_Framework.Domain.CustomizeCheckoutShared.ValueObjects.LateToWorkTimeFine", "LateToWorkTimeFines", b2 => + { + b2.Property("CustomizeWorkshopEmployeeSettingsId") + .HasColumnType("bigint"); + + b2.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("int"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b2.Property("Id")); + + b2.Property("FineMoney") + .HasColumnType("float") + .HasColumnName("LateToWorkTimeFines_FineMoney"); + + b2.Property("Minute") + .HasMaxLength(4) + .HasColumnType("nvarchar(4)") + .HasColumnName("LateToWorkTimeFines_Minute"); + + b2.HasKey("CustomizeWorkshopEmployeeSettingsId", "Id"); + + b2.ToTable("CustomizeWorkshopEmployeeSettings_LateToWorkTimeFines"); + + b2.WithOwner() + .HasForeignKey("CustomizeWorkshopEmployeeSettingsId"); + }); + + b1.Navigation("LateToWorkTimeFines"); + }); + + b.OwnsOne("_0_Framework.Domain.CustomizeCheckoutShared.ValueObjects.LeavePay", "LeavePay", b1 => + { + b1.Property("CustomizeWorkshopEmployeeSettingsid") + .HasColumnType("bigint"); + + b1.Property("LeavePayType") + .IsRequired() + .HasMaxLength(1) + .HasColumnType("nvarchar(1)") + .HasColumnName("LeavePay_LeavePayType"); + + b1.Property("Value") + .HasColumnType("float") + .HasColumnName("LeavePay_Value"); + + b1.HasKey("CustomizeWorkshopEmployeeSettingsid"); + + b1.ToTable("CustomizeWorkshopEmployeeSettings"); + + b1.WithOwner() + .HasForeignKey("CustomizeWorkshopEmployeeSettingsid"); + }); + + b.OwnsOne("_0_Framework.Domain.CustomizeCheckoutShared.ValueObjects.MarriedAllowance", "MarriedAllowance", b1 => + { + b1.Property("CustomizeWorkshopEmployeeSettingsid") + .HasColumnType("bigint"); + + b1.Property("MarriedAllowanceType") + .IsRequired() + .HasMaxLength(1) + .HasColumnType("nvarchar(1)") + .HasColumnName("MarriedAllowance_MarriedAllowanceType"); + + b1.Property("Value") + .HasColumnType("float") + .HasColumnName("MarriedAllowance_Value"); + + b1.HasKey("CustomizeWorkshopEmployeeSettingsid"); + + b1.ToTable("CustomizeWorkshopEmployeeSettings"); + + b1.WithOwner() + .HasForeignKey("CustomizeWorkshopEmployeeSettingsid"); + }); + + b.OwnsOne("_0_Framework.Domain.CustomizeCheckoutShared.ValueObjects.NightWorkPay", "NightWorkPay", b1 => + { + b1.Property("CustomizeWorkshopEmployeeSettingsid") + .HasColumnType("bigint"); + + b1.Property("NightWorkingType") + .IsRequired() + .HasMaxLength(1) + .HasColumnType("nvarchar(1)") + .HasColumnName("NightWorkPay_NightWorkingType"); + + b1.Property("Value") + .HasColumnType("float") + .HasColumnName("NightWorkPay_Value"); + + b1.HasKey("CustomizeWorkshopEmployeeSettingsid"); + + b1.ToTable("CustomizeWorkshopEmployeeSettings"); + + b1.WithOwner() + .HasForeignKey("CustomizeWorkshopEmployeeSettingsid"); + }); + + b.OwnsOne("_0_Framework.Domain.CustomizeCheckoutShared.ValueObjects.OverTimePay", "OverTimePay", b1 => + { + b1.Property("CustomizeWorkshopEmployeeSettingsid") + .HasColumnType("bigint"); + + b1.Property("OverTimePayType") + .IsRequired() + .HasMaxLength(1) + .HasColumnType("nvarchar(1)") + .HasColumnName("OverTimePay_OverTimePayType"); + + b1.Property("Value") + .HasColumnType("float") + .HasColumnName("OverTimePay_Value"); + + b1.HasKey("CustomizeWorkshopEmployeeSettingsid"); + + b1.ToTable("CustomizeWorkshopEmployeeSettings"); + + b1.WithOwner() + .HasForeignKey("CustomizeWorkshopEmployeeSettingsid"); + }); + + b.OwnsOne("_0_Framework.Domain.CustomizeCheckoutShared.ValueObjects.ShiftPay", "ShiftPay", b1 => + { + b1.Property("CustomizeWorkshopEmployeeSettingsid") + .HasColumnType("bigint"); + + b1.Property("ShiftPayType") + .IsRequired() + .HasMaxLength(1) + .HasColumnType("nvarchar(1)") + .HasColumnName("ShiftPay_ShiftPayType"); + + b1.Property("ShiftType") + .IsRequired() + .HasMaxLength(1) + .HasColumnType("nvarchar(1)") + .HasColumnName("ShiftPay_ShiftType"); + + b1.Property("Value") + .HasColumnType("float") + .HasColumnName("ShiftPay_Value"); + + b1.HasKey("CustomizeWorkshopEmployeeSettingsid"); + + b1.ToTable("CustomizeWorkshopEmployeeSettings"); + + b1.WithOwner() + .HasForeignKey("CustomizeWorkshopEmployeeSettingsid"); + }); + + b.Navigation("BaseYearsPay"); + + b.Navigation("BonusesPay"); + + b.Navigation("BreakTime"); + + b.Navigation("CustomizeRotatingShifts"); + + b.Navigation("CustomizeWorkshopEmployeeSettingsShifts"); + + b.Navigation("CustomizeWorkshopGroupSettings"); + + b.Navigation("EarlyExit"); + + b.Navigation("FamilyAllowance"); + + b.Navigation("FineAbsenceDeduction"); + + b.Navigation("FridayPay"); + + b.Navigation("InsuranceDeduction"); + + b.Navigation("IrregularShift"); + + b.Navigation("LateToWork"); + + b.Navigation("LeavePay"); + + b.Navigation("MarriedAllowance"); + + b.Navigation("NightWorkPay"); + + b.Navigation("OverTimePay"); + + b.Navigation("ShiftPay"); + }); + + modelBuilder.Entity("Company.Domain.CustomizeWorkshopGroupSettingsAgg.Entities.CustomizeWorkshopGroupSettings", b => + { + b.HasOne("Company.Domain.CustomizeWorkshopSettingsAgg.Entities.CustomizeWorkshopSettings", "CustomizeWorkshopSettings") + .WithMany("CustomizeWorkshopGroupSettingsCollection") + .HasForeignKey("CustomizeWorkshopSettingId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.OwnsMany("Company.Domain.CustomizeWorkshopGroupSettingsAgg.Entities.CustomizeWorkshopGroupSettingsShift", "CustomizeWorkshopGroupSettingsShifts", b1 => + { + b1.Property("id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b1.Property("id")); + + b1.Property("CreationDate") + .HasColumnType("datetime2"); + + b1.Property("CustomizeWorkshopGroupSettingsId") + .HasColumnType("bigint"); + + b1.Property("EndTime") + .HasColumnType("time"); + + b1.Property("Placement") + .IsRequired() + .HasMaxLength(20) + .HasColumnType("nvarchar(20)"); + + b1.Property("StartTime") + .HasColumnType("time"); + + b1.HasKey("id"); + + b1.HasIndex("CustomizeWorkshopGroupSettingsId"); + + b1.ToTable("CustomizeWorkshopGroupSettingsShifts", (string)null); + + b1.WithOwner("CustomizeWorkshopGroupSettings") + .HasForeignKey("CustomizeWorkshopGroupSettingsId"); + + b1.Navigation("CustomizeWorkshopGroupSettings"); + }); + + b.OwnsOne("_0_Framework.Domain.CustomizeCheckoutShared.ValueObjects.BaseYearsPay", "BaseYearsPay", b1 => + { + b1.Property("CustomizeWorkshopGroupSettingsid") + .HasColumnType("bigint"); + + b1.Property("BaseYearsPayType") + .IsRequired() + .HasMaxLength(1) + .HasColumnType("nvarchar(1)") + .HasColumnName("BaseYearsPay_BaseYearsPayType"); + + b1.Property("PaymentType") + .IsRequired() + .HasMaxLength(1) + .HasColumnType("nvarchar(1)") + .HasColumnName("BaseYearsPay_PaymentType"); + + b1.Property("Value") + .HasColumnType("float") + .HasColumnName("BaseYearsPay_Value"); + + b1.HasKey("CustomizeWorkshopGroupSettingsid"); + + b1.ToTable("CustomizeWorkshopGroupSettings"); + + b1.WithOwner() + .HasForeignKey("CustomizeWorkshopGroupSettingsid"); + }); + + b.OwnsOne("_0_Framework.Domain.CustomizeCheckoutShared.ValueObjects.BonusesPay", "BonusesPay", b1 => + { + b1.Property("CustomizeWorkshopGroupSettingsid") + .HasColumnType("bigint"); + + b1.Property("BonusesPayType") + .IsRequired() + .HasMaxLength(1) + .HasColumnType("nvarchar(1)") + .HasColumnName("BonusesPay_BonusesPayType"); + + b1.Property("PaymentType") + .IsRequired() + .HasMaxLength(1) + .HasColumnType("nvarchar(1)") + .HasColumnName("BonusesPay_PaymentType"); + + b1.Property("Value") + .HasColumnType("float") + .HasColumnName("BonusesPay_Value"); + + b1.HasKey("CustomizeWorkshopGroupSettingsid"); + + b1.ToTable("CustomizeWorkshopGroupSettings"); + + b1.WithOwner() + .HasForeignKey("CustomizeWorkshopGroupSettingsid"); + }); + + b.OwnsOne("_0_Framework.Domain.CustomizeCheckoutShared.ValueObjects.BreakTime", "BreakTime", b1 => + { + b1.Property("CustomizeWorkshopGroupSettingsid") + .HasColumnType("bigint"); + + b1.Property("BreakTimeType") + .IsRequired() + .HasMaxLength(1) + .HasColumnType("nvarchar(1)"); + + b1.Property("BreakTimeValue") + .HasColumnType("time"); + + b1.Property("HasBreakTimeValue") + .HasColumnType("bit"); + + b1.HasKey("CustomizeWorkshopGroupSettingsid"); + + b1.ToTable("CustomizeWorkshopGroupSettings"); + + b1.WithOwner() + .HasForeignKey("CustomizeWorkshopGroupSettingsid"); + }); + + b.OwnsMany("_0_Framework.Domain.CustomizeCheckoutShared.ValueObjects.CustomizeRotatingShift", "CustomizeRotatingShifts", b1 => + { + b1.Property("CustomizeWorkshopGroupSettingsid") + .HasColumnType("bigint"); + + b1.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("int"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b1.Property("Id")); + + b1.Property("EndTime") + .HasColumnType("time"); + + b1.Property("StartTime") + .HasColumnType("time"); + + b1.HasKey("CustomizeWorkshopGroupSettingsid", "Id"); + + b1.ToTable("CustomizeWorkshopGroupSettings_CustomizeRotatingShifts"); + + b1.WithOwner() + .HasForeignKey("CustomizeWorkshopGroupSettingsid"); + }); + + b.OwnsOne("_0_Framework.Domain.CustomizeCheckoutShared.ValueObjects.EarlyExit", "EarlyExit", b1 => + { + b1.Property("CustomizeWorkshopGroupSettingsid") + .HasColumnType("bigint"); + + b1.Property("EarlyExitType") + .IsRequired() + .HasMaxLength(1) + .HasColumnType("nvarchar(1)") + .HasColumnName("EarlyExit_EarlyExitType"); + + b1.Property("Value") + .HasColumnType("float") + .HasColumnName("EarlyExitTimeFines_Value"); + + b1.HasKey("CustomizeWorkshopGroupSettingsid"); + + b1.ToTable("CustomizeWorkshopGroupSettings"); + + b1.WithOwner() + .HasForeignKey("CustomizeWorkshopGroupSettingsid"); + + b1.OwnsMany("_0_Framework.Domain.CustomizeCheckoutShared.ValueObjects.EarlyExitTimeFine", "EarlyExitTimeFines", b2 => + { + b2.Property("CustomizeWorkshopGroupSettingsId") + .HasColumnType("bigint"); + + b2.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("int"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b2.Property("Id")); + + b2.Property("FineMoney") + .HasColumnType("float") + .HasColumnName("EarlyExitTimeFines_FineMoney"); + + b2.Property("Minute") + .HasMaxLength(4) + .HasColumnType("nvarchar(4)") + .HasColumnName("EarlyExitTimeFines_Minute"); + + b2.HasKey("CustomizeWorkshopGroupSettingsId", "Id"); + + b2.ToTable("CustomizeWorkshopGroupSettings_EarlyExitTimeFines"); + + b2.WithOwner() + .HasForeignKey("CustomizeWorkshopGroupSettingsId"); + }); + + b1.Navigation("EarlyExitTimeFines"); + }); + + b.OwnsOne("_0_Framework.Domain.CustomizeCheckoutShared.ValueObjects.FamilyAllowance", "FamilyAllowance", b1 => + { + b1.Property("CustomizeWorkshopGroupSettingsid") + .HasColumnType("bigint"); + + b1.Property("FamilyAllowanceType") + .IsRequired() + .HasMaxLength(1) + .HasColumnType("nvarchar(1)") + .HasColumnName("FamilyAllowance_FamilyAllowanceType"); + + b1.Property("Value") + .HasColumnType("float") + .HasColumnName("FamilyAllowance_Value"); + + b1.HasKey("CustomizeWorkshopGroupSettingsid"); + + b1.ToTable("CustomizeWorkshopGroupSettings"); + + b1.WithOwner() + .HasForeignKey("CustomizeWorkshopGroupSettingsid"); + }); + + b.OwnsOne("_0_Framework.Domain.CustomizeCheckoutShared.ValueObjects.FineAbsenceDeduction", "FineAbsenceDeduction", b1 => + { + b1.Property("CustomizeWorkshopGroupSettingsid") + .HasColumnType("bigint"); + + b1.Property("FineAbsenceDeductionType") + .IsRequired() + .HasMaxLength(1) + .HasColumnType("nvarchar(1)") + .HasColumnName("FineAbsenceDeduction_FineAbsenceDeductionType"); + + b1.Property("Value") + .HasColumnType("float") + .HasColumnName("FineAbsenceDeduction_Value"); + + b1.HasKey("CustomizeWorkshopGroupSettingsid"); + + b1.ToTable("CustomizeWorkshopGroupSettings"); + + b1.WithOwner() + .HasForeignKey("CustomizeWorkshopGroupSettingsid"); + + b1.OwnsMany("_0_Framework.Domain.CustomizeCheckoutShared.ValueObjects.FineAbsenceDayOfWeek", "FineAbsenceDayOfWeekCollection", b2 => + { + b2.Property("CustomizeWorkshopGroupSettingsId") + .HasColumnType("bigint"); + + b2.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("int"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b2.Property("Id")); + + b2.Property("DayOfWeek") + .IsRequired() + .HasMaxLength(1) + .HasColumnType("nvarchar(1)") + .HasColumnName("FineAbsenceDayOfWeekCollection_DayOfWeek"); + + b2.HasKey("CustomizeWorkshopGroupSettingsId", "Id"); + + b2.ToTable("CustomizeWorkshopGroupSettings_FineAbsenceDayOfWeekCollection"); + + b2.WithOwner() + .HasForeignKey("CustomizeWorkshopGroupSettingsId"); + }); + + b1.Navigation("FineAbsenceDayOfWeekCollection"); + }); + + b.OwnsOne("_0_Framework.Domain.CustomizeCheckoutShared.ValueObjects.FridayPay", "FridayPay", b1 => + { + b1.Property("CustomizeWorkshopGroupSettingsid") + .HasColumnType("bigint"); + + b1.Property("FridayPayType") + .IsRequired() + .HasMaxLength(1) + .HasColumnType("nvarchar(1)"); + + b1.Property("Value") + .HasColumnType("float") + .HasColumnName("FridayPay_Value"); + + b1.HasKey("CustomizeWorkshopGroupSettingsid"); + + b1.ToTable("CustomizeWorkshopGroupSettings"); + + b1.WithOwner() + .HasForeignKey("CustomizeWorkshopGroupSettingsid"); + }); + + b.OwnsOne("_0_Framework.Domain.CustomizeCheckoutShared.ValueObjects.InsuranceDeduction", "InsuranceDeduction", b1 => + { + b1.Property("CustomizeWorkshopGroupSettingsid") + .HasColumnType("bigint"); + + b1.Property("InsuranceDeductionType") + .IsRequired() + .HasMaxLength(1) + .HasColumnType("nvarchar(1)") + .HasColumnName("InsuranceDeduction_InsuranceDeductionType"); + + b1.Property("Value") + .HasColumnType("float") + .HasColumnName("InsuranceDeduction_Value"); + + b1.HasKey("CustomizeWorkshopGroupSettingsid"); + + b1.ToTable("CustomizeWorkshopGroupSettings"); + + b1.WithOwner() + .HasForeignKey("CustomizeWorkshopGroupSettingsid"); + }); + + b.OwnsOne("_0_Framework.Domain.CustomizeCheckoutShared.ValueObjects.IrregularShift", "IrregularShift", b1 => + { + b1.Property("CustomizeWorkshopGroupSettingsid") + .HasColumnType("bigint"); + + b1.Property("EndTime") + .HasColumnType("time"); + + b1.Property("StartTime") + .HasColumnType("time"); + + b1.Property("WorkshopIrregularShifts") + .IsRequired() + .HasMaxLength(1) + .HasColumnType("nvarchar(1)"); + + b1.HasKey("CustomizeWorkshopGroupSettingsid"); + + b1.ToTable("CustomizeWorkshopGroupSettings"); + + b1.WithOwner() + .HasForeignKey("CustomizeWorkshopGroupSettingsid"); + }); + + b.OwnsOne("_0_Framework.Domain.CustomizeCheckoutShared.ValueObjects.LateToWork", "LateToWork", b1 => + { + b1.Property("CustomizeWorkshopGroupSettingsid") + .HasColumnType("bigint"); + + b1.Property("LateToWorkType") + .IsRequired() + .HasMaxLength(1) + .HasColumnType("nvarchar(1)") + .HasColumnName("LateToWork_LateToWorkType"); + + b1.Property("Value") + .HasColumnType("float") + .HasColumnName("LateToWork_Value"); + + b1.HasKey("CustomizeWorkshopGroupSettingsid"); + + b1.ToTable("CustomizeWorkshopGroupSettings"); + + b1.WithOwner() + .HasForeignKey("CustomizeWorkshopGroupSettingsid"); + + b1.OwnsMany("_0_Framework.Domain.CustomizeCheckoutShared.ValueObjects.LateToWorkTimeFine", "LateToWorkTimeFines", b2 => + { + b2.Property("CustomizeWorkshopGroupSettingsId") + .HasColumnType("bigint"); + + b2.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("int"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b2.Property("Id")); + + b2.Property("FineMoney") + .HasColumnType("float") + .HasColumnName("LateToWorkTimeFines_FineMoney"); + + b2.Property("Minute") + .HasMaxLength(4) + .HasColumnType("nvarchar(4)") + .HasColumnName("LateToWorkTimeFines_Minute"); + + b2.HasKey("CustomizeWorkshopGroupSettingsId", "Id"); + + b2.ToTable("CustomizeWorkshopGroupSettings_LateToWorkTimeFines"); + + b2.WithOwner() + .HasForeignKey("CustomizeWorkshopGroupSettingsId"); + }); + + b1.Navigation("LateToWorkTimeFines"); + }); + + b.OwnsOne("_0_Framework.Domain.CustomizeCheckoutShared.ValueObjects.LeavePay", "LeavePay", b1 => + { + b1.Property("CustomizeWorkshopGroupSettingsid") + .HasColumnType("bigint"); + + b1.Property("LeavePayType") + .IsRequired() + .HasMaxLength(1) + .HasColumnType("nvarchar(1)") + .HasColumnName("LeavePay_LeavePayType"); + + b1.Property("Value") + .HasColumnType("float") + .HasColumnName("LeavePay_Value"); + + b1.HasKey("CustomizeWorkshopGroupSettingsid"); + + b1.ToTable("CustomizeWorkshopGroupSettings"); + + b1.WithOwner() + .HasForeignKey("CustomizeWorkshopGroupSettingsid"); + }); + + b.OwnsOne("_0_Framework.Domain.CustomizeCheckoutShared.ValueObjects.MarriedAllowance", "MarriedAllowance", b1 => + { + b1.Property("CustomizeWorkshopGroupSettingsid") + .HasColumnType("bigint"); + + b1.Property("MarriedAllowanceType") + .IsRequired() + .HasMaxLength(1) + .HasColumnType("nvarchar(1)") + .HasColumnName("MarriedAllowance_MarriedAllowanceType"); + + b1.Property("Value") + .HasColumnType("float") + .HasColumnName("MarriedAllowance_Value"); + + b1.HasKey("CustomizeWorkshopGroupSettingsid"); + + b1.ToTable("CustomizeWorkshopGroupSettings"); + + b1.WithOwner() + .HasForeignKey("CustomizeWorkshopGroupSettingsid"); + }); + + b.OwnsOne("_0_Framework.Domain.CustomizeCheckoutShared.ValueObjects.NightWorkPay", "NightWorkPay", b1 => + { + b1.Property("CustomizeWorkshopGroupSettingsid") + .HasColumnType("bigint"); + + b1.Property("NightWorkingType") + .IsRequired() + .HasMaxLength(1) + .HasColumnType("nvarchar(1)") + .HasColumnName("NightWorkPay_NightWorkingType"); + + b1.Property("Value") + .HasColumnType("float") + .HasColumnName("NightWorkPay_Value"); + + b1.HasKey("CustomizeWorkshopGroupSettingsid"); + + b1.ToTable("CustomizeWorkshopGroupSettings"); + + b1.WithOwner() + .HasForeignKey("CustomizeWorkshopGroupSettingsid"); + }); + + b.OwnsOne("_0_Framework.Domain.CustomizeCheckoutShared.ValueObjects.OverTimePay", "OverTimePay", b1 => + { + b1.Property("CustomizeWorkshopGroupSettingsid") + .HasColumnType("bigint"); + + b1.Property("OverTimePayType") + .IsRequired() + .HasMaxLength(1) + .HasColumnType("nvarchar(1)") + .HasColumnName("OverTimePay_OverTimePayType"); + + b1.Property("Value") + .HasColumnType("float") + .HasColumnName("OverTimePay_Value"); + + b1.HasKey("CustomizeWorkshopGroupSettingsid"); + + b1.ToTable("CustomizeWorkshopGroupSettings"); + + b1.WithOwner() + .HasForeignKey("CustomizeWorkshopGroupSettingsid"); + }); + + b.OwnsOne("_0_Framework.Domain.CustomizeCheckoutShared.ValueObjects.ShiftPay", "ShiftPay", b1 => + { + b1.Property("CustomizeWorkshopGroupSettingsid") + .HasColumnType("bigint"); + + b1.Property("ShiftPayType") + .IsRequired() + .HasMaxLength(1) + .HasColumnType("nvarchar(1)") + .HasColumnName("ShiftPay_ShiftPayType"); + + b1.Property("ShiftType") + .IsRequired() + .HasMaxLength(1) + .HasColumnType("nvarchar(1)") + .HasColumnName("ShiftPay_ShiftType"); + + b1.Property("Value") + .HasColumnType("float") + .HasColumnName("ShiftPay_Value"); + + b1.HasKey("CustomizeWorkshopGroupSettingsid"); + + b1.ToTable("CustomizeWorkshopGroupSettings"); + + b1.WithOwner() + .HasForeignKey("CustomizeWorkshopGroupSettingsid"); + }); + + b.Navigation("BaseYearsPay"); + + b.Navigation("BonusesPay"); + + b.Navigation("BreakTime"); + + b.Navigation("CustomizeRotatingShifts"); + + b.Navigation("CustomizeWorkshopGroupSettingsShifts"); + + b.Navigation("CustomizeWorkshopSettings"); + + b.Navigation("EarlyExit"); + + b.Navigation("FamilyAllowance"); + + b.Navigation("FineAbsenceDeduction"); + + b.Navigation("FridayPay"); + + b.Navigation("InsuranceDeduction"); + + b.Navigation("IrregularShift"); + + b.Navigation("LateToWork"); + + b.Navigation("LeavePay"); + + b.Navigation("MarriedAllowance"); + + b.Navigation("NightWorkPay"); + + b.Navigation("OverTimePay"); + + b.Navigation("ShiftPay"); + }); + + modelBuilder.Entity("Company.Domain.CustomizeWorkshopSettingsAgg.Entities.CustomizeWorkshopSettings", b => + { + b.HasOne("Company.Domain.WorkshopAgg.Workshop", "Workshop") + .WithOne("CustomizeWorkshopSettings") + .HasForeignKey("Company.Domain.CustomizeWorkshopSettingsAgg.Entities.CustomizeWorkshopSettings", "WorkshopId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.OwnsMany("Company.Domain.CustomizeWorkshopSettingsAgg.Entities.CustomizeWorkshopSettingsShift", "CustomizeWorkshopSettingsShifts", b1 => + { + b1.Property("id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b1.Property("id")); + + b1.Property("CreationDate") + .HasColumnType("datetime2"); + + b1.Property("CustomizeWorkshopSettingsId") + .HasColumnType("bigint"); + + b1.Property("EndTime") + .HasColumnType("time"); + + b1.Property("Placement") + .IsRequired() + .HasMaxLength(20) + .HasColumnType("nvarchar(20)"); + + b1.Property("StartTime") + .HasColumnType("time"); + + b1.HasKey("id"); + + b1.HasIndex("CustomizeWorkshopSettingsId"); + + b1.ToTable("CustomizeWorkshopSettingsShifts", (string)null); + + b1.WithOwner("CustomizeWorkshopSettings") + .HasForeignKey("CustomizeWorkshopSettingsId"); + + b1.Navigation("CustomizeWorkshopSettings"); + }); + + b.OwnsOne("_0_Framework.Domain.CustomizeCheckoutShared.ValueObjects.BaseYearsPay", "BaseYearsPay", b1 => + { + b1.Property("CustomizeWorkshopSettingsid") + .HasColumnType("bigint"); + + b1.Property("BaseYearsPayType") + .IsRequired() + .HasMaxLength(1) + .HasColumnType("nvarchar(1)") + .HasColumnName("BaseYearsPay_BaseYearsPayType"); + + b1.Property("PaymentType") + .IsRequired() + .HasMaxLength(1) + .HasColumnType("nvarchar(1)") + .HasColumnName("BaseYearsPay_PaymentType"); + + b1.Property("Value") + .HasColumnType("float") + .HasColumnName("BaseYearsPay_Value"); + + b1.HasKey("CustomizeWorkshopSettingsid"); + + b1.ToTable("CustomizeWorkshopSettings"); + + b1.WithOwner() + .HasForeignKey("CustomizeWorkshopSettingsid"); + }); + + b.OwnsOne("_0_Framework.Domain.CustomizeCheckoutShared.ValueObjects.BonusesPay", "BonusesPay", b1 => + { + b1.Property("CustomizeWorkshopSettingsid") + .HasColumnType("bigint"); + + b1.Property("BonusesPayType") + .IsRequired() + .HasMaxLength(1) + .HasColumnType("nvarchar(1)") + .HasColumnName("BonusesPay_BonusesPayType"); + + b1.Property("PaymentType") + .IsRequired() + .HasMaxLength(1) + .HasColumnType("nvarchar(1)") + .HasColumnName("BonusesPay_PaymentType"); + + b1.Property("Value") + .HasColumnType("float") + .HasColumnName("BonusesPay_Value"); + + b1.HasKey("CustomizeWorkshopSettingsid"); + + b1.ToTable("CustomizeWorkshopSettings"); + + b1.WithOwner() + .HasForeignKey("CustomizeWorkshopSettingsid"); + }); + + b.OwnsOne("_0_Framework.Domain.CustomizeCheckoutShared.ValueObjects.EarlyExit", "EarlyExit", b1 => + { + b1.Property("CustomizeWorkshopSettingsid") + .HasColumnType("bigint"); + + b1.Property("EarlyExitType") + .IsRequired() + .HasMaxLength(1) + .HasColumnType("nvarchar(1)") + .HasColumnName("EarlyExit_EarlyExitType"); + + b1.Property("Value") + .HasColumnType("float") + .HasColumnName("EarlyExitTimeFines_Value"); + + b1.HasKey("CustomizeWorkshopSettingsid"); + + b1.ToTable("CustomizeWorkshopSettings"); + + b1.WithOwner() + .HasForeignKey("CustomizeWorkshopSettingsid"); + + b1.OwnsMany("_0_Framework.Domain.CustomizeCheckoutShared.ValueObjects.EarlyExitTimeFine", "EarlyExitTimeFines", b2 => + { + b2.Property("CustomizeWorkshopSettingsId") + .HasColumnType("bigint"); + + b2.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("int"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b2.Property("Id")); + + b2.Property("FineMoney") + .HasColumnType("float") + .HasColumnName("EarlyExitTimeFines_FineMoney"); + + b2.Property("Minute") + .HasMaxLength(4) + .HasColumnType("nvarchar(4)") + .HasColumnName("EarlyExitTimeFines_Minute"); + + b2.HasKey("CustomizeWorkshopSettingsId", "Id"); + + b2.ToTable("CustomizeWorkshopSettings_EarlyExitTimeFines"); + + b2.WithOwner() + .HasForeignKey("CustomizeWorkshopSettingsId"); + }); + + b1.Navigation("EarlyExitTimeFines"); + }); + + b.OwnsOne("_0_Framework.Domain.CustomizeCheckoutShared.ValueObjects.FamilyAllowance", "FamilyAllowance", b1 => + { + b1.Property("CustomizeWorkshopSettingsid") + .HasColumnType("bigint"); + + b1.Property("FamilyAllowanceType") + .IsRequired() + .HasMaxLength(1) + .HasColumnType("nvarchar(1)") + .HasColumnName("FamilyAllowance_FamilyAllowanceType"); + + b1.Property("Value") + .HasColumnType("float") + .HasColumnName("FamilyAllowance_Value"); + + b1.HasKey("CustomizeWorkshopSettingsid"); + + b1.ToTable("CustomizeWorkshopSettings"); + + b1.WithOwner() + .HasForeignKey("CustomizeWorkshopSettingsid"); + }); + + b.OwnsOne("_0_Framework.Domain.CustomizeCheckoutShared.ValueObjects.FineAbsenceDeduction", "FineAbsenceDeduction", b1 => + { + b1.Property("CustomizeWorkshopSettingsid") + .HasColumnType("bigint"); + + b1.Property("FineAbsenceDeductionType") + .IsRequired() + .HasMaxLength(1) + .HasColumnType("nvarchar(1)") + .HasColumnName("FineAbsenceDeduction_FineAbsenceDeductionType"); + + b1.Property("Value") + .HasColumnType("float") + .HasColumnName("FineAbsenceDeduction_Value"); + + b1.HasKey("CustomizeWorkshopSettingsid"); + + b1.ToTable("CustomizeWorkshopSettings"); + + b1.WithOwner() + .HasForeignKey("CustomizeWorkshopSettingsid"); + + b1.OwnsMany("_0_Framework.Domain.CustomizeCheckoutShared.ValueObjects.FineAbsenceDayOfWeek", "FineAbsenceDayOfWeekCollection", b2 => + { + b2.Property("CustomizeWorkshopSettingsId") + .HasColumnType("bigint"); + + b2.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("int"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b2.Property("Id")); + + b2.Property("DayOfWeek") + .IsRequired() + .HasMaxLength(1) + .HasColumnType("nvarchar(1)") + .HasColumnName("FineAbsenceDayOfWeekCollection_DayOfWeek"); + + b2.HasKey("CustomizeWorkshopSettingsId", "Id"); + + b2.ToTable("CustomizeWorkshopSettings_FineAbsenceDayOfWeekCollection"); + + b2.WithOwner() + .HasForeignKey("CustomizeWorkshopSettingsId"); + }); + + b1.Navigation("FineAbsenceDayOfWeekCollection"); + }); + + b.OwnsOne("_0_Framework.Domain.CustomizeCheckoutShared.ValueObjects.FridayPay", "FridayPay", b1 => + { + b1.Property("CustomizeWorkshopSettingsid") + .HasColumnType("bigint"); + + b1.Property("FridayPayType") + .IsRequired() + .HasMaxLength(1) + .HasColumnType("nvarchar(1)"); + + b1.Property("Value") + .HasColumnType("float") + .HasColumnName("FridayPay_Value"); + + b1.HasKey("CustomizeWorkshopSettingsid"); + + b1.ToTable("CustomizeWorkshopSettings"); + + b1.WithOwner() + .HasForeignKey("CustomizeWorkshopSettingsid"); + }); + + b.OwnsOne("_0_Framework.Domain.CustomizeCheckoutShared.ValueObjects.InsuranceDeduction", "InsuranceDeduction", b1 => + { + b1.Property("CustomizeWorkshopSettingsid") + .HasColumnType("bigint"); + + b1.Property("InsuranceDeductionType") + .IsRequired() + .HasMaxLength(1) + .HasColumnType("nvarchar(1)") + .HasColumnName("InsuranceDeduction_InsuranceDeductionType"); + + b1.Property("Value") + .HasColumnType("float") + .HasColumnName("InsuranceDeduction_Value"); + + b1.HasKey("CustomizeWorkshopSettingsid"); + + b1.ToTable("CustomizeWorkshopSettings"); + + b1.WithOwner() + .HasForeignKey("CustomizeWorkshopSettingsid"); + }); + + b.OwnsOne("_0_Framework.Domain.CustomizeCheckoutShared.ValueObjects.LateToWork", "LateToWork", b1 => + { + b1.Property("CustomizeWorkshopSettingsid") + .HasColumnType("bigint"); + + b1.Property("LateToWorkType") + .IsRequired() + .HasMaxLength(1) + .HasColumnType("nvarchar(1)") + .HasColumnName("LateToWork_LateToWorkType"); + + b1.Property("Value") + .HasColumnType("float") + .HasColumnName("LateToWork_Value"); + + b1.HasKey("CustomizeWorkshopSettingsid"); + + b1.ToTable("CustomizeWorkshopSettings"); + + b1.WithOwner() + .HasForeignKey("CustomizeWorkshopSettingsid"); + + b1.OwnsMany("_0_Framework.Domain.CustomizeCheckoutShared.ValueObjects.LateToWorkTimeFine", "LateToWorkTimeFines", b2 => + { + b2.Property("CustomizeWorkshopSettingsId") + .HasColumnType("bigint"); + + b2.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("int"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b2.Property("Id")); + + b2.Property("FineMoney") + .HasColumnType("float") + .HasColumnName("LateToWorkTimeFines_FineMoney"); + + b2.Property("Minute") + .HasMaxLength(4) + .HasColumnType("nvarchar(4)") + .HasColumnName("LateToWorkTimeFines_Minute"); + + b2.HasKey("CustomizeWorkshopSettingsId", "Id"); + + b2.ToTable("CustomizeWorkshopSettings_LateToWorkTimeFines"); + + b2.WithOwner() + .HasForeignKey("CustomizeWorkshopSettingsId"); + }); + + b1.Navigation("LateToWorkTimeFines"); + }); + + b.OwnsOne("_0_Framework.Domain.CustomizeCheckoutShared.ValueObjects.LeavePay", "LeavePay", b1 => + { + b1.Property("CustomizeWorkshopSettingsid") + .HasColumnType("bigint"); + + b1.Property("LeavePayType") + .IsRequired() + .HasMaxLength(1) + .HasColumnType("nvarchar(1)") + .HasColumnName("LeavePay_LeavePayType"); + + b1.Property("Value") + .HasColumnType("float") + .HasColumnName("LeavePay_Value"); + + b1.HasKey("CustomizeWorkshopSettingsid"); + + b1.ToTable("CustomizeWorkshopSettings"); + + b1.WithOwner() + .HasForeignKey("CustomizeWorkshopSettingsid"); + }); + + b.OwnsOne("_0_Framework.Domain.CustomizeCheckoutShared.ValueObjects.MarriedAllowance", "MarriedAllowance", b1 => + { + b1.Property("CustomizeWorkshopSettingsid") + .HasColumnType("bigint"); + + b1.Property("MarriedAllowanceType") + .IsRequired() + .HasMaxLength(1) + .HasColumnType("nvarchar(1)") + .HasColumnName("MarriedAllowance_MarriedAllowanceType"); + + b1.Property("Value") + .HasColumnType("float") + .HasColumnName("MarriedAllowance_Value"); + + b1.HasKey("CustomizeWorkshopSettingsid"); + + b1.ToTable("CustomizeWorkshopSettings"); + + b1.WithOwner() + .HasForeignKey("CustomizeWorkshopSettingsid"); + }); + + b.OwnsOne("_0_Framework.Domain.CustomizeCheckoutShared.ValueObjects.NightWorkPay", "NightWorkPay", b1 => + { + b1.Property("CustomizeWorkshopSettingsid") + .HasColumnType("bigint"); + + b1.Property("NightWorkingType") + .IsRequired() + .HasMaxLength(1) + .HasColumnType("nvarchar(1)") + .HasColumnName("NightWorkPay_NightWorkingType"); + + b1.Property("Value") + .HasColumnType("float") + .HasColumnName("NightWorkPay_Value"); + + b1.HasKey("CustomizeWorkshopSettingsid"); + + b1.ToTable("CustomizeWorkshopSettings"); + + b1.WithOwner() + .HasForeignKey("CustomizeWorkshopSettingsid"); + }); + + b.OwnsOne("_0_Framework.Domain.CustomizeCheckoutShared.ValueObjects.OverTimePay", "OverTimePay", b1 => + { + b1.Property("CustomizeWorkshopSettingsid") + .HasColumnType("bigint"); + + b1.Property("OverTimePayType") + .IsRequired() + .HasMaxLength(1) + .HasColumnType("nvarchar(1)") + .HasColumnName("OverTimePay_OverTimePayType"); + + b1.Property("Value") + .HasColumnType("float") + .HasColumnName("OverTimePay_Value"); + + b1.HasKey("CustomizeWorkshopSettingsid"); + + b1.ToTable("CustomizeWorkshopSettings"); + + b1.WithOwner() + .HasForeignKey("CustomizeWorkshopSettingsid"); + }); + + b.OwnsOne("_0_Framework.Domain.CustomizeCheckoutShared.ValueObjects.ShiftPay", "ShiftPay", b1 => + { + b1.Property("CustomizeWorkshopSettingsid") + .HasColumnType("bigint"); + + b1.Property("ShiftPayType") + .IsRequired() + .HasMaxLength(1) + .HasColumnType("nvarchar(1)") + .HasColumnName("ShiftPay_ShiftPayType"); + + b1.Property("ShiftType") + .IsRequired() + .HasMaxLength(1) + .HasColumnType("nvarchar(1)") + .HasColumnName("ShiftPay_ShiftType"); + + b1.Property("Value") + .HasColumnType("float") + .HasColumnName("ShiftPay_Value"); + + b1.HasKey("CustomizeWorkshopSettingsid"); + + b1.ToTable("CustomizeWorkshopSettings"); + + b1.WithOwner() + .HasForeignKey("CustomizeWorkshopSettingsid"); + }); + + b.Navigation("BaseYearsPay"); + + b.Navigation("BonusesPay"); + + b.Navigation("CustomizeWorkshopSettingsShifts"); + + b.Navigation("EarlyExit"); + + b.Navigation("FamilyAllowance"); + + b.Navigation("FineAbsenceDeduction"); + + b.Navigation("FridayPay"); + + b.Navigation("InsuranceDeduction"); + + b.Navigation("LateToWork"); + + b.Navigation("LeavePay"); + + b.Navigation("MarriedAllowance"); + + b.Navigation("NightWorkPay"); + + b.Navigation("OverTimePay"); + + b.Navigation("ShiftPay"); + + b.Navigation("Workshop"); + }); + + modelBuilder.Entity("Company.Domain.DateSalaryItemAgg.DateSalaryItem", b => + { + b.HasOne("Company.Domain.DateSalaryAgg.DateSalary", "DateSalary") + .WithMany("DateSalaryItemList") + .HasForeignKey("DateSalaryId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("Company.Domain.PercentageAgg.Percentage", "Percentage") + .WithMany("DateSalaryItemList") + .HasForeignKey("PercentageId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("DateSalary"); + + b.Navigation("Percentage"); + }); + + modelBuilder.Entity("Company.Domain.EmployeeAccountAgg.EmployeeAccount", b => + { + b.HasOne("Company.Domain.EmployeeAgg.Employee", "Employee") + .WithMany() + .HasForeignKey("EmployeeId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Employee"); + }); + + modelBuilder.Entity("Company.Domain.EmployeeBankInformationAgg.EmployeeBankInformation", b => + { + b.HasOne("Company.Domain.BankAgg.Bank", "Bank") + .WithMany() + .HasForeignKey("BankId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("Company.Domain.EmployeeAgg.Employee", "Employee") + .WithMany("EmployeeBankInformationList") + .HasForeignKey("EmployeeId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Bank"); + + b.Navigation("Employee"); + }); + + modelBuilder.Entity("Company.Domain.EmployeeChildrenAgg.EmployeeChildren", b => + { + b.HasOne("Company.Domain.EmployeeAgg.Employee", "Employee") + .WithMany("EmployeeChildrenList") + .HasForeignKey("EmployeeId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Employee"); + }); + + modelBuilder.Entity("Company.Domain.EmployeeDocumentItemAgg.EmployeeDocumentItem", b => + { + b.HasOne("Company.Domain.EmployeeDocumentsAgg.EmployeeDocuments", "EmployeeDocuments") + .WithMany("EmployeeDocumentItemCollection") + .HasForeignKey("EmployeeDocumentId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("Company.Domain.EmployeeDocumentsAdminSelectionAgg.EmployeeDocumentsAdminSelection", "EmployeeDocumentsAdminSelection") + .WithMany("SelectedEmployeeDocumentItems") + .HasForeignKey("EmployeeDocumentsAdminViewId"); + + b.OwnsMany("Company.Domain.EmployeeDocumentItemAgg.EmployeeDocumentItemLog", "ItemLogs", b1 => + { + b1.Property("id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b1.Property("id")); + + b1.Property("AdminMessage") + .HasMaxLength(500) + .HasColumnType("nvarchar(500)"); + + b1.Property("CreationDate") + .HasColumnType("datetime2"); + + b1.Property("EmployeeDocumentItemId") + .HasColumnType("bigint"); + + b1.Property("OperationType") + .IsRequired() + .HasMaxLength(25) + .HasColumnType("nvarchar(25)"); + + b1.Property("OperatorId") + .HasColumnType("bigint"); + + b1.Property("OperatorType") + .IsRequired() + .HasMaxLength(20) + .HasColumnType("nvarchar(20)"); + + b1.HasKey("id"); + + b1.HasIndex("EmployeeDocumentItemId"); + + b1.ToTable("EmployeeDocumentItemLogs", (string)null); + + b1.WithOwner("EmployeeDocumentItem") + .HasForeignKey("EmployeeDocumentItemId"); + + b1.Navigation("EmployeeDocumentItem"); + }); + + b.Navigation("EmployeeDocuments"); + + b.Navigation("EmployeeDocumentsAdminSelection"); + + b.Navigation("ItemLogs"); + }); + + modelBuilder.Entity("Company.Domain.EmployeeDocumentsAdminSelectionAgg.EmployeeDocumentsAdminSelection", b => + { + b.HasOne("Company.Domain.EmployeeAgg.Employee", "Employee") + .WithOne("EmployeeDocumentsAdminSelection") + .HasForeignKey("Company.Domain.EmployeeDocumentsAdminSelectionAgg.EmployeeDocumentsAdminSelection", "EmployeeId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Employee"); + }); + + modelBuilder.Entity("Company.Domain.EmployeeDocumentsAgg.EmployeeDocuments", b => + { + b.HasOne("Company.Domain.EmployeeAgg.Employee", "Employee") + .WithMany("EmployeeDocuments") + .HasForeignKey("EmployeeId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("Company.Domain.WorkshopAgg.Workshop", "Workshop") + .WithMany() + .HasForeignKey("WorkshopId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Employee"); + + b.Navigation("Workshop"); + }); + + modelBuilder.Entity("Company.Domain.EmployeeInsuranceRecordAgg.EmployeeInsuranceRecord", b => + { + b.HasOne("Company.Domain.EmployeeAgg.Employee", "Employee") + .WithMany("EmployeeInsuranceRecords") + .HasForeignKey("EmployeeId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("Company.Domain.WorkshopAgg.Workshop", "Workshop") + .WithMany("EmployeeInsuranceRecords") + .HasForeignKey("WorkShopId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Employee"); + + b.Navigation("Workshop"); + }); + + modelBuilder.Entity("Company.Domain.EmployerAccountAgg.EmployerAccount", b => + { + b.HasOne("Company.Domain.empolyerAgg.Employer", "Employer") + .WithMany() + .HasForeignKey("EmployerId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Employer"); + }); + + modelBuilder.Entity("Company.Domain.Evidence.Evidence", b => + { + b.HasOne("Company.Domain.BoardType.BoardType", "BoardType") + .WithMany("EvidencesList") + .HasForeignKey("BoardType_Id") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("Company.Domain.File1.File1", "File1") + .WithMany("EvidencesList") + .HasForeignKey("File_Id") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("BoardType"); + + b.Navigation("File1"); + }); + + modelBuilder.Entity("Company.Domain.EvidenceDetail.EvidenceDetail", b => + { + b.HasOne("Company.Domain.Evidence.Evidence", "Evidence") + .WithMany("EvidenceDetailsList") + .HasForeignKey("Evidence_Id") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Evidence"); + }); + + modelBuilder.Entity("Company.Domain.FileAlert.FileAlert", b => + { + b.HasOne("Company.Domain.FileState.FileState", "FileState") + .WithMany("FileAlertsList") + .HasForeignKey("FileState_Id") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("Company.Domain.File1.File1", "File") + .WithMany("FileAlertsList") + .HasForeignKey("File_Id") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("File"); + + b.Navigation("FileState"); + }); + + modelBuilder.Entity("Company.Domain.FileAndFileEmployerAgg.FileAndFileEmployer", b => + { + b.HasOne("Company.Domain.FileEmployerAgg.FileEmployer", "FileEmployer") + .WithMany("FileAndFileEmployers") + .HasForeignKey("FileEmployerId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("Company.Domain.File1.File1", "File1") + .WithMany("FileAndFileEmployers") + .HasForeignKey("FileId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("File1"); + + b.Navigation("FileEmployer"); + }); + + modelBuilder.Entity("Company.Domain.FileEmployeeAgg.FileEmployee", b => + { + b.HasOne("Company.Domain.RepresentativeAgg.Representative", "Representative") + .WithMany("FileEmployeeList") + .HasForeignKey("RepresentativeId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Representative"); + }); + + modelBuilder.Entity("Company.Domain.FileEmployerAgg.FileEmployer", b => + { + b.HasOne("Company.Domain.RepresentativeAgg.Representative", "Representative") + .WithMany("FileEmployerList") + .HasForeignKey("RepresentativeId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Representative"); + }); + + modelBuilder.Entity("Company.Domain.FileState.FileState", b => + { + b.HasOne("Company.Domain.FileTiming.FileTiming", "FileTiming") + .WithMany("FileStates") + .HasForeignKey("FileTiming_Id") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("FileTiming"); + }); + + modelBuilder.Entity("Company.Domain.FinancialTransactionAgg.FinancialTransaction", b => + { + b.HasOne("Company.Domain.FinancialStatmentAgg.FinancialStatment", "FinancialStatment") + .WithMany("FinancialTransactionList") + .HasForeignKey("FinancialStatementId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("FinancialStatment"); + }); + + modelBuilder.Entity("Company.Domain.GroupPlanAgg.GroupPlan", b => + { + b.HasOne("Company.Domain.WorkshopPlanAgg.WorkshopPlan", "WorkshopPlan") + .WithMany("GroupPlans") + .HasForeignKey("WorkshopPlanId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("WorkshopPlan"); + }); + + modelBuilder.Entity("Company.Domain.GroupPlanJobItemAgg.GroupPlanJobItem", b => + { + b.HasOne("Company.Domain.GroupPlanAgg.GroupPlan", "GroupPlan") + .WithMany("GroupPlanJobItems") + .HasForeignKey("GroupPlanId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("GroupPlan"); + }); + + modelBuilder.Entity("Company.Domain.HolidayItemAgg.HolidayItem", b => + { + b.HasOne("Company.Domain.HolidayAgg.Holiday", "Holidayss") + .WithMany("HolidayItems") + .HasForeignKey("HolidayId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Holidayss"); + }); + + modelBuilder.Entity("Company.Domain.InstitutionContractContactInfoAgg.InstitutionContractContactInfo", b => + { + b.HasOne("Company.Domain.InstitutionContractAgg.InstitutionContract", "InstitutionContracts") + .WithMany("ContactInfoList") + .HasForeignKey("InstitutionContractId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("InstitutionContracts"); + }); + + modelBuilder.Entity("Company.Domain.InsurancWorkshopInfoAgg.InsuranceWorkshopInfo", b => + { + b.HasOne("Company.Domain.WorkshopAgg.Workshop", "Workshop") + .WithOne("InsuranceWorkshopInfo") + .HasForeignKey("Company.Domain.InsurancWorkshopInfoAgg.InsuranceWorkshopInfo", "WorkshopId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Workshop"); + }); + + modelBuilder.Entity("Company.Domain.InsuranceAgg.Insurance", b => + { + b.HasOne("Company.Domain.WorkshopAgg.Workshop", "Workshop") + .WithMany("Insurances") + .HasForeignKey("WorkShopId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Workshop"); + }); + + modelBuilder.Entity("Company.Domain.InsuranceEmployeeInfoAgg.InsuranceEmployeeInfo", b => + { + b.HasOne("Company.Domain.EmployeeAgg.Employee", "Employee") + .WithOne("InsuranceEmployeeInfo") + .HasForeignKey("Company.Domain.InsuranceEmployeeInfoAgg.InsuranceEmployeeInfo", "EmployeeId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Employee"); + }); + + modelBuilder.Entity("Company.Domain.InsuranceJobAndJobsAgg.InsuranceJobAndJobs", b => + { + b.HasOne("Company.Domain.InsuranceJobItemAgg.InsuranceJobItem", "InsuranceJobItem") + .WithMany("InsuranceJobAndJobs") + .HasForeignKey("InsuranceJobItemId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("Company.Domain.JobAgg.Job", "Jobs") + .WithMany("InsuranceJobAndJobs") + .HasForeignKey("JobId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("InsuranceJobItem"); + + b.Navigation("Jobs"); + }); + + modelBuilder.Entity("Company.Domain.InsuranceJobItemAgg.InsuranceJobItem", b => + { + b.HasOne("Company.Domain.InsurancJobAgg.InsuranceJob", "InsuranceJob") + .WithMany("InsuranceJobItemList") + .HasForeignKey("InsuranceJobId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("InsuranceJob"); + }); + + modelBuilder.Entity("Company.Domain.InsuranceWorkshopAgg.InsuranceListWorkshop", b => + { + b.HasOne("Company.Domain.InsuranceListAgg.InsuranceList", "InsuranceList") + .WithMany("InsuranceListWorkshops") + .HasForeignKey("InsurancListId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("Company.Domain.WorkshopAgg.Workshop", "Workshop") + .WithMany("InsuranceListWorkshops") + .HasForeignKey("WorkshopId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("InsuranceList"); + + b.Navigation("Workshop"); + }); + + modelBuilder.Entity("Company.Domain.LeftWorkAgg.LeftWork", b => + { + b.HasOne("Company.Domain.EmployeeAgg.Employee", "Employee") + .WithMany("LeftWorks") + .HasForeignKey("EmployeeId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("Company.Domain.WorkshopAgg.Workshop", "Workshop") + .WithMany("LeftWorks") + .HasForeignKey("WorkshopId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Employee"); + + b.Navigation("Workshop"); + }); + + modelBuilder.Entity("Company.Domain.LeftWorkInsuranceAgg.LeftWorkInsurance", b => + { + b.HasOne("Company.Domain.EmployeeAgg.Employee", "Employee") + .WithMany("LeftWorkInsurances") + .HasForeignKey("EmployeeId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("Company.Domain.WorkshopAgg.Workshop", "Workshop") + .WithMany("LeftWorkInsurances") + .HasForeignKey("WorkshopId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Employee"); + + b.Navigation("Workshop"); + }); + + modelBuilder.Entity("Company.Domain.LoanAgg.Entities.Loan", b => + { + b.OwnsMany("Company.Domain.LoanAgg.Entities.LoanInstallment", "LoanInstallments", b1 => + { + b1.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("int"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b1.Property("Id")); + + b1.Property("AmountForMonth") + .HasColumnType("float"); + + b1.Property("InstallmentDate") + .HasColumnType("datetime2"); + + b1.Property("IsActive") + .IsRequired() + .HasMaxLength(5) + .HasColumnType("nvarchar(5)"); + + b1.Property("LoanId") + .HasColumnType("bigint"); + + b1.Property("Month") + .HasMaxLength(2) + .HasColumnType("nvarchar(2)"); + + b1.Property("Year") + .HasMaxLength(4) + .HasColumnType("nvarchar(4)"); + + b1.HasKey("Id"); + + b1.HasIndex("LoanId"); + + b1.ToTable("LoanInstallment"); + + b1.WithOwner() + .HasForeignKey("LoanId"); + }); + + b.Navigation("LoanInstallments"); + }); + + modelBuilder.Entity("Company.Domain.MasterPenaltyTitle.MasterPenaltyTitle", b => + { + b.HasOne("Company.Domain.MasterPetition.MasterPetition", "MasterPetition") + .WithMany("MasterPenaltyTitlesList") + .HasForeignKey("MasterPetition_Id") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("MasterPetition"); + }); + + modelBuilder.Entity("Company.Domain.MasterPetition.MasterPetition", b => + { + b.HasOne("Company.Domain.BoardType.BoardType", "BoardType") + .WithMany("MasterPetitionsList") + .HasForeignKey("BoardType_Id") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("Company.Domain.File1.File1", "File1") + .WithMany("MasterPetitionsList") + .HasForeignKey("File_Id") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("BoardType"); + + b.Navigation("File1"); + }); + + modelBuilder.Entity("Company.Domain.MasterWorkHistory.MasterWorkHistory", b => + { + b.HasOne("Company.Domain.MasterPetition.MasterPetition", "MasterPetition") + .WithMany("MasterWorkHistoriesList") + .HasForeignKey("MasterPetition_Id") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("MasterPetition"); + }); + + modelBuilder.Entity("Company.Domain.ModuleTextManagerAgg.EntityModuleTextManager", b => + { + b.HasOne("Company.Domain.ModuleAgg.EntityModule", "Module") + .WithMany("EntityModuleTextManagers") + .HasForeignKey("ModuleId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("Company.Domain.TextManagerAgg.EntityTextManager", "TextManager") + .WithMany("EntityModuleTextManagers") + .HasForeignKey("TextManagerId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Module"); + + b.Navigation("TextManager"); + }); + + modelBuilder.Entity("Company.Domain.PaymentToEmployeeItemAgg.PaymentToEmployeeItem", b => + { + b.HasOne("Company.Domain.PaymentToEmployeeAgg.PaymentToEmployee", "PaymentToEmployee") + .WithMany("PaymentToEmployeeItemList") + .HasForeignKey("PaymentToEmployeeId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("PaymentToEmployee"); + }); + + modelBuilder.Entity("Company.Domain.PenaltyTitle.PenaltyTitle", b => + { + b.HasOne("Company.Domain.Petition.Petition", "Petition") + .WithMany("PenaltyTitlesList") + .HasForeignKey("Petition_Id") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Petition"); + }); + + modelBuilder.Entity("Company.Domain.PersonnelCodeAgg.PersonnelCodeDomain", b => + { + b.HasOne("Company.Domain.EmployeeAgg.Employee", "Employee") + .WithMany("PersonnelCodeList") + .HasForeignKey("EmployeeId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("Company.Domain.WorkshopAgg.Workshop", "Workshop") + .WithMany("PersonnelCodeList") + .HasForeignKey("WorkshopId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Employee"); + + b.Navigation("Workshop"); + }); + + modelBuilder.Entity("Company.Domain.Petition.Petition", b => + { + b.HasOne("Company.Domain.BoardType.BoardType", "BoardType") + .WithMany("PetitionsList") + .HasForeignKey("BoardType_Id") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("Company.Domain.File1.File1", "File1") + .WithMany("PetitionsList") + .HasForeignKey("File_Id") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("BoardType"); + + b.Navigation("File1"); + }); + + modelBuilder.Entity("Company.Domain.ProceedingSession.ProceedingSession", b => + { + b.HasOne("Company.Domain.Board.Board", "Board") + .WithMany("ProceedingSessionsList") + .HasForeignKey("Board_Id") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Board"); + }); + + modelBuilder.Entity("Company.Domain.RollCallEmployeeStatusAgg.RollCallEmployeeStatus", b => + { + b.HasOne("Company.Domain.RollCallEmployeeAgg.RollCallEmployee", "RollCallEmployee") + .WithMany("EmployeesStatus") + .HasForeignKey("RollCallEmployeeId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("RollCallEmployee"); + }); + + modelBuilder.Entity("Company.Domain.RollCallServiceAgg.RollCallService", b => + { + b.HasOne("Company.Domain.WorkshopAgg.Workshop", "Workshop") + .WithMany("RollCallServicesList") + .HasForeignKey("WorkshopId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Workshop"); + }); + + modelBuilder.Entity("Company.Domain.SubtitleAgg.EntitySubtitle", b => + { + b.HasOne("Company.Domain.SubtitleAgg.EntitySubtitle", null) + .WithMany("Subtitles") + .HasForeignKey("EntitySubtitleid"); + + b.HasOne("Company.Domain.OriginalTitleAgg.EntityOriginalTitle", "EntityOriginalTitle") + .WithMany("Subtitles") + .HasForeignKey("OriginalTitle_Id") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("EntityOriginalTitle"); + }); + + modelBuilder.Entity("Company.Domain.TaxLeftWorkCategoryAgg.TaxLeftWorkCategory", b => + { + b.HasOne("Company.Domain.WorkshopAgg.Workshop", "Workshop") + .WithMany("TaxLeftWorkCategoryList") + .HasForeignKey("WorkshopId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Workshop"); + }); + + modelBuilder.Entity("Company.Domain.TaxLeftWorkItemAgg.TaxLeftWorkItem", b => + { + b.HasOne("Company.Domain.TaxLeftWorkCategoryAgg.TaxLeftWorkCategory", "TaxLeftWorkCategory") + .WithMany("TaxLeftWorkItemList") + .HasForeignKey("TaxLeftWorkCategoryId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("TaxLeftWorkCategory"); + }); + + modelBuilder.Entity("Company.Domain.TemporaryClientRegistrationAgg.WorkshopServicesTemp", b => + { + b.HasOne("Company.Domain.TemporaryClientRegistrationAgg.WorkshopTemp", "WorkshopTemp") + .WithMany("WorkshopServicesTemps") + .HasForeignKey("WorkshopTempId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("WorkshopTemp"); + }); + + modelBuilder.Entity("Company.Domain.WorkHistory.WorkHistory", b => + { + b.HasOne("Company.Domain.Petition.Petition", "Petition") + .WithMany("WorkHistoriesList") + .HasForeignKey("Petition_Id") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Petition"); + }); + + modelBuilder.Entity("Company.Domain.WorkingHoursAgg.WorkingHours", b => + { + b.HasOne("Company.Domain.ContractAgg.Contract", "Contracts") + .WithMany("WorkingHoursList") + .HasForeignKey("ContractId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Contracts"); + }); + + modelBuilder.Entity("Company.Domain.WorkingHoursItemsAgg.WorkingHoursItems", b => + { + b.HasOne("Company.Domain.WorkingHoursAgg.WorkingHours", "WorkingHourses") + .WithMany("WorkingHoursItemsList") + .HasForeignKey("WorkingHoursId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("WorkingHourses"); + }); + + modelBuilder.Entity("Company.Domain.WorkingHoursTempItemAgg.WorkingHoursTempItem", b => + { + b.HasOne("Company.Domain.WorkingHoursTempAgg.WorkingHoursTemp", "WorkingHoursTemp") + .WithMany("WorkingHoursTempItemList") + .HasForeignKey("WorkingHoursTempId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("WorkingHoursTemp"); + }); + + modelBuilder.Entity("Company.Domain.WorkshopAccountAgg.WorkshopAccount", b => + { + b.HasOne("Company.Domain.WorkshopAgg.Workshop", "Workshop") + .WithMany() + .HasForeignKey("WorkshopId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Workshop"); + }); + + modelBuilder.Entity("Company.Domain.WorkshopEmployerAgg.WorkshopEmployer", b => + { + b.HasOne("Company.Domain.empolyerAgg.Employer", "Employer") + .WithMany("WorkshopEmployers") + .HasForeignKey("EmployerId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("Company.Domain.WorkshopAgg.Workshop", "Workshop") + .WithMany("WorkshopEmployers") + .HasForeignKey("WorkshopId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Employer"); + + b.Navigation("Workshop"); + }); + + modelBuilder.Entity("Company.Domain.WorkshopPlanEmployeeAgg.WorkshopPlanEmployee", b => + { + b.HasOne("Company.Domain.WorkshopPlanAgg.WorkshopPlan", "WorkshopPlan") + .WithMany("WorkshopPlanEmployees") + .HasForeignKey("WorkshopPlanId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("WorkshopPlan"); + }); + + modelBuilder.Entity("Company.Domain.WorkshopSubAccountAgg.WorkshopSubAccount", b => + { + b.HasOne("Company.Domain.WorkshopAgg.Workshop", "Workshop") + .WithMany("WorkshopSubAccounts") + .HasForeignKey("WorkshopId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Workshop"); + }); + + modelBuilder.Entity("Company.Domain.YearlySalaryItemsAgg.YearlySalaryItem", b => + { + b.HasOne("Company.Domain.YearlySalaryAgg.YearlySalary", "YearlySalary") + .WithMany("YearlySalaryItemsList") + .HasForeignKey("YearlySalaryId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("YearlySalary"); + }); + + modelBuilder.Entity("Company.Domain.empolyerAgg.Employer", b => + { + b.HasOne("Company.Domain.ContarctingPartyAgg.PersonalContractingParty", "ContractingParty") + .WithMany("Employers") + .HasForeignKey("ContractingPartyId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("ContractingParty"); + }); + + modelBuilder.Entity("EmployerWorkshop", b => + { + b.HasOne("Company.Domain.empolyerAgg.Employer", null) + .WithMany() + .HasForeignKey("EmployersListid") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("Company.Domain.WorkshopAgg.Workshop", null) + .WithMany() + .HasForeignKey("WorkshopsListid") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + }); + + modelBuilder.Entity("Company.Domain.Board.Board", b => + { + b.Navigation("ProceedingSessionsList"); + }); + + modelBuilder.Entity("Company.Domain.BoardType.BoardType", b => + { + b.Navigation("BoardsList"); + + b.Navigation("EvidencesList"); + + b.Navigation("MasterPetitionsList"); + + b.Navigation("PetitionsList"); + }); + + modelBuilder.Entity("Company.Domain.ContarctingPartyAgg.PersonalContractingParty", b => + { + b.Navigation("Employers"); + }); + + modelBuilder.Entity("Company.Domain.ContractAgg.Contract", b => + { + b.Navigation("WorkingHoursList"); + }); + + modelBuilder.Entity("Company.Domain.CrossJobAgg.CrossJob", b => + { + b.Navigation("CrossJobItemsList"); + }); + + modelBuilder.Entity("Company.Domain.CrossJobGuildAgg.CrossJobGuild", b => + { + b.Navigation("CrossJobList"); + }); + + modelBuilder.Entity("Company.Domain.CustomizeWorkshopGroupSettingsAgg.Entities.CustomizeWorkshopGroupSettings", b => + { + b.Navigation("CustomizeWorkshopEmployeeSettingsCollection"); + }); + + modelBuilder.Entity("Company.Domain.CustomizeWorkshopSettingsAgg.Entities.CustomizeWorkshopSettings", b => + { + b.Navigation("CustomizeWorkshopGroupSettingsCollection"); + }); + + modelBuilder.Entity("Company.Domain.DateSalaryAgg.DateSalary", b => + { + b.Navigation("DateSalaryItemList"); + }); + + modelBuilder.Entity("Company.Domain.EmployeeAgg.Employee", b => + { + b.Navigation("ClientEmployeeWorkshopList"); + + b.Navigation("Contracts"); + + b.Navigation("CustomizeCheckouts"); + + b.Navigation("EmployeeBankInformationList"); + + b.Navigation("EmployeeChildrenList"); + + b.Navigation("EmployeeDocuments"); + + b.Navigation("EmployeeDocumentsAdminSelection"); + + b.Navigation("EmployeeInsuranceRecords"); + + b.Navigation("InsuranceEmployeeInfo"); + + b.Navigation("LeftWorkInsurances"); + + b.Navigation("LeftWorks"); + + b.Navigation("PersonnelCodeList"); + }); + + modelBuilder.Entity("Company.Domain.EmployeeDocumentsAdminSelectionAgg.EmployeeDocumentsAdminSelection", b => + { + b.Navigation("SelectedEmployeeDocumentItems"); + }); + + modelBuilder.Entity("Company.Domain.EmployeeDocumentsAgg.EmployeeDocuments", b => + { + b.Navigation("EmployeeDocumentItemCollection"); + }); + + modelBuilder.Entity("Company.Domain.Evidence.Evidence", b => + { + b.Navigation("EvidenceDetailsList"); + }); + + modelBuilder.Entity("Company.Domain.File1.File1", b => + { + b.Navigation("BoardsList"); + + b.Navigation("EvidencesList"); + + b.Navigation("FileAlertsList"); + + b.Navigation("FileAndFileEmployers"); + + b.Navigation("MasterPetitionsList"); + + b.Navigation("PetitionsList"); + }); + + modelBuilder.Entity("Company.Domain.FileEmployerAgg.FileEmployer", b => + { + b.Navigation("FileAndFileEmployers"); + }); + + modelBuilder.Entity("Company.Domain.FileState.FileState", b => + { + b.Navigation("FileAlertsList"); + }); + + modelBuilder.Entity("Company.Domain.FileTiming.FileTiming", b => + { + b.Navigation("FileStates"); + }); + + modelBuilder.Entity("Company.Domain.FinancialStatmentAgg.FinancialStatment", b => + { + b.Navigation("FinancialTransactionList"); + }); + + modelBuilder.Entity("Company.Domain.GroupPlanAgg.GroupPlan", b => + { + b.Navigation("GroupPlanJobItems"); + }); + + modelBuilder.Entity("Company.Domain.HolidayAgg.Holiday", b => + { + b.Navigation("HolidayItems"); + }); + + modelBuilder.Entity("Company.Domain.InstitutionContractAgg.InstitutionContract", b => + { + b.Navigation("ContactInfoList"); + }); + + modelBuilder.Entity("Company.Domain.InsurancJobAgg.InsuranceJob", b => + { + b.Navigation("InsuranceJobItemList"); + }); + + modelBuilder.Entity("Company.Domain.InsuranceJobItemAgg.InsuranceJobItem", b => + { + b.Navigation("InsuranceJobAndJobs"); + }); + + modelBuilder.Entity("Company.Domain.InsuranceListAgg.InsuranceList", b => + { + b.Navigation("InsuranceListWorkshops"); + }); + + modelBuilder.Entity("Company.Domain.JobAgg.Job", b => + { + b.Navigation("ContractsList"); + + b.Navigation("CrossJobItemsList"); + + b.Navigation("InsuranceJobAndJobs"); + }); + + modelBuilder.Entity("Company.Domain.MandatoryHoursAgg.MandatoryHours", b => + { + b.Navigation("Contracts"); + }); + + modelBuilder.Entity("Company.Domain.MasterPetition.MasterPetition", b => + { + b.Navigation("MasterPenaltyTitlesList"); + + b.Navigation("MasterWorkHistoriesList"); + }); + + modelBuilder.Entity("Company.Domain.ModuleAgg.EntityModule", b => + { + b.Navigation("EntityModuleTextManagers"); + }); + + modelBuilder.Entity("Company.Domain.OriginalTitleAgg.EntityOriginalTitle", b => + { + b.Navigation("Subtitles"); + }); + + modelBuilder.Entity("Company.Domain.PaymentToEmployeeAgg.PaymentToEmployee", b => + { + b.Navigation("PaymentToEmployeeItemList"); + }); + + modelBuilder.Entity("Company.Domain.PercentageAgg.Percentage", b => + { + b.Navigation("DateSalaryItemList"); + }); + + modelBuilder.Entity("Company.Domain.Petition.Petition", b => + { + b.Navigation("PenaltyTitlesList"); + + b.Navigation("WorkHistoriesList"); + }); + + modelBuilder.Entity("Company.Domain.RepresentativeAgg.Representative", b => + { + b.Navigation("ContractingParties"); + + b.Navigation("FileEmployeeList"); + + b.Navigation("FileEmployerList"); + }); + + modelBuilder.Entity("Company.Domain.RollCallEmployeeAgg.RollCallEmployee", b => + { + b.Navigation("EmployeesStatus"); + }); + + modelBuilder.Entity("Company.Domain.SubtitleAgg.EntitySubtitle", b => + { + b.Navigation("Chapters"); + + b.Navigation("Subtitles"); + }); + + modelBuilder.Entity("Company.Domain.TaxLeftWorkCategoryAgg.TaxLeftWorkCategory", b => + { + b.Navigation("TaxLeftWorkItemList"); + }); + + modelBuilder.Entity("Company.Domain.TemporaryClientRegistrationAgg.WorkshopTemp", b => + { + b.Navigation("WorkshopServicesTemps"); + }); + + modelBuilder.Entity("Company.Domain.TextManagerAgg.EntityTextManager", b => + { + b.Navigation("EntityModuleTextManagers"); + }); + + modelBuilder.Entity("Company.Domain.WorkingHoursAgg.WorkingHours", b => + { + b.Navigation("WorkingHoursItemsList"); + }); + + modelBuilder.Entity("Company.Domain.WorkingHoursTempAgg.WorkingHoursTemp", b => + { + b.Navigation("WorkingHoursTempItemList"); + }); + + modelBuilder.Entity("Company.Domain.WorkshopAgg.Workshop", b => + { + b.Navigation("Checkouts"); + + b.Navigation("ClientEmployeeWorkshopList"); + + b.Navigation("Contracts2"); + + b.Navigation("CustomizeCheckouts"); + + b.Navigation("CustomizeWorkshopSettings"); + + b.Navigation("EmployeeInsuranceRecords"); + + b.Navigation("InsuranceListWorkshops"); + + b.Navigation("InsuranceWorkshopInfo"); + + b.Navigation("Insurances"); + + b.Navigation("LeftWorkInsurances"); + + b.Navigation("LeftWorks"); + + b.Navigation("PersonnelCodeList"); + + b.Navigation("RollCallServicesList"); + + b.Navigation("TaxLeftWorkCategoryList"); + + b.Navigation("WorkshopEmployers"); + + b.Navigation("WorkshopSubAccounts"); + }); + + modelBuilder.Entity("Company.Domain.WorkshopPlanAgg.WorkshopPlan", b => + { + b.Navigation("GroupPlans"); + + b.Navigation("WorkshopPlanEmployees"); + }); + + modelBuilder.Entity("Company.Domain.YearlySalaryAgg.YearlySalary", b => + { + b.Navigation("Contracts"); + + b.Navigation("YearlySalaryItemsList"); + }); + + modelBuilder.Entity("Company.Domain.empolyerAgg.Employer", b => + { + b.Navigation("Contracts"); + + b.Navigation("WorkshopEmployers"); + }); +#pragma warning restore 612, 618 + } + } +} diff --git a/CompanyManagment.EFCore/Migrations/20250505140611_add uploaderRoleId to EmployeeDocumentItems.cs b/CompanyManagment.EFCore/Migrations/20250505140611_add uploaderRoleId to EmployeeDocumentItems.cs new file mode 100644 index 00000000..b3bb7581 --- /dev/null +++ b/CompanyManagment.EFCore/Migrations/20250505140611_add uploaderRoleId to EmployeeDocumentItems.cs @@ -0,0 +1,29 @@ +using Microsoft.EntityFrameworkCore.Migrations; + +#nullable disable + +namespace CompanyManagment.EFCore.Migrations +{ + /// + public partial class adduploaderRoleIdtoEmployeeDocumentItems : Migration + { + /// + protected override void Up(MigrationBuilder migrationBuilder) + { + migrationBuilder.AddColumn( + name: "UploaderRoleId", + table: "EmployeeDocumentItems", + type: "bigint", + nullable: false, + defaultValue: 0L); + } + + /// + protected override void Down(MigrationBuilder migrationBuilder) + { + migrationBuilder.DropColumn( + name: "UploaderRoleId", + table: "EmployeeDocumentItems"); + } + } +} diff --git a/CompanyManagment.EFCore/Migrations/CompanyContextModelSnapshot.cs b/CompanyManagment.EFCore/Migrations/CompanyContextModelSnapshot.cs index 235fafe5..4197b0c1 100644 --- a/CompanyManagment.EFCore/Migrations/CompanyContextModelSnapshot.cs +++ b/CompanyManagment.EFCore/Migrations/CompanyContextModelSnapshot.cs @@ -1843,6 +1843,9 @@ namespace CompanyManagment.EFCore.Migrations b.Property("UploaderId") .HasColumnType("bigint"); + b.Property("UploaderRoleId") + .HasColumnType("bigint"); + b.Property("UploaderType") .IsRequired() .HasMaxLength(20) diff --git a/CompanyManagment.EFCore/Repository/EmployeeDocumentsRepository.cs b/CompanyManagment.EFCore/Repository/EmployeeDocumentsRepository.cs index 7f0dff9e..e83a9f3b 100644 --- a/CompanyManagment.EFCore/Repository/EmployeeDocumentsRepository.cs +++ b/CompanyManagment.EFCore/Repository/EmployeeDocumentsRepository.cs @@ -78,8 +78,8 @@ public class EmployeeDocumentsRepository : RepositoryBasey.EmployeeDocumentItemCollection.Where(z=>z.DocumentStatus != DocumentStatus.Unsubmitted && + var currentDocs = documents.SelectMany(y => y.EmployeeDocumentItemCollection.Where(z => z.DocumentStatus != DocumentStatus.Unsubmitted && z.DocumentStatus != DocumentStatus.Deleted)).Select(y => y.MediaId).ToList(); //get medias for current documents of employees var medias = _accountContext.Medias.Where(x => currentDocs.Contains(x.id)).Select(x => new MediaViewModel() - { Id = x.id,Path=x.Path }).ToList(); + { Id = x.id, Path = x.Path }).ToList(); @@ -246,43 +246,43 @@ public class EmployeeDocumentsRepository : RepositoryBase y.EmployeeDocumentItemCollection) - .Where(y=>y.DocumentStatus != DocumentStatus.Unsubmitted || y.UploaderType == UserType.Client) - .GroupBy(x=>new{x.WorkshopId,x.EmployeeId,x.DocumentLabel}).Select(x=> - x.MaxBy(y=>y.CreationDate)).Select(z => z.MediaId).ToList(); + .Where(y => y.DocumentStatus != DocumentStatus.Unsubmitted || y.UploaderType == UserType.Client) + .GroupBy(x => new { x.WorkshopId, x.EmployeeId, x.DocumentLabel }).Select(x => + x.MaxBy(y => y.CreationDate)).Select(z => z.MediaId).ToList(); var personnelCodes = _companyContext.PersonnelCodeSet.Where(x => x.WorkshopId == cmd.WorkshopId).ToList(); //get medias for current documents of employees var medias = _accountContext.Medias.Where(x => currentItemsMediaId.Contains(x.id)) - .Select(x => new MediaViewModel(){ Id = x.id,Path= x.Path }).ToList(); + .Select(x => new MediaViewModel() { Id = x.id, Path = x.Path }).ToList(); return employeeDocuments.Select(x => { - var employeeLatestConfirmedDocuments = employeeDocuments.Where(y=>x.EmployeeId==y.EmployeeId) - .SelectMany(y=> GetAllCurrentDocuments(y,UserType.Client)).ToList(); + var employeeLatestConfirmedDocuments = employeeDocuments.Where(y => x.EmployeeId == y.EmployeeId) + .SelectMany(y => GetAllCurrentDocuments(y, UserType.Client)).ToList(); return new EmployeeDocumentsViewModel { Id = x.id, EmployeeId = x.EmployeeId, - IdCardPage1 = GetByLabelAndLoadMedia(employeeLatestConfirmedDocuments,medias,DocumentItemLabel.IdCardPage1), + IdCardPage1 = GetByLabelAndLoadMedia(employeeLatestConfirmedDocuments, medias, DocumentItemLabel.IdCardPage1), IdCardPage2 = GetByLabelAndLoadMedia(employeeLatestConfirmedDocuments, medias, DocumentItemLabel.IdCardPage2), - IdCardPage3= GetByLabelAndLoadMedia(employeeLatestConfirmedDocuments, medias, DocumentItemLabel.IdCardPage3), - IdCardPage4= GetByLabelAndLoadMedia(employeeLatestConfirmedDocuments, medias, DocumentItemLabel.IdCardPage4), + IdCardPage3 = GetByLabelAndLoadMedia(employeeLatestConfirmedDocuments, medias, DocumentItemLabel.IdCardPage3), + IdCardPage4 = GetByLabelAndLoadMedia(employeeLatestConfirmedDocuments, medias, DocumentItemLabel.IdCardPage4), EducationalDegree = GetByLabelAndLoadMedia(employeeLatestConfirmedDocuments, medias, DocumentItemLabel.EducationalDegree), EmployeeFullName = x.Employee.FullName, - NationalCardFront =GetByLabelAndLoadMedia(employeeLatestConfirmedDocuments, medias, DocumentItemLabel.NationalCardFront), - NationalCardRear =GetByLabelAndLoadMedia(employeeLatestConfirmedDocuments, medias, DocumentItemLabel.NationalCardRear), - MilitaryServiceCard= GetByLabelAndLoadMedia(employeeLatestConfirmedDocuments, medias, DocumentItemLabel.MilitaryServiceCard), + NationalCardFront = GetByLabelAndLoadMedia(employeeLatestConfirmedDocuments, medias, DocumentItemLabel.NationalCardFront), + NationalCardRear = GetByLabelAndLoadMedia(employeeLatestConfirmedDocuments, medias, DocumentItemLabel.NationalCardRear), + MilitaryServiceCard = GetByLabelAndLoadMedia(employeeLatestConfirmedDocuments, medias, DocumentItemLabel.MilitaryServiceCard), EmployeePicture = GetByLabelAndLoadMedia(employeeLatestConfirmedDocuments, medias, DocumentItemLabel.EmployeePicture), IsBlack = deActivedEmployeesIdlist.Any(y => y == x.EmployeeId) ? "true" : "false", EmployerFullName = employerFullName, IsSentToChecker = x.IsSentToChecker, - PersonnelCode = personnelCodes.FirstOrDefault(y=>y.EmployeeId == x.EmployeeId)?.PersonnelCode??0 + PersonnelCode = personnelCodes.FirstOrDefault(y => y.EmployeeId == x.EmployeeId)?.PersonnelCode ?? 0 }; - }).OrderBy(x=>x.PersonnelCode).ToList(); + }).OrderBy(x => x.PersonnelCode).ToList(); } public List SearchForAdmin(SearchEmployeeDocuments cmd) @@ -298,17 +298,17 @@ public class EmployeeDocumentsRepository : RepositoryBase x.WorkshopId == cmd.WorkshopId); //پرسنل فعال در قرارداد var contractActiveEmployeeIds = contractEmployees - .Where(x=> x.LeftWorkDate == new DateTime(2121, 3, 21) && x.StartWorkDate.Date <= now).Select(x => x.EmployeeId).ToList(); + .Where(x => x.LeftWorkDate == new DateTime(2121, 3, 21) && x.StartWorkDate.Date <= now).Select(x => x.EmployeeId).ToList(); //پرسنل غیر فعال قرارداد var contractDeActivedEmployeeIds = contractEmployees - .Where(x=> x.LeftWorkDate.Date <= now && !contractActiveEmployeeIds.Contains(x.EmployeeId)) - .Select(x=>x.EmployeeId).ToList(); + .Where(x => x.LeftWorkDate.Date <= now && !contractActiveEmployeeIds.Contains(x.EmployeeId)) + .Select(x => x.EmployeeId).ToList(); //پرسنل بیمه این کارگاه var insuranceEmployees = _companyContext.LeftWorkInsuranceList @@ -318,7 +318,7 @@ public class EmployeeDocumentsRepository : RepositoryBase x.LeftWorkDate == null && x.StartWorkDate.Date <= now).Select(x => x.EmployeeId).ToList(); //پرسنل غیر فعال بیمه var insuranceDeActivedEmployeeIds = insuranceEmployees - .Where(x => x.LeftWorkDate.Value.Date <= now && !contractActiveEmployeeIds.Contains(x.EmployeeId)) + .Where(x => x.LeftWorkDate.Value.Date <= now && !contractActiveEmployeeIds.Contains(x.EmployeeId)) .Select(x => x.EmployeeId).ToList(); // پرسنل هر دو لیست که غیر فعال هستند @@ -354,7 +354,7 @@ public class EmployeeDocumentsRepository : RepositoryBase GetAllCurrentDocuments(y,UserType.Admin)) + var currentItemsMediaId = employeeDocuments.SelectMany(y => GetAllCurrentDocuments(y, UserType.Admin)) .Select(y => y.MediaId).ToList(); //get medias for current documents of employees var personnelCodes = _companyContext.PersonnelCodeSet.Where(x => x.WorkshopId == cmd.WorkshopId).ToList(); @@ -387,7 +387,7 @@ public class EmployeeDocumentsRepository : RepositoryBase y.EmployeeId == x.EmployeeId)?.PersonnelCode ?? 0 }; - }).OrderBy(x=>x.PersonnelCode).ToList(); + }).OrderBy(x => x.PersonnelCode).ToList(); } public List GetWorkshopsWithDocumentsAwaitingReviewForAdminWorkFlow(List workshops) @@ -667,33 +667,35 @@ public class EmployeeDocumentsRepository : RepositoryBase e.EmployeeId == group.Key); - var docs = group - .Where(y => y.DocumentStatus == DocumentStatus.SubmittedByClient || - y.DocumentStatus == DocumentStatus.SubmittedByAdmin || - y.DocumentStatus == DocumentStatus.Rejected) - .Select(y => new EmployeeDocumentItemViewModel - { - Status = y.DocumentStatus, - MediaId = y.MediaId, - DocumentItemLabel = y.DocumentLabel, - Id = y.Id, - RejectionMessage = y.RejectionReason, - StatusString = y.DocumentStatus.ToString() - }).ToList(); + var employeeLatestConfirmedDocuments = group + .Where(y => y.EmployeeId == group.Key && (y.DocumentStatus == DocumentStatus.SubmittedByClient || + y.DocumentStatus == DocumentStatus.SubmittedByAdmin || + y.DocumentStatus == DocumentStatus.Rejected || + y.DocumentStatus == DocumentStatus.Confirmed)) + .Select(y => new EmployeeDocumentItemViewModel() + { + Status = y.DocumentStatus, + MediaId = y.MediaId, + DocumentItemLabel = y.DocumentLabel, + Id = y.Id, + RejectionMessage = y.RejectionReason, + StatusString = y.DocumentStatus.ToString() + }).ToList(); return new EmployeeDocumentsViewModel { EmployeeId = group.Key, - IdCardPage1 = GetByLabelAndLoadMedia(docs, mediasList, DocumentItemLabel.IdCardPage1), - IdCardPage2 = GetByLabelAndLoadMedia(docs, mediasList, DocumentItemLabel.IdCardPage2), - IdCardPage3 = GetByLabelAndLoadMedia(docs, mediasList, DocumentItemLabel.IdCardPage3), - IdCardPage4 = GetByLabelAndLoadMedia(docs, mediasList, DocumentItemLabel.IdCardPage4), - EducationalDegree = GetByLabelAndLoadMedia(docs, mediasList, DocumentItemLabel.EducationalDegree), - EmployeeFullName = employee.FullName, - NationalCardFront = GetByLabelAndLoadMedia(docs, mediasList, DocumentItemLabel.NationalCardFront), - NationalCardRear = GetByLabelAndLoadMedia(docs, mediasList, DocumentItemLabel.NationalCardRear), - MilitaryServiceCard = GetByLabelAndLoadMedia(docs, mediasList, DocumentItemLabel.MilitaryServiceCard), - EmployeePicture = GetByLabelAndLoadMedia(docs, mediasList, DocumentItemLabel.EmployeePicture), + IdCardPage1 = GetByLabelAndLoadMedia(employeeLatestConfirmedDocuments, mediasList, DocumentItemLabel.IdCardPage1), + IdCardPage2 = GetByLabelAndLoadMedia(employeeLatestConfirmedDocuments, mediasList, DocumentItemLabel.IdCardPage2), + IdCardPage3 = GetByLabelAndLoadMedia(employeeLatestConfirmedDocuments, mediasList, DocumentItemLabel.IdCardPage3), + IdCardPage4 = GetByLabelAndLoadMedia(employeeLatestConfirmedDocuments, mediasList, DocumentItemLabel.IdCardPage4), + EducationalDegree = GetByLabelAndLoadMedia(employeeLatestConfirmedDocuments, mediasList, DocumentItemLabel.EducationalDegree), + EmployeeFullName = allEmployees.First(y => y.EmployeeId == group.Key).FullName, + NationalCardFront = GetByLabelAndLoadMedia(employeeLatestConfirmedDocuments, mediasList, DocumentItemLabel.NationalCardFront), + NationalCardRear = GetByLabelAndLoadMedia(employeeLatestConfirmedDocuments, mediasList, DocumentItemLabel.NationalCardRear), + MilitaryServiceCard = GetByLabelAndLoadMedia(employeeLatestConfirmedDocuments, mediasList, DocumentItemLabel.MilitaryServiceCard), + EmployeePicture = GetByLabelAndLoadMedia(employeeLatestConfirmedDocuments, mediasList, DocumentItemLabel.EmployeePicture), + }; }) .ToList(); @@ -711,8 +713,8 @@ public class EmployeeDocumentsRepository : RepositoryBase x.DocumentStatus != DocumentStatus.Unsubmitted) .Include(x => x.EmployeeDocuments) - .ThenInclude(x => x.Workshop).ThenInclude(x=>x.WorkshopEmployers).ThenInclude(x=>x.Employer) - .GroupBy(x=>x.WorkshopId).Select(x => new WorkshopWithEmployeeDocumentsViewModel() + .ThenInclude(x => x.Workshop).ThenInclude(x => x.WorkshopEmployers).ThenInclude(x => x.Employer) + .GroupBy(x => x.WorkshopId).Select(x => new WorkshopWithEmployeeDocumentsViewModel() { SubmittedItemsCount = x.Count(y => y.DocumentStatus == DocumentStatus.SubmittedByAdmin || y.DocumentStatus == DocumentStatus.SubmittedByClient), WorkshopId = x.Key, @@ -744,7 +746,7 @@ public class EmployeeDocumentsRepository : RepositoryBasey.PicturePath= medias.FirstOrDefault(z=>z.id == y.MediaId)?.Path ?? ""); // }); - return itemsQuery.Where(x=>x.SubmittedItemsCount > 0).OrderByDescending(x=>x.SubmittedItemsCount).ToList(); + return itemsQuery.Where(x => x.SubmittedItemsCount > 0).OrderByDescending(x => x.SubmittedItemsCount).ToList(); } @@ -754,7 +756,7 @@ public class EmployeeDocumentsRepository : RepositoryBase x.Workshop); var workshopEmployers = _companyContext.WorkshopEmployers.Include(x => x.Employer) - .Where(x => query.Any(y=>y.WorkshopId == x.WorkshopId)) + .Where(x => query.Any(y => y.WorkshopId == x.WorkshopId)) .GroupBy(x => x.WorkshopId).ToList() .Select(x => new { x.Key, x.FirstOrDefault()!.Employer }).ToList(); @@ -780,7 +782,7 @@ public class EmployeeDocumentsRepository : RepositoryBase x.WorkshopId == workshopId) .Include(x => x.EmployeeDocumentItemCollection) - .Where(x=>x.EmployeeDocumentItemCollection.Any(y => + .Where(x => x.EmployeeDocumentItemCollection.Any(y => y.DocumentStatus != DocumentStatus.Unsubmitted)); var employeesList = _companyContext.Employees.Where(x => @@ -803,61 +805,61 @@ public class EmployeeDocumentsRepository : RepositoryBase new { EmployeeDocuments = x, - EmployeeDocumentItemCollection = x.EmployeeDocumentItemCollection.Where(y=> y.DocumentStatus != DocumentStatus.Unsubmitted) + EmployeeDocumentItemCollection = x.EmployeeDocumentItemCollection.Where(y => y.DocumentStatus != DocumentStatus.Unsubmitted) .GroupBy(y => y.DocumentLabel) .Select(y => y.MaxBy(z => z.CreationDate)) - . ToList() + .ToList() }).ToList(); var workshopName = _companyContext.Workshops.FirstOrDefault(x => x.id == workshopId)?.WorkshopFullName ?? ""; var mediaIds = workshopDocumentsList.SelectMany(x => x.EmployeeDocumentItemCollection) - + .Select(x => x.MediaId).ToList(); - var mediasList = _accountContext.Medias.Where(x=>mediaIds.Contains(x.id)) + var mediasList = _accountContext.Medias.Where(x => mediaIds.Contains(x.id)) .Select(x => new MediaViewModel() { Id = x.id, Path = x.Path }).ToList(); if (onlyConfirmed) - workshopDocumentsListWithConfirmed=workshopDocumentsListWithConfirmed.Where(x => + workshopDocumentsListWithConfirmed = workshopDocumentsListWithConfirmed.Where(x => x.EmployeeDocumentItemCollection.All(y => y.DocumentStatus != DocumentStatus.SubmittedByAdmin)).ToList(); else workshopDocumentsListWithConfirmed = workshopDocumentsListWithConfirmed.Where(x => x.EmployeeDocumentItemCollection.Any(y => y.DocumentStatus is DocumentStatus.SubmittedByAdmin or DocumentStatus.SubmittedByClient)).ToList(); - + return workshopDocumentsListWithConfirmed.Select(x => new EmployeeDocumentsViewModel() - { - Id=x.EmployeeDocuments.id, - EmployeeFullName = employeesList.FirstOrDefault(y=>y.Id==x.EmployeeDocuments.EmployeeId)?.FullName ?? "", - EmployeeId = x.EmployeeDocuments.EmployeeId, - WorkshopId = workshopId, - WorkshopName = workshopName, - Gender = x.EmployeeDocuments.Gender, - EducationalDegree = GetByLabelAndLoadMedia(x.EmployeeDocumentItemCollection,mediasList, + { + Id = x.EmployeeDocuments.id, + EmployeeFullName = employeesList.FirstOrDefault(y => y.Id == x.EmployeeDocuments.EmployeeId)?.FullName ?? "", + EmployeeId = x.EmployeeDocuments.EmployeeId, + WorkshopId = workshopId, + WorkshopName = workshopName, + Gender = x.EmployeeDocuments.Gender, + EducationalDegree = GetByLabelAndLoadMedia(x.EmployeeDocumentItemCollection, mediasList, DocumentItemLabel.EducationalDegree), - IdCardPage1 = GetByLabelAndLoadMedia(x.EmployeeDocumentItemCollection, mediasList, + IdCardPage1 = GetByLabelAndLoadMedia(x.EmployeeDocumentItemCollection, mediasList, DocumentItemLabel.IdCardPage1), - IdCardPage2 = GetByLabelAndLoadMedia(x.EmployeeDocumentItemCollection, mediasList, + IdCardPage2 = GetByLabelAndLoadMedia(x.EmployeeDocumentItemCollection, mediasList, DocumentItemLabel.IdCardPage2), - IdCardPage3 = GetByLabelAndLoadMedia(x.EmployeeDocumentItemCollection, mediasList, + IdCardPage3 = GetByLabelAndLoadMedia(x.EmployeeDocumentItemCollection, mediasList, DocumentItemLabel.IdCardPage3), - IdCardPage4 = GetByLabelAndLoadMedia(x.EmployeeDocumentItemCollection, mediasList, + IdCardPage4 = GetByLabelAndLoadMedia(x.EmployeeDocumentItemCollection, mediasList, DocumentItemLabel.IdCardPage4), - NationalCardFront = GetByLabelAndLoadMedia(x.EmployeeDocumentItemCollection, mediasList, + NationalCardFront = GetByLabelAndLoadMedia(x.EmployeeDocumentItemCollection, mediasList, DocumentItemLabel.NationalCardFront), - NationalCardRear = GetByLabelAndLoadMedia(x.EmployeeDocumentItemCollection, mediasList, + NationalCardRear = GetByLabelAndLoadMedia(x.EmployeeDocumentItemCollection, mediasList, DocumentItemLabel.NationalCardRear), - MilitaryServiceCard = GetByLabelAndLoadMedia(x.EmployeeDocumentItemCollection, mediasList, + MilitaryServiceCard = GetByLabelAndLoadMedia(x.EmployeeDocumentItemCollection, mediasList, DocumentItemLabel.MilitaryServiceCard), - EmployeePicture = GetByLabelAndLoadMedia(x.EmployeeDocumentItemCollection, mediasList, + EmployeePicture = GetByLabelAndLoadMedia(x.EmployeeDocumentItemCollection, mediasList, DocumentItemLabel.EmployeePicture), - SubmittedItemsCount = x.EmployeeDocumentItemCollection.Count(y=>y.DocumentStatus is DocumentStatus.SubmittedByAdmin or DocumentStatus.SubmittedByClient), - RejectedItemsCount = x.EmployeeDocumentItemCollection.Count(y => y.DocumentStatus == DocumentStatus.Rejected), - ConfirmedItemsCount = x.EmployeeDocumentItemCollection.Count(y => y.DocumentStatus == DocumentStatus.Confirmed), - EmployerFullName = employerName, - IsSentToChecker = x.EmployeeDocuments.IsSentToChecker - }).Where(x=>x.SubmittedItemsCount > 0 || x.RejectedItemsCount > 0 || x.ConfirmedItemsCount > 0) - .OrderByDescending(x=>x.SubmittedItemsCount).ToList(); + SubmittedItemsCount = x.EmployeeDocumentItemCollection.Count(y => y.DocumentStatus is DocumentStatus.SubmittedByAdmin or DocumentStatus.SubmittedByClient), + RejectedItemsCount = x.EmployeeDocumentItemCollection.Count(y => y.DocumentStatus == DocumentStatus.Rejected), + ConfirmedItemsCount = x.EmployeeDocumentItemCollection.Count(y => y.DocumentStatus == DocumentStatus.Confirmed), + EmployerFullName = employerName, + IsSentToChecker = x.EmployeeDocuments.IsSentToChecker + }).Where(x => x.SubmittedItemsCount > 0 || x.RejectedItemsCount > 0 || x.ConfirmedItemsCount > 0) + .OrderByDescending(x => x.SubmittedItemsCount).ToList(); } @@ -950,40 +952,697 @@ public class EmployeeDocumentsRepository : RepositoryBase y.DocumentStatus is DocumentStatus.SubmittedByAdmin or DocumentStatus.SubmittedByClient)).ToList(); return workshopDocumentsListWithConfirmed.Select(x => new EmployeeDocumentsViewModel() - { - Id = x.EmployeeDocuments.id, - EmployeeFullName = employeesList.FirstOrDefault(y => y.Id == x.EmployeeDocuments.EmployeeId)?.FullName ?? "", - EmployeeId = x.EmployeeDocuments.EmployeeId, - WorkshopId = workshopId, - WorkshopName = workshopName, - Gender = x.EmployeeDocuments.Gender, - EducationalDegree = GetByLabelAndLoadMedia(x.EmployeeDocumentItemCollection, mediasList, + { + Id = x.EmployeeDocuments.id, + EmployeeFullName = employeesList.FirstOrDefault(y => y.Id == x.EmployeeDocuments.EmployeeId)?.FullName ?? "", + EmployeeId = x.EmployeeDocuments.EmployeeId, + WorkshopId = workshopId, + WorkshopName = workshopName, + Gender = x.EmployeeDocuments.Gender, + EducationalDegree = GetByLabelAndLoadMedia(x.EmployeeDocumentItemCollection, mediasList, DocumentItemLabel.EducationalDegree), - IdCardPage1 = GetByLabelAndLoadMedia(x.EmployeeDocumentItemCollection, mediasList, + IdCardPage1 = GetByLabelAndLoadMedia(x.EmployeeDocumentItemCollection, mediasList, DocumentItemLabel.IdCardPage1), - IdCardPage2 = GetByLabelAndLoadMedia(x.EmployeeDocumentItemCollection, mediasList, + IdCardPage2 = GetByLabelAndLoadMedia(x.EmployeeDocumentItemCollection, mediasList, DocumentItemLabel.IdCardPage2), - IdCardPage3 = GetByLabelAndLoadMedia(x.EmployeeDocumentItemCollection, mediasList, + IdCardPage3 = GetByLabelAndLoadMedia(x.EmployeeDocumentItemCollection, mediasList, DocumentItemLabel.IdCardPage3), - IdCardPage4 = GetByLabelAndLoadMedia(x.EmployeeDocumentItemCollection, mediasList, + IdCardPage4 = GetByLabelAndLoadMedia(x.EmployeeDocumentItemCollection, mediasList, DocumentItemLabel.IdCardPage4), - NationalCardFront = GetByLabelAndLoadMedia(x.EmployeeDocumentItemCollection, mediasList, + NationalCardFront = GetByLabelAndLoadMedia(x.EmployeeDocumentItemCollection, mediasList, DocumentItemLabel.NationalCardFront), - NationalCardRear = GetByLabelAndLoadMedia(x.EmployeeDocumentItemCollection, mediasList, + NationalCardRear = GetByLabelAndLoadMedia(x.EmployeeDocumentItemCollection, mediasList, DocumentItemLabel.NationalCardRear), - MilitaryServiceCard = GetByLabelAndLoadMedia(x.EmployeeDocumentItemCollection, mediasList, + MilitaryServiceCard = GetByLabelAndLoadMedia(x.EmployeeDocumentItemCollection, mediasList, DocumentItemLabel.MilitaryServiceCard), - EmployeePicture = GetByLabelAndLoadMedia(x.EmployeeDocumentItemCollection, mediasList, + EmployeePicture = GetByLabelAndLoadMedia(x.EmployeeDocumentItemCollection, mediasList, DocumentItemLabel.EmployeePicture), - SubmittedItemsCount = x.EmployeeDocumentItemCollection.Count(y => y.DocumentStatus == DocumentStatus.SubmittedByAdmin), - RejectedItemsCount = x.EmployeeDocumentItemCollection.Count(y => y.DocumentStatus == DocumentStatus.Rejected), - ConfirmedItemsCount = x.EmployeeDocumentItemCollection.Count(y => y.DocumentStatus == DocumentStatus.Confirmed), - EmployerFullName = employerName, - IsSentToChecker = x.EmployeeDocuments.IsSentToChecker - }).Where(x => x.SubmittedItemsCount > 0) + SubmittedItemsCount = x.EmployeeDocumentItemCollection.Count(y => y.DocumentStatus == DocumentStatus.SubmittedByAdmin), + RejectedItemsCount = x.EmployeeDocumentItemCollection.Count(y => y.DocumentStatus == DocumentStatus.Rejected), + ConfirmedItemsCount = x.EmployeeDocumentItemCollection.Count(y => y.DocumentStatus == DocumentStatus.Confirmed), + EmployerFullName = employerName, + IsSentToChecker = x.EmployeeDocuments.IsSentToChecker + }).Where(x => x.SubmittedItemsCount > 0) .OrderByDescending(x => x.SubmittedItemsCount).ToList(); } + public async Task> GetWorkshopDocumentCreatedEmployeeForAdmin(List workshops, long roleId) + { + var activeEmployees = _companyContext.LeftWorkList + .Where(x => workshops.Contains(x.WorkshopId) && x.LeftWorkDate.AddDays(-1) >= DateTime.Now) + .Select(x => new { x.WorkshopId, x.EmployeeId }); + + var employeeClientTemp = _companyContext.EmployeeClientTemps.Where(x => workshops.Contains(x.WorkshopId)); + + var query = _companyContext.EmployeeDocuments + .Where(x => workshops.Contains(x.WorkshopId) && + (activeEmployees.Any(y => y.WorkshopId == x.WorkshopId && y.EmployeeId == x.EmployeeId) || + employeeClientTemp.Any(temp => x.EmployeeId == temp.EmployeeId && temp.WorkshopId == x.WorkshopId)) && x.IsConfirmed == false) + .Include(x => x.Workshop).Include(x => x.EmployeeDocumentItemCollection) + .Where(x => x.IsSentToChecker == false && employeeClientTemp.Any(temp => x.EmployeeId == temp.EmployeeId && temp.WorkshopId == x.WorkshopId)) + .GroupBy(x => x.WorkshopId).Select(x => new WorkshopWithEmployeeDocumentsViewModel() + { + WorkshopId = x.Key, + WorkshopFullName = x.FirstOrDefault().Workshop.WorkshopName, + EmployeesWithoutDocumentCount = x.Count() + }); + + + + var workshopEmployers = await _companyContext.WorkshopEmployers.Include(x => x.Employer) + .Where(x => query.Any(y => y.WorkshopId == x.WorkshopId)) + .GroupBy(x => x.WorkshopId).Select(x => x.FirstOrDefault()).ToListAsync(); + + + + + var result = await query.ToListAsync(); + + + result.ForEach(x => + { + var employer = workshopEmployers.FirstOrDefault(y => y.WorkshopId == x.WorkshopId)?.Employer; + x.EmployerName = employer.FullName; + + //x.SubmittedItems.ForEach(y=>y.PicturePath= medias.FirstOrDefault(z=>z.id == y.MediaId)?.Path ?? ""); + }); + + return result.Where(x => x.EmployeesWithoutDocumentCount > 0).OrderByDescending(x => x.EmployeesWithoutDocumentCount).ToList(); + + } + + public async Task> GetWorkshopDocumentRejectedForAdmin(List workshops, long roleId) + { + var now = DateTime.Now; + + // آماده‌سازی activeEmployees یک‌بار با EF و انتقال به حافظه + var activeEmployees = _companyContext.LeftWorkList + .Where(x => workshops.Contains(x.WorkshopId) && x.LeftWorkDate.AddDays(-1) >= now) + .Select(x => new { x.WorkshopId, x.EmployeeId }); + + var clientTemp = _companyContext.EmployeeClientTemps + .Where(x => workshops.Contains(x.WorkshopId)) + .Select(x => new { x.WorkshopId, x.EmployeeId }); + + var leftWorkTemp = _companyContext.LeftWorkTemps + .Where(x => workshops.Contains(x.WorkshopId)) + .Select(x => new { x.WorkshopId, x.EmployeeId }); + + // ترکیب کل لیست‌ها در حافظه + var allActiveEmployees = activeEmployees + .Concat(clientTemp) + .Concat(leftWorkTemp); + + // دریافت فقط اطلاعات مورد نیاز + var employeeDocumentsQuery = _companyContext.EmployeeDocuments + .Where(x => workshops.Contains(x.WorkshopId) + && allActiveEmployees.Any(a=>a.WorkshopId == x.WorkshopId && a.EmployeeId == x.EmployeeId) + && x.IsSentToChecker == false + && x.HasRejectedItems) + .Where(x => x.EmployeeDocumentItemCollection + .Any(i => i.DocumentStatus == DocumentStatus.Rejected && + (roleId == 1 ? i.UploaderType == UserType.Admin : i.UploaderRoleId == roleId))) + .Select(x => new + { + x.WorkshopId, + WorkshopName = x.Workshop.WorkshopName + }) + .GroupBy(x => new { x.WorkshopId, x.WorkshopName }) + .Select(g => new WorkshopWithEmployeeDocumentsViewModel + { + WorkshopId = g.Key.WorkshopId, + WorkshopFullName = g.Key.WorkshopName, + EmployeesWithoutDocumentCount = g.Count() + }); + + var result = await employeeDocumentsQuery.ToListAsync(); + + // واکشی کارفرماها + var workshopIds = result.Select(x => x.WorkshopId).ToList(); + + var workshopEmployers = await _companyContext.WorkshopEmployers + .Include(x => x.Employer) + .Where(x => workshopIds.Contains(x.WorkshopId)) + .GroupBy(x => x.WorkshopId) + .Select(g => g.FirstOrDefault()) + .ToListAsync(); + + + + // افزودن نام کارفرما به نتیجه + foreach (var item in result) + { + var employer = workshopEmployers.FirstOrDefault(x => x.WorkshopId == item.WorkshopId)?.Employer; + item.EmployerName = employer?.FullName; + } + + return result + .Where(x => x.EmployeesWithoutDocumentCount > 0) + .OrderByDescending(x => x.EmployeesWithoutDocumentCount) + .ToList(); + } + + public async Task> GetRejectedItemsByWorkshopIdAndRoleForAdminWorkFlow(long workshopId, long roleId) + { + var employeeIdsInWorkshop = await _companyContext.LeftWorkList + .Where(x => x.WorkshopId == workshopId && x.LeftWorkDate.AddDays(-1) >= DateTime.Today) + .Select(x => new { x.EmployeeId, FullName = x.Employee.FName + " " + x.Employee.LName }) + .Union( + _companyContext.EmployeeClientTemps + .Where(x => x.WorkshopId == workshopId) + .Select(x => new { x.EmployeeId, FullName = x.EmployeeFullName }) + ) + .Union( + _companyContext.LeftWorkTemps + .Where(x => x.WorkshopId == workshopId) + .Join(_companyContext.Employees, x => x.EmployeeId, e => e.id, + (x, e) => new { x.EmployeeId, FullName = e.FName + " " + e.LName }) + ) + .Distinct() + .ToListAsync(); + + var employeeIdList = employeeIdsInWorkshop.Select(x => x.EmployeeId).ToList(); + + var edItemsQuery = _companyContext.EmployeeDocumentItems + .Where(x => x.WorkshopId == workshopId && + x.DocumentStatus == DocumentStatus.Rejected && + employeeIdList.Contains(x.EmployeeId) && + x.EmployeeDocuments.IsSentToChecker == false && + x.EmployeeDocuments.HasRejectedItems) + .Include(x => x.EmployeeDocuments).AsSplitQuery(); + + if (roleId != 1) + { + edItemsQuery = edItemsQuery.Where(x => x.UploaderRoleId == roleId); + } + + var edItemsRaw = await edItemsQuery.ToListAsync(); // ← ابتدا همه داده‌ها گرفته شود + + + var edItemsGrouped = edItemsRaw + .GroupBy(x => new { x.EmployeeId, x.DocumentLabel }) + .Select(x => x.OrderByDescending(y => y.CreationDate).First()) + .Select(y => new + { + y.EmployeeDocumentId, + Id = y.id, + y.EmployeeDocuments.Gender, + y.DocumentLabel, + y.DocumentStatus, + y.MediaId, + y.RejectionReason, + y.EmployeeId, + y.CreationDate, + IsSentToChecker = y.EmployeeDocuments.IsSentToChecker, + y.EmployeeDocuments.IsConfirmed + }) + .ToList(); + + //get medias for current documents of employees + var mediaIds = edItemsGrouped.Select(x => x.MediaId).ToList(); + var mediasList = await _accountContext.Medias + .Where(x => mediaIds.Contains(x.id)) + .Select(x => new MediaViewModel { Id = x.id, Path = x.Path }) + .ToListAsync(); + + + + var result = edItemsGrouped.GroupBy(x => x.EmployeeId) + .Select(x => + { + //var requiredDocs = EmployeeDocumentRequiredItems.GetByGender(x.Gender); + var employeeLatestConfirmedDocuments = x + + .Where(y => y.EmployeeId == x.Key && (y.DocumentStatus == DocumentStatus.SubmittedByClient || y.DocumentStatus == DocumentStatus.SubmittedByAdmin || y.DocumentStatus == DocumentStatus.Rejected)) + .Select(y => new EmployeeDocumentItemViewModel() + { + Status = y.DocumentStatus, + MediaId = y.MediaId, + DocumentItemLabel = y.DocumentLabel, + Id = y.Id, + RejectionMessage = y.RejectionReason, + StatusString = y.DocumentStatus.ToString() + }).ToList(); + + var employeeInfo = employeeIdsInWorkshop.First(e => e.EmployeeId == x.Key); + + //var requiredItemsUploaded = employeeLatestConfirmedDocuments + // .Where(y => requiredDocs.Contains(y.DocumentItemLabel)).Select(y => y.DocumentItemLabel) + // .ToList(); + + return new EmployeeDocumentsViewModel() + { + EmployeeId = x.Key, + IdCardPage1 = GetByLabelAndLoadMedia(employeeLatestConfirmedDocuments, mediasList, DocumentItemLabel.IdCardPage1), + IdCardPage2 = GetByLabelAndLoadMedia(employeeLatestConfirmedDocuments, mediasList, DocumentItemLabel.IdCardPage2), + IdCardPage3 = GetByLabelAndLoadMedia(employeeLatestConfirmedDocuments, mediasList, DocumentItemLabel.IdCardPage3), + IdCardPage4 = GetByLabelAndLoadMedia(employeeLatestConfirmedDocuments, mediasList, DocumentItemLabel.IdCardPage4), + EducationalDegree = GetByLabelAndLoadMedia(employeeLatestConfirmedDocuments, mediasList, DocumentItemLabel.EducationalDegree), + EmployeeFullName = employeeInfo.FullName, + NationalCardFront = GetByLabelAndLoadMedia(employeeLatestConfirmedDocuments, mediasList, DocumentItemLabel.NationalCardFront), + NationalCardRear = GetByLabelAndLoadMedia(employeeLatestConfirmedDocuments, mediasList, DocumentItemLabel.NationalCardRear), + MilitaryServiceCard = GetByLabelAndLoadMedia(employeeLatestConfirmedDocuments, mediasList, DocumentItemLabel.MilitaryServiceCard), + EmployeePicture = GetByLabelAndLoadMedia(employeeLatestConfirmedDocuments, mediasList, DocumentItemLabel.EmployeePicture), + //RequiredDocumentsUploaded = requiredItemsUploaded, + //RequiredDocuments = requiredDocs + }; + }).ToList(); + + return result; + + } + + public async Task> GetCreatedEmployeesWorkshopDocumentForAdmin(List workshops, long roleId) + { + if (roleId is not (19 or 1 or 3 or 5)) + { + return new List(); + } + + var employeeClientTemp = _companyContext.EmployeeClientTemps.Where(x => workshops.Contains(x.WorkshopId)); + + var query = _companyContext.EmployeeDocuments + .Where(x => workshops.Contains(x.WorkshopId) && + employeeClientTemp.Any(temp => x.EmployeeId == temp.EmployeeId && temp.WorkshopId == x.WorkshopId) && x.IsConfirmed == false &&x.IsSentToChecker == false) + .Include(x => x.Workshop).Include(x => x.EmployeeDocumentItemCollection) + .GroupBy(x => x.WorkshopId).Select(x => new WorkshopWithEmployeeDocumentsViewModel() + { + WorkshopId = x.Key, + WorkshopFullName = x.FirstOrDefault().Workshop.WorkshopName, + EmployeesWithoutDocumentCount = x.Count() + }); + + + + var workshopEmployers = await _companyContext.WorkshopEmployers.Include(x => x.Employer) + .Where(x => query.Any(y => y.WorkshopId == x.WorkshopId)) + .GroupBy(x => x.WorkshopId).Select(x => x.FirstOrDefault()).ToListAsync(); + + + + + var result = await query.ToListAsync(); + + + result.ForEach(x => + { + var employer = workshopEmployers.FirstOrDefault(y => y.WorkshopId == x.WorkshopId)?.Employer; + x.EmployerName = employer?.FullName; + + //x.SubmittedItems.ForEach(y=>y.PicturePath= medias.FirstOrDefault(z=>z.id == y.MediaId)?.Path ?? ""); + }); + + return result.Where(x => x.EmployeesWithoutDocumentCount > 0).OrderByDescending(x => x.EmployeesWithoutDocumentCount).ToList(); + } + + public async Task> GetCreatedEmployeesDocumentByWorkshopIdForAdmin(long workshopId) + { + + var employeeClientTemp = _companyContext.EmployeeClientTemps.Where(x => workshopId == x.WorkshopId); + + + var EDItemsList = await _companyContext.EmployeeDocuments + .Where(x => workshopId == x.WorkshopId && + employeeClientTemp.Any(temp => x.EmployeeId == temp.EmployeeId && temp.WorkshopId == x.WorkshopId)) + .Include(x => x.EmployeeDocumentItemCollection) + .Where(x => x.IsSentToChecker == false && x.IsConfirmed == false).SelectMany(x => x.EmployeeDocumentItemCollection.DefaultIfEmpty(), // اگر خالی بود، مقدار پیش‌فرض ایجاد کن + (documents, y) => new + { + EmployeeDocumentId = documents.id, // اگر null بود مقدار نداشته باشد + Id = y != null ? y.id : 0, + documents.Gender, + DocumentLabel = y != null ? y.DocumentLabel : default, + DocumentStatus = y != null ? y.DocumentStatus : default, + MediaId = y != null ? y.MediaId : 0, + RejectionReason = y != null ? y.RejectionReason : default, + EmployeeId = y != null ? y.EmployeeId : documents.EmployeeId, // اگر مقدار نداشت از EmployeeDocuments پر کن + CreationDate = y != null ? y.CreationDate : documents.CreationDate, + IsSentToChecker = documents.IsSentToChecker, + IsConfirmed = documents.IsConfirmed + }) + .ToListAsync(); + + + + + + + + //get medias for current documents of employees + var mediaIds = EDItemsList.Select(x => x.MediaId).ToList(); + var mediasList = await _accountContext.Medias.Where(x => mediaIds.Contains(x.id)) + .Select(x => new MediaViewModel() { Id = x.id, Path = x.Path }).ToListAsync(); + + + + var result = EDItemsList.GroupBy(x => x.EmployeeId) + .Select(x => + { + //var requiredDocs = EmployeeDocumentRequiredItems.GetByGender(x.Gender); + var employeeLatestConfirmedDocuments = x + + .Where(y => y.EmployeeId == x.Key && (y.DocumentStatus == DocumentStatus.SubmittedByClient || y.DocumentStatus == DocumentStatus.SubmittedByAdmin || y.DocumentStatus == DocumentStatus.Rejected)) + .Select(y => new EmployeeDocumentItemViewModel() + { + Status = y.DocumentStatus, + MediaId = y.MediaId, + DocumentItemLabel = y.DocumentLabel, + Id = y.Id, + RejectionMessage = y.RejectionReason, + StatusString = y.DocumentStatus.ToString() + }).ToList(); + + + //var requiredItemsUploaded = employeeLatestConfirmedDocuments + // .Where(y => requiredDocs.Contains(y.DocumentItemLabel)).Select(y => y.DocumentItemLabel) + // .ToList(); + + return new EmployeeDocumentsViewModel() + { + EmployeeId = x.Key, + IdCardPage1 = GetByLabelAndLoadMedia(employeeLatestConfirmedDocuments, mediasList, DocumentItemLabel.IdCardPage1), + IdCardPage2 = GetByLabelAndLoadMedia(employeeLatestConfirmedDocuments, mediasList, DocumentItemLabel.IdCardPage2), + IdCardPage3 = GetByLabelAndLoadMedia(employeeLatestConfirmedDocuments, mediasList, DocumentItemLabel.IdCardPage3), + IdCardPage4 = GetByLabelAndLoadMedia(employeeLatestConfirmedDocuments, mediasList, DocumentItemLabel.IdCardPage4), + EducationalDegree = GetByLabelAndLoadMedia(employeeLatestConfirmedDocuments, mediasList, DocumentItemLabel.EducationalDegree), + EmployeeFullName = employeeClientTemp.First(y => y.EmployeeId == x.Key).EmployeeFullName, + NationalCardFront = GetByLabelAndLoadMedia(employeeLatestConfirmedDocuments, mediasList, DocumentItemLabel.NationalCardFront), + NationalCardRear = GetByLabelAndLoadMedia(employeeLatestConfirmedDocuments, mediasList, DocumentItemLabel.NationalCardRear), + MilitaryServiceCard = GetByLabelAndLoadMedia(employeeLatestConfirmedDocuments, mediasList, DocumentItemLabel.MilitaryServiceCard), + EmployeePicture = GetByLabelAndLoadMedia(employeeLatestConfirmedDocuments, mediasList, DocumentItemLabel.EmployeePicture), + //RequiredDocumentsUploaded = requiredItemsUploaded, + //RequiredDocuments = requiredDocs + }; + }).ToList(); + + return result; + } + + public async Task> GetClientRejectedDocumentWorkshopsForAdmin(List workshops, long roleId) + { + var now = DateTime.Now; + + + // آماده‌سازی activeEmployees یک‌بار با EF و انتقال به حافظه + var activeEmployees = _companyContext.LeftWorkList + .Where(x => workshops.Contains(x.WorkshopId) && x.LeftWorkDate.AddDays(-1) >= now) + .Select(x => new { x.WorkshopId, x.EmployeeId }); + + var clientTemp = _companyContext.EmployeeClientTemps + .Where(x => workshops.Contains(x.WorkshopId)) + .Select(x => new { x.WorkshopId, x.EmployeeId }); + + var leftWorkTemp = _companyContext.LeftWorkTemps + .Where(x => workshops.Contains(x.WorkshopId)) + .Select(x => new { x.WorkshopId, x.EmployeeId }); + + // ترکیب کل لیست‌ها در حافظه + var allActiveEmployees = activeEmployees + .Concat(clientTemp) + .Concat(leftWorkTemp); + + var contractingPartyIds = _companyContext.WorkshopEmployers.Where(x => workshops.Contains(x.WorkshopId)) + .Include(x => x.Employer).Select(x => x.Employer.ContractingPartyId).Distinct(); + + var accountIds = await _companyContext.ContractingPartyAccounts + .Where(x => contractingPartyIds.Contains(x.PersonalContractingPartyId)).Select(x => x.AccountId) + .ToListAsync(); + + var query = _companyContext.EmployeeDocuments + .Where(x => workshops.Contains(x.WorkshopId) && + (allActiveEmployees.Any(y => y.WorkshopId == x.WorkshopId && y.EmployeeId == x.EmployeeId))) + .Include(x => x.Workshop).Include(x => x.EmployeeDocumentItemCollection) + .Where(x => x.IsSentToChecker == false && x.HasRejectedItems && x.EmployeeDocumentItemCollection.Any(i => i.DocumentStatus == DocumentStatus.Rejected && accountIds.Contains(i.UploaderId))) + .GroupBy(x => x.WorkshopId).Select(x => new WorkshopWithEmployeeDocumentsViewModel() + { + WorkshopId = x.Key, + WorkshopFullName = x.FirstOrDefault().Workshop.WorkshopName, + EmployeesWithoutDocumentCount = x.Count() + }); + + var workshopEmployers = await _companyContext.WorkshopEmployers.Include(x => x.Employer) + .Where(x => query.Any(y => y.WorkshopId == x.WorkshopId)) + .GroupBy(x => x.WorkshopId).Select(x => x.FirstOrDefault()).ToListAsync(); + + + var result = await query.ToListAsync(); + + + result.ForEach(x => + { + var employer = workshopEmployers.FirstOrDefault(y => y.WorkshopId == x.WorkshopId)?.Employer; + x.EmployerName = employer.FullName; + + //x.SubmittedItems.ForEach(y=>y.PicturePath= medias.FirstOrDefault(z=>z.id == y.MediaId)?.Path ?? ""); + }); + + return result.Where(x => x.EmployeesWithoutDocumentCount > 0).OrderByDescending(x => x.EmployeesWithoutDocumentCount).ToList(); + + } + + public async Task> GetClientRejectedDocumentByWorkshopIdForAdmin(long workshopId) + { + var employeeIdsInWorkshop = await _companyContext.LeftWorkList + .Where(x => x.WorkshopId == workshopId && x.LeftWorkDate.AddDays(-1) >= DateTime.Today) + .Select(x => new { x.EmployeeId, FullName = x.Employee.FName + " " + x.Employee.LName }) + .Union( + _companyContext.EmployeeClientTemps + .Where(x => x.WorkshopId == workshopId) + .Select(x => new { x.EmployeeId, FullName = x.EmployeeFullName }) + ) + .Union( + _companyContext.LeftWorkTemps + .Where(x => x.WorkshopId == workshopId) + .Join(_companyContext.Employees, x => x.EmployeeId, e => e.id, + (x, e) => new { x.EmployeeId, FullName = e.FName + " " + e.LName }) + ) + .Distinct() + .ToListAsync(); + + var employeeIdList = employeeIdsInWorkshop.Select(x => x.EmployeeId).ToList(); + + + + var EDItemsList = await _companyContext.EmployeeDocumentItems + .Where(x => x.WorkshopId == workshopId && x.DocumentStatus == DocumentStatus.Rejected && + employeeIdList.Contains(x.EmployeeId) &&x.UploaderType == UserType.Client) + .Include(x => x.EmployeeDocuments) + .Where(x => x.EmployeeDocuments.IsSentToChecker == false && x.EmployeeDocuments.HasRejectedItems) + .GroupBy(x => new { x.EmployeeId, x.DocumentLabel }) + .Select(x => + x.Select(y => new + { + y.EmployeeDocumentId, + Id = y.id, + y.EmployeeDocuments.Gender, + y.DocumentLabel, + y.DocumentStatus, + y.MediaId, + y.RejectionReason, + y.EmployeeId, + y.CreationDate, + IsSentToChecker = y.EmployeeDocuments.IsSentToChecker, + y.EmployeeDocuments.IsConfirmed + }).OrderByDescending(y => y.CreationDate).First()).ToListAsync(); + + + + + + + //get medias for current documents of employees + var mediaIds = EDItemsList.Select(x => x.MediaId).ToList(); + var mediasList = await _accountContext.Medias.Where(x => mediaIds.Contains(x.id)) + .Select(x => new MediaViewModel() { Id = x.id, Path = x.Path }).ToListAsync(); + + + + var result = EDItemsList.GroupBy(x => x.EmployeeId) + .Select(x => + { + //var requiredDocs = EmployeeDocumentRequiredItems.GetByGender(x.Gender); + var employeeLatestConfirmedDocuments = x + + .Where(y => y.EmployeeId == x.Key && (y.DocumentStatus == DocumentStatus.SubmittedByClient || y.DocumentStatus == DocumentStatus.SubmittedByAdmin || y.DocumentStatus == DocumentStatus.Rejected)) + .Select(y => new EmployeeDocumentItemViewModel() + { + Status = y.DocumentStatus, + MediaId = y.MediaId, + DocumentItemLabel = y.DocumentLabel, + Id = y.Id, + RejectionMessage = y.RejectionReason, + StatusString = y.DocumentStatus.ToString() + }).ToList(); + + var employeeInfo = employeeIdsInWorkshop.First(e => e.EmployeeId == x.Key); + + //var requiredItemsUploaded = employeeLatestConfirmedDocuments + // .Where(y => requiredDocs.Contains(y.DocumentItemLabel)).Select(y => y.DocumentItemLabel) + // .ToList(); + + return new EmployeeDocumentsViewModel() + { + EmployeeId = x.Key, + IdCardPage1 = GetByLabelAndLoadMedia(employeeLatestConfirmedDocuments, mediasList, DocumentItemLabel.IdCardPage1), + IdCardPage2 = GetByLabelAndLoadMedia(employeeLatestConfirmedDocuments, mediasList, DocumentItemLabel.IdCardPage2), + IdCardPage3 = GetByLabelAndLoadMedia(employeeLatestConfirmedDocuments, mediasList, DocumentItemLabel.IdCardPage3), + IdCardPage4 = GetByLabelAndLoadMedia(employeeLatestConfirmedDocuments, mediasList, DocumentItemLabel.IdCardPage4), + EducationalDegree = GetByLabelAndLoadMedia(employeeLatestConfirmedDocuments, mediasList, DocumentItemLabel.EducationalDegree), + EmployeeFullName = employeeInfo.FullName, + NationalCardFront = GetByLabelAndLoadMedia(employeeLatestConfirmedDocuments, mediasList, DocumentItemLabel.NationalCardFront), + NationalCardRear = GetByLabelAndLoadMedia(employeeLatestConfirmedDocuments, mediasList, DocumentItemLabel.NationalCardRear), + MilitaryServiceCard = GetByLabelAndLoadMedia(employeeLatestConfirmedDocuments, mediasList, DocumentItemLabel.MilitaryServiceCard), + EmployeePicture = GetByLabelAndLoadMedia(employeeLatestConfirmedDocuments, mediasList, DocumentItemLabel.EmployeePicture), + //RequiredDocumentsUploaded = requiredItemsUploaded, + //RequiredDocuments = requiredDocs + }; + }).ToList(); + + + return result; + } + + public async Task> GetClientRejectedDocumentForClient(long workshopId, long accountId) + { + var employeeIdsInWorkshop = await _companyContext.LeftWorkList + .Where(x => x.WorkshopId == workshopId && x.LeftWorkDate.AddDays(-1) >= DateTime.Today) + .Select(x => new { x.EmployeeId, FullName = x.Employee.FName + " " + x.Employee.LName }) + .Union( + _companyContext.EmployeeClientTemps + .Where(x => x.WorkshopId == workshopId) + .Select(x => new { x.EmployeeId, FullName = x.EmployeeFullName }) + ) + .Union( + _companyContext.LeftWorkTemps + .Where(x => x.WorkshopId == workshopId) + .Join(_companyContext.Employees, x => x.EmployeeId, e => e.id, + (x, e) => new { x.EmployeeId, FullName = e.FName + " " + e.LName }) + ) + .Distinct() + .ToListAsync(); + + var employeeIdList = employeeIdsInWorkshop.Select(x => x.EmployeeId).ToList(); + + + + + var EDItemsList = await _companyContext.EmployeeDocumentItems + .Where(x => x.WorkshopId == workshopId && x.DocumentStatus == DocumentStatus.Rejected && + employeeIdList.Contains(x.EmployeeId) && x.UploaderId == accountId) + .Include(x => x.EmployeeDocuments) + .Where(x => x.EmployeeDocuments.IsSentToChecker == false && x.EmployeeDocuments.HasRejectedItems) + .GroupBy(x => new { x.EmployeeId, x.DocumentLabel }) + .Select(x => + x.Select(y => new + { + y.EmployeeDocumentId, + Id = y.id, + y.EmployeeDocuments.Gender, + y.DocumentLabel, + y.DocumentStatus, + y.MediaId, + y.RejectionReason, + y.EmployeeId, + y.CreationDate, + IsSentToChecker = y.EmployeeDocuments.IsSentToChecker, + y.EmployeeDocuments.IsConfirmed + }).OrderByDescending(y => y.CreationDate).First()).ToListAsync(); + + + + + + + //get medias for current documents of employees + var mediaIds = EDItemsList.Select(x => x.MediaId).ToList(); + var mediasList = await _accountContext.Medias.Where(x => mediaIds.Contains(x.id)) + .Select(x => new MediaViewModel() { Id = x.id, Path = x.Path }).ToListAsync(); + + + + var result = EDItemsList.GroupBy(x => x.EmployeeId) + .Select(x => + { + //var requiredDocs = EmployeeDocumentRequiredItems.GetByGender(x.Gender); + var employeeLatestConfirmedDocuments = x + + .Where(y => y.EmployeeId == x.Key && (y.DocumentStatus == DocumentStatus.SubmittedByClient || y.DocumentStatus == DocumentStatus.SubmittedByAdmin || y.DocumentStatus == DocumentStatus.Rejected)) + .Select(y => new EmployeeDocumentItemViewModel() + { + Status = y.DocumentStatus, + MediaId = y.MediaId, + DocumentItemLabel = y.DocumentLabel, + Id = y.Id, + RejectionMessage = y.RejectionReason, + StatusString = y.DocumentStatus.ToString() + }).ToList(); + + + //var requiredItemsUploaded = employeeLatestConfirmedDocuments + // .Where(y => requiredDocs.Contains(y.DocumentItemLabel)).Select(y => y.DocumentItemLabel) + // .ToList(); + + var employeeInfo = employeeIdsInWorkshop.First(e => e.EmployeeId == x.Key); + + + return new EmployeeDocumentsViewModel() + { + EmployeeId = x.Key, + IdCardPage1 = GetByLabelAndLoadMedia(employeeLatestConfirmedDocuments, mediasList, DocumentItemLabel.IdCardPage1), + IdCardPage2 = GetByLabelAndLoadMedia(employeeLatestConfirmedDocuments, mediasList, DocumentItemLabel.IdCardPage2), + IdCardPage3 = GetByLabelAndLoadMedia(employeeLatestConfirmedDocuments, mediasList, DocumentItemLabel.IdCardPage3), + IdCardPage4 = GetByLabelAndLoadMedia(employeeLatestConfirmedDocuments, mediasList, DocumentItemLabel.IdCardPage4), + EducationalDegree = GetByLabelAndLoadMedia(employeeLatestConfirmedDocuments, mediasList, DocumentItemLabel.EducationalDegree), + EmployeeFullName = employeeInfo.FullName, + NationalCardFront = GetByLabelAndLoadMedia(employeeLatestConfirmedDocuments, mediasList, DocumentItemLabel.NationalCardFront), + NationalCardRear = GetByLabelAndLoadMedia(employeeLatestConfirmedDocuments, mediasList, DocumentItemLabel.NationalCardRear), + MilitaryServiceCard = GetByLabelAndLoadMedia(employeeLatestConfirmedDocuments, mediasList, DocumentItemLabel.MilitaryServiceCard), + EmployeePicture = GetByLabelAndLoadMedia(employeeLatestConfirmedDocuments, mediasList, DocumentItemLabel.EmployeePicture), + //RequiredDocumentsUploaded = requiredItemsUploaded, + //RequiredDocuments = requiredDocs + }; + }).ToList(); + + return result; + } + + //ToDo آپلود مدارک و افزودن پرسنل + //public List GetWorkshopsWithNewEmployeesWithoutDocuments(List workshops) + //{ + // var newEmployees = _companyContext.LeftWorkTemps.Where(x => workshops.Contains(x.WorkshopId)) + // .Select(x => new { x.WorkshopId, x.EmployeeId }); + + + // var query = _companyContext.EmployeeDocuments + // .Where(x => workshops.Contains(x.WorkshopId) && + // newEmployees.Any(y => y.WorkshopId == x.WorkshopId && y.EmployeeId == x.EmployeeId)) + // .Include(x => x.Workshop).Include(x => x.EmployeeDocumentItemCollection) + // .GroupBy(x => x.WorkshopId).Select(x => new WorkshopWithEmployeeDocumentsViewModel() + // { + // WorkshopId = x.Key, + // WorkshopFullName = x.FirstOrDefault().Workshop.WorkshopName, + // EmployeesWithoutDocumentCount = x.Count() + // }); + + // var workshopEmployers = _companyContext.WorkshopEmployers.Include(x => x.Employer) + // .Where(x => query.Any(y => y.WorkshopId == x.WorkshopId)) + // .GroupBy(x => x.WorkshopId).Select(x => x.FirstOrDefault()).ToList(); + + // var result = query.ToList(); + + // result.ForEach(x => + // { + // var employer = workshopEmployers.FirstOrDefault(y => y.WorkshopId == x.WorkshopId)?.Employer; + // x.EmployerName = employer.FullName; + + // //x.SubmittedItems.ForEach(y=>y.PicturePath= medias.FirstOrDefault(z=>z.id == y.MediaId)?.Path ?? ""); + // }); + + // return result.Where(x => x.EmployeesWithoutDocumentCount > 0).OrderByDescending(x => x.EmployeesWithoutDocumentCount).ToList(); + //} + + + #region Private Methods private static List GetCurrentConfirmedDocumentItemsFromEmployeeDocumentItems(EmployeeDocuments entity) @@ -993,9 +1652,9 @@ public class EmployeeDocumentsRepository : RepositoryBase x.MaxBy(y => y.CreationDate)).ToList(); } - private static List GetAllCurrentDocuments(EmployeeDocuments entity,UserType userType) + private static List GetAllCurrentDocuments(EmployeeDocuments entity, UserType userType) { - return entity.EmployeeDocumentItemCollection.Where(x=>x.DocumentStatus != DocumentStatus.Unsubmitted || x.UploaderType == userType) + return entity.EmployeeDocumentItemCollection.Where(x => x.DocumentStatus != DocumentStatus.Unsubmitted || x.UploaderType == userType) .GroupBy(x => x.DocumentLabel).Select(x => x.OrderByDescending(y => y.CreationDate).First()).ToList(); } @@ -1016,7 +1675,8 @@ public class EmployeeDocumentsRepository : RepositoryBase x.Id == item.MediaId)?.Path ?? "", - RejectionMessage = item.RejectionReason + RejectionMessage = item.RejectionReason, + MediaId = medias.FirstOrDefault(x => x.Id == item.MediaId)?.Id ?? 0, }; } diff --git a/ServiceHost/Areas/AdminNew/Pages/Company/AndroidApk/Index.cshtml.cs b/ServiceHost/Areas/AdminNew/Pages/Company/AndroidApk/Index.cshtml.cs index a03ce69a..46b37a72 100644 --- a/ServiceHost/Areas/AdminNew/Pages/Company/AndroidApk/Index.cshtml.cs +++ b/ServiceHost/Areas/AdminNew/Pages/Company/AndroidApk/Index.cshtml.cs @@ -1,4 +1,5 @@ -using AccountManagement.Domain.AccountLeftWorkAgg; +using _0_Framework.Application; +using AccountManagement.Domain.AccountLeftWorkAgg; using AccountMangement.Infrastructure.EFCore; using Company.Domain.RewardAgg; using Company.Domain.RollCallAgg.DomainService; @@ -71,21 +72,36 @@ namespace ServiceHost.Areas.AdminNew.Pages.Company.AndroidApk return Page(); } - public IActionResult OnPostShiftDateNew2() + public async Task OnPostShiftDateNew2() { - var startRollCall = new DateTime(2025, 3, 21); - var rollCalls = _context.RollCalls.Where(x => x.StartDate >= startRollCall && x.EndDate != null ).ToList(); - var r1 = rollCalls.Skip(10000).Take(10000).ToList(); + //var startRollCall = new DateTime(2025, 3, 21); + //var rollCalls = _context.RollCalls.Where(x => x.StartDate >= startRollCall && x.EndDate != null ).ToList(); + //var r1 = rollCalls.Skip(10000).Take(10000).ToList(); - Console.ForegroundColor = ConsoleColor.DarkRed; - Console.WriteLine("endStep 1 ============"); - SetRollCall(r1); + //Console.ForegroundColor = ConsoleColor.DarkRed; + //Console.WriteLine("endStep 1 ============"); + //SetRollCall(r1); + await RefactorEmployeeDocumentItem(); ViewData["message"] = "تومام دو"; return Page(); } + public async System.Threading.Tasks.Task RefactorEmployeeDocumentItem() + { + var employeeDocumentItems = await _context.EmployeeDocumentItems.Where(x => x.UploaderType == UserType.Admin).ToListAsync(); + foreach (var employeeDocumentItem in employeeDocumentItems) + { + var roleId = _accountContext.Accounts.FirstOrDefault(x => x.id == employeeDocumentItem.UploaderId)?.RoleId ?? 0; + employeeDocumentItem.SetRoleId(roleId); + } + + await _context.SaveChangesAsync(); + + } + + #region Create reward for kebab mahdi diff --git a/ServiceHost/Areas/AdminNew/Pages/Company/EmployeesDocuments/EmployeeList.cshtml.cs b/ServiceHost/Areas/AdminNew/Pages/Company/EmployeesDocuments/EmployeeList.cshtml.cs index 392ce32d..3709a07d 100644 --- a/ServiceHost/Areas/AdminNew/Pages/Company/EmployeesDocuments/EmployeeList.cshtml.cs +++ b/ServiceHost/Areas/AdminNew/Pages/Company/EmployeesDocuments/EmployeeList.cshtml.cs @@ -3,10 +3,9 @@ using CompanyManagment.App.Contracts.Error; using CompanyManagment.App.Contracts.Workshop; using Microsoft.AspNetCore.Mvc; using Microsoft.AspNetCore.Mvc.RazorPages; -using System.Security.Claims; using _0_Framework.Application; +using AccountManagement.Application.Contracts.Media; using CompanyManagment.App.Contracts.Employee; -using Company.Domain.EmployeeAgg; namespace ServiceHost.Areas.AdminNew.Pages.Company.EmployeesDocuments { @@ -18,10 +17,12 @@ namespace ServiceHost.Areas.AdminNew.Pages.Company.EmployeesDocuments private readonly IWebHostEnvironment _webHostEnvironment; private readonly IEmployeeApplication _employeeApplication; private readonly IEmployeeDocumentsApplication _employeeDocumentsApplication; + private readonly IMediaApplication _mediaApplication; + public long WorkshopId { get; set; } public string WorkshopFullName; - public EmployeeListModel(IWorkshopApplication workshopApplication, IEmployeeDocumentsApplication employeeDocumentsApplication, IEmployeeApplication employeeApplication, IAuthHelper authHelper, IPasswordHasher passwordHasher, IWebHostEnvironment webHostEnvironment) + public EmployeeListModel(IWorkshopApplication workshopApplication, IEmployeeDocumentsApplication employeeDocumentsApplication, IEmployeeApplication employeeApplication, IAuthHelper authHelper, IPasswordHasher passwordHasher, IWebHostEnvironment webHostEnvironment, IMediaApplication mediaApplication) { _workshopApplication = workshopApplication; _employeeDocumentsApplication = employeeDocumentsApplication; @@ -29,6 +30,7 @@ namespace ServiceHost.Areas.AdminNew.Pages.Company.EmployeesDocuments _authHelper = authHelper; _passwordHasher = passwordHasher; _webHostEnvironment = webHostEnvironment; + _mediaApplication = mediaApplication; } public IActionResult OnGet(long workshopId) @@ -88,8 +90,6 @@ namespace ServiceHost.Areas.AdminNew.Pages.Company.EmployeesDocuments } } - - public IActionResult OnGetCreateUploadDocument(long workshopId,long employeeId) { if (workshopId <= 0) @@ -127,6 +127,7 @@ namespace ServiceHost.Areas.AdminNew.Pages.Company.EmployeesDocuments message = result.Message }); } + public IActionResult OnPostRemoveClientEmployeeDocumentItemsByLabels(long workshopId, long employeeId, List labels) { var result = _employeeDocumentsApplication.RemoveClientDocumentItemsByAdmin(workshopId, employeeId, labels); @@ -136,6 +137,7 @@ namespace ServiceHost.Areas.AdminNew.Pages.Company.EmployeesDocuments message = result.Message }); } + public IActionResult OnPostCancelOperation(long workshopId, long employeeId) { var result = _employeeDocumentsApplication.DeleteUnsubmittedItems(workshopId, employeeId); @@ -169,6 +171,59 @@ namespace ServiceHost.Areas.AdminNew.Pages.Company.EmployeesDocuments var contentType = Tools.GetContentTypeImage(Path.GetExtension(filePath)); return PhysicalFile(filePath, contentType); + } + + #region Print + + public IActionResult OnGetPrintSelectionUploadDocument(long workshopId, long employeeId) + { + if (workshopId <= 0) + { + var resultError = new ErrorViewModel() + { + Message = "کارگاه شما یافت نشد" + }; + return Partial("../Error/_ErrorModal", resultError); + } + + var employeeDocument = _employeeDocumentsApplication.GetDetailsForAdmin(employeeId, workshopId); + + return Partial("ModalPrintSelectionUploadDocument", employeeDocument); + } + + public IActionResult OnGetPrintSingleUploadDocument(long workshopId, long employeeId, long mediaId) + { + // Todo: Mahan, please review this method that displays an employee's documents. + //var employeeDocument = _employeeDocumentsApplication.GetDetailsForAdmin(employeeId, workshopId); + var command = _mediaApplication.Get(mediaId); + + return Partial("ModalPrintSingleUploadDocument", command); + } + + #endregion + + public IActionResult OnPostGroupSave(long workshopId, long employeeId, List command) + { + var result = _employeeDocumentsApplication.AddRangeEmployeeDocumentItemsByAdmin(workshopId, employeeId, command); + return new JsonResult(new + { + success = result.IsSuccedded, + message = result.Message + }); + } + + public IActionResult OnGetPrintSelectionUD(List ids) + { + var command = _mediaApplication.GetRange(ids); + + return Partial("PrintSelectionUD", command); + } + + public IActionResult OnGetPrintSingleUD(long id) + { + var command = _mediaApplication.Get(id); + + return Partial("PrintSingleUD", command); } } } diff --git a/ServiceHost/Areas/AdminNew/Pages/Company/EmployeesDocuments/ModalPrintSelectionUploadDocument.cshtml b/ServiceHost/Areas/AdminNew/Pages/Company/EmployeesDocuments/ModalPrintSelectionUploadDocument.cshtml new file mode 100644 index 00000000..f902af16 --- /dev/null +++ b/ServiceHost/Areas/AdminNew/Pages/Company/EmployeesDocuments/ModalPrintSelectionUploadDocument.cshtml @@ -0,0 +1,271 @@ +@using Microsoft.AspNetCore.Mvc.TagHelpers +@model CompanyManagment.App.Contracts.EmployeeDocuments.EmployeeDocumentsViewModel + +@{ + string adminVersion = _0_Framework.Application.Version.AdminVersion; + +} + +
    + + +
    + + + + \ No newline at end of file diff --git a/ServiceHost/Areas/AdminNew/Pages/Company/EmployeesDocuments/ModalPrintSingleUploadDocument.cshtml b/ServiceHost/Areas/AdminNew/Pages/Company/EmployeesDocuments/ModalPrintSingleUploadDocument.cshtml new file mode 100644 index 00000000..ebef277c --- /dev/null +++ b/ServiceHost/Areas/AdminNew/Pages/Company/EmployeesDocuments/ModalPrintSingleUploadDocument.cshtml @@ -0,0 +1,53 @@ +@model AccountManagement.Application.Contracts.Media.MediaViewModel + +@{ + string adminVersion = _0_Framework.Application.Version.AdminVersion; + +} + + + + + + \ No newline at end of file diff --git a/ServiceHost/Areas/AdminNew/Pages/Company/EmployeesDocuments/ModalUploadDocument.cshtml b/ServiceHost/Areas/AdminNew/Pages/Company/EmployeesDocuments/ModalUploadDocument.cshtml index 55c90c98..44e99e21 100644 --- a/ServiceHost/Areas/AdminNew/Pages/Company/EmployeesDocuments/ModalUploadDocument.cshtml +++ b/ServiceHost/Areas/AdminNew/Pages/Company/EmployeesDocuments/ModalUploadDocument.cshtml @@ -446,6 +446,7 @@ \ No newline at end of file diff --git a/ServiceHost/Areas/AdminNew/Pages/Company/EmployeesDocuments/PrintSingleUD.cshtml b/ServiceHost/Areas/AdminNew/Pages/Company/EmployeesDocuments/PrintSingleUD.cshtml new file mode 100644 index 00000000..7138994a --- /dev/null +++ b/ServiceHost/Areas/AdminNew/Pages/Company/EmployeesDocuments/PrintSingleUD.cshtml @@ -0,0 +1,251 @@ +@model AccountManagement.Application.Contracts.Media.MediaViewModel +@{ + +} + + + +
    + + + + + +
    + + \ No newline at end of file diff --git a/ServiceHost/Areas/AdminNew/Pages/Company/RollCall/Index.cshtml.cs b/ServiceHost/Areas/AdminNew/Pages/Company/RollCall/Index.cshtml.cs index aa4b8ffd..ce35d4cf 100644 --- a/ServiceHost/Areas/AdminNew/Pages/Company/RollCall/Index.cshtml.cs +++ b/ServiceHost/Areas/AdminNew/Pages/Company/RollCall/Index.cshtml.cs @@ -1,4 +1,5 @@ +using _0_Framework.Application; using CompanyManagment.App.Contracts.Workshop; using Microsoft.AspNetCore.Mvc; using Microsoft.AspNetCore.Mvc.RazorPages; @@ -13,16 +14,18 @@ namespace ServiceHost.Areas.AdminNew.Pages.Company.RollCall private readonly IGetWorkshopWithRollCallHandler _workshopWithRollCallHandler; private readonly IWorkshopApplication _workshopApplication; private readonly IWorkFlowApplication _workflowApplication; + private readonly IAuthHelper _authHelper; public List Items { get; set; } public List WorkshopSearchItems { get; set; } public WorkshopWithRollCallServiceQueryParameters SearchModel; public FilterMode FilterMode { get; set; } - public IndexModel(IGetWorkshopWithRollCallHandler workshopWithRollCallHandler, IWorkshopApplication workshopApplication, IWorkFlowApplication workflowApplication) + public IndexModel(IGetWorkshopWithRollCallHandler workshopWithRollCallHandler, IWorkshopApplication workshopApplication, IWorkFlowApplication workflowApplication, IAuthHelper authHelper) { _workshopWithRollCallHandler = workshopWithRollCallHandler; _workshopApplication = workshopApplication; _workflowApplication = workflowApplication; + _authHelper = authHelper; } public void OnGet(WorkshopWithRollCallServiceQueryParameters searchModel) @@ -45,7 +48,8 @@ namespace ServiceHost.Areas.AdminNew.Pages.Company.RollCall public async Task OnPostWorkFlowCountByWorkshopId(long workshopId) { - var result = await System.Threading.Tasks.Task.Run(() => _workflowApplication.GetAllWorkFlowCount(workshopId)); + var currentAccountId = _authHelper.CurrentAccountId(); + var result = await System.Threading.Tasks.Task.Run(() => _workflowApplication.GetAllWorkFlowCount(workshopId, currentAccountId)); return new JsonResult(new { data = result diff --git a/ServiceHost/Areas/AdminNew/Pages/Company/WorkFlow/EmployeesDocuments.cshtml b/ServiceHost/Areas/AdminNew/Pages/Company/WorkFlow/EmployeesDocuments.cshtml index b397fd03..ab39ebde 100644 --- a/ServiceHost/Areas/AdminNew/Pages/Company/WorkFlow/EmployeesDocuments.cshtml +++ b/ServiceHost/Areas/AdminNew/Pages/Company/WorkFlow/EmployeesDocuments.cshtml @@ -1,10 +1,13 @@ @page @model ServiceHost.Areas.AdminNew.Pages.Company.WorkFlow.EmployeesDocumentsModel +@inject _0_Framework.Application.IAuthHelper AuthHelper; @{ string clientVersion = _0_Framework.Application.Version.StyleVersion; Layout = "Shared/_Layout"; ViewData["title"] = " - بارگذاری مدارک توسط کارفرما"; + var currentAccount = AuthHelper.CurrentAccountInfo(); + int index = 1; } @@ -16,8 +19,14 @@ + + }
    @@ -70,14 +79,45 @@
    -
  • -
  • +
    + + @(currentAccount.RoleId == 1 ? "تمامی برگشت خورده ها" : "برگشت خورده") +
    -
    +
    Loading...
    - @Model.EmployeeDocumentsAwaitingSubmitCount + +
    +
    +
  • + +
  • + +
  • +
  • +
  • @@ -92,14 +132,36 @@
    -
    -
    +
    +
    @for (int j = 0; j < 30; j++) {
    }
    -
    +
    +
    +
    + + + +
    @@ -120,13 +182,26 @@ @section Script { + } diff --git a/ServiceHost/Areas/AdminNew/Pages/Company/WorkFlow/EmployeesDocuments.cshtml.cs b/ServiceHost/Areas/AdminNew/Pages/Company/WorkFlow/EmployeesDocuments.cshtml.cs index b23f3a81..b2ca7875 100644 --- a/ServiceHost/Areas/AdminNew/Pages/Company/WorkFlow/EmployeesDocuments.cshtml.cs +++ b/ServiceHost/Areas/AdminNew/Pages/Company/WorkFlow/EmployeesDocuments.cshtml.cs @@ -1,4 +1,6 @@ +using System.Runtime.InteropServices.JavaScript; using _0_Framework.Application; +using AccountManagement.Application.Contracts.Media; using Company.Domain.WorkshopAccountAgg; using CompanyManagment.App.Contracts.Employee; using CompanyManagment.App.Contracts.EmployeeDocuments; @@ -11,152 +13,254 @@ using WorkFlow.Application.Contracts.AdminWorkFlow; namespace ServiceHost.Areas.AdminNew.Pages.Company.WorkFlow { - [Authorize] - public class EmployeesDocumentsModel : PageModel - { - private readonly IWorkshopApplication _workshopApplication; - private readonly IEmployeeDocumentsApplication _employeeDocumentsApplication; - private readonly IAdminWorkFlowApplication _adminWorkFlowApplication; - private readonly IWorkshopAccountRepository _workshopAccountRepository; - private readonly IAuthHelper _authHelper; - public int EmployeeDocumentsAwaitingSubmitCount; + [Authorize] + public class EmployeesDocumentsModel : PageModel + { + private readonly IWorkshopApplication _workshopApplication; + private readonly IEmployeeDocumentsApplication _employeeDocumentsApplication; + private readonly IAdminWorkFlowApplication _adminWorkFlowApplication; + private readonly IWorkshopAccountRepository _workshopAccountRepository; + private readonly IMediaApplication _mediaApplication; + private readonly IAuthHelper _authHelper; + private long _roleId; - public EmployeesDocumentsModel(IAdminWorkFlowApplication adminWorkFlowApplication, IWorkshopApplication workshopApplication, IEmployeeDocumentsApplication employeeDocumentsApplication, IWorkshopAccountRepository workshopAccountRepository, IAuthHelper authHelper) - { - _adminWorkFlowApplication = adminWorkFlowApplication; - _workshopApplication = workshopApplication; - _employeeDocumentsApplication = employeeDocumentsApplication; - _workshopAccountRepository = workshopAccountRepository; - _authHelper = authHelper; + public EmployeesDocumentsModel(IAdminWorkFlowApplication adminWorkFlowApplication, + IWorkshopApplication workshopApplication, IEmployeeDocumentsApplication employeeDocumentsApplication, + IWorkshopAccountRepository workshopAccountRepository, IAuthHelper authHelper, + IMediaApplication mediaApplication) + { + _adminWorkFlowApplication = adminWorkFlowApplication; + _workshopApplication = workshopApplication; + _employeeDocumentsApplication = employeeDocumentsApplication; + _workshopAccountRepository = workshopAccountRepository; + _authHelper = authHelper; + _mediaApplication = mediaApplication; + _roleId = authHelper.CurrentAccountInfo().RoleId; } - public async System.Threading.Tasks.Task OnGet() - { - var accountId = _authHelper.CurrentAccountId(); - var accountWorkshops = _workshopAccountRepository.GetList(accountId).Select(x => x.WorkshopId).ToList(); - EmployeeDocumentsAwaitingSubmitCount = await _adminWorkFlowApplication.GetEmployeeDocumentWorkFlowCountsForAdmin(accountWorkshops); + public void OnGet() + { } - public IActionResult OnGetWorkshopsWithDocumentsAwaitingUploadAjax() - { - var accountId = _authHelper.CurrentAccountId(); - var accountWorkshops= _workshopAccountRepository.GetList(accountId).Select(x=>x.WorkshopId).ToList(); + public IActionResult OnGetWorkshopsWithDocumentsAwaitingUploadAjax() + { + var accountId = _authHelper.CurrentAccountId(); + var accountWorkshops = _workshopAccountRepository.GetList(accountId).Select(x => x.WorkshopId).ToList(); var resultData = _adminWorkFlowApplication.GetWorkshopsWithDocumentsAwaitingUploadForAdmin(accountWorkshops); return new JsonResult(new - { - success = true, - data = resultData - }); - } - - public IActionResult OnGetByWorkshopIdWithItemsForAdminWorkFlow(long workshopId) - { - var resultData = _employeeDocumentsApplication.GetByWorkshopIdWithItemsForAdminWorkFlow(workshopId); - - return new JsonResult(new - { - success = true, - data = resultData - }); + { + success = true, + data = resultData + }); } + public IActionResult OnGetByWorkshopIdWithItemsForAdminWorkFlow(long workshopId) + { + var resultData = _employeeDocumentsApplication.GetByWorkshopIdWithItemsForAdminWorkFlow(workshopId); + + return new JsonResult(new + { + success = true, + data = resultData + }); + } + + + public async Task OnGetClientRejectedDocumentWorkshopsForAdmin() + { + var accountId = _authHelper.CurrentAccountId(); + var accountWorkshops = _workshopAccountRepository.GetList(accountId).Select(x => x.WorkshopId).ToList(); + var resultData = await _employeeDocumentsApplication.GetClientRejectedDocumentWorkshopsForAdmin(accountWorkshops,_roleId); + + return new JsonResult(new + { + success = true, + data = resultData + }); + } + + public async Task OnGetClientRejectedDocumentByWorkshopIdForAdmin(long workshopId) + { + var resultData = await _employeeDocumentsApplication.GetClientRejectedDocumentByWorkshopIdForAdmin(workshopId); + + return new JsonResult(new + { + success = true, + data = resultData + }); + } + + + public async Task OnGetCreatedEmployeesWorkshopDocumentForAdmin() + { + var accountId = _authHelper.CurrentAccountId(); + var accountWorkshops = _workshopAccountRepository.GetList(accountId).Select(x => x.WorkshopId).ToList(); + var resultData = await _employeeDocumentsApplication.GetCreatedEmployeesWorkshopDocumentForAdmin(accountWorkshops, _roleId); + + return new JsonResult(new + { + success = true, + data = resultData + }); + } + + public async Task OnGetCreatedEmployeesDocumentByWorkshopIdForAdmin(long workshopId) + { + var resultData = await _employeeDocumentsApplication.GetCreatedEmployeesDocumentByWorkshopIdForAdmin(workshopId); + + return new JsonResult(new + { + success = true, + data = resultData + }); + } + + public async Task OnGetWorkshopDocumentRejectedForAdmin() + { + var accountId = _authHelper.CurrentAccountId(); + var accountWorkshops = _workshopAccountRepository.GetList(accountId).Select(x => x.WorkshopId).ToList(); + var resultData = + await _employeeDocumentsApplication.GetWorkshopDocumentRejectedForAdmin(accountWorkshops, + _roleId); + + return new JsonResult(new + { + success = true, + data = resultData + }); + } + + public async Task OnGetGetRejectedItemsByWorkshopIdAndRoleForAdminWorkFlow(long workshopId) + { + var resultData = + await _employeeDocumentsApplication + .GetRejectedItemsByWorkshopIdAndRoleForAdminWorkFlow(workshopId, _roleId); + + return new JsonResult(new + { + success = true, + data = resultData + }); + } + + public async Task OnGetCountWorkFlowUploadDocument() + { + var accountId = _authHelper.CurrentAccountId(); + var accountWorkshops = _workshopAccountRepository.GetList(accountId).Select(x => x.WorkshopId).ToList(); + + var resultDataWorkshopDocumentRejectedForAdmin = await _employeeDocumentsApplication.GetWorkshopDocumentRejectedForAdmin(accountWorkshops, _roleId); + var resultDataCreatedEmployeesWorkshopDocumentForAdmin = await _employeeDocumentsApplication.GetCreatedEmployeesWorkshopDocumentForAdmin(accountWorkshops, _roleId); + var resultCountClientRejectedDocumentWorkshopsForAdmin = await _employeeDocumentsApplication.GetClientRejectedDocumentWorkshopsForAdmin(accountWorkshops,_roleId); + + return new JsonResult(new + { + WorkshopDocumentRejectedForAdmin = resultDataWorkshopDocumentRejectedForAdmin.Count, + CreatedEmployeesWorkshopDocumentForAdmin = resultDataCreatedEmployeesWorkshopDocumentForAdmin.Count, + ClientRejectedDocumentWorkshopsForAdmin = resultCountClientRejectedDocumentWorkshopsForAdmin.Count + }); + } + + public IActionResult OnGetCreateUploadDocument(long workshopId, long employeeId) - { - var employeeDocument = _employeeDocumentsApplication.GetDetailsForAdmin(employeeId, workshopId); - return Partial("_ModalEmployeeDocuments/ModalUploadDocument", employeeDocument); - } - - public IActionResult OnPostCreateUploadDocument(AddEmployeeDocumentItem command) - { - var result = _employeeDocumentsApplication.AddEmployeeDocumentItemForClient(command); - var employeeDocument = _employeeDocumentsApplication.GetDetailsForAdmin(command.EmployeeId, command.WorkshopId); - return new JsonResult(new - { - isSuccedded = result.IsSuccedded, - message = result.Message, - imageSrc = employeeDocument - }); - } - - public IActionResult OnPostRemoveEmployeeDocumentByLabel(long workshopId, long employeeId, DocumentItemLabel label) - { - var result = _employeeDocumentsApplication.RemoveClientDocumentItemsByAdminTemp(workshopId, employeeId, label); - return new JsonResult(new - { - isSuccedded = result.IsSuccedded, - message = result.Message - }); - } - public IActionResult OnPostRemoveClientEmployeeDocumentItemsByLabels(long workshopId, long employeeId, List labels) - { - var result = _employeeDocumentsApplication.RemoveClientDocumentItemsByAdmin(workshopId, employeeId, labels); - return new JsonResult(new - { - isSuccedded = result.IsSuccedded, - message = result.Message - }); - } - - public IActionResult OnPostSaveSubmit(SubmitEmployeeDocuments cmd) - { - - var result = _employeeDocumentsApplication.SubmitDocumentItemsByAdminInWorkFlow(cmd); - - return new JsonResult(new - { - isSuccedded = result.IsSuccedded, - message = result.Message, - }); - } - - public IActionResult OnGetShowPicture(string filePath) - { - if (string.IsNullOrEmpty(filePath)) - return NotFound(); - - - if (!System.IO.File.Exists(filePath)) - return NotFound(); - - var contentType = Tools.GetContentTypeImage(Path.GetExtension(filePath)); - return PhysicalFile(filePath, contentType); - } - - public IActionResult OnPostCancelOperation(long workshopId, long employeeId) - { - var result = _employeeDocumentsApplication.DeleteUnsubmittedItems(workshopId, employeeId); - return new JsonResult(new - { - success = result.IsSuccedded, - message = result.Message - }); - } - - public async Task OnGetEditEmployeeModal(long employeeId, long workshopId) - { - var command = await _adminWorkFlowApplication.GetEmployeeEditInEmployeeDocumentWorkFlow(employeeId, workshopId); - return Partial("_ModalEmployeeDocuments/ModalEmployeeEdit", command); + { + var employeeDocument = _employeeDocumentsApplication.GetDetailsForAdmin(employeeId, workshopId); + return Partial("_ModalEmployeeDocuments/ModalUploadDocument", employeeDocument); } - public async Task OnPostEditEmployeeModal(EditEmployeeInEmployeeDocument command) - { + public IActionResult OnPostCreateUploadDocument(AddEmployeeDocumentItem command) + { + var result = _employeeDocumentsApplication.AddEmployeeDocumentItemForClient(command); + var employeeDocument = _employeeDocumentsApplication.GetDetailsForAdmin(command.EmployeeId, command.WorkshopId); + return new JsonResult(new + { + isSuccedded = result.IsSuccedded, + message = result.Message, + imageSrc = employeeDocument + }); + } + + public IActionResult OnPostRemoveEmployeeDocumentByLabel(long workshopId, long employeeId, DocumentItemLabel label) + { + var result = _employeeDocumentsApplication.RemoveClientDocumentItemsByAdminTemp(workshopId, employeeId, label); + return new JsonResult(new + { + isSuccedded = result.IsSuccedded, + message = result.Message + }); + } + public IActionResult OnPostRemoveClientEmployeeDocumentItemsByLabels(long workshopId, long employeeId, List labels) + { + var result = _employeeDocumentsApplication.RemoveClientDocumentItemsByAdmin(workshopId, employeeId, labels); + return new JsonResult(new + { + isSuccedded = result.IsSuccedded, + message = result.Message + }); + } + + public IActionResult OnPostSaveSubmit(SubmitEmployeeDocuments cmd) + { + + var result = _employeeDocumentsApplication.SubmitDocumentItemsByAdminInWorkFlow(cmd); + + return new JsonResult(new + { + isSuccedded = result.IsSuccedded, + message = result.Message, + }); + } + + public IActionResult OnGetShowPicture(string filePath) + { + if (string.IsNullOrEmpty(filePath)) + return NotFound(); + + + if (!System.IO.File.Exists(filePath)) + return NotFound(); + + var contentType = Tools.GetContentTypeImage(Path.GetExtension(filePath)); + return PhysicalFile(filePath, contentType); + } + + public IActionResult OnPostCancelOperation(long workshopId, long employeeId) + { + var result = _employeeDocumentsApplication.DeleteUnsubmittedItems(workshopId, employeeId); + return new JsonResult(new + { + success = result.IsSuccedded, + message = result.Message + }); + } + + public async Task OnGetEditEmployeeModal(long employeeId, long workshopId, long mediaId) + { + var media = _mediaApplication.Get(mediaId); + var command = await _adminWorkFlowApplication.GetEmployeeEditInEmployeeDocumentWorkFlow(employeeId, workshopId); + command.Media = media; + return Partial("_ModalEmployeeDocuments/ModalEmployeeEdit", command); + } + + public async Task OnPostEditEmployeeModal(EditEmployeeInEmployeeDocument command) + { var result = await _adminWorkFlowApplication.EditEmployeeInEmployeeDocumentWorkFlow(command); return new JsonResult(new { success = result.IsSuccedded, message = result.Message }); - } - - public IActionResult OnPostGroupSave(long workshopId, long employeeId, List command) - { - var result = _employeeDocumentsApplication.AddRangeEmployeeDocumentItemsByAdmin(workshopId, employeeId, command); - return new JsonResult(new - { - success = result.IsSuccedded, - message = result.Message - }); } - } + + public IActionResult OnPostGroupSave(long workshopId, long employeeId, List command) + { + var result = _employeeDocumentsApplication.AddRangeEmployeeDocumentItemsByAdmin(workshopId, employeeId, command); + return new JsonResult(new + { + success = result.IsSuccedded, + message = result.Message + }); + } + + } } diff --git a/ServiceHost/Areas/AdminNew/Pages/Company/WorkFlow/Index.cshtml.cs b/ServiceHost/Areas/AdminNew/Pages/Company/WorkFlow/Index.cshtml.cs index b75c7603..36f95859 100644 --- a/ServiceHost/Areas/AdminNew/Pages/Company/WorkFlow/Index.cshtml.cs +++ b/ServiceHost/Areas/AdminNew/Pages/Company/WorkFlow/Index.cshtml.cs @@ -18,19 +18,22 @@ namespace ServiceHost.Areas.AdminNew.Pages.Company.WorkFlow private readonly IAuthHelper _authHelper; private readonly IWorkshopAccountRepository _workshopAccountRepository; public int EmployeeDocumentsAwaitingSubmitCount; + private readonly long _roleId; - public IndexModel(IAdminWorkFlowApplication adminWorkFlowApplication, IAuthHelper authHelper, IWorkshopAccountRepository workshopAccountRepository) + public IndexModel(IAdminWorkFlowApplication adminWorkFlowApplication, IAuthHelper authHelper, IWorkshopAccountRepository workshopAccountRepository) { _adminWorkFlowApplication = adminWorkFlowApplication; _authHelper = authHelper; _workshopAccountRepository = workshopAccountRepository; + _roleId = authHelper.CurrentAccountInfo().RoleId; + } - - public async System.Threading.Tasks.Task OnGet() + + public async System.Threading.Tasks.Task OnGet() { var accountId = _authHelper.CurrentAccountId(); var accountWorkshops = _workshopAccountRepository.GetList(accountId).Select(x => x.WorkshopId).ToList(); - EmployeeDocumentsAwaitingSubmitCount = await _adminWorkFlowApplication.GetEmployeeDocumentWorkFlowCountsForAdmin(accountWorkshops); + EmployeeDocumentsAwaitingSubmitCount = await _adminWorkFlowApplication.GetEmployeeDocumentWorkFlowCountsForAdmin(accountWorkshops,_roleId ); } public async Task OnGetStartAndLeftWorkCount() diff --git a/ServiceHost/Areas/AdminNew/Pages/Company/WorkFlow/_ModalEmployeeDocuments/ModalUploadDocument.cshtml b/ServiceHost/Areas/AdminNew/Pages/Company/WorkFlow/_ModalEmployeeDocuments/ModalUploadDocument.cshtml index 889102ae..809a0595 100644 --- a/ServiceHost/Areas/AdminNew/Pages/Company/WorkFlow/_ModalEmployeeDocuments/ModalUploadDocument.cshtml +++ b/ServiceHost/Areas/AdminNew/Pages/Company/WorkFlow/_ModalEmployeeDocuments/ModalUploadDocument.cshtml @@ -17,6 +17,16 @@ .pdTitle2 { height: 42px; } + + @@media (max-width: 768px) { + .modal-body { + height: auto; + } + + .btnUploadingPD, .btnDeletingPD { + width: 80px; + } + } } @@ -67,7 +77,7 @@
    -
    عکس پرسنل *
    +
    عکس پرسنل @* * *@
    @(!string.IsNullOrWhiteSpace(Model.EmployeePicture.RejectionMessage) ? "رد شد" : "")
    @* در صورت آپلود نکردن عکس پرسنلی، عکس از حضور و غیاب تنظیم می‌شود. *@ @@ -80,7 +90,7 @@
    - + @@ -134,7 +144,7 @@
    - + @@ -174,7 +184,7 @@
    -
    کارت ملی پشت *
    +
    کارت ملی پشت @* * *@
    @(!string.IsNullOrWhiteSpace(Model.NationalCardRear.RejectionMessage) ? "رد شد" : "")
    @@ -186,7 +196,7 @@
    - + @@ -238,7 +248,7 @@
    - + @@ -291,7 +301,7 @@
    - + @@ -332,7 +342,7 @@
    -
    شناسنامه صفحه دوم *
    +
    شناسنامه صفحه دوم @* * *@
    @(!string.IsNullOrWhiteSpace(Model.IdCardPage2.RejectionMessage) ? "رد شد" : "")
    @@ -344,7 +354,7 @@
    - + @@ -384,7 +394,7 @@
    -
    شناسنامه صفحه سوم *
    +
    شناسنامه صفحه سوم @* * *@
    @(!string.IsNullOrWhiteSpace(Model.IdCardPage3.RejectionMessage) ? "رد شد" : "")
    @@ -396,7 +406,7 @@
    - + @@ -448,7 +458,7 @@
    - + diff --git a/ServiceHost/Areas/AdminNew/Pages/Index.cshtml.cs b/ServiceHost/Areas/AdminNew/Pages/Index.cshtml.cs index fa2c24a0..7939e132 100644 --- a/ServiceHost/Areas/AdminNew/Pages/Index.cshtml.cs +++ b/ServiceHost/Areas/AdminNew/Pages/Index.cshtml.cs @@ -1,8 +1,10 @@ using _0_Framework.Application; +using AccountManagement.Application; using AccountManagement.Application.Contracts.Task; using AccountManagement.Application.Contracts.Ticket; using backService; using Company.Domain.WorkshopAccountAgg; +using CompanyManagment.App.Contracts.Workshop; using Microsoft.AspNetCore.Mvc; using Microsoft.AspNetCore.Mvc.RazorPages; using WorkFlow.Application.Contracts.AdminWorkFlow; @@ -17,7 +19,10 @@ namespace ServiceHost.Areas.AdminNew.Pages private readonly IAdminWorkFlowApplication _adminWorkFlowApplication; private readonly ITicketApplication _ticketApplication; private readonly ITaskApplication _taskApplication; - public List DbBackupList { get; set; } + private long _roleId; + + + public List DbBackupList { get; set; } public List InsuranceBackupList { get; set; } public IndexModel(IWebHostEnvironment webHostEnvironment, IConfiguration configuration, IAuthHelper authHelper, IWorkshopAccountRepository workshopAccountRepository, IAdminWorkFlowApplication adminWorkFlowApplication, ITicketApplication ticketApplication, ITaskApplication taskApplication) @@ -25,10 +30,13 @@ namespace ServiceHost.Areas.AdminNew.Pages _configuration = configuration; _authHelper = authHelper; _workshopAccountRepository = workshopAccountRepository; - _adminWorkFlowApplication = adminWorkFlowApplication; _ticketApplication = ticketApplication; _taskApplication = taskApplication; + _adminWorkFlowApplication = adminWorkFlowApplication; + _roleId = authHelper.CurrentAccountInfo().RoleId; + } + public void OnGet() { #region DbBackupLoad @@ -67,18 +75,18 @@ namespace ServiceHost.Areas.AdminNew.Pages public async Task OnGetLayoutCountTask() { var currentAccountId = _authHelper.CurrentAccountId(); - int taskCount = await _taskApplication.RequestedAndOverdueTasksCount(currentAccountId); + int taskCount = await _taskApplication.RequestedAndOverdueTasksCount(currentAccountId); - return new JsonResult(new + return new JsonResult(new { success = true, data = taskCount }); } - public async Task OnGetLayoutCountTicket() + public IActionResult OnGetLayoutCountTicket() { - int ticketCount = _ticketApplication.GetAdminTicketsCount(); + int ticketCount = _ticketApplication.GetAdminTicketsCount(); return new JsonResult(new { @@ -91,7 +99,8 @@ namespace ServiceHost.Areas.AdminNew.Pages { var currentAccountId = _authHelper.CurrentAccountId(); var accountWorkshops = _workshopAccountRepository.GetList(currentAccountId).Select(x => x.WorkshopId).ToList(); - int workFlowCount = await _adminWorkFlowApplication.GetWorkFlowCountsForAdmin(accountWorkshops,currentAccountId); + int workFlowCount = await _adminWorkFlowApplication.GetWorkFlowCountsForAdmin(accountWorkshops,currentAccountId, _roleId); + return new JsonResult(new { diff --git a/ServiceHost/Areas/Client/Pages/Company/EmployeesDocuments/Index.cshtml.cs b/ServiceHost/Areas/Client/Pages/Company/EmployeesDocuments/Index.cshtml.cs index a6a7a2a3..c67be5d9 100644 --- a/ServiceHost/Areas/Client/Pages/Company/EmployeesDocuments/Index.cshtml.cs +++ b/ServiceHost/Areas/Client/Pages/Company/EmployeesDocuments/Index.cshtml.cs @@ -146,5 +146,16 @@ namespace ServiceHost.Areas.Client.Pages.Company.EmployeesDocuments var contentType = Tools.GetContentTypeImage(Path.GetExtension(filePath)); return PhysicalFile(filePath, contentType); } + + public IActionResult OnPostGroupSave(long employeeId, List command) + { + var result = _employeeDocumentsApplication.AddRangeEmployeeDocumentItemsByClient(_workshopId, employeeId, command); + + return new JsonResult(new + { + isSuccedded = result.IsSuccedded, + message = result.Message, + }); + } } } diff --git a/ServiceHost/Areas/Client/Pages/Company/EmployeesDocuments/ModalUploadDocument.cshtml b/ServiceHost/Areas/Client/Pages/Company/EmployeesDocuments/ModalUploadDocument.cshtml index 029abafa..0d7e22db 100644 --- a/ServiceHost/Areas/Client/Pages/Company/EmployeesDocuments/ModalUploadDocument.cshtml +++ b/ServiceHost/Areas/Client/Pages/Company/EmployeesDocuments/ModalUploadDocument.cshtml @@ -338,6 +338,7 @@ + + + +} diff --git a/ServiceHost/Areas/Client/Pages/Company/WorkFlow/EmployeeDocuments/Index.cshtml.cs b/ServiceHost/Areas/Client/Pages/Company/WorkFlow/EmployeeDocuments/Index.cshtml.cs new file mode 100644 index 00000000..7c5a7f4c --- /dev/null +++ b/ServiceHost/Areas/Client/Pages/Company/WorkFlow/EmployeeDocuments/Index.cshtml.cs @@ -0,0 +1,127 @@ +using System.Collections.Generic; +using System.Security.Claims; +using _0_Framework.Application; +using Company.Domain.EmployeeAgg; +using CompanyManagment.App.Contracts.EmployeeDocuments; +using Microsoft.AspNetCore.Mvc; +using Microsoft.AspNetCore.Mvc.RazorPages; +using WorkFlow.Infrastructure.ACL.EmployeeDocuments; + +namespace ServiceHost.Areas.Client.Pages.Company.WorkFlow.EmployeeDocuments +{ + + public class IndexModel : PageModel + { + private readonly IPasswordHasher _passwordHasher; + private readonly IAuthHelper _authHelper; + private readonly IHttpContextAccessor _contextAccessor; + private readonly IEmployeeDocumentsApplication _employeeDocumentsApplication; + private readonly long _workshopId; + + public IndexModel(IHttpContextAccessor contextAccessor, IPasswordHasher passwordHasher, IEmployeeDocumentsApplication employeeDocumentsApplication, IAuthHelper authHelper) + { + _contextAccessor = contextAccessor; + _passwordHasher = passwordHasher; + _employeeDocumentsApplication = employeeDocumentsApplication; + _authHelper = authHelper; + + var workshopHash = _contextAccessor.HttpContext?.User.FindFirstValue("WorkshopSlug"); + _workshopId = _passwordHasher.SlugDecrypt(workshopHash); + + if (_workshopId < 1) + throw new InvalidDataException("اختلال در کارگاه"); + } + + public void OnGet() + { + } + + public async Task OnGetClientRejectedDocumentForClient() + { + var currentAccountId = _authHelper.CurrentAccountId(); + var resultData = await _employeeDocumentsApplication.GetClientRejectedDocumentForClient(_workshopId, currentAccountId); + return new JsonResult(new + { + success = true, + data = resultData, + }); + } + + public IActionResult OnGetCreateUploadDocument(long employeeId) + { + var employeeDocument = _employeeDocumentsApplication.GetDetailsForClient(employeeId, _workshopId); + + return Partial("./ModalUploadDocument", employeeDocument); + } + + public IActionResult OnPostCreateUploadDocument(AddEmployeeDocumentItem command) + { + command.WorkshopId = _workshopId; + + var result = _employeeDocumentsApplication.AddEmployeeDocumentItemForClient(command); + var employeeDocument = _employeeDocumentsApplication.GetDetailsForClient(command.EmployeeId, _workshopId); + return new JsonResult(new + { + isSuccedded = result.IsSuccedded, + message = result.Message, + imageSrc = employeeDocument + }); + } + + public IActionResult OnPostRemoveEmployeeDocumentByLabel(long employeeId, DocumentItemLabel label) + { + var result = _employeeDocumentsApplication.DeleteEmployeeMultipleUnsubmittedDocumentsByLabel(_workshopId, employeeId, + label); + return new JsonResult(new + { + isSuccedded = result.IsSuccedded, + message = result.Message + }); + } + + public IActionResult OnPostSaveSubmit(SubmitEmployeeDocuments cmd) + { + var result = _employeeDocumentsApplication.SubmitDocumentItemsByClient(cmd); + + return new JsonResult(new + { + isSuccedded = result.IsSuccedded, + message = result.Message, + }); + } + + public IActionResult OnPostCancelOperation(long employeeId) + { + var result = _employeeDocumentsApplication.DeleteUnsubmittedItems(_workshopId, employeeId); + return new JsonResult(new + { + success = result.IsSuccedded, + message = result.Message, + }); + } + + public IActionResult OnGetShowPicture(string filePath) + { + if (string.IsNullOrEmpty(filePath)) + return NotFound(); + + + if (!System.IO.File.Exists(filePath)) + return NotFound(); + + var contentType = Tools.GetContentTypeImage(Path.GetExtension(filePath)); + return PhysicalFile(filePath, contentType); + } + + public IActionResult OnPostGroupSave(long employeeId, List command) + { + var result = _employeeDocumentsApplication.AddRangeEmployeeDocumentItemsByClient(_workshopId, employeeId, command); + + return new JsonResult(new + { + isSuccedded = result.IsSuccedded, + message = result.Message, + }); + } + } +} diff --git a/ServiceHost/Areas/Client/Pages/Company/WorkFlow/EmployeeDocuments/ModalUploadDocument.cshtml b/ServiceHost/Areas/Client/Pages/Company/WorkFlow/EmployeeDocuments/ModalUploadDocument.cshtml new file mode 100644 index 00000000..9d784ac6 --- /dev/null +++ b/ServiceHost/Areas/Client/Pages/Company/WorkFlow/EmployeeDocuments/ModalUploadDocument.cshtml @@ -0,0 +1,349 @@ +@using System.Reflection +@using CompanyManagment.App.Contracts.EmployeeDocuments +@using Microsoft.AspNetCore.Mvc.TagHelpers +@model CompanyManagment.App.Contracts.EmployeeDocuments.EmployeeDocumentsViewModel + +@{ + string clientVersion = _0_Framework.Application.Version.StyleVersion; + +} + +
    + + +
    + + + + + + \ No newline at end of file diff --git a/ServiceHost/Areas/Client/Pages/Company/WorkFlow/Index.cshtml.cs b/ServiceHost/Areas/Client/Pages/Company/WorkFlow/Index.cshtml.cs index c0892050..4952f7c2 100644 --- a/ServiceHost/Areas/Client/Pages/Company/WorkFlow/Index.cshtml.cs +++ b/ServiceHost/Areas/Client/Pages/Company/WorkFlow/Index.cshtml.cs @@ -6,6 +6,7 @@ using Microsoft.AspNetCore.Mvc; using Microsoft.AspNetCore.Mvc.RazorPages; using System.Security.Claims; using _0_Framework.Infrastructure; +using CompanyManagment.App.Contracts.EmployeeDocuments; using WorkFlow.Application.Contracts.WorkFlow; namespace ServiceHost.Areas.Client.Pages.Company.WorkFlow @@ -18,6 +19,7 @@ namespace ServiceHost.Areas.Client.Pages.Company.WorkFlow private readonly IPasswordHasher _passwordHasher; private readonly IWorkshopApplication _workshopApplication; private readonly IWorkFlowApplication _workFlowApplication; + private readonly IEmployeeDocumentsApplication _employeeDocumentsApplication; private readonly IRollCallServiceApplication _rollCallServiceApplication; private readonly IHttpContextAccessor _contextAccessor; private readonly long _workshopId; @@ -26,7 +28,7 @@ namespace ServiceHost.Areas.Client.Pages.Company.WorkFlow public int CountRollCall; public bool HasRollCallService; - public IndexModel(IPasswordHasher passwordHasher, IWorkshopApplication workshopApplication, IWorkFlowApplication workFlowApplication, IAuthHelper authHelper, IRollCallServiceApplication rollCallServiceApplication, IHttpContextAccessor contextAccessor) + public IndexModel(IPasswordHasher passwordHasher, IWorkshopApplication workshopApplication, IWorkFlowApplication workFlowApplication, IAuthHelper authHelper, IRollCallServiceApplication rollCallServiceApplication, IHttpContextAccessor contextAccessor, IEmployeeDocumentsApplication employeeDocumentsApplication) { _passwordHasher = passwordHasher; _workshopApplication = workshopApplication; @@ -34,6 +36,7 @@ namespace ServiceHost.Areas.Client.Pages.Company.WorkFlow _authHelper = authHelper; _rollCallServiceApplication = rollCallServiceApplication; _contextAccessor = contextAccessor; + _employeeDocumentsApplication = employeeDocumentsApplication; var workshopHash = _contextAccessor.HttpContext?.User.FindFirstValue("WorkshopSlug"); _workshopId = _passwordHasher.SlugDecrypt(workshopHash); @@ -52,25 +55,37 @@ namespace ServiceHost.Areas.Client.Pages.Company.WorkFlow return Page(); } - public async Task OnGetCountRollCall() + public async Task OnGetCountWorkFlowLayout(long accountId) + { + var currentAccountId = _authHelper.CurrentAccountId(); + int countWorkFlowResult = await _workFlowApplication.GetCountAllWorkFlows(_workshopId, currentAccountId); + + return new JsonResult(new + { + success = true, + countWorkFlow = countWorkFlowResult, + }); + } + + public async Task OnGetCountRollCall() { - var allWorkFlowCount = await _workFlowApplication.GetAllWorkFlowCount(_workshopId); + var allWorkFlowCount = await _workFlowApplication.GetAllRollCallCount(_workshopId); return new JsonResult(new { success = true, countWorkFlow = allWorkFlowCount, }); } - - - public async Task OnGetCountWorkFlowLayout() + + public async Task OnGetCountEmployeeDocuments() { - int countWorkFlowResult = await _workFlowApplication.GetCountAllWorkFlows(_workshopId); + var currentAccountId = _authHelper.CurrentAccountId(); + var allWorkFlowCount = await _workFlowApplication.GetAllEmployeeDocuments(_workshopId, currentAccountId); - return new JsonResult(new + return new JsonResult(new { success = true, - countWorkFlow = countWorkFlowResult, + countWorkFlow = allWorkFlowCount, }); } } diff --git a/ServiceHost/Areas/Client/Pages/Shared/_ClientLayout.cshtml b/ServiceHost/Areas/Client/Pages/Shared/_ClientLayout.cshtml index 48210f47..9fc3faae 100644 --- a/ServiceHost/Areas/Client/Pages/Shared/_ClientLayout.cshtml +++ b/ServiceHost/Areas/Client/Pages/Shared/_ClientLayout.cshtml @@ -358,6 +358,8 @@ $(document).ready(function () { _RefreshCountMenu(); + _RefreshCountRollCallMenu(); + _RefreshCountEmployeeDocumentsMenu(); $('input[type="text"], input[type="number"], textarea').each(function () { $(this).on('input', function () { var enteredValue = $(this).val(); @@ -388,17 +390,16 @@ success: function (response) { if (response.success) { if (response.countWorkFlow === 0) { - $('#_countWorkFlowMenu, #_countRollCallMenuSubmenu').hide(); - $('#spinnerWorkFlow, #spinnerRollCall').hide(); + $('#_countWorkFlowMenu').hide(); + $('#spinnerWorkFlow').hide(); $('#_countWorkFlowMenuMobile').hide(); $('#spinnerWorkFlowMobile').hide(); } else { - $('#_countWorkFlowMenu, #_countRollCallMenuSubmenu').css('display', 'flex'); - $('#spinnerWorkFlow, #spinnerRollCall').hide(); + $('#_countWorkFlowMenu').css('display', 'flex'); + $('#spinnerWorkFlow').hide(); $('#_countWorkFlowMenuMobile').show(); // $('#spinnerWorkFlowMobile').hide(); $('#_countWorkFlowMenu').text(response.countWorkFlow); - $('#_countRollCallMenuSubmenu').text(response.countWorkFlow); $('#_countWorkFlowMenuMobile').text(response.countWorkFlow); } } @@ -409,7 +410,53 @@ }); } + function _RefreshCountRollCallMenu() { + $.ajax({ + async: true, + dataType: 'json', + url: '/Client/Company/WorkFlow?handler=CountRollCall', + headers: { "RequestVerificationToken": antiForgeryTokenLayout }, + type: 'GET', + success: function (response) { + console.log(response); + if (response.success) { + $('#spinnerRollCall').hide(); + if (response.countWorkFlow === 0) { + $('#_countRollCallMenuSubmenu').hide(); + } else { + $('#_countRollCallMenuSubmenu').css('display', 'flex').text(response.countWorkFlow); + } + } + }, + error: function (xhr, status, error) { + console.error(xhr.responseText); + } + }); + } + function _RefreshCountEmployeeDocumentsMenu() { + $.ajax({ + async: true, + dataType: 'json', + url: '/Client/Company/WorkFlow?handler=CountEmployeeDocuments', + headers: { "RequestVerificationToken": antiForgeryTokenLayout }, + type: 'GET', + success: function (response) { + console.log(response); + if (response.success) { + $('#spinnerEmployeeDocuments').hide(); + if (response.countWorkFlow === 0) { + $('#_countEmployeeDocumentsMenuSubmenu').hide(); + } else { + $('#_countEmployeeDocumentsMenuSubmenu').css('display', 'flex').text(response.countWorkFlow); + } + } + }, + error: function (xhr, status, error) { + console.error(xhr.responseText); + } + }); + } // Override the global fetch function to handle errors // const originalErrorHandler = $.ajaxSetup().error; diff --git a/ServiceHost/Areas/Client/Pages/Shared/_Menu.cshtml b/ServiceHost/Areas/Client/Pages/Shared/_Menu.cshtml index bb014ee4..02e9cf80 100644 --- a/ServiceHost/Areas/Client/Pages/Shared/_Menu.cshtml +++ b/ServiceHost/Areas/Client/Pages/Shared/_Menu.cshtml @@ -229,11 +229,24 @@
    Loading...
    - +
    - @*
  • قرارداد و فیش حقوقی
  • + +
  • + + بارگزاری مدارک پرسنل + +
    +
    + Loading... +
    + +
    +
    +
  • + @*
  • قرارداد و فیش حقوقی
  • بیمه
  • *@ diff --git a/ServiceHost/Storage/EmployeeDocuments/Rejected/170/42821/EmployeePicture-1404-2-15-652859999124-thumbnail.jpg b/ServiceHost/Storage/EmployeeDocuments/Rejected/170/42821/EmployeePicture-1404-2-15-652859999124-thumbnail.jpg new file mode 100644 index 0000000000000000000000000000000000000000..fca0edf8d006915876814a28dc14cf3c10c5c58c GIT binary patch literal 5278 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 D(i$vB literal 0 HcmV?d00001 diff --git a/ServiceHost/Storage/EmployeeDocuments/Rejected/170/42821/EmployeePicture-1404-2-15-652859999124.jpg b/ServiceHost/Storage/EmployeeDocuments/Rejected/170/42821/EmployeePicture-1404-2-15-652859999124.jpg new file mode 100644 index 0000000000000000000000000000000000000000..7a6766d169e50075fc76714ebb24a682a27703d4 GIT binary patch literal 396577 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

    cL6n)z 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�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 literal 0 HcmV?d00001 diff --git a/ServiceHost/Storage/EmployeeDocuments/temp/170/42821/EmployeePicture-1404-2-15-653376702858-thumbnail.jpg b/ServiceHost/Storage/EmployeeDocuments/temp/170/42821/EmployeePicture-1404-2-15-653376702858-thumbnail.jpg new file mode 100644 index 0000000000000000000000000000000000000000..fca0edf8d006915876814a28dc14cf3c10c5c58c GIT binary patch literal 5278 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 D(i$vB literal 0 HcmV?d00001 diff --git a/ServiceHost/Storage/EmployeeDocuments/temp/170/42821/EmployeePicture-1404-2-15-653376702858.jpg b/ServiceHost/Storage/EmployeeDocuments/temp/170/42821/EmployeePicture-1404-2-15-653376702858.jpg new file mode 100644 index 0000000000000000000000000000000000000000..7a6766d169e50075fc76714ebb24a682a27703d4 GIT binary patch literal 396577 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

    cL6n)z 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�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 literal 0 HcmV?d00001 diff --git a/ServiceHost/Storage/EmployeeDocuments/temp/572/43228/EmployeePicture-1404-2-15-650997942264-thumbnail.jpg b/ServiceHost/Storage/EmployeeDocuments/temp/572/43228/EmployeePicture-1404-2-15-650997942264-thumbnail.jpg new file mode 100644 index 0000000000000000000000000000000000000000..fca0edf8d006915876814a28dc14cf3c10c5c58c GIT binary patch literal 5278 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 D(i$vB literal 0 HcmV?d00001 diff --git a/ServiceHost/Storage/EmployeeDocuments/temp/572/43228/EmployeePicture-1404-2-15-650997942264.jpg b/ServiceHost/Storage/EmployeeDocuments/temp/572/43228/EmployeePicture-1404-2-15-650997942264.jpg new file mode 100644 index 0000000000000000000000000000000000000000..7a6766d169e50075fc76714ebb24a682a27703d4 GIT binary patch literal 396577 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

    cL6n)z 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�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 literal 0 HcmV?d00001 diff --git a/ServiceHost/Storage/EmployeeDocuments/temp/572/43228/NationalCardFront-1404-2-15-651445927927-thumbnail.jpg b/ServiceHost/Storage/EmployeeDocuments/temp/572/43228/NationalCardFront-1404-2-15-651445927927-thumbnail.jpg new file mode 100644 index 0000000000000000000000000000000000000000..fca0edf8d006915876814a28dc14cf3c10c5c58c GIT binary patch literal 5278 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 D(i$vB literal 0 HcmV?d00001 diff --git a/ServiceHost/Storage/EmployeeDocuments/temp/572/43228/NationalCardFront-1404-2-15-651445927927.jpg b/ServiceHost/Storage/EmployeeDocuments/temp/572/43228/NationalCardFront-1404-2-15-651445927927.jpg new file mode 100644 index 0000000000000000000000000000000000000000..7a6766d169e50075fc76714ebb24a682a27703d4 GIT binary patch literal 396577 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

    cL6n)z zPHnbQ+8Q&^69#Z5kMbNQ19g#0wya)-p|$Ni*=0WQph8lfqZ?+o9v4Xv1*A#kLB?c( zhC`{7u_BaGWb=Ge8(;$8QFH9@1#0W=B37_Dqi36(^-8$I2Us>E*B)!j#g9g9qm%79 zCl~j$T0WJiegPleCYs3CRNf`GTC0|$jRb%N%<$VX!Em*g&UB=jb5WraTxPP5007S{ zyDagV&>c{eNv`kqe?v)O)Jo=Q0`HG@7&lQa>~)SI=uxg(#VEryie*D3D+`5bsvo6M zQXv{QvOyWWy^byzAPilYY<`oa)0gvcQQ6_iUl_ zm9(&(K6z{(pW$ED5=48s)w3-G9obRSfe|b39d$ed;eweTUNML#@ZFxC#VcOif7&@N z(nIZ#arZ(o`oU+bxOXoYdn`cBFYV)ZI7?r==xnv`q49ywrR}6P<V4v55qH*>lnxsMUhjQMM`@OFND;RdNB}f)VBNlPC)8}V+tTopOPZ|-eG_{R)b6K^ zU)8c9W1%bi9VG-&!-whJOZ*iSb*ed2&`?=DeNMNs2b60qa*2DU^@B{MPq*>)_46nuGHQ#XKVR>-EU zp=^BXBX+DHJEn)W_Af!6t8HM~aTOf+o7szT*o%vq#Miwbo z>UHiR5u8_pk|0iDO)J`KGqhGDn)xa*3LYMg!P|yVOt$&*c0n{~lKm=1@f_~`{tF7F zO{#L1a}paa@&9YbMLu;`x4Uipb-}FBm2#dpjsL}U;#2777T@L6#%vH?-?0Rr9Uv+& zpv4ZHU$YKjQOEb;nH{jH3@KZY6eg!hFE-S$k>Uf@3!Y*=rI{{^3dmcVGkbk?$RQ=_ zBEA;K-*Juu*Y1Flr}# ze4ClF&VK)2o9j#e39|qHc>F*5%J-BHWmAf;*8j-i{|Uxe##nQOOI}_JcOQEa3uCl!j?zOWI<(9dm%A z+RwOCPhlYsRh;4Dj$qZ+WRKLfEEOiB_lE0zPz z*l#!O2Bfh*qIo1Yx_ig+5wNCdR$3Bgt&;B*-fud~KL>LRshG`|tfIyC`lgSv@dZId zI>Uy9HdAaMC+*Pjq!htmRt8+&t*N|);)fVbY_}r-Cz!7D1 z?muTyh$ZS_dja)E+m6K7aw<`41AwqT+bylvMr~CQ+He{Aqn1eGk2jwbFPS{`FY%t~cphn-GH1E8nUp zwI)A05M;T#VgP3sC1MyVDl}D}r|q%U5yMqiR)F^#| zPoG8gfogt0onB?Ic&sNQzTx)(mOK%x2q z2fVQz1R>Ju%gZfS1S^yb&rYx%`rL#!7c(|6dL1IXg+Di49Or*jD5pnodySdVo2w9d zbif1YKGX8*x!<~`MO90dVw)NWkqjm)$2OQauzCvR5B( z*oh)y`kEifS>$H0ARhK@xRzW{ajpw=(!9AzsrWYeuBU}^DAtPv>YANUxaA^7S9yW8 z2nC+pemw)>IJu!+=%^7f>Qx*Hac{JJ05p{k21`if!wODnO~W|?=G#bhxa7@kSlkkJ zn-cQ&eNw(bYt`&g4Pn0n$@yedm8gIk8s7Zs6@@;u)^#`1@N9`5UA$Y3+e4j^nj1!el)LFwsg1(y$R2d=H{Xn-2^%C>R)?&#@ss+&ON1&^`T0jTUO`Wf57o0GK| zF`9*929);**HrpEcAIeT4Lb!TX*hlpuxA$fBLKGR)rGdE$arfm>kO6U;uvL`vJ|5V zNX-ichsKI$3!#+eJY$NCzjGGv5LFBif^dp!M!E?1i*+cAYw&Q@kuI8HE4pmkmPVZ0 zs0DfXv_#G74<|M926LF@b~NBlGD6M>g+5^Bz@c!ZU{#EvD)v zCEet|q*)E!+8?Sdgc1u+^|$yjou#Ah$;O8!&Pq|nNwM6o>6MI%^>izeKs^bc7aCQrF*(P}Ll0Bm_GK3LcF z)p!f_$?#L>%q_@fCJA-F{cF%)9ptQJNCcEzyJE!lkd&jaDc@Zn_r5A>1z)vMPfwtr zfn?Hb%iY9MlJ27AC zz&%Rz`791rsbS(f8LCn69y=Ph(oL2aabcU~l$P(OaOHbL!e?H|+Mu3=E|}e&Vh=zS z_axCpEvwCVrxcp|?6NAt=c}p*IEsgwJkrj-oK*Fh$Z}R9&*2-g861kac+X|jEG!NHi$)48fi9chhp#T~qJw&6p~bhK}-V zY*iQ<1ii_yOm;1ymD`5NZHw#>_Ze324hsFKkFe+!)7-WGg&0ZF9!!)#Mc62+_!<8? zQ{T>V%Ci_&UB`vIrJKbA!G>49mAbW{NqR*uJu!M-)()UqpI;iCk*^ffQePcYqw>D_ zu)%jBYWcwP`)?NKK&#HuQ~pm|=sSjbF~6kzMY@}O0IgUaXlCfq(RCI2gt2d4fC1oZ zIav+fsyuF?K;Q(w4aWz-;7`vTG0*d8577L;9gIzKeEUZ5UHkG7%d&lp@1wN1h}q3& z@C;M}P@xcrF>t)b{w6++S?-y0&#KPbNxBPx?$R;V0S?g43P2w8#PYbPU7dayL16}!`itOtCY{!LiQ?L0r4viyF zR!b#A3%C$~85F_L8dI2M`s(^xzKANpkYCdW-HvsYNDZs87ALpZ1+N2O!ROwFZ{zQG z%K_})xbpK+UL8 zkA#h7G#F2Z^ZZCKbB2ntO|W`VvZ55#k4;v{uZeHeoIBd#Y1PjoJhPv1oD*y_s%s@V zo5AkRZ}C1^fms71sb-L|pm9K8sL7=a;ytP1nXaX)-1vJ%Pcg0E)4H5p=i1N^yHSd;l5;XB3Wq>W_b7{&k38hD)WYJ~uL6JleT&jtcVpIRw zZCAjI!Nqh|dcriZa>o>?i2*?Zkp%yAcq-dG6th+SL;J4esgrzNBW>UE*e5yW0;OJBflJ)WL~#Pr{ozO?J{b zxrH!8m;u{>$$2Bm%6oE!W)9g@H55DuFDbhd&N5J3?`%@_w%vO+8my>vEs#on$u>Wp z(v6HB*+drt)z-DVco>M7TN-aDdgcr1Rid6pw#zAwsSC~|05(%Wj>DRTkL(@f{myGb zKZSgm<;0mSy}y)(NyMZyKfoJtN6hI7w~ZW~0SqjrgzazMyP@D@;+<{)=gp_)rNE`L z;{j;la>~Z30*6kKy{ZLUnEHJyAk0U2Y^qUg%x57Y0b+Rgy6SRcnz8VRlN5h~`q9jx z0FZ|Pg{bl#|bcaPW6amtw;SsG;cgfF)v{$te)=vbXj}5k>MCK zV#3cqGV4<4H9Nx<(J00VUFK2roZz}qfPd!0OEt=TcP=!1?Yp474L>UyjPD!GbCWvU zeOnbHRm-?P<$Ze68a}5ZQgC+hGGMCsd(SVJ190!67v~2$figyICvT~dnvIH_PpT^o zN97TvC^pVJ)?wWFDg+b#S84V>dsiN!+HS90Ijgn&yRTtuS`|W74iok1CQt=eUNb;i z7~{SCI$}VTjY5$(4Sk8NjS?yVKY?JEG@{S;WZl$5W{E$9ILT+!fLjXTd5H3SY%kt1 zo_ObZTu1F>Ur4OAk?*}@<8=p~(^16OEkI6iMc(-}!s8}~q?H*Q*NZRKp3BV27m@}a zII6ict7Cvj@|{nh*FvhkC~_(#JZchLQ#pr2;_LVE8sU+?WuQbw17+SWoZ+Mb05?DKQvvA>|+!+DXJ@xVF$UG{kojkSDH$1cdn+P*j$Wp5b&#Fr<>k0gz;P zC~&aWQ-dqKV44^G>f6~Cz#bRa14Md1+n^W`sZmdE!hqnT!(<<=L4`f&Wtz%@X==?n z9g$Lmv>K#x*aG;37hdn_272>>a%VDS#F_H_F0OXkFkuHwCq5K>OX}$0nNeV&19XAX zk0^h1`b|vz;!F7)rY5on=KL>xAsKdla0F~Kz<`1iR6_1r{Yl6kto`iaQB~1Q(Sy2V zpSeJVrvHu%5n#z8i)f1AX&&2Q68P>@v<~4K^NJjF{Yr}QlWYZ|qPNwJ3)@$&+=cP= ze~O+MXWh{hm$$#axc9}fF-wKu9j4V1Cite@i+6M+A$j$g>5+pE&O$g!>`1d3voyfo zvjc8huW(FPGhA1xq|rymPP4rPqTV$tlG+$6%k@NjaY_w1EQ7p)nbNsp-Too0$}eU+B=C<>uu#1JQOl0;Sjb0-|0;(R?v zKUE4R)TE2=LdsJxZn{}(d1%y5`Js8d)YPSw`uAlcJeFxM3iz^Mc?xDyrXgPnnLG#I zb^jnf&S9)1$ySNpp6aMgu=i9wt$M^NikWGmxWZX&1=~acRUTB=hyti1k8)7>0q z4$o`V21I-8GgePhYmHdLP*obx*NaQec8>J?sj;LU!H+94U5LjJzg}%6??$O?$=@PJ zpEl}0WTe?Y{f=@L9v|*V(cs#@<#ge0apf*OhZ|t_x5oDwO#a&MZbb?elq{DB2XPU%O%HiiLz(TYc0rca=4X+5nQ_x+tE%*>nZ zno(oxzE@=jE_ZUrH?>ceCi)-PQf&d=eR&r@4R7EjE`;TMpwpC?ONzcdR5ibp58Cpn zkTP=(1^;+ef}bfQI>4pEp7yy4r5aWVYCsXSp@I9{TM9D70?bBa@KuM$yaPX>l6!8U zdCsiu@){-w&Sh2eZ#RWP02?bTPbH4Df7C80e&W+h@t^7t3cicy%{QDUcsqQR+%aE> zgs=<+aV(=_ohtLInsql{j6fCBW~ot1BJ5TN&Pl5?Zt%oC$NlPx7G)~g596TOucp;k zdC%q~lQZE1M~4;}S&9UB&XWdtOFAh$?S@T@O7=Jw<7&(q-Y*L)(KmV|INhu*c9g)Q+kE%~hoY zpU89AZ;hClZ2iU+TkS^lW98(kJ=U}5Lc4%}JVF?A%C^%sgFLkyxK6}<1HdX#x<1_- zKWfF^x_;pr?aalm{+gXfUO_k$SqHI74&fyM7a6EF&4~??Q{Rdk&s-TR3c?@O`DHe& zSyA5otm<6yyp&@wY34+r)j%=j=HcA$=eaU&j$_kKGRc>mz<=M7I+j1NX}-E-)%1F0 zRv3_Gi1sWuooaB-tNLD5L9Jc3^IxUN=l>nE_-}fm*njrD|1U7*pSZ+7Z>3zHQli!W zD^L^JEdyt|`Q*v4_**|Pq8NXB@sc8Aw?&8{hZdOKiJVLD5;jdzxCR;yOgoM+~ z6&&&h9rFa2(@orF(~@#Pz!bAXt~?X)6N;G2i;}wmi7*eAqR7A z6C<0$npAWZ3et8R-_~Lc+xteTeiU~Vg>J)eZ}CXcwugf&r{VV(Pa0(Y6v<#NK0a(_ zUtGeR((@?MT>dYFrE!msI21?ikW7)h27@{$7>)m1=fu#`rKgmGp>irkTPm37=opz8 zE{oCXiQb_!tjW)7m0e)T@b1L+o2D5>GiCa15A_k~bfR$bk!Cv+AMo9~=S^t~9f^Z1 zOj{awE7RX;e~MdFTRx+pjZ`0mGGiiwK?VljMSf2C+zO5YU->M9IzO8n@BV}s@WmN0s&!zKCT3V}$U!n&jX>GeD zZ~bul5o}Kere6nS=qKzx#YjU*8|vI&N^!(QR#R zVVHUtJJmch%V)IKaMPdU5wA3;*?0hb9Hn)2Pis?;Ran`^GosTJ5@Lo8 zyS5OU)Q)GaGoF*F(RX#V_3V<;U*&VZ`8x*9<@yu4$1UV_ZbYQTj(ktfZcEqq;*neH zibA}RPBC$wP$Rp8X1Pd!0AJPz@|46~+ zvm-aU$LafCUHJ14LSMW9d59ou;9iXqwv^MW(7zzEV;j~`tP5X^JvT6}4Tu6@UKjH~ zC`t?S`gO;S6rG6BIciUuM+>Tw?w@;+s@Q!EJNM@`zj2G0GM_NX54mWrp=S4B6OM&P zLEz*7llhU!2(LV*i|%wY_XbumEt{Ai0A zAOsEN>+$3yU^dMM^}n5AAOE?uuhg=m3$^fv=di@PV7~f2e&OjTP2);r?9n#8hD^hL zfy{6*CdXihcu1Q?FHte`Yxsx3%~xD8dIfv+g(JPe2R1#ajIzMuSavoGCyAKm zx%D;*c_aohIp@k0&TE9!?Q(m8zpORjs-0oYo*sjD=y+!K;PsWouUfw_!{=RX|A@;^ zz6yXtbWw4Jt<{4Br?)|zL{G;Rq@!)Vpweoz8~Ed|W5@=7j!5w@s3MBP5?S?U!HRRt z`{ARzyOxT20{bq;Z;~rtbMc+Z!Sa0lSSSMXwc_;K`LWPL(}kX0Y1iRG!xM7uL?L_? zmX!VMzGY~V-ek?m@a3%@$k7ki3Uq9YX84SQ{(d;P`p&p6fzNP(su(J86zwb_)0|yf z@<jkz@^$#-EAo0WhFPB87cS5 zR?H388hO2Vtt@3Og(3^4=?qHp{!Cm2=fbPGKBizZs!)K?cbV={13Jf`K7|@ofc&0V zvUk|~=}%HfRS)3JEyd)*a*#lWU$ySH-&<^(&-o0A&PTd7Wo^KI1;awu7TI468AH1S zi%r0u$(zEN>~*~dGUTdrPJo}wl3I|t9VL?Mo@w?DCz=7HQTVM$O5v?8?#L5v;M}#m z7P#b!w+~v#-#p&d`$&G8(S~}G1MRMx&c3;Ayc(qa?T-bVi&=BmW_G2GnB!@N8=4b(6BTw=9B;`;SYj7f2^qMZ%iWy9QH)! zVk=q~5Kb-tXAhbr`>f$>^aoZ$G)};U3=f~c$rMlr8B28Qs15YqDI4f&mBpr4+T;wTIn!XIh!#sUADyE&(g6!KMXx!kgQ)cQvdx>2$7Fo&wR<2(qtW;=k zH~>m|Qf|cUg%4?CCu=0nW`tIS$T{fWFUagf7_qC}wEIEQf~todIMt;BD2VKgFl2p0 z*A!(|;8I-#+p}HRHgLUA!II>--|#9J33b`d-Akh}DPO9h2E7V{FB(~4NIr>5YO^Km zt|QWV-g%kH>SObZ4mdNe{au?~E*Br=;`cnW5y8ky$khmfQXArHr4SG@7n{z-6MjRGx}}k)c(BY)JgXXP@5J ziFR%54V)KvpLE!ZL@D79AJg{C@UF#PsAhrwT~bS;>IOPEpgm*P(z&y+FiUd=$Xx)5 z9CpTcB&LS(#(?? zRzwY7BNw6`HSJpZ8jAy}i^Z_but#F_*0UZjpd=zrwQ4|QeJb%%^x6aE{TYd>5z74w z6WtawT?rjg3i!m^`QCwLz`pprlWBrMIxTyP>sy+;+qR3FgO_WvA5r?N*^gUGL?sj) zAYoHwpBHg~FvouGn7%_&XBfusp2~Wxax)LZ-N&C9>yvS7eaVjn0KOZAz^_Rrc8wDx z1=g3`0eHmwNSWf#+fQy9x_Df?j18dJaE*{C|zFhO;b7Sd0QLfrG-%zdN|RZN=f-+9yQ+{}ltF`==Il3=sOjPxvmnSxpE(BDW((!Ex0Q8<$@iF?j%x?>^Hee zp5#;Np@J!Z&<0PC@#m1N{(BR3xgsT<=sSb8bXcsvLL0_3t3#*DHZW>w24^|+!|dS? zsZ=RdpIVFB+d2lYchtP4&Bt*PdmY0QLsC+pE=xL`QnT*OTynhcw0%4F$0PW{M9JO{ zgqF@RSJO8*y{1o}Z>{(MfTezEnyfNTDqSXco3J2f?Z+haDLUYkjwF~+Yz}#?BFQHY zAnDU}1=1*&<|@~6$u?MTnfs5#k18Cvdrg^d_UojoM4?vz=Y>NQ{A17nUfs&FEhz=| zB7bBIxL6vBf5NF45j3Xfr4ZR?`{R~F>=tdc;`26K_%*j=J?vo{3c(L{+cT{0@Xp+O zk)yKK@-@it`#7J{p4Fcq$Cc&c@Hwk>g6&KZPr;l_`;&4*YrH|Xw7G(*m!wJ!m#`7- z7YPWJ7|7}g?Uk9|t#C=0cDckqGed^l{}n#@FMQ(vVKIu87t@qx2%u3^F#Xc_V%qk>~Hj?N#psgR#cibQ8{>8I~ zmMn)pCB-H0o9P7h2HR%9?0(?`=p55huK$|#Ii>R)g3|;|O9q#F?7~RDW(+%|h+#}` z8--NPo2}atgvOq5#m9$4s~z6VH%kYoGPXA)yj6C7triARhzFgV)z)xlT}lBQ7Y#)5 ziL;xe4S|W)LWh3J1eT9Ayhn(}sc3$wW__5s?N&XoAG2dG%~5V{E5|F|)U1F63KW%8 z(oH@2%${R4-N$OKw9X-A7w}uZW$Gs?Sh#()miz}|#3|RQb57F3ot*tZT}d9$94fv( zA@l54OXuHeKlRrmU4ocX?c|&9&J5#DzN>%_8BqcGv{A*rtlRY zH{_gtvEagzr_y~zOhI}o`hXX~4JNU>&#Scop81E}p4Zigp=g9`=PZqoWu_b11gfZm z3&q9U$Qu}ei>CYO9K-#w)zH+HA>Yxqt zbsD1nRJ~<$46QOwHZfX8t_#P#80T1fd;5@B*|54~zte!vxfFDl#|tHb_~U6FG`9Y8 zR*}!aPbAMPPbM#yT=Dk7NlIpbwY6wGt1>S_(7J>D2Ms-rV;{zI(~;aL`a0lU2Z)J1 zx$0y13d$mDdoBO&@VP8+*#q~}`lFAmjIK@IEv~!J5pKihzx(TcYVD{y z5Ykrzadw!g^PH`ed~H(aA3D?L4&`Y1yF=BDHTQp5E-nuq#XcX?6WmE;pPxKZgXq6o zyISTM&)?RFeazu}v>N$7B;!NfC(qx+E!~WXS(7MDt0N20{52qJMZ!GQm*4}(jp5XB zJoDWH`=QK)g}EafFF+6XQAutL-Za+L2(d|~ai_pHrI3fDrJK`$fyV6Zd>+*HY|;`v z_X&V4TMkw&A!ld$_0`Z&#oN6;cT#1n>#?Js$6CEYtrF17G)bT245TH3lun$K#P-2m zsJ*pj3$Xx4^8(?EK-Q1sp34h{B;kEHXPv8M=Znc`8(SRCy*+~ov#rrWA%KG_YVxSA zjUniH=>d|D+ZX}*X5k{wR?jZf@(fh4-JsQDp>4^;e#Bb`+gG-XZU7pdAD|$n;_}FBs0IixH?l(TE37H%s--Z!;j3aKXw^2Qk zGlU|7s|C|C;>1Ta_LnBz)RUl63t7eTL8x?f-!+`1s6d{yUPOd^nMiq_`2@`ayWZc$ zYbEV3J!z=*0Oy9Zxcxpa+S+k?4uP6xqrpA<7Vm^$`mC&uI!Lsc^IQF8f|pr`zBX**zQ9_H+s9FdVB`oF2gbWA*!8i0}hr z?5E|aSjW&!pNg=`;{{Y&ipRORgvy6Sh|<0eQ4Z>NB`wS=1g@8&`1|3piOE9&IZ7Fd z4~CN)!nU&eo|Wacs$5THs8#gR02A1TZjlKh0@?k%;WIT={)$JkGw4w4e3e*R^Rf*W1=xzcn}2bhI&AOR-{6b)Cy0~ z9peD+J8W+a{oy8oBtmG}7jW$D5tB_n-XIG-#SIbY(V#yJA%ll`fVlO&@6Y3!rKSM_ zi_Z#X5;=MGOxiAIaOtV?Q=x6{x#AR6_Y5aIUc&FW^UF&pp>N|Hy+i&;DDZ{V08k%U zttBI(@hTrG7L7Mkn|@8)2)F$gRRmtye^i`m@7ThV^xaH|lSK=LqTqCtRr3Vbs` z1RY^)e-O-CfAl&J*vB?mywWHZ3ri0K7Intd@&OyVo$)WiZjB=BntX$l12BC(!?i)E zUFi}ErGW^CjDEV@Sth8IYz_g+VJm4m!ChUdf+LipjIK#%4`xwz8pk^mwOFcrLWGu>1K#T zYz68mXt}xK?sds35dGNiXFtoH^Ec+xkaBp?MJn~rYIG<|HcVCrxeNWMGlK}lo3+=c zR_jq1qQN1b<%_~+eLY;Orz895ssJz(r56^UuB*!of5b)F^ldQhX@ZIQBD$R!aLfcr z>b_(EsWB^8mIx0V3EWx!^E#*vRS{4vNlZT3&X0Wh!gY+`E(B@x(nz|^U#=0XXyy&& z2?9&u1^E;p6(&628 z=0@u`$}OWRg`6^s+S;kgzPL7>@(N213@#o+`F4jKy-=0Ye`?G+cI|rlb-dtnj8>|t zCx9J3rtirm2u5WagO;s3TBetw0A`&DE@{@O6ox|~!z)U^5V z#?InlVgyTb8vxpmxgYL$*+FM>fd2y^Vs$)zzaFhnE!{z``)xF}nJkN~$P3dp9@d|n zKcBO;38qgue>J$t$Lw*@8TZVkZx{7p@^toG9TZ$e|JveFjee( zcynp3(E}b%DMYE)W`)Mf*8Q*({D{c0yc2&W2!=$I-{`P_R(rh( z+#98|-5L1<_f=;xc{a8xeU1*Zed8hHr0Wp70t&&>BN2S1fma+RJ6jM((3Wi^SnzH3 z`>a?(#>C$z%@4rSvfU`<3VtRdX6Uwc_O9(2m$({5I&kH4NP{7*0=P0I_?lH_FOsMi z{6o)l5}-KpLOsB|&mc&pP|h^ka%xX~AzxJ>tdEQYGGEB-oyUwVGRx{v<*Is>~Aqm?`#xl`0zubU1urC zrvH5ij*@4;SRzH2zZZ-G>R1fJ<4dmRaYIW?*K5N5{AycxC5WE2&))N1WmZux~s0j;Q+w(!HWK8<3zOeU;uKt9cOOO2U;Hl z2h%gF5(Da#p%2!Fl%2J%hp(5?`HSRbR*AWMw5h#dH0x zJXeEe>1Y)wxa@>&Ip14oJ-CNy)_in*p?j{+EcoHThHv;>w-JYjdOt$zSm(`5ncT>Y zf$HKivi&LjzVOax<3_lMq`WzB1~eWYP&Y=}eZGg%Si{6t1f0Zw;yIkuZ73+8UEU8hUA>7VQjZYOtHNUqby zUbV5N%UX!MJ}s5(4Dh|MJ&puSEI;y_(>6XCmsAQep1=}3>5_JenhVpSu3eo4C#<86 z5eJ_joBk$*W0BDJ4YfA$@2l5S(X*9wBdL*BW)y!u%DWN)zLpaEYk8wYcAyZrdv~$@ z{qLFxyHZB^XWGW)bYpzHe=xyH&qsm;kptHpIv;#n4`MFiIY`HTYACClm-zCKVfMu{ zX*ttuuTZ7FubrkLgCTy7uB{|b$Oh$Z-3eR2+d?dt+)C$TUr2uuwpolZ$g%%Atjk9Z z0;5+KPL<#1l>qyFHXg(0=JvyP3f5vv{Yukb+|kPHo|-A4%x@1V@qa3|S|j5Ys`iTV z!P2-Fl!$)}t9QvF{Dv4-c!-YeQeur`?!ueO_G4}`Zn4%g{UL|D?L;V2Jbq0T$KIzD z03|g#^^ZtK4D>{bUw|V4oilh+58kYH#&3J-o!+S*ji1|CXao9RRB)*$wv*DCI)t}j z+AkQre+nGyoKRk zgdyhNk5>nEw#&DZ>jxrRahvf2aLS_Yo75c*lF(<3XY=GH&%p^lE$&L`ULjIpQPZ3Y z2gh0y&XYd?ljfH0lgYn>C^W_Hj1?*&Iv&-Tht_@%Mf%8pdndM~c)+wxW=|^TjY4$2 zeHW*x(vP|{02^wqkyVMU=qI*u3Zf!>c5kmzZ13@|{n(u#1w(5E`yotV$=P?mjmOwv z5x;iaGBZGlaZ1`8D18nth>-=RTZ5jP=G#5_J%B@QZ^YW}DGt@ohv}lWPyR)9eK22# z1C%58P8<}6^caBcNPbDhVilLUJv9+^(w202o%}0v9|#B-nu&-p@Ef#E7)yb=-Z@3-g`Hw1DiI z9BU*@S3+z#jWQUbJ`I56lTW!>6wG2~!6)R5A&ml?FX*mIFd$NCy+^<}WO6fJ&l}W! zQV~!6VGnYZasEI@vU>A8`jm&_(T070ugpv?0%14SY6yat@2gOuVsR#cG;qfTB02zE z=_|uyYsA$z*p8>M;30wgB-jcd#J;LDyB`b=cQ6DDX9jPbcqBzBeV)lD(U{@=fulZ5 zU?6Mh6H$7VphLdg@AEtj8*sGVBfU1vjNlZQ^o?3@M>A9HTKfAk z2bpw{>lS1%eWOaTR{P|9q5eGb_5Q5fAcj+z-HzWU4UE2Eg}Q>fF3$rQ5aTfT4U^+n zyxHOwQJs1|&tm_5Ia1Dw^U(ZQm%&plF=OHN+^*Gr6_5uaugC9z^2&=fUp_jvRJS(D z60lH;Tdd(-nn_r!o;SXC9^DeJaZ)usKm@xixqb|->=sfsZu_{-m&MJcCxY7LTw*f) zm=Q8%rY|z$`g&kg6H2N8pIhKS^0P8*ju8p073zLQJbLdntBK4jI^_b|lCG%@6`EFE zHXjR5_SIAUJc%?G0GGMVZIq8rOvIE};z-#DNDPKiiH1p<@ZUtcrbyb>bx*l*RyV4p zDn@eE59-60ve+jJz26M)RPl-jK$H$GoBk@=(OQ`=M2P`^T3>?RSR+f*>q%`Qk(-o+q=m#%ga7oB8HzI&pzRg&WtMKq%HALeq4E`c(a_lMk%AZ zvNLt2uG_U)LC|Zk5?R&cng204e3IQVJ;=(BqRQxuJ%BN$cyDR?Y0qC1j{DX|#U3U|L?AjnM znR6DwoW7{h_83XO!cZK0oXW_B&Suj(Y6IyTnYR=hOX}+Sc|?CZE9eJ%We8HU)_v5` z+|{J_hf&RuLbqQt4(Svcxi@^|<9nif?;110{X`+%OVh(&GWkj$8K1A0tb>`zFnOvF zvSd5LHz5!7Zjy9mViW~}tMEsQQ=J)C-Rts4EQL66>jIqVeWj-qVagOAd~a0U7FEG0 zMP~d(YNW(@ay-+lXP$<4ASx9cACmr@#1LNW(0J&&j*G0}J1MVc+#}dthog4%?*>5M zj)CcGpjO#7Fp(f59&#~JkOwmute%8)zNgDIh|!R{jMyN&x#O@PC5gp*oaQQ^e8m?I-Z=9x0Sj$F$ilHV$F_aR6ULc|dM57|O=^GC z+=MQ@gk^!Y>qNFOi66C`ra3+}o>q73RSh6y>F-1q_EAvKi2-Y#Z-rzjr2w;VaArz{ ztz1*Xu!0FAa`YO5X*!XxE1ZqBG7gSLh{A#N@*c z==*4)#_ub;VYhDVT@1|iSRZaB*jTlt;aa=t+8gw`e{%EU>kwViE2jgYBdh4Q+!Gra zSK@^r^7@TlBhVGGcPWmcWl@d$Yds?$%);t?vJVIQYJM+W%*7$HpSmB?UZ=DsNN-br zLg6q1ck2hcA>Nw?K`v~m3+4Wc6^3VIeSmlW-2uG)^u)gJkt{IVz!-L$FM7%n`MZL`12N~l2ZlfIX})!cU^ri2U9MJp z?zQqZaU!q~I>R8`*lpoFW!FNVVm$Nk+jEF#{JXDTgBIEVS!Ekgwy}hQlJ7V_9vixARu?@%A>_z!eBBGZjM*YTVawcB%ArHm{22|#smU~Q z79;mY`o$ZoN_d_HRQiDgmBZbXX`id74)(w+dT+d)h3g(+suUQn!>TV83FY~^Vm`}f zSSzn!$q#GvJe^Sa(QXzV+m>NPAoC_h%lU=!{@@tTqsV$OPQ{Jt<70@GAJYxqnb zQ%ffs*b_(;=y0<(jIE&^^|~Bumu@amYZz|3_qsz9-X&vWtA5iA?LKSPw_!VdG>=s} zhH|Iza~I-S^&MIz-rJaZfVzY4JR91|FsuP5i|?gPmFq1#5LiT3TWd#GGf|ianK$j{ ztmUg!>wkHH{E|%|F1)?elyk||@$il{dd~V-x`Jb{{a>A3XCixOR-3{GhvKLg&OYsl z`>fZ;)3qM4<`;=EwFG&jOXM$`Hrg*-xPT(50g4Nao=2ufJ6t#=@nSDs&9#b5@&~tl@`bRk4Vn{ zh~xb4UHO09MgP{7TItcy{1bquQp!%xj$!Jk%-vp0V!L$BptB_XcIF!Hw6f{&E?b|c z-Unx(+Hvn$v$!zrL51H724C5YPvb3`zd@)Qd#J^at1*}u3{EF?MBUdF|YM`0A&+=5y zxM>p4S75y*U*j~f#$Ao)RP-xJq$qVgAB(s5dB)DBSrGlMWO%gyZ=Z5=# zOU#YG%;L=zHSmM!4uA?IX_ftm#tc!hq@@KTwN80BvfvHfLmHbJKqVX!-P3P}p_Ds$ z37s~=F~}@2zu_QKuAszw*9!4wlzZZ~&EnQ0Y^oQa#Q&;mcaSZRn_V)p5tdez-R$SG zK!sBYyELYS*u#yJ$f%f7Fy1bp!` zwk9g4_le2$#sT3Lm)GXgl*d0?p0ZiE&@Zv3keb|C90&#Lpprv@6QlLSp#kCr>0lor zVRF!7Fb>y`51##y_h>dtxMP{%)G0+~Digqcnm-?{h^6jfEYlhu3zBzn;H<|S4XriV za~JbWBfE8IGq_5r`rqJF*c{<$SI37@K`3HAF7YO%TE_RAf`d42yPdfO8tJ`rEKg4d zn)VLa3w&Rw7c^MWII(>uBgy{?XQl;c%QN9QwulEMFHx!6X1hdw=&A@B398JS*L|FX ze9jE-p1V%b-03l_fq+vLZTjiRtPFJsp*C3COAGHjU=da+gg%B&i4Ia%_Y634|ua013TF zM*%?zO*#amw-Aby&_SiQ&=WdJ3(^GyrRj~|@;m3AbMGHn$(orAAuBU$@8|v6&$GY@ zv2k~2C&53ST0SLe_tXJM*tnQa6L@H^8i>6W5SP2DLlGn4a?cy}&BX^)F71WjK*bcB zXFl@m@%cWNF-d0ZvnW4g7}n#i;dmJTuo>W$TE5EZZN(pVOEQ9|+-!3>iw|OG4^Mn} z*F?g92db%Zq(85T11)Z9UQ6^7sF;0ZMy!9H49|t;^Xv_jKTVyT@(_4iq8e)w<7U3C zLKqe(uMvux`{M47s^@(Zn+V~pS;#}auNW*_$$g0Ac{CM6ivttBxJw=qYuoGHP1W_n&i z?;B60yK&J#-{T`Cca@BvSQ8OP_<^Jh9hkjcc66o!X!#eCuN{N zOdKz@Aj&1E_}RZlwur-7=9{G%;d(kUEUg5*k`>om^I_p_4Kg@Hpz?4ksJSFjT0~fr zuLlfXDVpztwlZd%WQYdFRXy1?6=92@mot5yTBqG(i5G72)HU5-!f1Fl6j|h^rG~E; zkFJ850%7PbPgFaD+orKymHFeVE72V5WX9^wHRz%PE@yzcV@ntZ2$P}$In%z|TURF0(L`}+;VUKH)E$UU{Nj6-iC{+fk4{aLT zmhcA|Lz7c+@@YNdQBz)`luS|+g3R06oz2WQN<}#*98qFRiPQx{ z0i<+nGEiGp`5XxD6}oH!Dzo;rM>VM_t(>f#B*lUYs)x>Cbkl3}be`Kzpcm&vhG{^~ zwNoO6O)HHSY^S9P-hjAZH-v9kEwUSF;Bi%l^V1_ZbA&O^p-H(&=x1=mmscxKY%= z8b?4r-NY1K`I*`xeaO*kmJc+(r3X5h!D4NO&N@eQvD@r zZS1(68DKEPU$8(6{fPl_yHhVky_1>ql0cnGoQOs$NU!dT6OBJ#1Ndy)6x)1{u1?60 z+B8&oChFFi5&QDSpn{fLl}TJj5neQo-9O=Tkmtf5GQs0J)c)#R%*yx4`d6Ct=dLIX zEi1gNf0^pY>whPkTO!i_fG6S)nId4*{q;%NoPy&eDfoVUpKIatw~(31a^oMexDeCt zQDT&D>=x#;+?C%|nZGxbzx6g8X(2f{NNH*8R#ect>XNZ-CgCs|uk6%5{wvDV_R9rg zqf*bH_8-7En>o*f3%(r<@;_wLHga3^?(gD{lO^T#qZr;yF$PVKLj@BS?*yJEFC)aa z0;-GK0QXXjx6Rw*?1DtX^D8Ddp;h_z{IzXzFUQB&3Ge7jno4}tI6G>+dh;gD>Kz_o z*auVXf0Q#z{6iWU)Z(I({Fz$htSYS5l*%iKYbC`|*voP4mQ|M^s<2AX*lF2o_e3K6 z_*<^6k(*7uW5zc+oD>NgVs=aFqna(aqEjxW_DKIR7%bFT#q*>5X;Sqfqh_nxLoR)7 zwxd|?hkm!{9w`{JE~9t!;ZbVBOOd=!#j+}mlI7#flO!71%Fn6L7#AI{*QbkyTJN#2 zufd)9>6;qjHN~++`Eo6NCg(m=!UDEda0=(6~(~B1g`^A zI*Z|xO8R?A*V)Qu?(-UOhd@Bj6mxhma#Qfy5 zt6tkJpU!kp*4~O7VSn=;G06N4hHi8(wmi@SZ)&s~BqpR`x5pe4%;MF*B1fCxDDztk zIFly(L|kB^FkWjezqZnKSWpEWN+hE)eG%Yf`ymwJgAjc{@m9+DUk!0QfHyZx` zi--RQ6@Q{jk`QnH4?+IquO56=e2?R>= zU9?p4Od#)G(ukBo8PKXegKxtLGi6LJ`kU_DW&It)kD~Oh1~2=c&)D$=uf%)9Tneu| zzIf0lyiko*18`WCw7Vs2wvoVeuQ63|5ux#}tIarnzg@O`5)00R zumB29I6Mzc{UJL0Qwk9F>%BWC%DXS@BPClNZ~iH0Mfug)Ok0z`g}4O$lPc?%5lX_? z*tRh`)-C@{8&K#Np!%1zeu(ynIFnh2XP@@z32odG;NX7Rtc>LjuhVW1#ka4-i7(n2 z6%kKo2hGtovW->$=x>a^x$c7nuVOyPTY}Z-xo#>o;oeQ2^Rb8$&SKmCK!jW z_mA@FnwG(s* ziL@slj*DE%V~x0W)W_XOMgj5flyMMVuOaYTqF{`r59U!%8r!z9D*I2&I|~Y1Fd*5Y zTLp>zuu>F7*T~ibsFK)(^63MS)%0iHx?+yoMw)>Jg^HUqIj-teJR|V>NjH0N$rY0| zl8U)x;o*<2vFrqK?~uSMjF=V&aRs|4nkBPK%E5S$dGGT8+G$*KxW%qdwgU6YkL0rA zR(j}->di9Zwq+~xWKS!a5P9TGAxPVBQ(f_)d7L*8ZP}kuslK?W&>2LED6AIHmuyze zqzxb&1#-x2lN|d9QfmyR4uq(sdM~CCcMhyImQU_=0Gq-z7k|Tif@IgDuI{{h zLkb+EXrO|xEb_~cObtP4rGwY3HPHpHAK`#zVoY94tgB%f54&|d`zkFXO#@MtuV^W9 zi4VB~DzZUzA)Yg1L-B(35;Uo{MN}Qf6mMZmAzP-`Ow{T|{EHb}Sx1~6W_gw{6O)G* z1Y*5=Bw>AZKlb&Mu$EFw68bb^;Bl>Fv9IiLSqhU-!!Se19)!5VKx*9={|2JNIB$!6-lwjE17&<#U@GagIWCRiH~4;Lna;LHCkoy z1*~6b1a;ISv<|bUXz#9I0*1e6t0z1CEPXasU%jb+`{o+{A#pBnCCMW1V-L7MRd|Sh zt_pTqjNBv=d7zd-y}4dFkg(l4uXVAXw>a{Q5AgAXMOK<|vS1U=(WE za7XOH_k`jnyvK?H3b^*IoBZ22&ir9PT-vrCtX%sPo|#<;7ZC=U@Gjf*t9gmyC1}gmlp?D>COs!)P9_FNC`cw!wj;PARN24%Q;HmR zvR1zv56DN6n!KBC9~aB%a3OJF=k?2_X}eapEUNavc~0N;uCp*eS>x;sNDzI0odeYu zgjd%K!JErMZB%#(sd(thw3|P%R-{5Vzp1KxWvY%7S$%SCOUH@$d#n#is&pi zKTj*JZh1&4iF~**0&Q6t=Cie4(UMUx1@z2wBee1tM*~Nvu24OxdOc#!o6+K)fma;L z$pnTHxkf;yQgN-k#Xf4;wE(w!<+3v?l>=;QYo;#@RZw3P$Xj|4H0L2ZW~|x#%Lh`=y@+$ycSu9Si!ufkoHf%AL;BY*5gs=KLWp;4$~`k zo3QBBu?M2xkEAar#FZww*S9_XI0>BapYPG(RiFGMzVM?bfIE_=b(u@cA!??D{AUOv z2u$!5Wke9htRCB@J-*s2wh3bJF8HNf_QfVx<@Kz}x%5N65X1@j@@--FudQMa&N{Ei zDs^`7{JQlWJl}cJ5E$FfzTzS!HrXCB|1}e=D8d?kB}~^-4&(oa%pcJA(z$x!7lOA$ zxj4wGEvTlUE%zjEa`b{n=-24brJ(sFbEwI$mW|(l*fXh@??Y_A=Pd6@nrUap6`n%+ zmmV3C@}Fy9-|jFSPk(Nn45ub6Mp~8ob7*DA@qo8{AtZ>*mY5 zRz2s%a9PIjE8pc zGmtYK>34kqf29pPgM5CuwTe#bJy1+g`9o%)lv)C zO>mVI_iM5jxTQ?Ln-b~%4v-vDkzANE(rRJ=In7MDra~J(_zGG|?^6P=jUG-VOY>t$ z7a;n>PeA4kd+o*t#Twfx8cW4)K)W5+j!F&gNATE}0B|gI6FBZF-~7b;d#50=7EfIf z6JPW=%~MxH$&{0qS*WlK<{~ZLMioKfK1rphf=qN*i)H%F?i8!GyxoI!yF;UEj5P5qV5UXg5!JfGDZg9iweaVp*$Y*lmwr}b zGH`C+l?sjz`jw8Ft%aN?=!<84yGX??WStPe`aNHOub<%1VGR@c?WsCl4kavEGKr(i z37%Oj^;J$1(_5lKIih$ir?q7>JA>8V3`Tld+dOCwe9#So-+W8Tt@cD7`MC}UU~0&{ z^|Yvti=b8o`3Y$8hOI>ZmAnNe=Ox%J#Erk?QSG$+TI=%ha#Wx>aQOd|xQ)~6M!^Njs>L7LeV~a`OP%G+(`PbV`6~d4% zXOFNxOJW!|;9SGsM!)Hoa)`nQjCg0a<2S(JM%T~r`9-VVCaPrVJ8_{+7fxdgkYD!Y zv+}!2I@d1&htTuS48Pn>rc&pmv}0Q6usBpC~wBxD`p)esbrD3kMr>}Xc4=1 zU{W%vyMTQDk8_Er)T4#9uY`@aKZ35;neUR8OA>MR8qWy3Y(FcNh5E%t0Br0f-e;j{ zhx$$N2rK(XAIR|CYSFK*W}oCYR|QD;Cz;o{_*ETgJxu^z3t6=ciObzPvZ9CsoR(#* z0*Cm0y6j8p;uf_OUIFfyG}^yt;v~0{`9r4h`u4L#^Ih6G{%i4E)8lFn=iM|wySMZ zF1}xM^YCJEyR5$PH0rwD$lF-#2PH@C`F~F7!jK`AO$kY|=n`J%QD{~wpJAroJs?=> zYH`y$S0IRnSnMsK&S^ZiJz$*N^W+XW3h684zh)X{CqF8keE_k)TyX@ZUTT^s-VfV_rk!lH;fu7W+tGkDCb*1>N!;N{kG!*sUA>`%OA@Cm z@jbuP!BfwRY*IN_6sa`|%%}b)wfv$A9f&Jy#l>8c z>t{U;_+WF#Dad=(z@IUSRBBEm*~JHy;9yCjl;c#LnB_{{zDT@2Fp;|imLa>6Hw7#! z01N%92qNQKZBd2MNCp+gzx! zFA^7AgS}_YORT!}4003g|2b7ZZ5D`I@UPul?T|&EJQ)exLA~~pQcW01lf89#2YE0P ztl`zhEPFPsR`RRLY?Wi6{KTbc_=oBOZ29ucH%b#N{Buk`qpiOD?1z7HZIBfY`icWGUAm zVcJGaQfVfl{a>133A^h2-R(V3s^IUw3GzA1?!W^A*?ZFWu{Y|oUZgFDA8cE;w||>< z6wg1E=n41|t?=Bl+9o9H#o8zS#b?K%jrbJxE<=n_aG-IwQR`4CQW4}WJ5!_?D z=#MnpyJ6f5w+OM=H8)ySI?lc8&5nNQNs@P4G-Z(N6;!!NHaBrH#JNwzipxe|Vsop>7)JU* zF({4!2;MaJ-!`a^$MryLps5b?OGRvaE~^pQCg<@>So(fegHclkDTPKw=UJIDg<;Og z*i~1HnMCu3W68<8s}%W3uAk1Pl-%ZqjYJBQdUH3J_Dz^qvM0Ffy<$I}L?FY>Pc~2` zBAO(4FNsYe!gT1FOJ>oM7D-X@)uP`;XZjha4Tf5q8VEb?WUIGIPmZB9R#&I$_*>?Znt7l3XtU-9NYYW>2_nkL_C6Ci=zNl zh2!5zf-7cta&Y68t2Q#i3Y< zM{9m1WhJKF4)R*%^d9(v30uvI&5r~lP1%@7ea&$HohfvG`MZI;wwurwuLtfLD%^^7qoKf^# zC(R!B)b%GmHn^KT7%sC9?a7c(B2KQ!R=qgHvr16{r+e?=+TJ?(&FgM>YkBt5@P=P)ET`V;+bbYk?MVBUx>xsdFJk6S6X?KiFNyw)xfq_suj5A^bYmEudR z2@mtQLof_oClV^3EuWFA#qk6(#l8}cozDI}2_X85efqumTc!PKkN&`RqV>yj%?~z| zACwn=r(}+G@E+=~TnmN7vdO3aF6pTL#p{Myo}q301sSlRa}-{k-28ZkI@|s_bw60q zE#$FsUX>O}DLyY=G@L8lr)5$oe?iQGmkt95cq?6kbI&#V{*W=~z5hd29E>mT``J`o z@`ud%`QfopuFa;6IDCR86#Kf7+;MrIC8qCh0e$|W2YFh!ynpeMeE$-$X+s&(zx99w zF*uAJoERo(Ps6%NnD;l?b4B>av$`KuZ0|i}7p)q_m{gW{2^CwhhIOWQQO$gDF(Gn3 zWgCCUz|LFU@o@R5%SF3!C$wGBLd3q6s*mLvnBq;eNHZJR^b-KhD}wG4kG;oA80+@b zEOeFIJP#&0@qVW0vs?X1AKw)B3olAWv*1G7+fE6@l>%AeX`qm6 zeZ=D(3ll*spExJ!R`u1{&aD6)mdAmNS1%in;|0P70~7nFa8m;u8)dgRr>w&7h%I!X z5L)%|-iGoFICUFW6Kx@d))teX2+kZV^Tnh&#zafvPGDsGb-{+~>Z46~wi>n;Z=7aC zu`%rQ7iR1o(cxT;-hyn2eR@d*Tit&w79dEGT7v|&~RX) z_asnnxfjpdRBaS9cDT(e<0c zd%#VLYaL4&RT&w%%D>Pt{!t;_t1_JDc&F6|$>3n{#{-3oKV(>g-q~1i`;9H``rIx} zZxoB-7G+s(mrA(vx%0A`j>z!uM3Vlg?($az{TDF$7aINFAAeI9|9a{DJ3IaVc>Z4r zjQ`hR|K9a?GxPnwfi3?@TD%s?XcUIJNsqKDi7N^3E=WN$ru=v1zLM~sl=#BfOiH)&Bx5^J6AN0VxNlF#2mvOI4!S#{7=)}bTQpqZ0TeN9Y$P9+Nu zowRecul7Y>Xif2D>7%axqA9ZLApbS~HEZ{dLE84vA2M~Akp8w!QHRL)V7b^BzV}yf z!IS4;Cn-WG^?M$w(jnzRG-JXjmvh5H@SAnXCmg5t@mQKlg!mw9LW(R}X=W^PHP%Ec z?adII*~lKX_~Oq;T${f=o2&(c6ctWi=UlhtccpLd4z+wWm8faKWDIV(`t`0NwHelS zJ^naGN=g!lKwossR-J>!y5%i>t3=!*X+6Nh&; zL5dM+gmyv3OI~bk=K=bPjojEX@27I8lOnH7OtkylIVTH;xYYq>VemPzY(h3%rd+Cq zK(cVWSs+(y4!^#M8Z+g9hc~K%neDo+w%9YsYWhUR&}uhcdnqE=@R)2uzwCb7%OIxO z==Vc@lfsp)3^NeQD*pn256tfq_pwILZ^=W4M@88=a?|g(C6w|x+|ncVO$SwBX~hTd zhqDEGL9jYVpGDJI&k=VM{U(d&PZz6Ps&8ngA{;KCZ)(cU?>!;@LI}g5iw~cCVY>Gp5Kmhmhw(CS3mVq_b&nY(k$TB z`Mk}xc@N|U!l|wG8F;Gs+dB54h)`p!gU%}dfRP9MGNXCaF1eSk>al_e^~yKCyKEGQ z-Zj!2E`l%NSE@q4bNvXCv=Q4QEb)f5$doSm$KP$!lt3PswLN8)y7&EYMP{(W{yorI zZlx$p$$R>kmY(7~;f!FJ!_W3PI21?(tq921l>4!7*WJlUARRI3c;FzmCK+)6G;ect z!NhH&4s|dCu*D-(>H6Tp8_6JfO0k`n-%*`|k9m&@e=}4IdH7e~kJ3u@(86i8z^>6F zq_3tVfU;J65*x@vvH7+KYO~^@uw9)0{!G!=J)l>wdP9l>-Yb1L$oFFp?up424wp)b zgXFETsN^-J)QvNmb_AcbWm#*a(|`xLn_*K*Yv}R)}fK!}=tn$MYAPYo|7qUTHh@DkeWGvjW0*z31`^ zCgn)E^J)J)cOl=0mW_AjrHvMQvV=aQcDws_mlyf5pfA8TD)F~9o?hdrUN4spk&Jze zL3=2bDc9MN(KEbH7?N~q56XimBo+wGZY5dt7oW55{P;ru*q$Q_sG%YiMm<+#)fHwwws?>X zR$7vpgyt_YvyJRf#f%8f;9w0!CH4_HaBvfYx6z8)Q0Kn;fw$hd$NWzWk5(sE%q>b* zVRD@br#{t?lWjs>?j}R}LLV;*C}A12a>Ao{twg1{LE2_gGzdXiGK{A-)fp;mrj3Mp zfFw4!(7c|xsA6FTzsjUBb~bLU0rZrKu=qogHI-$?BfUY>@Pvea}fcEmpp@EuXUii$HD+qsHUO(U{ zPGTT8>$u#tI@fRSh<1swHF*=L;ugG!e`)|VLgq;K44SAy&etz8pdGqo`9t7iTY>JGG`Nw zZ`BtRQi8-4^EY)?ZiQw=!PQ$VA{R1v+H%jmzVKywgx1f5-s4ag;5e9+E%S*S35*dT zZi5n~4r$apPL$--If{Z&gqU7B%ZHXte-!WmOlOTZA*$f>rut(G#{2IoGu#0NEd=HC}jwcil+Y@jXdvUSv2eXAjI5##7ad zZ{Wwh6&3R75oWn=YStXU`yFM2U6jZwmFAfAcWr=oSZzjFC>X0(!=Wx6i{fnw*U!2d zZ+Jv^nVm|>iJxcH&&>ALPKuX8j@Kpl8SC}SzIHadXewt(YpwNzSRe}eJV?JQ!04^h z0737iGKj+7*;v#mhWik&O$u)6vaSj8z3W@0vRu0GSX+pH!M+1I@h!IFzF@TT*>&^KYHwIMe zA<7|a?~;+*ZZ6__YR|uzU6hg|cO%3TyRFm*^;s)sS*r8^rBlLs6NsE7(F|fM&xk-l zv|n7~l|(~JO)EbioK2$of~hlv?j0pli_BW=ttfs~14r*GV7IY~H^?ZN1S7!Hkry!- zIx*zOqCVG+)U0rLkvLf%cdDcZh5I94E>f&cHYn>4+3ku9|GpvQsD+u!4EazXL~WV0 zu~7h^1%WT6Ij3^c^}jeMeG%fcquS`ulTa$UiUd*|7PyDA!&*hAH~} z#Ys}Xo5!L!UFVDHNV7y;$-|yt6sZ*m3Y9HfrXWuP^we;3)(g zs!Vm3d{Uu&AZeJZziuP6&3Y-w)*?sy#v!D}bK6Gym-1fUTnFsei>}=WZtRc72=Db` zZ<1|o?YEc0fz=(a%2U zMq&;8P8L$9_><(!VG(-lL9D;%?2wSx(Aq}zB#M$hD_?@{nNV2#F(-5&`qX9N*~K( z&b$vDZGRX37&HH3;{h>%3*qY?wN?>EVT-`%L>)oMk0mCg59jlA7a42AobK~N|q zC9KfM)A35(kD^Rehh3<2LOAxrZcotIh^DM;nP*yQdqh&ND+(>1r+KZ;=->eT8qdVqqphw?48q}J#Qgq?{fE1>Lvask%saAY9{_0;r>6G`oAF)ZEfhoD^iorKM328U;oQwTea-3 z<2Pw+t&rzmg1QbVE*{}qYHU$?t>%B)6$~LMHE;~rM9PW$yNB#=^YAYk_^-&{ngB&Q zQ|0p)^}+!u_aBnqGR>^wHD~3s?n=8EVPYN(^0>t=L-Ba zmh~_+Oeiyp+)t)Fqc~CeUxC0$T(=Rx#ZC_pm8ozLxl&)h2zHpNKLt(eI}lAT6<#`IOKzZ&3*iAJ}2B9|4g17%94Eb;!^#)%sLO%Y|aM(nr@CfA7%UCX<|`~r0~<*$!6C4 z2d24EJGzsDh4a9fv^NTIirz+VK(*rX%de_=rhoHl)-^?v48S0Y6~TJR-7HD!uiswz zI>qel9+V3V2iHh6_anF;WFAwXH27*pfr@eK#Nx;ZZ{}U|4#}vwJ|k5Qa&9jK&H1Wn zdc-{eSb=$l{U*eg@xs*C*WQn(U(<6M_0=7C{&wTRuna~nH~wQIUmEcR$J+MAHWH65 zK3BI_01xtuI~ra#1N*KIFx?ss@!YjsjBkl)Ym{NDaMkJEfeEm`Z|;3kI;bzU(2>7Z z_)uY`8Gth)Im4u_0uh}jjn?<6!wvlS(f;9hpVpG-EKg1bka4qcZChjPA`QH58^E3l z>v6C~sNfR@rukPM37!hs%}ZAU9TN38_?v}Q9G#;nuU28#=yr!Zm+FoI{V127 z!LNpcoWm8hEd$x829beYkO6G5en*lkHPh*tDY$44mGO^vbdn&glFaFJ=Wy%Y(fJuy-O} zrc5>5ws&pE+F6OOjK4CTg$L0Fh9Z60%foz;$*NV4!A_(vocS>2NA>pB#2ie;bm?2M*)lCTWDHMIb z8^nGt-pU;c0zU8&LR}T#57QDP4pX%uIWf037Gh3>FbFRG)Ew$oh@)J_Z zlm2-;0$=Hu!9AE&eO9U6kRRZNxWi4~MClC{ufK%*t#`X;gQe;MN zn_ev6Jt-OTxo1g0UlFP!O~{lRTQQT2FnnnxWXkp*JfF?b* zxFh`RS5}{E(L5c8?SUCf=%b`T7R^@V*JGSYh>_I@LXDm?PQIF90q)JlZA42bv$SS$ z&mcDcA*+`Ze&uNdJo){k>g}hElsMlOu||ptjWW$AvOV5_V4dSiR=48H=^h=`lT zseL#oz~^1>tsF$ATtad(YNUn0ZU3_g=e#qpA@^RjCjlnay8ymF9aEBwAuz4a+Ah@< zy~9H8WhFK#=o0laqwhecY7ZE1uX-wz!mtPWH?>J4B=PmxY9m456qn;0rfs;W7MUHw z5)kl^H=pg$+X73674I2hh&_Nx?%D6vC4rBuE4yZG&k(>Nr%$AvTJJu zY-ybIqx&^xBRNrtWkCW{Zt89_qV#P>Q0Ssci1K5qWWgpz26@pZYCd@ zyqs&-+gh16S&YRhVpYShl%J?>$k|uBW{@2>J7U~S2Z(KBR(B*`ctcN6EoFw;CfcMA zpdJ5RtC1QCu8cqaWVWr%8jPPZ+rBYK&Pl9Ye~$j<_7cvz-e+hVDssn^t=RMA*J?+bde>@}a0Z_^&l+T^U z_A&K;QK8GA>j~sqkZ*J>_G)R!B1$|n{@|S*JdWA8S`f9cw+60r2DK(agnjJe1zkXU z&u@8+-_hRi4N{Zs-`KSJL4e8h_W=jD2yeXEm*lT>;YyN|0H~=vfAc7rYE{kJbImG0 z%bMH6D$}~RvlR9XY}Zr!_?x#eEY|wk+tn@!?_>QcLSPIC*8ZygI+TWhN3oZ@UD;)R zdU!Kaq4G#kMB=7NTfM>_v4ufq4aq`Pouu}-Ce{~YY>z4(ooI-T;7JUZhE7eoF&q5j z3rri&UX{hjk-i_wCDcNC4HjGJwdH}o{{~s|#y}%`Pfd|pRr2$ytPC)j&rV~dl_%c( zj%u*NR7EgiRhWh_N7oLsOy%zVsBJ$XTz@I86}@We5G_Z0f;g%^VfcO#nA`m}cHEtg z>6!jH{_M%h(5+0Y&eJgclzfDnF-!Ai2Um-Er9GKPIprPgIW9!n_eG4FBYQTn#pm>K z#hNSq4+Ynr0R3IT{5Fx7i@#I1Je%#BNXEMRbH=~bEKlYy0a89sFH(MGo`2*L;9Be3 zLhOu&*F=6VZuOf}epekE`Y_vnQ~y%(H}=H+vuuRF_6+S_!Wtkxf08SH?`5lQVaq1e3Acz`ypdCxr~` zGjE6${uVzM0Y=R7h|E26PY6&v*2Dn4Qnc;`V7u}FHK?CF&){7S$g1|O;gIVTg9Khv z#ZCFC9cdHLoj|psw|phGDpN_p3sg?}P<21+*+jrP!fEFoGA!^Iz3PIjvhc)6tpba5i)&s`as-rG z3OKA_di(saHlPwIk^xPKL=>s;mpE-wUaIglMQ{dzzr+;^4tp*&&-?LDQ5`$`D4dn} zv}wgona|8(q@~s^0yfPjhenw;KOMr|tSsV&Vy9U2g44)O%F*}GF_e};;LQw)Pi_8h z&OM`#%iqzh$3mVQ$c=TC-Sqwp9GMRuuTm7;14VbFcrT?w2=Bu*uU*YyrFw$nHK}|0 zQj77gd>{LF!0vwyG-^Y&DH@qc>i~ZR{u}@H0jW16mFEAeH~4Ee{{O{~-zHV<|D|cd z!~b&%dPc(e)E44$`A6Q>BvO#hLov|4KFMqD+P_$zRA&M3D=syDwZG5}39`v3`B_R@ z4)|AM(35}r(*57TmH$qO7k|=<3<1U~mOYHR%bUV52I>Ct-9VJy1`g#+GvE!lqG|V0 z`&`Fhp)vF6z!dm`3||{*V>cKmAH>G+V2Bcl54l_04b6 zawRq8MKx(=dwkqq0@Hisv^QO(xQepvfhlozBJC^W0ghbteAFd1m3X{TDEw9sv-*<$ z60y2MSL14P(MU$zYl?R?_}OnDt~L_xx-R5mUUDs7!m290sJ%0m20+Q{Ul^p*jO#4> z1`70hvpa528`gwe5&Gd@X&?XO=lQhnGWKZoYBOAO`_();Vg6Adtfi8^Z`hQl?)ezI zmNX4^=9i=^)wPV)}lxDhuNlDb@74tg3{8!1Y0;6hIVMW5^ml=WYX*m z5yThl^3=a&|5g}l8n?+hvUlACe2Y!U0}yji8Z!xsD~vnsz3!vNrj>SKzd9pn;b-dc zypJ4sw2$1!>ND5`Bo99|U-q^L?3)8>b&LZx6yg!Mi;$JpO6D&^k+)=7udy#?AISv( zsYSb_o>aq3T>_6RrK6RkojtUK z&BC3_xybTK&TMb6mK`GYSazj=fkqG`W>3h;!)mgi)`Q#p%IOzU9&j3;5|qSi`Sfe6iE2z zU3E?A{blPP6^2+o$6pqV-+sDopz^u4#lui_oPDtPv45Gyxm7WsYhO6sk3yM=739-Li{2 zV%I@SgX$)V)ZIm$s+_s#M4(;&2vQDN2-b*%DxTtKNxYt)3 zLJ5Ax)`E%fhRsYAgBgAC6-`EDV|jO=}?}J$myv?LJhli&uF< zOkb=5alHPhU9{8_Yxr(XjfBUbr#bV8_;t&qW4i>>6&aV<;cIfJrw>dQ$sZj=C^|T| zP7d=aTGWGFzL}pwYmU99~T#_&;(5mtDh?T>O*1IZj1H|Pg9Atsw{WKuc zSF_j_t5P6W&maS##-Xj(1D-M+>y0yFkmCQ?5UsB;t^Bf_1vcYfp3bnR9Eg$MU@CYT zm-ND|BtMZ|tzYsa0SI+{;%c&i^;L7S<#~^<+qJi}#+C($i=!*!5Iq!D18kr6EmK!R z^7gh-vrpF(^;VXPjI?kLiPe&h8rq*)=K1<4w=H`4g;T0ZPGgLDn-=$V{Ifj` zp)(&d*>+Kzv3gql&F*lsy&g;R*U!Q|dxX2g=_#?#tt?sGF{v{lvVj#{EH?@#3M!b1SJbeDc1OEI(RjM4L zfVa$F@oyI-ZsQ@Zs)6K|tkLC$_xcws!q~sV)jEV8(^`I+XFZlJvY1HFpG_$lnV8sI zeWr6@;atTBr`TF9n5toA+cmb>x+BeBJgJV%|Dv{XV}=%0-Bqc+%Fz?hvM90|pZc(g zb>!%j;D!RsaVK7)Nh8c$LV*(ww^y2iEDApf1sd|_{f0^VR4j_O=YKQUzFq4^+v5YZ ziB3(qdI=a%#&z0j1WV-9v7DgZEBqt3mt&&)q@D=Dz8jsmMAxc z$tar=HaRS~uhkr(`Qa6`<>k#^WvU?!;L}H9)>_LUcJn5&0Im9IWA2Rd&jdHhVu#J- z;h>LmNn4LL!*7t-xtESymQ0iG>S(yw*G$Icjloby_`QT5j~-teF2DN zfK(a}`IT7O;=t0bcIK~JI$lqx^a7ZS9-w!nqzabqlQX%)%uEa#=)B}jwsUSW4e`Sp zgjDkVnbt`?Y{4J09*$i5i^#y&4i0v0qbEsLOSgDu{*c|%@o{H3e6W((7gzWD%W?IG z-{k!kodz#kNY#2m2S6Rt`|-Q-7GnDk*{hF-0-t~H|AO3CEs^I=^ww?U$e>DE#fpz! zIx!)E(T9$^W}S+f_N9NwpdIFTzJ(i1$CSGWjyMnpr{fu9h$X;<;3Ze!L&BcMxJa)sSOB`yqg>tFIDar(LA1ln_x^at8@o*Dx7%)UdhZ>`dse=Ijg2Hc;MdQ4izUGHWb%ZN zQB^2?@S5&ekdUXbI)1l1@(-Jv9T3bnb$2{JUL>Xfvv0u@P^> zn_4nxkyrMIcy*6d@Kr~zSt45NXSp%I8pN4m51#xXas#U}vq&1F-$2@qLchhnRt!Bh zZ*(6l7tvzd1{WI7HK>b=sJFHlUv%AJ{7}V0k=@S`VP!JgW%S_ss>4FjG{CuW$2Err zR4v3GEVvcG@KFBhO+Oq7L_yEgrm0iK|+YOqWFr|9ZAST1sOm0}bf-mh< zsTnoCF1Cu(*9Dh29oR$<;xJ+l;sG?c7oDUJJ4to-f3^F+!2G{U_2&`o^IhJn$z?q-e0-ZUS($<%gjM#DwD`Zw4#nR; z`?u7;`ahLC+y9%NSN{vpv;LL%p?`hF|BKH{AqAYSkSKZ`H8Lj7_taXT=L=1Fw`ciy zmL>Xe0gZhKhLtb37dAbj1P_iH7a%1zs_SUCj4I}r|I9iy9_oi?<@W`4ggdU;bTha8 zvRJV=XH2-o%jpn^I%O$lOx~9#1 zd{gP3^h9JITebGs3G0|2a9vI~S$N`^H|iMl|FCr)&}{zy+t(`HRV8YxQM0xfwOVRZ zwSri+D=|v!SyfaJt5&GJNzB+(5j)h1-PVets`hOA-2MK>|NlJaIVbly&Ye3SE8&&v zbG@&Njxv^$2jd~0CnmckIe(>x0>(cn&l09|VG~LZbWx7qp|h+*w!OuxFF3W7alH_Y zU_?J$%Irax?m2{3pScq>XakzBshIzQjj8R9bA@9%4+?N^#3y#ifhR{}!~h-8r&kt} zNgRE$_X6=-a%x;<+&p!5TDtPmWS}{^YoJJJ>{hbza%Fcq_@)lVc_v2FJ;5?)@x8C< z!sRSEQ~`R1LGlHR^#P!oEUcWsq$?#R0v)_q%$!%m_(r&~=TDDAUBsCJEE!PJm7ML3 zjyF~^vvAF#Da8f88NJ?LY(>pVAlFd>BU5-*t-B)xVv|`**NDtHkflO$4jZd`;*l}? z0f`mH-nuneCRm|87(;YJbA8;>;#_=s6BaY?dG&yMAq7mcfi%1^$yDx>#3Nl6Vr#!K zS>y2ZetE{$%&c!kzc3TJhFHu3dk2)YV1@Kz-O+Kfahe`;=&aAvz@VA!s-3%VN$HFZ z)a;hHL2q$7UA8E5kwfRaVYSkLfSyDOm%rhc8JS+ zcxV%Q8~;wY&;s`?8g-x%d>CNVcLosyR~vsnBRMG4o%!xgb7oFXL}XQ6nY#xVTq>S@ zaJ=@O@8`@(ntYj6TPTG6#N^gw*u$JC!HUj-HoPYh*(q$n*BKTc2!vaKv?4YQ6 zxlr;hJz?EIS=6Y+PPW;=2#HiFvN+RQN26u8T4_w%y=M(X1QQL^8;^zy4`Vs zSmQ29ddPAYlC|)uqVZxIjn0l?CEYl?oc~lD?qgk#KZKZy#w|GkLi~!F zY=i$)oo_%dHEc}TbvvqxQed@(?M~49RC4qWIq?emAGvL6gM16b+LuZsg=`DC%)8tA zU3X{pkZXYq%WrnX3S4%ZUr~W)HC(v>s}XjKr zpeSWa+qZ5hj`K1VTHip0t^(x~&VR@PdvVsEO;aI8n>sJ-W=3X@L-!@WxXy81+6N7u zs~y)aS?G70WfY0*_Xs$eSHqt;@MIm3vUqJD@LXm_&t{Q4(l4K_vS$+?7Qf-RJ5=oxV#JwggJYXMnObmHiy z8K~(a=t7>QiEo_AAZIo<{aHWbDi>tUc_ZAOfY5to7`AR%`19_g-%~qE{ZzxFU$ci> zI1ut9lWdXx!5N6J3vzxk_OXbQYx@>dKnB#WF&EI9)in&3`{xREYd~NfOMCJL)S@X| zO`?F}SJpdMj%=hwIx})LK|QF&aSuy=7-sRC%KdvtvOh(gE$61W@YbaaImR`BZ294~ zMLa9UJ-qe4eYZnai;t&>*<^pnRtzG4efcJ^G7>{kw39%dsqoJ{=na66d8n|!9f`SP z_3~nFEh^|A@fV(=Q%0_f{esiH_z{?UW~vI^QU-=!HYyWwI#s1>=+mRa#%D>FhZTPr z?etU>sqlQRNtmRmK6VsMSq~Bid?@x(YD}ofJ+{un8L4*oddRhTP`KZgdD8sE!5^|) zeb5D6oTt{F8tP!c*VV>l3ca3hyJJ3^0u zuBNxl%kUIu=q>b6pN=4e_>ExPy58qCok2JrTU@%gMOn=_pLsj))d7b!zzFxMG9GdT4$}+aRUHG()1g&le~_A8}2FY9sU| z!fT)P^@3XUR26a><5?#SjW$<@gW$4R7ckdB)fzElQUlY)UbHbQZ(>zMcT<64HTaTV|{D{|3Ue)rb|ZmQ;*WX51STH$$6p) z#n;DY+F_Nh3o@i4doJ{P=%BG}%<-G-Z;Ku4<~S^qF2O5HL7(WjgXNZ~U;i2~Rr_cc z#xO;GqpKbk+l$k2ml}e#1TMfQqezBIDzWpEaWY2X26pxTDeQ zR_J+oeAxAC%VRBUQG=v;)u6~-tQcsTuI>p;`>wPBzZoqnyahi6oT$v5u^=$BR+0(Y@7BcA; zlHLFN!6i0LGR?n}p&mDIlJD6*=Um=medj`6|MwK|Fy5S^|E!`8oc%{DXZ+iBZ~f>f zFFx}bIk%BB-#7T12;X*`Dnc zY-5~6k-W2I#RIjFOL$FXfIjOwY>rrd_S2dbjBdJQcVHTq4eOz19n-9M;#zLSaBIA*;jq=?Vp3;Gav<-M8>3}{|z1QOr_ zv~Y9Yt?uZ37s1oRPPvcg`K^Rs(3XjO#@!>k&EN5y)*;{ie4RU}6xvNW z=-wbBXPg*lx3gqw5^b_FyYTSL*m23lbNvw8u}28R?}(l1Xg#|@_*}25KhfY0e=Y%; z5HgpGO%&g+WS?razb1>nh{(Ev-92RxmhgIYC!cMsHKZGo*8?~{x1gM|%qaz1?t$at z_E85FbAzu(w=e?H;#_mR7{j(2hga>Qvp9W~-849LlAJ?clFo22bi6i_bc8YaZj|~! zrg%szsyD+*IOe(GjhF5g;h!^@_?Bw8MwO)oWH5O{v!V<>h9Qn?(wOeidG!nBT~9g= zF|==2Wf*eznT_}a2Qx1ae8gV7HT}lgW+nVzq+Sz%A^@t)B0pc&WjK(0Y`uq60z{pxdoN$?r{l*y8V; z3>V7?#Vh;8L(GvPLfzWAHLBnm`5`ugX?DR+4^(C848a!)c~avp1O>v7#!o0>$l!{E7` zG33zCGIN4$W;MWobeC^9R`g5Wj_&V)Ktu;NvVW$BZ}Yb6m5NN{s)+UYz%n`5@w;Oo z{MUO!Tl(T&SJA9wIlM={ptI&-c@;D;2l;`exm`@AbU6}klb<&Eq>`D3GX{cbYn+yM zil$#iX5HueoJ`PXTS;DHHi|Y{&^E2co4mS}0}+$_rpp{SjuyMA!NgAQS|=G`EK%Te z$IRD9NXHa;d*oRc_hk9Y24(ZHgwZ?mde*69xW(DG6pnfCa}G-v)0l4oGh~Avvke4@ zjciki^&3h4eeXpz7J)47^|!}+cr%N6hx{iOf;Jxg#zoIh*C#SxK$~X3NacPwCJoan zs=7BYtA;zRMlu2D$l+NL9SO<`kJk6=r1kvGj*1c-``y4vvo_O$KFz9!bdyR&;z`Ki z#wvlf>};TT{oz6Lj6XHaB3+*|52pIQP6snXdDmbLCv*N zt~3ICfbTBjaq^}iPqSdQW`t>3xfZdRlLoEq%DsShFqagEI3(8oD7dfViDw=c`|%^j z`4Q-G!TePYjD<*W8-I%!f2P0j6TO(26HX0ryzz^>JRqlcMt(Ip2^LqDlEk*(VHZu3 zQWwVRDzVX`peKADLGV28JN#wa+t22OhWWc^VjF?v7l(?EMdCwq$Vzun+XRiq-?T9; z;jr|WJT;Od^Vmrl&}x(F>Ra|*chT6x?{UEiir17$VWLw-{euq*XD0zf*seo#HIdq{ z#GgqtesgMzS`}hYQ60eMjlIWHn85p+lkazanx517 zx}W21*X~}LZ;PyKC{(YYxZnU4v!%^)XC9{^Exp4ixwVBeSfJ&+<&17b5Y zNj23`&&P{pU}xS)z|1c{D&Ep#RPVzVIY4tuO!DhU)5=`r?MgONH6J^!=#?S0gq zbBs6f!Red3+L~k(k_>P3DV324*($y~&?H^A`p!ROyem_mSnurE_(tHLs-?$4k3T5y zJRv?S2&lmj+h{rzZx@bw^)c8DX{)Nj890G*C>c(d1I{ObwNFP6t_Rr+2&9>LA6z;! z>VJNs(F=MX`wojRCi+3Z;VZBHkb%8Yqmns6;rG)Wq$>)W%G9!t2Sn>$3G@XjU4otL zSGw=iqd!5n4=bS+yL)%l!P>?4(O;e}fU#eO+>lHz)Fm z+r2qt&Jo!iQ3#e}RvN6NK6ppRiGe|^TlhoPq@4TR=dcR?XC;>_LB%&7i1xsXF3Y9c zd?u_I0OhBLtO0%s_bjF@r9MBSWjiYGelQfXs7qcLq646CWc%Ib z4eUCc7Uq1DJavtORhO{m8N|zn%l1*XQ;4gy!DAJuf8nnw^4E9}_6++7H|L&SlO3-| z?c3B=mnkovZ607RAEK5!3eMP8E%rk;?{1o3-eUhl#=&qNlFSX)MeNEh(U330Uv3 zyfViDxR0Pjb$rU~j{b&Gp9?i7RCEoKx5M-6T(4HlNjw>s97R4^RZ)A{`!i4GLI>zw zVQI0_KvwcSSeTFII}dlm^h*RjYIFrbzwc!lnA|2e)#buln8z|s)UOyNssmHwJq_P@ z3Ve5J?D%J+s^3=7!|^EC*3@TkhScX$p+ov1)6z{ISi~!LHIeV>Hsa~h>&8lSdWM3% zGQ$EY9=2as^xSuI!%JIgH9NwPbPD@eS?UkU+P~TS6IG;_G0NvW;1`LQwFPiGSK2AD zwfZF5WbDzC-pg{I1a9p~muD;>NA_fd}mjNg96BTsZ?N>iz~`unmNp|Ej|-MWKEpNi|g&?Flra{`xUOy;xmYu+^lu6G-~@v0F!!D{g+q&-;$Mg zWOcDBHy_;uE@1pixqmg-e^Du5rv8T*dH>%6cR+UiZ=w5tF9oa>WWe#?qQ<`{tZrbp z!8bAU5J@QpKstcL&`sE@$;EXyC_1>ODDX- z+uA?iqN?Ki78DvQM*)}7LqUDFiyIZ#Z!Pp&=jDJ~NT}% zLYTC(ji;#St8uqzvB;?oOp}`YGn5g9qk75y&mk3GJeNwRdutRC5Ez$NUeS1ScEet2 zYg;ddQ%Nn5cxN8aBqyj+(HVoCXA=QB>@f?5+pgZFAXk+Wo#z`#5`JZEp_x1=A*lL1 zO^=S>Ell38<`6O6X54zPNb~a;dBRJn)F);l+eoa9wvLkY))qbG*INSJt@`Z_MQd0c zf1x&s@8+&cjZ9|<@W&BuoIXoTV;w&JqKZkX3d)2*lZbgA#>*6L^B-VO*l{Bs$$O@}j@Ac7K#|onO;%8oKaMZ=Tbr%`ex^dDA z7BJcRO8izk{~~cbr<^4I(ose-4XCuBam2?S`sW6*JTPicJ(D}#;2*jh$wo0%MW=4wRpMYE(ktn0c+ zWK9C|n2Qm-iC^60{_^0+A2PeGH4w)Pq-VlN27G(>=$49px)8UP(^}$P@YQjxJ2yQC zS7L67>*318SE!9WWS&~;(0J<@HI8;7zgrT#v$JY{a4Hp$qszlllJI+xp+>6>vjt1d zOm8nsS8Qh3#sCP}EuDGR?ZZ0pzz*!xPqwAKdw7_)RBe>XSqL_?y@Y^FipelfxX=^s zUcV&0ZXgf}bOdu3#&!vVZp`wwXG>WoTN@_e^-+%+DKQmi0b^kGEZ#k0Wr3M7D6;{~ zGbbe^AZZbuel2KyNwfGycqFu%6^=5?z~ALe#P&3mxmRASc<|Zs0@jJ?F{AsC5(UBJ zwS41JO-|z;7dbrx=H2BO&kEGL=ut=Hr&tt)Ll-+e=1TB$0q)qms9|qXS`G7LvN;CK zPBtYwKSLeyV1B%D+u%fbEDTP1NkOL9IG4qrBq07A(mm@O8oc$GHG|Vbm6vOn&N_+* z=~tuEdJC?B@#Y(W7LC?|Mc5-249_R+-|@#>19=~mta#*=Tq)RoR+r&~kM=4_`)cr5 z@a?QQDbL~SxP!BysyQDf?@2vqc%xjHL7wlk4-_Nufe)LOpQYkNn#&4+*yB6wr6tb# zYfa<$K4Rb1$=LO1aX)6+C>OAuP0swml{wBBJlU$v)o1s-iQs5yF8-2#Wz1Cu^wjq# zY!k|vqKZ(WUqLwqCL0a&kIc*=t$2tH(V{PU8ZBFmuCmV;qrW-SUdBNZyIndq&A3%i zo@SY>6JH*buA6NYu?gQ>D*F{)`&t|lV;AE@`(xdxC^G9I@w}b~#V`E*>pYNF+mtOJ zv(2@JOlRjK)*EXutQ!cShT5cyU#`j=#(aQb58tpR6MOS6teoLS{N$cADHK#FUFIscUp$^oYyIjwooudT2 z0oPY;s9}bR*QRcoW5*v8MJ>g5jqS{ z96z`~%3EWeQqQA^(P+FQgLmk)-3WQjb~|{!dR8`J%S!pmlTQ(BKFo~g=ReuHMRQdRKVe z;&Y{2y~bT||Geo|e8O1sl81U|?%r)l4_HBbCNm_ayoPaDOkBf^^D4)ce7CyZBout? zT&j3|${Wl5oQ-93*jP}i&1IT!zbxg>^HXCB@vAH$hxP^3eLG*1zrnv#O&^)mHYQ5n z?2NiP*RWIhPL5)6{aiDafrnICpm6Q{>SU|9=*0fX3RmV9c`Mo}I1aR~R+p4}3%SfN_+m-%hC;9BtDWcWIKDV1)e|P@- ze?Qd!EYku=&wt3otxN*1=*xkr#!mr90G6k?<_0q|;9eAAoCa z)poYs<)^IZWISs|`8Qw?vVM9=QL|IEx8>N1n<&0zq3I}REU-wo_rMT^o9rxRKEMKH zO>5`6ysrEL7S2t=K8)1X8bUlN-Th7b+^a}~eU8|8nvvI*X|(hPM|Z%Z~R_wFZBHsBi4MCD<9F}zGGpvS?`Y9^a7 zeJ3U~D5?nYbgt2+&>UjtAw@t|in|jF;z3^xZ(N6@a^HtXU7HjZM<9rmS`4#r@G^V2 zSXOtf2kv73$1U9vz1e(cAr(U(aq8{EpA<^t41NSwT?6eyjNXH+FHAN5My2`Ja#PAW z+vNF|5%i!@8a^5`(OLe}3o(-dM$Ffmbsq`j(aEeJehW8Xqup~eB`WRl&E>Y_uWr_K6SX)KTup)0jJYq zkc%z(?xDV$GDYpY$O)7vOmz!!NXwUx2%3D|gV;~BweU#HPz~_4v_nM`47pUB zN{uCujm4FgFw;E6f&t#Vg!sRk{{S-nC-#HlAFlkn+kf$InBG4@8vqslb^cxesPr*A zaPoiJ0RMaH!r#-tQvV9t132>{aO40FBm)jg+SsGWu@p2g-WCK1t$$nS@VUV|dEsY0 zuT3`oI)*v*$E~)h3dz`B<^QBj2bTKqs?aK@pb!e!0rFn`L$Sc(WWYiDj~kh6w$hz_ z7Djk1_5=F-Im}pJg#8wOT%_j;>W2na(bsHh6PgNHCiF<>T?veTDqZZJ<+8J>GzJzX z-x%%3alJ4jXW85-hgLKCy!GO}_*HQ56)^wxD{qGmBd!%aQnltk+_%&%^Gkx+ha`Rnq)F#wW788a_p7qu5 z)+WD|GX=`;vmGBblfnD5z3LDVXIx7dr5SG(`q0@+k3A$RCOjgw?mceoF1xS+|Fr+} zv%aK2qMEr*wC_MkIsJL5;O`d^DjIRH)r3iEvWsELo+UHo;=pKdS&PgUVgc7ti5;6r z4za_EUz$|a`Y7<-{YX9N?f~tc`ACcx2sOd{iMjadl9sh6R=3bE1rr_Av0tgy^ug?H z_GO%(Thx(;_$6tEQoCK|EX=)hltA_wnbY3qW(Mb(M!8ST!Cx|RF}C+s#Xl1u3erpE zj)U}DP=xS+ii37W3o(@ic~>-|AM`kP4(d^A*#^r@sCA_6DA}N*{bp@cd<9xyQa_1L zNqLQF+>j}mov&UuV5*BDgC!s0X!+egmN#aqiES;F>2fHiAdnwhcl1mpOV@DviSPw2 z>{fB1Y`S!Q-tV~xu(Z43>W)&xS5o=(vCz`j2nT02=tAV;h6sb)_;m(>rOWSD4LHKe z&7}kw@ZQjnFc*wr1Vj0UY018pz-q&&Pm6TFPo~&!@x^i%&A)QD72CCmrT8Q9C3eCgrDoVvBetz2uyAIq6U?Ph#U`cI@fC>#ydTu$5;mMA;>)GT{)lPU2<*FS`M+fw@_X z-H!ezmdEUBaueF{)IVfzLYJK-5fIy*i&YGp!0Yw1{6yKs8<4<!3XV9*$wYJZk1 zxEp@1a8>$_k9Z>$V87Jp+q-z_3LcIG8}UqkqvS|Z3C30-IhWZ!6}jTvlAz|+7&F=D za+&rUrjKD8vaH`~nD;}Kc-B~Gp}4|bS@8H30gC!^ecRA+f`paWZR)F-d2o10@V-me zQfr!I=F%siLyMp>b0O%X#Xnv9CWIOEUaE0rXGdKIJ#y$P46rHJ;L(Hp;I!}OM2^Vo z=!x-LRD)Et67wqOnH}3~7NmyYd0aP=^mnIs(3O(8P5wqsrhcSy0aqT%W)5riBO2E- zeGOu95?B**JrliY#;ngFm{PKGiJA2s$$sOeah7rx?nVE10sj5rn`(75Q$TTGt+L>nTV)DYB znA-nk4A;a6!Z)Nn#_Rk-Gi4gJ1nA>jT>AANj(RYPEmlE>VIfry;LsGJos?#J-O_?| z;gFC4w*c4;W-9Tkd<>VWZNJ`Ms?aN}lq{rDfG96!-rv+b4JOiq+75XP1`?jaS-Qf1 z@%s_($n4mD1T&htx+aecrS%^B7W^LMFGdF9O+G&KzmTaP6b^?3I9Q54>uGehK{*I8 z{2`lZNwX<*5rC~A+dIlHAd}5FX%Q4L2pdTL?~z*`aOd8ZoTdCT8NrUiVLF-eXlka+ zTl_6O-Nt%?s2}<0veTCa9p(D$-J~HwRPv>S_r)B|AB!r@4aJ=TCKjFMvpFNtPg@@{8)ZWwJ<0cO!%;f*$L?6^NI{HrDcS@;frQ z8_uX+Ep?DJ4>Pi}oo$GUc@z4t@3*W z>2yJunc%jCn&`Ymu(Z>ddWkPmP|+PxfSReGtD{ z5QE%^8W=IN@E4S_Ovq8>3wA%Kbp3RnF(rd}^Ha=JKcma{nx_{1T$y{8Yd^P_Bp$k; zXBI?yZD4kNW?4l8ws^3~k4-(Zjd&R3Y%yL$A)?468Zis_&FIWK3&pLjO^H4f4w~nWiKH93wGtC z>G3C0(+ZqsMRAVKqPg340^q)r;JqBy9N^bo|3vK!${~BxxC%miIlnCG0#@-Res>?yTnr?S ztBTY7v2~b$_ZS*`uqJ1^r*>>CSX{g^`>t#eNQGa;iUF7UA&Or+^LggD%FV3Fo3}W-0&HiC zBg(L*5wI2b-nDlx?mW-pZ+(ra@suyabS@>;vPUsuKl9DK-qD79AefV&IASq^p1z!;JtBXjY>Pm?}+k>HVD@{f65I z(xsR=gyEgQa$-R>MI5+rRHJ54a@Ht*DdjQx1%0V~jm+C&7!7X^pQ{-|8M2FO;)-d} zYymMqgTzW<(s=SN)aV&#(@ZdmZ8ZybX;gp}HoP1M!*INxH>~;eZ86q(RR#=I@3TeM z|+HF;kQ?Z-Iuw@`vW z=5{pp>Ue?qK4ojJZn_`8V-CT;I6Bp<<-#~(hh_$4P*@B}Tlj6rtekQt)OUf2SsMLgWuw#UU0~J&a(Z&KGbko-odMZ25kN zA#jjF<`0>4r6{g%gjmv_;)hpn1UjV&^9DW$owor}a@P_>8?ta#K41=X5-|3*uct!! z7{J=UX#4L2kZFM^x`e;M(9b5w|MIc=zp?ZmH0=bKHy+?!-v7?Sk^Se?UknBg@i-We ziNO?!0d7DBo-1pe>*e+r|Gx9zkS+N%@4Ze^NlwDMe_ES2RL&-zeee&B16H{GA1Rm2 zo_|aqL-z2mo%VJ3zt#pY`>#&{rq4f?r~9{#ONSs|n9VYqS^)YJRaG5y|2wUMD~vrSGG9Ig6x-Q|b+Ti#8}*snA7 z(`$-S{$J~Y=*;@McF9OBI@kCF4|^_yMg(K?{M{m~h8lrQ{WiFU!2M>M*03&!TjL#p z$#aD{TRrnyU{~gC4lgb7#A$gIYRkBiC~I5Q12nKXFf0{X&*tGD+nUyh>(x4?Hxg8gbNPtk{;3I9{WeuXldk(%deAU<338Wu_pwL;tHKpLM;+eFH3k7=x; z;m#wC!f8Yge|$a9RNxc#d2)n#cd8FMW`pB_vb%W3!|*8l*SH*Q=_6cl23W>f4A-`EZ`T( zxfYo4_Lv+=6d@}r(V!ZFB@Ye6vVN7FAUH^tQ{%O(JPXs?l`bsR#}3&+M0y6E3ef5_ zuP2QG?;fe=%3TB9&G(`B4|7+=$PiG5`HhOLqbkaZ1(P?ijTL89x1l{9wHM`K!nA>p z#&c?Uv3c6I7&xtvO?&Az!D{O%P*On;cO#$qvhS`8X984(vl1Gqy|WejzBiq#jLIE7 z*1dQ4T-TNOylK6WNGt9)AiohA6U<}sMPoHT2BMI$GzW>l_(jMUW2l{pD(ON682S12 z_3-;1n3=sL=R{WQsSdqdN>UB%@#+>xLXTwV#-4CAFtW_>pfTVNgB?q?FR-@h?W0Qz z$ro$0wd~KzEx6t)?>&n2;V$eR6_0I21$b|U>YIL1_>x{8qCY;S0)9(mHI=UTuIJ6P zm_UG;%||RXwcBnPV_dH-B~4E{d+G7cUMW4t*{>7q&8+U^Kr(&EilO}(9Z61lS`0Gu z1!9zd72h9nV_mhd+@FXqhIQ3?G-5Jjd_*ct>vZ1c-pD6MH{6glal{xm*gV>Xiu3@P zSg3&aq6z*?9){G$xp8jL*SF^$fxKyfy15Y!tnS5|leunJt&IR0jE8KsB?y?bfLQu$ z>v=#S-`Vpm`PBuzt1zHAGVh9Xd-W|P-h8d;+Vs0a4ti$)L^FcJuYERDZhL(lip zm+d~GXXTr}1zQ^8T|t;kL2MH#yc%9cY?&O1yd%KrF0%*ObTdPk54Y(&1RB$64=UO; z@r-x6FfJ@n)!h~}xNz%vM|W)2kEw`W=*QMK!j`yJ^~CBhcLuHry*NSl%*pjv-}v)| zJ|WDyd!Eqro2Kg9p&PuoKfi}dR|5?XX@HdRtk*?_8>Xq$QkFuxc{?wwt;As#_DEE( zuch4ctu4L-|746#V&p-Xt`W+|jIeb`^d14+Sdu8jnDVba_*k9HpJLcNb?CDoYEyk3a9!m`M z@$Lrf1wOaesnxq)(wEMu*T*pPVl@H{_^SqRrU0eZuAWR*n{L1ontmlSF90?sH>x%C za3ntdtB1-9wWYbhi@IQA-crTLUb*1pbVTl@OQ9C}8;3{H$z@a5ftiQ9AQU%Tob8g4 zJLSV`n+{d;GuIm#G296#&86a!VPB<3co`dvM%}KskzE6yN+%v-PJquJ<$Qy)eo%&s1%3c=1a(RR$07p^e*Y<-i)Y*P0I8rLrWE6276eNTPv6g`F&mbqZr|8SRlUR8S9aJ=owyBo zOy6T-h#-$TTI*C~Qd^3nn9G+UFz$`ud?00Q_jL|-TwJQ0Ag2;q~soM5+DrL*!#W-ZjY}f-SY2$C=o90E;Kacu^46>gJ#I%kH zdG>cvJU3in?9?Xmo?3ohbTCRVxji4lxD+g_t@f&rYi}=v-O?-f9H@~gjJ5ZE@v(>h z3x4~p2rT#luNh7KV}?V}m35@!>RJzM#ZV`dk_2U_sE~DFOc4;FZ`iSYk#M-Mo z_`$tDWSPc;9zwRgxFD@FQze_$N9Wl|?pfHn`R>D|w-WSylNXrx00>vS)Mpn( z318cyd?x&X@n|G+4OSEYgzGTutA$#*M6piJPWLxAx?K{Qt_nc@z}W6iAy*P!^zK;y z8d)@N%igpwjxy|b4aN+ z>UxS2bCR2A8EPKF)d{*Ad^du4?Jzyh4~nV=c8Epy!b?1qpCwdNB@(7E`pq$R$VrD@ zP?B#5pmYl4>N;F4<#Z`WC)jR3>;L$%a3Vr>$dn3fv*5j7=3cU3Y|RroTegDfZ$J=O z4;aoS`B4;B%KEtOfLcSe*!zc&%!Czm;lpJx9ZxC5*`>@wL=R&6l)s{y6<0QGYjniu zuA2eAZOdfzwm*)QD1FoJpu%w#-vQ-p>B#K}X45-rmfRt!4 zEpH5{H^qJ3RFrQabOcc#sZB(o|zgn6ncDng%beftc zflUvB*AtSX@bbzZvd5gWt<7J;IotfRQ5O>Nwd#yX(Y@ zyqvUQc4a8Zz-chdArq4n3xJ8V*Gd3a|J8uC{#qmcU6uWR$;Ib1X8ziHFCuw!U+JlU?g3bCaG@9j zX`DBTT8C`Nz8y5{M>UqR#N9ov_G9TlP5SrEJyl5F`LZSY(_vSKl|}Qq!`uh=1XW*r zknK{;JRHxx40lHt?kwX|pm#sMSC!G1v43I0zI^X1#F@ym>NR9DC$c7#$>RbJ)8F?O%5rIb5Vzt|nUVg_iH?yjJ|-u_GO#u-6|;*?E3tWTT0aRB z2>vaysk|2-VD}>)anxup!#wr4q#l7@ ztK_8zzIPX6sa!Nz>STpK~6$@X7I%GizQOeyfu z&66L=Z^kqphrisDjo@xF&3Cx$&Na!&0O`Qc>Ln%2NZ~D>a?LT_R=|x|9e3${Nb*dS zL~NQCDO%Q*-}-LT5Th5J#A5;bS+5;?GNw^#uF>y7MSS}euU@|~e}P~TmR7tbla#_W z89u@NCXC4jqgEItQ`BEn2lHJj<+#tWS{yCJu7kO6;>JiwJ~_S&9-LRwD{EhF&Y12O zAKm}LqS2=PCYj(S9D^y0WBH9+eKyy+nOwSzOSvN@3W|-TUXLyj>|uDS;`F3tnX;Ai z#T4$_Nr@pyb&H9;g67Qf=t$Vgq08?l?rBFq+k2@&s(cdRO!I6sPh7EPvKfieksVmK zAgkqnEU{kqimziH-bT=q$oFnM2BE1#Ny^CKq=_R=s zx-FHDs~XQ6slGjZu1|U}+^CN*HI8o5an%8~EX5Yd4A8R=GMI6Te3=Io(dAurz{^4T z{UpIk4F~tF(Keg8Zbzh8=K;5Qwz3{X`L{Bo04uNa$F%eLNmG-FRIRhFgR)v0i+Hgl zUQ2suDKTc}Bw1A*DJfu^qOC$oBj8Gx4@&NDz+Yt6Fps(GX}l~C%{1csacIX_va2Dr z02thDxnJOBQ9ed~;Co^hNF_n2CCE1w=jj)+%M_=?g&PBcFUM@z&Y$YK3fmKc z^ITVlG~P+6HNeosSS0`FIqbv6NkNhtwa{0AA|r!|iAvW9F%3|G4d?suI$TqqHS|z{ zF?2dbGbknsHmrenayruDOo-RvgVAaGmJ6vi9Z z-$(n+rQJFKN$A5-3x5A-sp1(-{jTnpV^S@ z%p3WY5p4IPsPcFmpECOc$uWalW@hWeX&ErEnorA9sPQbUYu3E#*5jlcmKP}EU9-nX z8ESJi? ziBEQo(jdbb?r?DDgW{EK3(@Jd1T_sJIONub=seVXpn&<;GV;{%>mRbM_wI}Js424q zwCF1>#vQG7iJ2U3G7$>**_7-{i&ZjPNISMl1@hyTMXM-AW&^0Xs-yKl%3-&J zx8CKiUx^E~l-e=S%^H^R`C-&cwqJ?ekN%~IpLLe<4=lYGk`}Hox%j0nA`aA^Ir6IF zZuS7$QCoMYGV0Czajr)&5aR$nEj~mf{pPyoFBq7lU94B_$N-CM!Be(XqHn{GHoc`K41e zeOOrvI8G}1%X^MTfUIbN4Q*33mhvn$Lrn#i{>e|?grJ*W?Gyr)t1h+&{oFnePyMxV zO7-!EGH1ZGwS?S#;n$?IvRkSGt+*s#yx&Nu+0aMumzjPXN+3~nv^rx+ZFg(hn9oTn zT`bf>3YpecP4H-T4zQzaEbw|Vo}&0*Tq`i5pz#22ywF4i8l3os{8aowJQ$2~?HW9) zke)i~-8A#w2&_i-{}8k1C{l%0*6rXe!c~XUDrUi2j|V4=-e$<~V3g~#BGDP9x4L8Z zfNFpQ-@Z~jCwAFX4IzoFu4gPrVkyn=t}a|H+y12GZk7zT2(_Ga^wErPHPn~7XO+2Q z364>EUxUA^9MkFUAK|*%64ZPFS)lLZ@m(4$d}sVge6Kd}!#PG(*Zi9nJJCx=42tuEFG8wkt~D zLUU)f}#I{^|%W5Up=svgWqi>{Ixtp!;(w>M8@6Z{T44bP9L; zmc~|6vBgr{;S#!T{Yy3pKAz`?i-}eB*<n>}n*Y`6Xfe}JV0DF3@3&3s9P zveBT2F7z$;XBhs&Gac_ID*@@OBF|>wS;v)J`cO5NBV&wjjrF0V!Mdg1z3bx3#0FJo z?<<8+i;0Cf9qvaVAfe^QgZgEe`V7B#M^)}$q(f>W#dt5g_?z_{dL2l5W1zhPRn3d| z7kmHX`}p5=G{DE50Al|Y+sXb(odyscB>xC7spJ6f5&o4a{g?l*-}!IxH^BHAPnE;g zA4QI;E^Y$1zcP7CB!->i)jt=-KKfga4(R8Au73Tg9)Y&Zee1E(zps5n0WO{U=US#Z zJtUNu?4M|AivNE4zu|a)Rs81w>uW%OFQF7Q#J4$Q=f9&}Ea)&$y_S7P?jl&=Di#xL z7Tyoq@!67bTypq%e?n23I-;L7t#Xvb?6PirNUi1NoiL5M)}Mrfw(bk9-OmN+2+!ks z{*Y1O@4v^-^(h3tpJ6?ymCWIK>%xrw7O0cgTkP9qSl6M~mUbhg4xW)Qi1K*#6_5w{ zSP}qZSoqXXx`#~VlQGQsV2QFPWn;*Vx#Vlpq&6PqNY8{6mQ7Y$dzx|2U*(RBc|R#E zk@J0>Wlo|$Vg>SQtDNYc`&8I-s?f9^yI)rwxU!7%m+4J&H~;XaZU=79v`p#+k1MCR z`cKKl-VrolVkQ;1^7GL@pW=#LGO`=o=_|ZY%G~X;RQ)3@(H)BT zHEs$-&S_87EIIaXn@RzDlr*t9dnQwasVshm((qC{cJdvp?z5BKn_j7e-FW!B32_p$ zAtPt{M6mgkl;62(vx@;q;ecQn*gX-OmMZwMBK@~*Kc?laau8fHAlM%=8gKrwr9r4C zH%{wjKc>FnGDc#K|215v7oorej*a*NT^M)y?bTPYpU8_ctwt7?9Op_LaEsBO5~Jw* zHV!PTJzGMOe?D3p)MErN$l;QWegt}_E;P_p#3b(8I! zBQJYzo=$O=`gZPgk@Zpn`KCkvhpqFDX1o9Yz7DiTr>I>OqXaD)t43S3_ec<{Hi;dy zW~+*dprMpltt}F2#2&4^LaD^o+N<_%)pe)Wb^X4--|xQfb9|0}oP3-^@_D_U@8|RJ z^a(sHmX^2bD7vd*C&`mk$C#P`mz{s@Qhj+chq3PV{BEHQrV*D|S8=)937qkfu#$-G z6%0O}wNh~1p=Ct>g0c=){v63Z(HlDLnR)r$sbTEfbfux({NuK)Jk867n$>y|o_FNe#45_|A6*(>$@i#THcG3n-%8xNW3u-eDV5~Cp(Yj)?2<_jcj$Ss*B zXtt(?3OhnhSBq^vAN(XlG(ZI=)iC)}jMYr#xTxFJhqt@tLpt=m`VVt`LmA2}igK=n z42^~KTBg865IJ7KW6DO~HT32$Fv@djVfG`Y!7g~aBp4)(sVuv` zvm0jViw)Vx0^Ui`id$@YPxd7yhC*xH5v?l=8q)UhT3yR1g*av-h$9ux1(hE)XrNH5 z(hg8gd=->wmkEYT^ns*$j>3%nCL-6Tvj`aLBu-t$+8qJhU|+N1Nh?)s0t|4AaK!?z zfB7&twDT?B0?=oD;KbKA+@#|{{AkY!m0i>RVgRFsbCs0%x+zza+)e#VJ%i(>fi$A=3Z1B z=($)KOnN)A0~Dv$743d7ha$$mW7&Bt@_m@eu9Tor!;q4yEQ%*pi?v#0*G_SE&@lHkVhx*VWymGv*0Ak-d$ zbjJrf4_*han{Movq`c|Bw!1)jGVSw>Fa={>;^J5mgc^63jIwvN*P$<7R3c`1z3To7 zAb3r|(J?iPb+br~e7jrTCW~lFdX^9MT$K$#=yzq&Xa~Qo!&X)$XpWamtmw5lKrzmu zaWGwR?dXf+sxG50%$3(bxVUzEt`gT%JBx#M5A;}uXAWN}$VkD}Bli-su6HpnAnG}u z*Rv6NYscoonJP5NlW0cRcyd!MuYZf;rw(&vX$Q5e{ zG6Yz*b7*pNd;}BQd>2q4jLr=l+-`Zuetvf!*Su93QE#tI2;lDc;7i)Q9!I7-4Atgn zdL)PWp}TF%nJ_$XWMQ}t3`KOMoSV*JV4F8yxYf5uZ3{tN24)b#bf~p~`p&m`6T{c6 zeeFpXN@(>(gmrli5!=z?1cRQ>Hu)k8rER0y&d)k2O#uO1yY+b@(>l#;`{q6a(R#iVeB`NX6LEu96b#ob3N z9D)ADfgLe$y^H)w;mXgKi9TU1zKH$yGKgWf+e6%UB8Te*nrF7L`%Y5gc{=I`>QQm) zmsQqM5jB~xbX3$8ITF3uE}xtN2DZJPR0P)r{=tbMElf#9wgDS%2Nvu-Fv6g|~G}YMBGF z7uM6o$Oqqmy0fUid4DzpQTydf6)3IZRk!s0#d@(z!yT;(Sc+(i;Y~v8X_(;P33w-~ zee27;U+RRA=cQ^z1k{re8tjEq~zJi6$vHdw;MCCfAHhNmFEto3z9k_NWDvSXGdTOP63>F$l@;(ouGY zgSQa45N~Lu_^#LW2EjK6tM=BryfdtmMI_~z9-GO2=G8e0wsmnJaEz_XS0-U^65i%E z5g7spxyZ<94QbG`^hLxke&01#cdiV;#EU=dvem181x4S@6ft)>@EqGbcr~KLv5ILe zoKzSOl2)?+;?($UPNsbd*fGuR>RteqR6n7jz&b!~{PDf^pG)4Uqgx9a)YSaW#defC z>zMC;i|2iQq>a^k-$O0Gb2%N5yx1Vb5yy7t$h3<`e!NNGLEz>oaewK@+Rl;h^LovU zi|OO^I0qY6d@JwSexZZf+IWH6BBor`P%StCuvn}sxRD_NU9{F`!}%~7 zpUs~}YPSqk!yMk?Ek>VCFXqQ5wM$>z9$6GH#e~=j?74Jhvy4VhIHy*Dmd@)SBd%SH}Z$F+NJSA9Uo!>5CUlB-Ul_I(`I|3vo&|n4CJ6 z0f!oDb0_>)5ySgkhi3Ix2N6BucReh_zRVIO9LaJpgt4t>a@Jw&`PT$}X3eUI_m@}H z{?pF>zxDcm#`%{i)E(d&b-MmjOZm4){qM}jHGKr-cDtx*4nul%Zj-44s>hgVX0YdqI-Z%Tdz4$+dT2S;1Gyi zWBlrBs8+ChoQ3C2D=X0YBk$^M@KTnGq;AbNDX@B7VCEM=rXztiwxKGtX09=SynlE9^-_6II~6C1o%tb4Nlg60}z-s3WR(PwUvyIB%cf^PQhD1`gG(Gzl{O>(xIw~^twQrJL>yFD!S zP}f;6!{-?_j~tD8HpUMH&s{=zEEkfH)qN9j!kp|krkIfA%)bn6oW7JAX4uoD2^o}eB)tx}(^ZNX(!Y}A?)U0bmLvp1?tO{3r`tfB&14LxC z63wtj?yU6Z0|L{$*LcKNso+MDxBdw_W1X-)lJbmWuST(`Gy4X}Nk6jKDHVhcf)=Ih zE8s?2Jw-Ki?(_I`bPj7ha+ zR+o|aXea!Yx*5#6v~G%Sb&A-aDgB)?h)H{0KF%(OD|dCT&qw%xp`Xv<@h(SQi`D2j z*T-ARu{_+V?oeMH^mDD_4OcB4gO?XdYa1-G1&i(ZQVug37><=Yo6gk@ZZ0O--M9J3 z4ayf?NRYd**f0ER2Y%+}8ye-nHyVsV0zT={ZWEtMd}QKn<-8iy=Z-{qnk6;HJNhK znH^17DsI=~wfqYy%YjxK`pyro+j4Affu`=f$I8km~c5fb$p*HDb#(u=m z9r55w_-wEy-;{cFDVQ3i+zDEzExj3Lei+J*Ff;4QDE^AyQ`F&SeS; zOl#*+6u?9}b)NlzVMA?>JXE)>4Zy)lBLVhPJRo+-AI?YimK>J7zh}LztKY9N`mqbt z@-;lHtQGS(mxxAMy^AE~aAr$6I2EK&glt2cMvxVL?1j+IZUu&sYK&mK7gbsb4~Shc z)69_Ii+JixR7}K#kt9qu4~na{j?v6WO{`gRha?*-pq|lz;lp|5y9DiLZ+%MwIC5;X z!~1QmLgU?RpU9hnvy;@%kGML`(S%XT62^_A=l&du=rlhUEwa|G>$_?CE4 ze>{G}kSV&>+uYRuFB*wC)W{nzRj7-KUvc==fl1X4P!{FK_$nVwH(+eiqOg0-eB?@r zJksi;Lnd$*#9C!v8&JacOUX&zwCbo{R~uiW_n?$_L<}v%T>rkLt6ZRLK=&ff=TUE# z7R6}_GLM!VF>ydvI^J`PxUy0TVq&7au22X;AoM;SOQ9%>*P@L&A76B1yhAbykWjlI zbRI%dF^ShTHT^+c%H-XCx$*lev`ivFhUjh$;-a#+{YnE;dABW_K9mfEev^VIONY|) zL$~GTW77zpqH3#s*zFCrb+A}TxY*Is3q;P=UoL;C`q~c<|2Wh zJo977{VA1TMETJGyw>u9x9fl~VRQKyPS+1|sk8-Uy62xLR+)WH5XBbH-Z?)uHm1;I zM$cthuKppmp#U%t{NPJ)qZkV9^*qV*I=khuGt}yxF5CBWCS}#r)c2y(mv0|8v0W3@ zrLZsEKQu5NOMo2rywn_$bEo*%0a#@n8WW#f*k1My>duws-3f~XuQH2bb9zGIadJoj zr#T;cAsgz0cUM)p*YGyK$;!K`Xl`NWILmJq36i0uQp% z(!S_}HU)ghTOr)#N%Hrk>y{9gJpr)`3@@W&qABWhaTKvv0%a0?kkOCn=>?*GU-pCK*o`}=Ql})#FPy{5tHM`z+ov97_s-t zWvwCNs~dCqa6&F(g#?Fn?s`d>OS>gUInTU)!xp_?>a#Ur*8yI)K9^mQ8yyeZFTD&m z!h4~&v6W7gf+E+dpbQJ5pMNOK{TuxX|#@Hq!Qf6-tpoqsjYm`@G@$pvpK zZW5poPi<7=Hw}UD5|K!fvTpAx;{bah##_nk_eYyk!7G=dfXAjiBV&%dJmkH@^^iL! z`j`-jlj4Q7g9(z4#+t>oXAl{9H1*RwdaL;IEr}Hy`6DBP@$8?8HY!KDNwyCHXKUx- z@$fBe;a8^F6IXzx_qXl^#A=j2h!LShb}ffx%qH*?0X?t^A5h-*_0aF8a-KWYjovzI z(azqVJ7E~5bv0O`HwT#8JI5Wu6CkP;oAz>2wvWkpPW54TWjANjt#StmFZACa>GkQFI(6tie$}PkGfG8o5N|+*8ijvl=aMXC zf`@;1x~oj*d+w{RK)wuG=J?&Ep&%uM#tD|s@woCk00GSJxyM{GAqS{|ct&IKz@akOrA)VZW8fRKF{fOCNES>~L&*#q->B1B6;Np6VXsTmv0}0z zDJilhj2q!~9|-&?CE#9z!?zK2y~e<*xyRd3L0J5Au#kdNPDC%0GXUst2VC&5@ijF^ zU%;%7i3eY+UV>1U!U?&mE|53B;N1s!PJzkR%>CLMS5X`JJ{ko@AWg=^73+umpxg$z8q#2hxA8~(LoGplAx`o|;QmKHA zH)2in)T<;-E;TYw=S)=-{MzO)Joxs?N&hH;sOwpDOk`|WTw%}l_AoG>>70FhZ3bXlf$xxLjIHW{2xa5|1!M)U)~w27w4Zj z{7)myp9aU5FaI&R{4u-y_eEtu>*aS38!$Qk8yNjxul#Rc3zhZEz?>bMos6Q<%|;sy z{&Da8&r5}>r;DhuTyo(W+ADG!zil9)K|;l8zKqiY-834pC93tJe8Lk#iy}7FR6u22kM%PYX{F^124o61`Mxp(gY`FlxhB@@O37FUNlNJyjS_a=yvr zZAsWW^Y$+q`FUat*AnwFRJ>R|v?NPqjG9PcGlREYaen5}yxs}$kethQIb}1-)iM#jRzj+g8@D0OqIw|*BTGto{KZAG z$Qr^ynvcyXywj9dnMsRV| zyKng;Mq5+;lh>^=+%G%c|0trUp`Unx%sx72scwb1Y)%veF1U;2)^4=cc_Jx9gb zpsh=AImYu3|YKynl;oYxaDU+O#eX0*uNPdN4E$tb}D%^&X^ z_jBr?Y-ep9cCZ~Mzzeld_mkotlE9})YixpTcpk4#SbAHk zE}5&wD@`25!Ha7jR!>O?E(t4VWC)=87zKwxO z*K0Xb>hIt8+xf}`<&KSZf~`~@`M+UCR+$&r^31`sGH`53hHCQU!go)tD^vN)iXcVO zU+L7jajKT6?qpuW^x>2#O7`a|eaqQ*k0Q%4@me0L8f0$WSk{&+@?^RBi|OP=o8&Su zz(XUCZBH4Rc8JqRUUvDFNm4r*I_UDt)d=wFg{|!=LxwfXrhLLbMlS zqpU&w4YmdBgo_;kBww}1mCt^Gys=oe-n-mzi!K=ZYarKGu?eB+y6irF*wy3U*~pP= zWUVE-?3&aAE>q<~Q1_pN>yBiDX0hU$66Z_A8+XM8JGGGF4|P#X#}(R_-?4K!RjRpL zF5Mbjm`aEuJhf)u(j0Ec;q%f5vmk-)Eet;@88<(6#9de-QdLt8)Y|8=(LNmT81a74 zm+c@s{aEP?a-_+4Qu&uGrHyNs{Qm^qkGo;gxo`}ShIdpI>ce$2{; zcVR!F%BT}*Ft?pvzx0qk)x$Crl%Z2Oosa zHsv3UY#oT{UG!k(>XLj|n(VPRcJEhpMC1iUkl92L>2|#3(<1X1MzmBK6Nzbhc*DM@ zLxXCycA3(TRU5DV5^;4+_#8`z-SF?6t$fLSAVJ(-&+vvE0mNw|_tw4$UpVQ}>Q}P+ z8K!>_uDy!zdxp;?WyedC z8)y+l8V(&GQiJYHMQ(RWhZlvND< zlY+0iD7Hg!Ur0~(9I8mHEsyQbQf)?Y#{f-@mmUqqrq7$Ej&_-c*?t+ZvMszRrY2#g zG4_~jMny1Ohg?-NwGN0j=^gcN^R@u06uaD#)X)C{8|b#iotqNx)E#rN+Fs zjfr`sTh3GPZuPnZL#Ib@30^tR?_s)+lJfTDz8^U&)(D(=at+ez@HJN3xplupZFkWL zz8c*L4bsv@0shwd{+%;0ol!8fJ8wPrUU8%|M z4oML|BRUcO&wMTxE+n01Y37G4jyN(tV9nf;>OuKZZG|Hax|H7(J53_BX>E_!G2d8- z7$B-R4XTHo7@?a{pZ}ij)4p?c++=>-{DV4v1b1# zW~f1aynm5%k)MZXuWA4LeXZh}qJv^TocyZgev%O7-CcpAor3k?=51wkyyt?A7(DCQ z$Z!_1B4E7IlUg55wz&fb`Z)rhMZFw36=KZtT(VJn29+vPL@aq;oB_W&0WIraob+(e zx3%1r=Zi;f0k69u8lsS$iPjPGJv)^i@?qCQ4$?&BuCd~o(Hy5_iCZIaK`=(5BuVB@Q$V(!}fOj`G7I=t3-thiM zg6Lh-Im`FBD;uXG^*oy`Wlm*}i<3MWOr|}?;d4BD2_chM1_5)K5;(hXSQQb}43GSb zJ{3VarNzx=*22ZbUuorO=DKPX6|w8vk{%Cc?j!61-wGxojpR?7sf-0~eXUX;kKAm2 zdo-GA(CKkKwS}Xc)=;i2q5+OYhGqMOw*=r$`-E#!ZqNZ3WQD|=SD11O-?~+xUR{*0 zsUZ)2dhc<9{TA*9lk~@8og;vnewv?4q=SA&CqU=XL<}^xEo3$I4V7%)t&$@E@9GtJ zkfij32Ba}+bPHqpi)>_*^anAb_oQRK326gD`F$moGzEFI^X-s z*W?E4-7Dp)|J`4Er!h#NbAa(TsKbwV_b9fL5csx^3#|9l8vXl23I(V+UU%mzlf-_B zo!X{#dLWO^A zXFuiGHD?Jan)sb#MbEov`PCbR+$)5sbhz;QY2_>wCg;QG{!X@@{o5XYCiY)l{6E0J z|8md#k-7h5TUlEE$nr1M2LF-3|4R!0^ZkE!x>HqlKWcLIg*{bezsT@+_oAh7(AO0L zC5&1c{~wObKgJn)Lrsh-E#n^}y()|GpF!WO1$8@DnyT&pZNLF)Tw)nZ;Y)Cp*)LJ) zIF*c2txA$P-Sy-eQCR39-WUGrCt%OmnRS)-D~Gn3!|!Fl%+JHN0pXO!PSOZ_Nl?eM zgpfg|X>ekKTq*OmX|zC1jlb#l5sXnu!Qf!a7;xAxKK7ea+V7_~VSCLH%B-RdTD|9V z-+h_`Z}a4Ni}la;!Jl6^8v4~DUnz5?-VNHlSd(GgBx}Ey`E!L~pKaappx8^H{Kol_ z)FYwUJ!_$gaLLeJ7i#bMNH-3T@j+^j1Ae$UebWfwE@qh3#ryBC!%V9=%Y&dgIEQX- zVO%6Y*yYKyVtplEqKn}DSrFQ^^Cp|pm8nsZx3|Zul36c$tzXuw^tPy0vVxQ+&Y~-^ zv)-%S1IHDYdi)NYwD>MC-@%b)zn$7$RgdvTUZubFQQoxv=0!1$3CKt;RxslD{obBkZ=44&)oeb=1o~XccE5m49vUi(>^l0D>r2yun^{y625Ypp7&yynDY$ zoc^p%W26qhT827rAA&AD4>2d`E12qw)vbT#qJ)s^)=93{`pni}lDW+r-mbx}_W=2! ztVMTHGoO_tm4#1!IOv#qfsj6Mo>bc)3Xob_3IM(E@x$aXZdD0Zu(q%`P>y}JmUErQ zstr(VYAqd-7kIVZ=`WfVokOlfjDAXq(XAZmuStuwAr^X5Ufr1pyt`u>FGqJnga^N* zGq%YtKrc|4IoYzp+tl56LfevEt{pD2{wN!#SS$9EQuf9ND+L>47EzChln$taC<5rWE!j&@Sv`O zRsq#VP0aYGsk0ZA@Kd3@cf1mGh^Cc7V_2iE^3EElMYKcFB8j2C7TwPzpFQc`rI`JH22Go52L&; z$(+?4#rYrT-ot4ShATDf&c`8GNpe~{aAt<9=}-u1rpC==JnkkhBuJYsk-iY`K;nCS z+FQ@IVoLBG>XR-0vQo1OG8*p_m&K>uyGHp!ZL24!T-=o{MtJVLP!kD4NLs|D;wR2f zC?9gUOdmQr?=mq&Qu@R}?>|zX!uKg+=(2)|bzAIYnExDrwz0-=s8of=%r3umQA|C# z-NmBCf{i8FKVQciJ5~AhCe>IjCAV%tok7KlJ`titwdPQsV=WZjWT)Tp=)=O3j9LQJ z`YtWx*;X4z<`XF$KTcuTkjq`!HArrZ0@kvl%+d0?PECdRjjf`dHz9>i-(NgyhYjaH zu`;8=e9&b{Y$cHz)&BTn!m%tMFZ!-i)zk>Ko$NcvFD|`=S`&@ zTO4kQ)-7InQN*X0w!4M;a@_BXxlJ6=!czzMy|1pBezCt54Jfjo(^dOM|Ay96H-D^| zlUDUFnhX2&XCJo1oGuAW3C)6AG-7TaBmcO+og@!IA0V_mN&3KRd9!IeKsP|^K8}9R^#fO z+xjyGoik};mlW~|9_U(~O__MOn|nQKJibL{{Vy8PI8ff!X6qsLalkto9;9L4n_4|* z^{u|289nEXcW-JPZk~I_?^;!sY?IZzj;zqs=C!t7fW& zxFC!cP7q6miHg{=mvVTy*n}@3gl1B@skZF}M_6C=D-SN{V&?mgG$wMFEV$KPF(jR> zU%!8gW#n>hXN4&W)$MP=82aO?wPHaxwbte0d0Wki`ky0& zvCUud;VUpfJ5q?!%=mYZFDc;p`qi9h-wJ8T2d7CZte@~rQgUSd{1nw39pE?UgM5@a|>-)9-STskbw8 zHjM4sgyak@45#_3qt+B;@*2~`x06Yp*DpTaOTuJFiiOLboA$rfR7su6l;6cM>YCcl$j@8K`u{PzjehK#BO zUquakDo#E8=v4m*pKX2Wd^9qw%%BnV82$9Na$fM~?Q7)q6C|U3?A*_hp=PER0>(}Av+AT~qRFDg@`Ke2r;uG}*$H5;d0p;I z(1K#5a#HXBLD(+cmu0$RkbPz>xY1CV;jomh59TuPv6SXZzu)cOKA`2xw4J9#za^-P zz|{>UPCHzF{q2%8m-8c6XO6?EZNha)DaQe8mXJ%YV{jUdrc3Yf)RVOhl2rgBNJ$D? zfH<*%eNP>^Hk>7ed|=G6i2W7-SL1vK=mlm2-68pjz&v>FgFB7RX62vSpxE9ThK@(} zIk4)RQ@Fw@xXZ%IKK@v@?)tfKBd|)=v`MAgc{dTo+)NSZanVTxJAesBHJBNb{ZWB3 zz1l{wTOP#g5{vlisluC_x-QXl#6AQd^S9lZK;x``IwymNP} zx7C4Inj|Hd7yPvhL43~W(`nLjHY)qk-xIwVRlN`US8{*&@SjQiKdS%Vdi~!JnLkAG zKgRYyH9LPWk$rVfi1Y{>tPXhjq&i;FbU`zdN?$fg5ut>1s^FV1G0*YF5KPaVw zq06M;ifvH)5FFMvSR7p33H!;}Syvet8YAmGZhoOOw!yY2B;jWOP0e>h zi^Eit6XzOj3Ac(5sNXYRhAYvci5IhZhv(5VcpJiL&00(|%a}o0?eX>!s_-Bv9#C%A z{kcG((22`bal=={p$V|fJP_%bgJE z7r{7txd(@};wSwlMggs5crlQ{jpUxGH9hHNk+*T|pBieO6C|}mdWSMRa)~x^+*9)8 z-SmVAbPeHhYNfb(o=%-8vb#@9`HaQgapq6hS}w+6CQ45ro0b5H|93LkmWxILY9D`? z3f8+`IY(^-ZL%c^fl_y{hPS_?f=V0JJ-*#4;yNi{EAjr6?XC)Vv_#~+O=6#i=r+p`tacS?s zgPVnha+y}%EeMu-VFj0b3K>w6ICmaK<|Q44D2)713u^YLnACgPU!xPamG&Dv$b>~w2_r{G^D-)fJ) zD(rg1(PNBC%I$~qJcS@71L&npE+1;PYYS?9g?QE68%{aan$@jYEHLjuqZ}{{PtXL5 zRE3Djq*PZlp)TRB3DUR{wMrN8XCzSXWOpor$Y0tQz+V=mu_Q0wqwGemX4=)7pO?l@ z(IU)U@%U1{#S)8AemB`-H!8?{o@5spy1|#rkXHl`cQsKM9=W_@SJYa-nfAuJ{mDGS zt}$0q?{mBynCv3n_QblODTjns8QMs^OZ!<2 zG>O=(VldJ2i~uszQ?upW~%FKPYi2k!qi#4dxs`?bc{Y}#NB>Bu?~eQHY{N~RARVVf!HE`-bI4O6zu#P59gLw*RJo5w!-bu(W5xu0+ z23k^6lLYmgsM}UOdNfjI^@x)fjr!i8Z6`UQM(f*_9Pp)DHdJhrw#2AJo`&aTP+`vts>qxDh&imb?#u6sXLN$$*fZ?h4Y0s3?^+|&YUJe|heiJe4~k?gW;MxR#o zW}rWOM@z0GTatShOwrUQo2~ak2}t#p?6Psq5Jm37)t5?dyMD|@$)PW|R5pz_1wh%s zmvUR#VZn=*d8`Tdx-K*)@k=Ir6Q}uUV)4}EOB<<-{-&(A*MAC)l=Q!YLk~Ue%S!o&RI9`r_B2c zSO{T>2Of7-#h;WVIyyu$d6XO|^4CF{s6+?@Tlbf`FcRPH1ESX9S7lr15U@h1B zWJ~j90&lAzZ7_=u0Aj31h|Xh-wd7-=Eg@28syD{>iFA)VK07 z1#g{X^RIi`2YYVirIG|gLr!4jzXU%h=g(QI-)AoejWyl9Sqb0mxbOUPfpl#%=b#nO^(wCYnT$Cd*l$gd8{ zUaRvW%`vzp8XV$gLM=V&R-K<5bw!r+cI?J$n`pW~8dtmOCTkR3izS@S-9sk!XwuD$ zvE$rGZ2U}E3r%z^$(>uZ$F=ht;9kI#0Xhtuz^YVRlqi0?mL;_$=HZk2iSgQ+ z5hhU1V8<=*b<3fo*kOI%qc`7Nwjc99e|~~kz8SeqJ7}x?w*tMn&EXi+wtai8sd0Cv z@#}MkPf{m9>KQn7?O68|ryCMs7WeV^w237If0Kd5wasqpNs-PIi>R5{%E|>ItHIt8>_r2A>5=i#cbKrMoNaz1}|h6{PaPs$^Fr;x`6|ao2Z8xo+ zyEo?GKDmGIac7>F#*Z+s_S$E%BsmjY7$v3L9i}f|>)`fUTu^#LiCAjy#s4ahBGz(| z&8cMkr0j((-a!gtX)^eGe~)Ampu0}Xv(jjlSG&HHJDTTE|dNzDeH2+z;v*jK&V zWO(z0uxs4Q#AV`^_u$^N%aXB%V=YO1=ko4 zt2|fJ34qQuTA4jGHs7h<)M6<3$m0Af3jB6ba~*cb;HB!Ud38Xmr$xXLkiWqunDhB; z62fI!`% zM`~xbA*SOBEm`KNm~}G(eFf1S?8j?m4?lqK7xDO6#erbIr=={1hb~Kv*XdusD-k|j zGnTc;UJAWWRh~tqxog2p;V$ir0_wnpVw@0vq@{Wth02Bwec!phQ_vXb*VZmJYMQ!w zHLJR7y5Q%?BRTAF+}$9P;J_RKl|^GpZzbB$+Hll%rp})4>5YsAA3m~6 zo6e$+pBJ?Ld*J=YXYvn1k@|XnZvA(1Q$sjJSonElUfQivN{&#YwvaJIJgYZi;)_#R za+D5aPr-i9iSVmE>gg1>GQ+XyEbTVpeeG|=q!I{mIi#4B*s^US_pE=byHJMs%q(>^ zr0Hx%cAWppQ-?#GqqC7Jc@=&felQZT{MxPOb)d%=3%$mn{s zSYxd$$))uSl#P3(%C+_d;o15_UQD=7hdN|tV&Ua^6)OixI+}3n5GNhCnmNGe@*$nZ zHujP^;Zhv=C&w3*&PTk)yl@=Ze|p|o(RFerLB`Gl{%n%zC&luq3My;;Of45jO+}{a zUZNy47MD&DtH@~0M0oTHu@f)@{H_n`)ugn@97@xbR4Yh=q&_?fizyP}6u@wOwGhnp zsEkeb)|xHT3u%?bcT@)mPLbT#r&|3AekWb%`cD3ky8IYUCzpRb_8nC(P`D9*Tk`7O`a=&$xlM2S*!@79E5X4;2qwF~kfJ4}L*7dy!q8EIpE03Uhht z9bcia$wJ)F9mDDTcJ^ws#qt89P5_Z#s9CE(lGaXL>jRrmUFTcOtQs-sB+-H zuD6hMP$FR<=`Kj%d^*smE>QoSjAZEQPw_a!Q4Qb?l+r9~*97z0b?l%I}N*%hvu-$z%r^69hyTFnPeD9@mKS4Eo+f3 zY}ZJxw-6-e5Jg+P+U3^I2NSqj%F??#bs+v8-muG@(hpcheZTTkhnu%3jh-vr{0&Uu zR^o|yuMGMd$ZPJmY$0~F#oL|BAR&Hg&T77`IJRNmQ_!N_~4SR?G&+2Xf@EC-nx!t62(86)Fq)hs?qUvhhgIZ%#ssHzo8u`bUy z0Oui+CU5!SkE}2T_ zOS?fJ*50UPKStfWI5~VX?-Hins!PrHOXRW~PK;AD1C;Gz%Ef@E+z;c2Mn?%Jl)K;8 z1(^x7Y_!YIUge4`s4_-POG>=eVO&=b^ftf4sfH-8t2UQpb|&Sr&ND&N+kDa|JYcW( z3FcJJvjRk|;y!M;+a>?E$QeIknW;ealU#@(QN#zKD#iZzVZb%pz7>^@hkdlYlvW3JQ1v5jkC%jeq*b7Js1{;b%Rp+M z2f%t>AIlVRr3Ya;yCxf+=qX*tK8v`>gsHd}Ut^c#@Mf09m*64oMY~sf5HX+8PYcvq z)aEIY^iwcs&&0d*uZ!Xm_ijbGW$u?bv43QSRL3kBA?$V0^!RiVi?;vPO|8+23du7V zqtOWvrrj47ny_o{g5UHW?TgnuMxur)zM7jjgeDD|E$5lhSyIwmUFh}TY+Nm7u~a4v zL1`eY-8}B|Lj`C=Mzan>&wRdBS;etBpwXFLPb31n{)tfhtlxwow;TLp#Lcc$9QwY3 z&9D>vzPAxhSw!-g$Em8!f|S>psd3nK^l<-sVXE=NJ0O3uBT&+=zNl9vSu+d!{DydJ zDcTcA)!$${(I2J)9Sqa42bag~HA5IX-(4D%h>bT;Bn4Q?u#(v9G?Y?G3cK1njgh(- zrGb}Th@!3aPrLs6fVLHBcU&LquvAs(GGP5Vv(m*i>)Xi+s{ASn3Cym2T#=WGnOi5q z&b#%6P_>7pR&HkqQB$e^*t-+3f3x-5SjTwF6!aKs9?~8(5*fLr9tkia~Ut* ztWctf`hF8tB2`8H_7#h)IJwiS}0UjOsVbx3{?@!ErXEx|= zEsnc#&}UvqfAcxWG}%=qK{6@HUshH`Jx_*j?p$_tyw75F<={e&|LjM13-}9!KSh7) zyI+ZXg1r6p)+WC0zi0q&<>Zc|_DerB@pLGcyQBW1@qI3GJTPnTwrwKz&5P=?pl>No zPSbvorN3fkS$&;|mB!Q-j80sYg=dA-SH;B2K(@VdnqMSn#Ud;Aykm~8JV970aOQzqANdm_UB?#)Ru{p zn3B{tD%s4eYdLxq>lRx{<81}NhuL$+gZo^5=)gmY^Qx@|cPTX@+*gHsZsvj2C@U&g zQs@fMAhCd5XG`@?o{gjT9jc0NN+h(eolIsT=-`lvx(D=grgPP|&lKi-uD`g7fLnN9 zIadV|W%-|mFT+|)7}{#4S}L*|OpXF0y42bW$k9@fF{0QgOGCgK}4`TXEvb>s_i z`pt$sWFYu)CqUo9C3^0l=ILgk^b8l0pE{BzvM?$ z75f}4Dhvjxl?xrgP7JGkOTWlJs&Jv+>(v;T(-;9{{RWXm(tTgRE zGJ|M-lyHk9njj7 z%jMKKC^-jfnO0InWQ#5)-0tQDaB`t8aJ$OpJ83gQBEZ%>@S#$cyUKa;w{zczxpJU5 zUi?4RDyirMFXj1)GAd0{6IB+^^v=b9s*kv$Ptk{o(Au#fBmtQYA>B zb`6^;8|ud3>wQ@Ku|sy#Kt*)L>vS7h*J}X~k-UqLQK^{XlkVRi{+)EX6DLv|7hu*K zWPsM-qLf7Y++Zh%?V5ZXWO>*QadP`I z0=15k*MdroEq9vOknNT)?Q58}t**-P`?31a@zo&!-`K#NuImXj3Z}OCvOAv!z(p~l z;UkK!t~+=B4`t^a)b!r%YZOJLs3<`?N+$uOg$^o8?Df)XMfgn;y( z1f+zHA`p70NkEzynn+Qq2YOu?>YCcI|K8ZKqxbiWPR8Atmi3%q5TGf$^tYC zmFP>VS&ckMiyN;CTFg8zl-CFcyVaSBd&_3~g0Jc~?OMh7TXamQw@oA~IhV3;s+0?)q{ke5zlq}m(=0C2?G;v{=^Q}PQ z&T`8nV%mE4iyY!cv3#x$a7&HP3*$&Fw=)<)Y>AB}-Fh&d|7Q@geo}#6q>TX*g{rDw znzuqtFXm?V0s=NX+89k1{EYK)Pr8UIfy-a7p}zTe>k0$RV4E61@(b4|@O*pkl6YM$ ze<+3;5gA;`Bpo=!bhS3*nx+x${Z?hD4aNhb98uYC#Y1&DvrbxbcF zP&}f9329(8AJv#uU1NY(46gW2p9`OkWlglSzA-Ub!8d*oJ>UkLstZ6vjvwC|e5AJy z8=a2nIcsmD>8K4~K_uV5e|ljY-vkkX^fWT&SeX=t5l$MoC6>aKK#pn{|&^&4hD;}5qu z67Z-L4ric>ev?iazpUQ&7M9o4$SU!oFdxK*+@B$rRVmlov_e=$Hv~XLU;6SRC50yB zTwm2XS>_V_YV)^= z?sM`=CTY3dvm-71NU`;;RLpqG5!H3Q6?{I|g=g_Q52-0W*cj<>?Gn}-C5-^ zg6z|WQ*y`&sVY6XdL2CCc(0}g_5NXvgUd>B%Iu<0hVsnv9=0-1;yeBC$G1s&F7FQD zYMhClZ?P3(EoQf^g>AYJ5yfKl@;n;tHKy$D^SI2PR`EPfm9Z=;nCU%-8oOGAeki+P#jlVFh%iLR|-u-u@4D<05)=x#F(_nq5kn zoQQ6c7dt&Mc31M5Hx(YM6bTEX6f|xR_Gkxj9%v|+uQ0`age(4#bgSC~;C|yN`yuE1*ntd#vqT*lA&sUgO*mP1HV!(gnc5?2D-B z8!pZx=TOb{<=}MpK)_Rcp!Yh491C@mn!@v|*L&9J^EOq^KTyFoFz9^xhSVGAxhbwf zyY3oovSe4&CfM`duk8>`t=*7YxD-CrbV%`a zHONK_;sbS>)7~LqHb*Yq;lXccuT>2}eMK0RYo2}8u}?fMeTp?bKW~Vo)3NH{QV?Cb zGMm~iZuGl=mT(9%O&{T#tnhrVSbrE@GU%zerZ+s%bAFWKj4Ywy{Y0+yYcV&%S9 z7$TGoCqJBszqpy`yC*pC{_){ku@Mf|pT67GQHKz}6^|d~-x&UA6+a)lsri%RSmE~p zLXkBf)wEGP+O8DmBoeuLY+@IiY{U0Ag}W;<8>(?UIgwZYTs9NECpiAzqlx$VV<7K+ zo05_~sQIfW^`NgKth1+F7!Clt8QI*bY3{!Z9^5^2Um-jfcve@@TyJXk<2WoyIw-?s zc@4GLb}Qo!h(JJZ66tlTn;dV+uck6s!!?fe%x_$Io(z+3c6ot6&#ZzVBqc%vA zEfU6?ys!Th&U58-PW;D8AK;8T=9%6vrnICn%fm{h;~t#MN3g^DeWvp8)zf7Vka2=M zs7jqU*fJ))zK@Wm~v)nF{`Su#wo6OGd5O|#5qGetWgXqH^U;H%nA3xQY&=id-+ zy=UMV(Lg$X>6`VtfH#W?NS{xM8BEC9EOf)IPt_wMuM@<% zC&@N_F!2>MQ8Kz)$){K&{KPfU9?CBAG6Xz_WN9@1xL0*0lAA3&NxgYX$IswHa5hOn z)|wb3oe*~M;iG^FK-Xck);wSMr1y%?Yb5DeB>E(FapRx*X=7DyQ$pG7MPJr#^iw;td0DH}`+ft-kfW?qV!bF!U z=Zx8L7`S0NiU=OJS=;V%MPa8azFn@Y=qTVzRbD>~yB>(+MfcKma>j-#9aZ5!7%@d} z-|9T~Th+R|in41usJZTE`<^H1*GJP5B;tV(#*Ry`53`80ENGkUTEStl@2b({;GZvt zcoPAI$^G)J<8ZnjwsmwS(1qI8rQ2%Jh1sjVI22j)uh>7nn=D-44)xM%f11ZcY88Q%eu_U8(4Xl^^~++1R5 zGMf!3if1!%Bii2KOwr=nE6P+cFk%TVhw(J6wI-xX)T!xm1EAL=Ge@`e-W^$^GiE}C zitL^^rpqP$GI)0L_gZ9KE^se6B5{tM>ZyCA3wR^5F(7MK=ZqJ{PMaYXf8D?6PwQ}wwW)iQQchN-U4RkLV1 z0CD{)zbW0%XZ_~WF*!hY)Pg%+N-Af9-EhGgYxjLs-3sZ!=xTQ6awnv6Aznct^7nM^ zyqw+$ET13A&eXU!cw07_p2KZ+qqV#h=v_I3o{&pbs*eEJd~_rbc+#CPc()6Q4B^z` zM<<`ag)%NlKGy@WLeljW=NHJw_kug{?4prZ$MG|rHfUzMh{r>+ByZcP*oU%2vnq>( zxjMAf&P=qR!R((w=6qUR(0NuVPkkOSmp0+?x~dzD!hF;&o#2()@9*t*N%vr!E=C{P zKJrm)(*m*nGVqV;WVs&2oFE*DJx?TzhBZEKo(i=?uV4oj&}Q?ov2I*mRD*?AC}KH*EhhSyCv|vm@J7v1pNcWt@AhUi6lJJQ(;(}F; zcKvfGt>4}SbyK{CG*Xgz3<-Ww##L2{^g5`#3cL77rEJLE6h@e$Cmw!(MvqQ+5T>nA7ufOVGA;r|2)uPryO1~0#;^UJqs(XD)SOB@S1MU5MWGt^Di^r$ z#`vK3uP0EVnHum~pP2EYgt<1J8{A^P~D>>K1Kq-{!=&b0faBmB)sn{s(n=Z8qBl?;$dQltg8sC%- z-vDa!tbPWG+R|VC+|oJaVHKzoXVgKib*)<=u09P!U?W zv!m^vb&yK`_qO59QfgK?qRd2GMxEjo!r-7aV0@5{$5@K>+~MTA6Y;}DKljJ1R}DVi z?Fn#{XLg!oIf8~P%$U|2UjRK5Xptm)=cIcIT81v#Btm~+(OBW$gs5ll^_yO9H2!3G zJh#dhf%#c|#Zlk$OP{$-%*=04_tuRoK2aq(dDPY-P_DMkPM+F{t;M|X(}c}G;H?Me z{aakQ>9t`Sl=kdbt_Yfa>_bochcEZtkHwf*^`;^?Ds^Rxra z$lpcjtmufvBj`{gV?z4g$mUgnW$W9ks9%-a^u0<2I0}YL4OadG{F!)GaowgJ*|F#H z7sFLP_T;>E$KMN04KqYbsMZ2K4gg8ENQvhQbQZMXFs;W5xaN{l*ew}NAQ)3LJJwTNz+{gUc1>_Ib)@*Jm z_Nm}A>8p=zRHj#+Ufb5*6}e_a)ywxHAZk-?bvdX9wDJ?uoT}wdt7}4%;bf8AeYa+S z19{iro?hJ1I5Y2ZX;^GRY%n={2xMMA(_G5U;%81jb`P*;(}A_TdEo)!R`Psi7Q(5` zm874Q!6IZelW)nXx;OYB<*xgcV?D4E2E4vh)~l5wIaXSx-3qNJ=}+J|k2sv9orl4c zX?PBNF(p}4$!VLc6u_5`ET0i(54RdoEm+MJN#$`)rZ&Y6 z1~?4271S?W(m=lQZPSTL|JLO)kg>!%gSb3{DN7CopN`I%v@)^10*owezI2(b5#9>$ zqCd8--1;8<3*DvIdwmge;cw&1-woA&zZN146CBNvDp7;1ehvL__yT;st>n@ohuzWkox2Is|wHC_& zF_m|soE(Ppi%J6CG&tLDn`ZPXlmv_rSae1VI$G+0b83@?j-Kd%HJdj)l5k~?gy4ss zd0)qw7)u_I#pLYjR#Sijhf!`{FD>g7l#8uVfD}E z*SdZnuYZQ$;rLnD%h#y3dGYYO!GS5uhipXIdr)Vanna36uffkt=ieRQJT-jQm*e4Z zO!hg9@qAiJWUsvgDPqEiTyl^RkBUV;zb?#C+oxoq*kitKenWcTin6&? zah87s<xyFW}C%kz^6R)1(6n9SLa55srv&ev7h`RJ|N)WhIzhG znYdQWNOC-5G$s}@@P?I_V4mhfa>U4^MzXJyGqMak{#fJU(N#zbPhL#n;D>Uog~TAx zw$iOp+Pdv&8791ZalC$oQ6v9h_(O}5_gjSGvDn2DnHj*EVJ7nxyO^Z_OWn={;FIea zA1jLLAZ0@xMIxH;i;~tOAtveN4ecGY;$sy@KZ9jCoOL|UuIbLX65Go;R%4xtN8=*- z4U6i`Dayc!dz*S!>F&4Mo}Op&Ph~9tB(doX@P6?bsWwYqE-ow^|DCl)O!m{fF0m*nsx(>~Z0tNeP1i%i0f1mYq_OYAT zG(xLkHWX(3Uo``smvz15;)6oVh&d4dq)$a&`P=jL&WX{OXS|Q&KN4Z_>Z}1UiOdH5 zo_SUB=;^778;xAYgsAyJ*5)<49#wWRV|O_3IY7Ic6IzafjBr5FqX5CvbV+4t2uFqW zYKaTNY|AGH-dOx`IGn=L^!&y?ZpoW7z~bg?G%4T+?K937Sd|iLvO;v7*D}#Buc>rb zcM(=uH%^X%H9l(FhKTrp6kl_ouAUIyg7|WR@Vp7~w)me|Zcgj;5c;sJKE4nXE-Y$_ehM)OHoRsLO0=?*b5#M1&*~sjb$1_uw6E91 z1b8=?C!D?HV|_b=Q2H`#k0Ty=TuYCVzaqYNuuhaxYWHN3lkWv^zXF*LS(h+1^6{CC z<#yIbzN7GsCK^!mjD|dF!y&KISlvqum;L1}aEPeyu!P5Y@1%fp6?hLNzwy$UdS?HL z)oYTr8>dQjeW1dCvgMP)qJ+7uL_UZCj3sRZ=`zV7{Xs((24~k_dTtw#K489+Xi(?t zV|TjLE()=aJ7o$`?^aHl@jOiObAYG96JK}M;hknXoLhL+p4{RB)MmU;@R_kIHZM1i zh6;DPB_COo?RJGrd57|eRs0^G2?BXXmFF=mA&TbgW~bs_y?0FO9*FlbRW2G(CVFUJTvnKD?D4#OAjxHSI<=o@=hpcLaH@|8n;NkI zFHrhEP{=F-TZqor*a?n)t%*0^E%2ZOSrl7}9O0AEqa9?9-S#g3ENXI_y8c*QS-JY= zbNeUqtmG2X&^haNuRKit_cDG~ys3q3j*>XF zsomWyIFm*oV8`cn?dQ6^6^(_fWaXA@Z;IVC7XM_M3CCA%aDBHRX3*+VN7vB?v{~=o zaJtZa-BdQY2l)H#`vnl_jnj?#IW)99Qg(cNPs_j^fdg z23*_zi3jw-bVOq(nqO4+5vcQzsNi8mQ7ZZQ$@=Uc_AAr=xie>d2ahnqd0}9 zoSXXl)lokpfST}3>@+T3_W*x5{%9&c3@7ARZ1naj@rfg|;CJoOpgf)ZicjMT6*RL}kpGOq1 z0$ZL&%B68G{GIqaIG(pk+~sHOrabC#KrvrTPHPSET$w?itD8SicxTCq1o=FldcXEU z_A)qISOBp+u?Ws3wJK<{v3)_zhEB1$@3vIy=)Q@D*^E{wWM}?HNFRcwDj_2r9|a>P zjaWrA!Go;S&CE``b6H;pwH@nY76J9T7{+@!>3p@+VK)(cUgYa}#=UCGy2K$T#|PWk z6&p%;^&zxGkA|;VX_-mfSkNtbH0(cwtf46Ji~5H@iSe_LwcZ1K)6TtL*h6~TW(Be^ z79TXn2GVI6wIZ6H{rByE{2d(s&Uxnl@4L}qVwM%PK^%wB`u|eK?lBaEk7<$RZ4&m& zv)lDPm1i!3#f^;GosD20#@~A$re*uwqDLnz6`RKYmPti{aeUpQ^Fa-b6xpAh za>|EGrw#M|rNVNEi_rGFRZKzCwbiol#^8<`u%%A`sz2);(q{R{f*%N8Vx1VhJZRnM zeP&Ss=i0Zq_q8U4Ai9<94Nfaba|dXxo7vc1r@bSXa^Pg&?aIim8}*p0^U@TaxKn); ze-L_RW@A!Q9X=#18Eb7WIr<|<;IBHnbAgluPwlrqV|-5fq37BoR-=DDPRr21(t|RL zbsDr&BcumLp(ertxn*3+c;|#L4%LD z6{;c>i{9VV z3}3#ia5U84mLpF_xT2hsT+zR7lJfBFuX4=pBV24;d>As-HU#RF2M{HFL=334ZLB1_ zeHKyfubhZXS2M9zzeuply43D2$>sy`9wPU@@zFpUZn)mm`-mIts(FXF>0#cMnvk9j z{7!OcNqSdlhp-vbp>->Pp&R$g49Hn65SOc0F$3D%jn;3GHw|yg6MRis0OINtZeg`{ zW8>GVTp_Rr+?9e4;VwO(vZfccivSo%OFp-rb!BP7O+zBlIBCD?%|?5GG3OFbh=PvL z+NuWdNllIm{pE0x1Kcz>p8WU6f{cIXPOZT@$?jmenYZl{t?aQ4xcb-JfCg$&E)bW| zA&{=86W(jWo@Y=`{qr1SD%y&AXq6&ApUIINj(|WrHTUA>f0SiaC^O+1lb4KO`AlX=NV%VYH;KglAYSy|%Vpoe>PK(kURp zBSGVL<(TvpdK1T*h`SB8B*eS{5L~=O9?}iYA2V>9Q!-U=j9yWV+q7*?*&U!DcZra= z6$PCLO8K=CNKDw7pLpI-!$ADvRV87a9zl8Tbvx^ZIeDVlgv)e?l2{8%L_p6aKt;A| z9QQO6(4i!ZXoI>upk@`%WrSX-&AO15l`xOMk(!Mio2O6p!syRIgq2!VA-EBpMV(%L zZzmPDMU2Cd^y5#Tg}gQ&Hs)TbFp}NJs}(fVR`C=RWHkyZBA!daCej`mn?)Hri3Hw9 z<-ffs2OOUF@GuO-{W6dfv+zf1F2sJfg9b0TUQACE;ian!Qsn&Q-O<#@(Z3ijuiII$ zJ}0^x$?#-riv|2N&v3DYns4^wvq#$KQ*$|Yw8a%!_%WGsOmQoiHD8o(HN{w=jWjg1uO#)xQ`RH;d^Kvp!nL* zK>arg6Tv#?my}bVMO7P$8F)(_2#jB6vtKdvQ)SJok|}Ljbwr^>B6=Zk@&T`yhH$ha(wCjz1#b<1X8p{#2=` zM?8Er5U9II2(|K0RM}m399ir~Vo?6VYE`a z*oTPNqKp?u)W}||i%~(I#oTN9qE+PUkVEOVkK<)29j}%(YHU^b$-|JvU+s04L_s5~ z2`wRKS&}B7_Zo?>*Xw@5Y@Ky_&S_b5-BAeP51%Ek_OS;`RRHSe=NAXZ(w4K(SDsJW zu0z{Slz63VqMu^_07?}7s0O{MQR7m9$F}s8MneANa2{JwT#(`5n0yBCqTJ*4*$@ZnnT zPBr3C=(s-p_68K8o+XeNILlMQ3A?+GeRHQ-x$;NVE|#O$mtEjl+cm=^HUq(**sqtE z-$mHeeU*fOO9>i=UAMncY8*DR|7<|7eJTHo!M_;l?){UYTGc(!{OtCxZ^{7)K)Vv) zEXwtC(~|F%z$D=DIQFV(g2q575nSYY1QmImbO@KAHGFBh#kKmQDl)Q|9X1^i3mZ%e zxmkC)nEbBK&)7|>i6~;8Gaf8?jmz6yuMFc3B8qK*??w_|x5mg1auq}849IM4!NQ_9ORqOWF0iqAK$5v8I?tr8|iFm*9u@JJLD6y3C+l zcZCf zcJMOg)1PZm%-4LrnClA;cn&iMm0oQ&HWV3dxdR1j>2(UIQPX?E09x8AM2pjPmW%#u zr~DC+#$j1&n+>0JGc~8mp|N^TRK@FA>utGY-acER_mt9BFWx0H_#L>etV(NATd87D zICzNGHc9K&bgijb8*k^~1a<*d>1|V2i<+wwx5wL=y_S-fkCxv#Tt9~97{{ixgSx*r z>WK)Pr=MP4pY%B8#>8V@vw4V#l@JL*9L`jsw{~7B3 zkLy2J*#8o+{WIMC&+FfT#?0U4On-Ot{uvqnyCVE2)cD_MskC~t)Bn%%&VTpqB>$^x z*Oz~mzCMmdF~H7>DyB|NpP^ekEFX7zdZs?XB0BB(&1bh0<6y}N+tHEq2=j&Qt-|jt zDWSyhzZi%g=04}}1vqjq#>pePssS{rX6uDo^@uh?gbjo6$KOOF|U9N+sx z{PDXbuWjJM3HE_mwhyA)$$MiF?MKiKnC>ZB-df3aR}X23^NHKTI9<1B&yhL+yI`i%qySa>k z^RD*t`OBucGVl0ajl8c%br^q`7{1g7U3{q>eCZ>y5BEin}04*F|!UCW}Hfe=KSBCZv0G>K)|0I6~@2ylv*Dho>FT zI%;OJ39^n(KTNy)jk%k8w~i*Oj0(j-qY!&q1;5TM7K6{hSxw>NoSIohnJX#muei$R z>P*~j8z5Po>vg2OmBey93$ujK6Ww0g@~CuI@1{+Qo<_c8x3CKJE&-rssBnpJ>Y){< z+9p~ac zg^OJxqKQW44D2-`H2Ok`3BhFN5z{H0E9WhHgt;y^_sYBKYEJv4QbIO8uL#<1*6-TzqS?rC<8;uO`x+8~jAuKw*x# zdjE_phaxUz0Q1b27o`Elc{Nwk3(^-g%-aAIh6Cd8%3ns9ia86Kh>Xpz5ByAzZv)=7 zIQdY-57cgnmvHibLN~NFSGK-Y{@CUdN0v*aZcomcoRj z2J13`wYf(^F^W>OB)4FZ8CEuAAy-V8ItQ@tZQ8@f6;{5!qyggW8Tu~raC^SULw6Cz zc5yoH%da|%Mp=0t>C&8rl_~}2Ozd;JJ#H6~sKsXtD`HY`M zSm1I3p1Y5Lj9sA4=bg7c!-^s{qPGAa9)1W6sd|;O11Axhq;mr7E^F^R463vaUao;1 zJWBV;s(Mw#)bH)R`?Rx#MGXRB#G4TayQ2Lx`YqkX1Wyo~kXY4S@@phV}_h#o0 zpq8=%OJ<#K>^)3^S2agc9dLm;t=rWxoN9a~M4~oB-AdkWwE?M**IUV2-W+}`X|o5asj}W9R9kiF4E6VZlQ^meBaly)&FU=!!;I*C zEud0X^!Rg5KU-s7JnEzWoN|S=dcbsvM<^{8y?Oc_S%7Hwxdc{i~I!ao*foJEmMEV#pOF{8U3C@1{ z8}ixku48!dTyDC^XjqsC88`=0^aVrz1NlZD~f!O_qc^k zIQsx1xpPPjSGR?rvR|Zil1HPwz|fuRWF!C5w6}BL6g9ASKs8p$@98-jDy*}he>m3r@A(g`}6vf07Opm5R1 z)(XQ$XnH%n>e}hZfcC6Y%HJ9fz%O z*Der*dOQ7nI^1dJs(H@`Fq6M#=Hy*EKVvL|S#&kDP%~V&Ywcih3oDH(jjiH4d*E={rO{hBewd&9bRo~c?JRayKAkv8P|rLBE>5$qWSSu?+W z-)l;t$5GzI>&T1=$i&=KW)V$PESHk>0TvGqBR;O1>$SdStYMaxB6See%FHnd-y0;@ z9kqX%f*H(*5f*AztY{UEQylUAdsy~{DWWxemb|xzmA)pNlKWXPz+9&lVV)D9{jrw& znm_xdm63R`-yt^%x>t~q}gTTyH zjy@glzD{an4z+mO=Nz>T!-hBJfUwuN(DOvWiKk1Cv1Yl(h^P8uw}?>R^cKs{%OtJM zTs9Ba{^!0<3F-J!yqnfj3H)Q(hGx2CP6f{vdJVAhfa_eUJMXPvIxcJbOAWn&mt`~6 zt>#1L`AjGS1)T8mhK1#H>GQX0jSEYCQ-H6SmxBenYrjDwqL0Rv0N=)^c7f>RpI~qW z4~9exH=EiOQF=W)sX_x=3_36>!B*Sun=JRjKJo3!o<`Gh@@_r~D|>ROT_GyH;JKLf zh$T@&wgt-x8ZSvO$gnb9gVXE3JM;nVzhR&jU}<49Mvs5ff&QTc{m<)vxw<4JJ@U^G zmD)8ia~_w|%(YK5|7UslFK%cMeL?)LHb)vmy#;-vg~iwj6GZ>^r^k7M6h?1I_EWP> z62F_>IM(JWq5B8^y+qSN4+ADKKloBycFQ1(=gz(P!n`d^O15}-r@N~u!(j*RR$T(< z}Oxf)ojS;ivGzI5f*8<4A2a*`javC{5WfK27P zUNkfrT(LEg8#5TVtGwpe`s0C~$5wHR#`)eQ7DDC{N&HMppfo2**AP1X@?~=R&dR}{Y26xrQ9IjYW4}OLL8g%CMpd6)@umE z@wT>i?CQ!|-{*OI=pR;f+qO-86G0*K^{3h|A7#mtE@T;q-@wvO7#%rOkqotF`X&oj zZv5&vmXIB8*@Ol~IN)cdxZkdT^z}-r*5+dTfdj3~C9mD>m6vf30n3d8 zCmLuuCbnz{_*VFMUue0Z_1EQygy3mE<2j;irloC%rNvYn2JE8*-~_7C&YwdWg>c=;!*pc6YL#Q7-tL7sJi!$)ZN`ST7;4sRPRP$-@Cgm?v@- zecgc^BPwt3cQ#CaMofrgFJI?z>ECg0x88lZE#Pr#+=M0Uvp;qC`S=kW9d8|z#PvSn5y8?}3oLx4lAp_Nst zlzuBpusMbq#LBmdzb77PwIgHQQMu!uY9Ul-Wi+)C7k^8cR)HHLjTnqw-V@!uq*C72 z)tZ}@q9+$&r5Qqc3er+}E%77_)ljnvFf<)hl(&=7Qr^d+?cf$k>xTZk^DX?hOyLjx zAYR_KS)sI+&6}eY49uG^OloVHKBtUqXN z+ULaW3C~^8le@iBwBl2a>h2eiSBnwePk zuEurChpx^!sC)jvW*<4u#DsL1ji!Yk%&571>#BcX$pC$ntJG1Y1Ilf;hqv&<+!C+n zK;@qVmTgfjRE1m~+>|@(G*l*af#~C)pA?1*dw+mr@)F%Gq_x7F0U&d<^wH*4PdTPTjsR-a;U67 z0LnyTlx#_2)4DBBOmbEncub%3LZy6f6Aw2m_X*DKmo(a1O_9og*#zUo^oN(Y!QBt! zdxOV5oUzhCH3xIrGv)%9#6whY<)48nB#-H53^<#u!J2(+!)lOa;`b;3Tn2(r&4{-P z0UPqsbLi^Tu(weN&Xu`yrwo_3N-Mx}$qlt4FQ$F%7Xh|Kz{5=#u*;JOb^BGPmvS3K zFCp~?;nlz`exSHxo8?!g2-tUva7vi8={TXS@SHvQ%6*g2N~2;|F1LF-~wm}6_1PXgYrMEb7R;-Is+i) zHt)9BCIMwE{6!kTxMr`%U)ErXmDhX`1G|dvNG5N@xtLOABeJnVl?%BDn+E_AVJQ14 z69F&grakLfXxr}VhlYG;V7D2wKRpYfJURsHe-nF<@Z&pEz4TTi-%5?;G=6%Sr_qR* zJr7@yT%RtN?y!f~OZT~vB@Lm*h8>_8d)`3#~#8%QrdKY)m4V=LtzSWykA$@6|H3SJHXGii<<*RyR_I z82OP}6oY-7o$A7)CzquLWq>k8Ig_$37iakf8=Hd^f^*tf_a zF2cC8c|o2kN3YYX4$@*FL!{NUb{Y^4+_$T57t3OMH>S zeItjSH2#fzk5PxMoFl&ai-G3G{u4ld?LYGu!_sBV^rgQTIPN^QkUE;gMsoNbrls@8 z1ipWnEj?nC>7tNCFM|bPfvy%OGlQ=7j*E1;6;-n9qDf5u2HU>ADj zu)JOo=VG9ibt9u(ll&rx6jAoV1>|`uKJUfX%7-Tkf@y zjOMDNk>3zM&1-_!JF4bCOXNe(j7@UrM$S0-mdG247Oj*tK~_Ty4B@X_d;zOu)qD?~ zneZP7x50}9+q+u`(g$w90BI~;Qz!o%;+wR~3^QiA>gN;0O$}sO?7byXR}#0I2=gp? z;CM&dV%821d$DOmb$#wbQY>@HvGDFIme%nho>O6Z_L3m>c^Gpio5^98?9UUm;b)wh z4tAm2v99XaP|7Fq+G2MrPPfH3RO*Y9(3FOL<;oo*s{Sc{IoDWKKBGcLmB+s_N?}9o zt5JK!Ui>pTNze1HbSq8@LU(ve(my!al3X8~<9#~c`k)Ah63c^ASKa{u+`nWm`OXlZBNYMO!AteyWes1yYQ8ExEuRdxo0Xfm>rf1);AVU+K>~aVdCuYu*OkKY#W$<@#ct-VK^vc*#9gn}$digi$-{agZ0~lhjgx(7* zMo1v&o6!IANZq4n2v64~`!OTQZ`WSH>)h{icb@3IJJw02S7@`7Lz*|t@Dhv#>d>hp z3Tob#UJPu(=$_4%kOLpQdT2*~ufYB)6{WEuZHN^B;d@{UDY7K@;)hE7Am46mL)2Lp zU22=bwBTJG7|*o2m|^h)%Ln?Qnj;(GtdYSZYY%RR>U7V2GcVt-F5YnBR8`geGqP88 zL4Gu@C$!}&?ghMU5}G70E7m%4&HjRzuajd?rT$w=sw(>+LhkY^KZw&aVG%F!pkem142v&v5RAa#@ZK2MV|U*iTXUDmLzuZQmJ;gE@K zCWzsJ>vOyp(P!Z#F&bj{f{aUUT1@N3G}4@8YqP?JOOx>^1^z3e1g=i86~w?zgzu`= z3fn<1W$#%t4B&lvn(ARU+ZoDlqNr z5>E;@<~~!M>x;ImUT`=7_|&<)uveNWcfS{AHWOByyd!Dvs-kA>PRinRZoD+0(LL~7C$BPH4=C7R@ z5-7THVVh>)I=sy@v6=q-Gafx#YyuAkC+J%GUi|&-1+re@jq`A>bxY|yMpVlD#jtfK zm3_XJC0)2~1d+B@@{;j1{?^uvhMzw8fCC+jcRuT}(J4bRkijQVtmbm_|8QW{)R-&e zNML3LVZ3swE|>$j=)XyL)o0!U__ z`UhoBD1-_x!vv33^9pv*Zwg~Ac`>OxjJ)|u)ecGlD7 zf)8?S{oN9E{~7mrqO(l}{B)}?tB2g|K-n1-H77_mxw^pS*V}VKt(#ZxN!O<@;stnr zEa)e(6T|tdviNZbhLzT$LX~3p)EcU3U=J_a`3TsXaYq?eH89fx(LmemFHJOZ6rTD9 z)I|#-o_XD|TOr;4Zb@H_LD(#wAjTyx#)VkD;6y+kGRczIt~=`ES*|i}S587f9x=1q zM$P0Dsa;aQbSd_rL|ENQ5y@4D*%qsByw=@2UW2)(WCElXAb7k`2{QFXuak5 zWp!#GwpAJ1cTequ2GQucVQFV5hZ z-#x&vVg!A2&cM(=BEaD+S>usPrTjSZn&uTq2O3;M!;|mUqbCkdil}KWRgxwV zR@VjjLSZhq@cIJ5W4TRhx@OmHMnv=(v|1TGT4q>pS1CKeiQO;&4e^<*E5$^T`e=H;Y}z^ z4bQsjvWk@*K}$o}cA4K5Us2BIMyNEe!y2mWm}(dAoL`);ni*WPic`XOrei$@IBUFD zG~}Vq&U5QlhJs)!mE>VZ-+YUuOEpOvZ zO9vQ61|7|VybsiREa$L=5})*15p8&zWEMqPlRE9G3xG3|cJ9mc1xYd zb`Jb`^du(Cy?aBHruU@XvFL}U(HidaJfKc}O#mxC2fp&Uo4)0B=}n2Q03%+WTTt`Q z_@gI9RT^|!IX2#zCBWFx*@Gvnw^%5D!}bTTuW>@-`*0e6ZFGPYoby^;G@-Txu% zy`$NF*#G~wx+vOOwY8-bRW)MIs=Y~qSS@NK#NMl|Qetmn?+l^#)@ntpP(-NJ3Zf`# zwz}TG^d6t@`*Yvl@A>`V`V5~cI@t7%cZUvNX-ZiVwZ$GD`YSBP!du)c?bTnlP$!Ex|Q59PE zd_WvzQ^91REce;s%Lvi4RodlZmo>O2DS}}LJVG8T?w4$#cG2rbD_U|aDBf%`tc&(r-Z{3ymCKizNm#@;~vHt>NiFpINX|e-Nvk| z@H@Moz{TRsw?+P`#ck?woi1C*s*ng<8}w72i3LF;Rq5RWqZzl2kd-!e`%K}B`zJwA zsnneA)MZ}5ZRPk+uo-}9G2J-yqc7?tY!q{)6fVRe7i7kSVF`6%ki z{el(k>EAYb>0WI<8=X~M9i1C{iJ)7L%ZzW*{#T%v+ksn)wayKw`|LLQ4yLt+{pMV; z7^Uv>Lr|XAxG$s(F3rO?aY*glJuME|%=uxW7Djl+vHuW{61FA&}ob(Zn|10ltwsigwlx zegSawO>RI;AUPbXG(i3bKt`8`L*&Z+J)`8-j0*-YuZa^uuLZ>mxdRG9=8aRN!+;~q zYAsBeq|`AnDU%dILCYlPV6`j^MeUr{<3j-TY{bC-wT`N>MLGCw5$5`X$N{{BP zgbyA!n^rSnmfYWHcoqlmyiCnXb7e(%by+$HSV)qw-{uX(1k1-(Y{h6Gg^PNa%#r5b zrqtdAtpMysNJph)IS%jq&@G_-9_fI#YHNoic4X}kEoZyRCWpvay|*z&`QLdDK)2de zR>=T11sAPPFH0-+@ztiOx5KsK*&n@Lo7NS@a%@isagCmX~2An3^A~n{@p6M zg)ROrkRKLO*r>F7F67aXaV;z2tH7mi4m=7PE+-hmvj{=&N}ICzA#-~j($hv7SeEr# zUCighZ`*tO2N1!X?;wR8wgaO~OKnfrHX~}r-FhQSZYku8ZH$#-HEw_Eny8ZQ3%ud# z4iV_3$=ahDXq_MR6;SCU!eR7|@+5D)1(<2`Obv&`e5WX$n6k;<1$zu#Pu8#9!miCl zWfuh2o-t9Z9Z5D6!97T>V1XrOd=9O(O_0-juUOejdPYZlL_~)sXV7}&N`fq~t>pd{ z#0c_H8;;cuz7DwW5qBAIYgVN2A)-v^?b$#STv)kX1*9kpV4S?26N(n}Ji^Q>QY$Sj zo$uSw6Aj_(h!;WHN^&P1wZrlfQIE0uV>&Qy@uCVYbk3JBa{Pea^q+vUA5~isV;C8e zM5zo+M>re8t-nWDEZpT*j3#1M~ov~;7Vj^I(8gwW9@8Cg$K?JMIDr(7n!?+|4=lV`GBdnUH$d?&k*^b}tYSN^Rsg;EzrHN=L01O}W%l zhq(D5+Ir_$Kkn>2Z^Y}Px@Xg0Z|~aZk(IgQ_03J}s0BQCC$v~>&y*o=uEM*bpgGdD zZ~4TKKg%l-MyfY*-iNAK@@$!U^g4z;EfB8CAaE&LgmG(|BmHj^rOM_9Ax>*OXt|`KI>$|humlT5i;p`cb$r-=7h@zFB`J?q)f{)opUC5+GK~C zvptKmcAGgjaACH+Fgfx3T#jA`U1;o`Z#a5Ej|4OasZLawJ72*T$uBe-w-lp=< zqWN5xKZL6>HM4ooQdeNz@>fxhXkmpj8;b!3QuRs7yn?S8GhKeGaa6`@7jk7Rq_)MU zMa7@#Ez(J@jf2ml*j%E}wfxz#-+4di&pYZ2m9KB!Y3IU@hzud>5cI;;c8BZ}Jf~{c z1!Z@;YXGb+lW;)w^TzC-Zf7YNjhbMCX{5Rg+wA9QV45;e#yY>Vhhn>t(G`FXi6vv& zxVsBX1%8DcMkjJtghap1G`S#f@0a*`(Pg}TsJ{@AbntyLT(D6D+s9~md&k)1&Vvv! zg*tED89}E@^6c;G8hCu|cKth*IVvo0kncVol^{O-+K`>>aU9&;{~YP2NVNwlCX7FO z`2zzjF=4G&SCF4O*?oyp9dkFPE_Q$TMpQ^WPK9%5ZQ!+!M!oW{%AexLJ#3rz2)P>i z1X>fO{~(;K7OkHx0gRbznEMp%aeaJAc2RD-Iw40x(>!$;<1<&OR)Dpxb8;E4`h8{D z6Sz_Z`w8iK|L7E-%r9}C<%nl|YJi%bz|Mo(6?0mPz+n4%fP$FbN#aVy36fdYDLUJS zX3hC9`pnVJ%6qRNI7H1ueW{N1MZsI6Be!##!{6R%dj zxwc0O6tq{hoVx7%8?YHoR}hF`nBX+DoE5ga4X_O&W33)|;VmO}j;qH)`2~MGkji+? z`a7gPtL6OFhI$O`SK*v2D{wH`YfP$IB0exG2Q{VvCeMV=w1-GEcwgCe5O8MRYF0bi zQDb?Y7?NykYquoQ6cYOEe)iJr%l&hqA70o7xHAQJ!k4+J-6us-BAxaG#51-VPq7Dg zKm8IrYj&+3FeF&6%p&Qe3Vj=a-8I7$msf%AsBYyqx#vNO2JV(#NJV!3xR}s#Ul+Rk zQ~O6jJSVL}?egOGRvK0}vXae52PyO|$I7^~0Dp0m+U3hw%YlYw#4Q=y6swuDmcM$i zM(WKT(N!4>EU=E{u#ij=Gx{;rqNk=5LQWQ%IxhHPcsTRZl;SgL7z~tjL5tPtj zC(o9oYXJZ3JC{s4H&}Gala#*BCq^$c;#8xftbyj@5h0pb?+tG0MI9+bhQE^&XGN;K z!T6hO8Kt|6DKok*n$h$(?8?ygq$Z~l&E%7p9!a(B7pjbCa*8BsTD&kXNN$Ua85YX*x? z>qWX#hkCMT%J~@y=l#R2;(PaCLxJ8W7ZtzOn_PYn>c8Obos&nXx>W2@U+C))EAy;$ z>?j}i(l$!$WNb&<6=ndLKhtTV$h#$HtO%8;1P&o9IMj=$B^SAN&1;sZRa~-{%YKPZ z(q_vbu77K2{%2M2KNBKAo2=V$ebpEIO=AY|?|LiGF z{B5ND_wn}Mj-}HoR8iE7Y%CW~KM%5h&$Z-NS=oYaQtOg9Orct@T<`tG!JF+EXh2_k z^LXM>fuaPwZaFQItUlHrX~CYNg%3}~8?!;S{2CeI^*6}1JidSxU`oxDIl5u$r|60G z%FOo}j9uMl#C}PfdPlpMY1olr!ZS30FdTMB4SkX9G`EY`_wv)?x$4lgVw*hrjn^tI z9pr!QSE#ZgnP3$MXn-yLiUHXh`k%p zQ9;duHD20QE>3<-t@%BVm_PVtla%DRLB6JQ@$?nTG^qFTVXceuW&V6r^_I!OnUoF` z(wJJB(Ok6IrijgO_BdbqT0M9Vv&POU~ zJ11jI78ySR@Y-q|s-^}7DgAhTfa{X^l|GEAZ`|t*BUns|X#8Y*FOQEHZSpPEjxuXb z27i2xUIo5v|3ncwBtnvdd_pSiOMS_O7@HoHJ2s>4f~?eVp=E{nGi5W4Rfe>V%eUe@ zemg=VU~LGUO)*ap;q3)z5lN?g40_%ZD5$6c9M0e z+)X%NfmZFiqif(V52+H2AiZvMITxxj?IBF#N5)pei!eQJ3;9K}UKp$SZ-HF% zq*tfTcBP0Fy}e@1;O$h)YRBjUO`7~#JxoJyLG(>_U{V=7%EmIIvu{;^Ov*GEy?#mF zF^=N;esbe@J7AE_O}IDqo9Rc=%jb4_`EGo$!QRUo5|m4;ORug&zlR&Qq#CyArTHk- z`YW!o;;m9nEL4IqR=IsI9H66~hH{lo7HrdWQ8tanZVUE)p{S^d zcbT>i>}s_5E9IUTn;zo{OLflM+M(kDkb1dh!LxMWyO!8YGmRQ5wQ&bvjC=9{=a&f^ z9rcNZ)PC=~bBPb)Jq2jvoCq#uJxxiS3&CWk1&(SCRP8y_`l0}tdf@p6X5p3CeOhNZT1)hi7ldYoT8 zI5ab3h-TNcTJ+jDsfn?PaavQd#l8^qaam_RP1G1GF(Sz`79zXaebPzhF`DlrCCK+c zbfo3f77qd`$Uq&tq&*vHJF$aeXeIK=g0wHli8;>j^~ekodz{n;8OSuFqYIP*T*noX znvIiJe4BXp3}#N}G}xLgj(L254l^V&HU%ug#JratM?yd3xmY5fDZC2Jv4H*hF z-F@#E4y}?wwM%*oN1IkT*huK0RiRZD>|Ian3gZ{12gyu;j&r8a94^xfDq!uxrGSUz zB=I)(M6L)$+8?K^yFU_riKapt9#jIdSqD{3Euncd?-*EzyK zn#MBqdhy}=B82=EIGjmHE<|N|yeTbgisYs6wKlKz=G?xFWq~i}23U}53tZO5a(l4q zQGVjZ9kKo(_t|lS9*I2dL0+;dY5dX^W^tWn8P}v%shfP=N#JvzZ`pnHh2(rCJY*t~ zg0Cd_g##G|3|1w3ZhR;{2f3HMZCUFMWD$R$m0)ttZHt`C)Wt;rc(DijK1fe#-q94g zJ@Ld4+|pc?1(u_*feLK<1RPo(dh1NfY1)xpBm3X z?yO?d=i4hsB7dFItk0H38Hi0tq_lquW6nj(UkF~d4=TaPO=J>7cZx)YPu1lNIPV`I z*Ea*Ti^hsjU4y;Z^X}_Z@Gh-MAgq}!+_iXq!=T5T!6N(6T)L z93EwGaQWgUW81~xhm2N@)}zSSc&*`=eOT#iat&?yy3t<163Mng1;n_h{4$Wl1^;!5 z_mHmg8$On%mC^R54n`G=3*p8oHh=hvl5uyNzYT`Y4e{|GR~+mXt%0XwKaQORm-!{dQ!+ z{sRAPf%}h7vbgJ2Y@it`15$+umqvD3DK`6{OmhXIO>`c~Q*Phm@J!uBMYOYbt}I?l zkULA4COCZXIT#cVEY?HG6)lR9Y)a`FwQ#y^DnMKz&~67!YH&$~BI;rop`<*|Fi>Po zpxNMu9c1lr_#yVU}>ys_X9wr@oN>`NrJArG`FlHZ50msPG6#%+U^f3#!6f`@JZ=9!Wz;X36V(Fq9k z2CYa~`O{ukz<7kgxu0qST^{^_S_3-;@Z7t~F%Fuj<$56+#b*YaBkj>fr-~i&mO0*d z@k6J_!2Lk%42mF2c=JotKf8KR{&u}VF`>vjO@?W@q*n5~987EE1d~$x>eFf@EXYr9 ztz*Gst26UkvVO7HXrD~GYmGxTHzikujJmu5p(RuL|D)gdpZ&-Gb^c#n%KzP+{QFz| zi)i>KCd2k0Je$%p|AD}votI@j%kD%NfH%eIKYO3X8F_a?4Ya<(QgjVelqtUwBVUfB zh!X%3>NL`?0zUHcp5J&RDwDs3VwL`T^(if`G+jJh<_&9x&*#~v~-_6(ZSGm~brx1JMZ#2JppuROr()!*IY&lj}2Mu(un zET^l-43^~;0jD56z8v%`RhGZSM$i+HmpHcK*z4T{Mwwi67Gi8Uq$6I_*#utga*KQP z)RyD;$1f~*-^)dRVu0Lsi!XS{v)bQ}u1*RH1*kw&=Uj6G7uo`9jwY}PR zFm+Ur?dJ|VAJ=1yP|$L^>4$89qmKx}QRcCsc&T#ufjO7d5^~?WTwx@z_It*FzR3A( z-?o(Ijhpj_sJBd&3==)4Z|q(N5g%`IXUg6|_~K1f`sp%l{Ft_B4lRJTg0t6ql?<4x zK(+>esaDVjN9VP_%D}`h`SB2y?LS!)9>kVjPlLFPzQ5Hi=z|@uD4c%mRdF+O>=v5E zW|r=Z67Z=WyxY=C@St_X;H(Soj$wyCGQ1PT-@F(X|0T?V*8icmCwI(mQ@?(OBbQAU^9aMZP2Fa0=u73)?sJr3oro}FDUv{L@n{QD8lHypUX zrHmGrEKPx69iUe~D**7?IJa-#(63rqG@l(xGsSi}0vbax!E?D;1myaWYM{i^xrJY_ zq5}MV*Bb>TIPr#}=CGHpr;sH-G(l=dp>yBjB_k||lv*7PPh=A?WyFHaq2fYThH9=3 z0tW52_U-s>zf`qNGi(plR+_($c6Sy4NE_?Le8uMdo;HaJb2}~{BnUUA>us`vg;s*M zz{bDVzSgNgFJ3-hJlBcZGJ~cR)vIpS=F(gpv=1K^HF}~pf44A35KY3P;Be@>-m|>O z)oZ{lq9BZOB~Y9r1=n)UlAPXhum9n3ooY*J!7ec8d*jKIb!2-&QP_gG{}OgQwE2kA z$Z8WGNGWY63ucz#l2(aTylXjSgatrg>Yb~o|@H(^e5t8lZB>aFx&)k6&%$b<*j;_#Z6N!z%z z5cX7h>pDJN98{36l+2P~b@wfwwe=nm)Rq^p38m=q@L=TLHLHR;NnJLv3~zFYXE1Y& z(6}0*!lwoVpA{TH6B762rO-UsYgX?94rKlH;~_RDA!bUp_Iy>XU=lfF9(4*)<<07K zfjx{Cr>LYmPHt`}zUM(tYaZg&Zi!n42}|bKE>&cx@MpV6&LOm2$E(hJLiuTg_MU=> ziXIo;bO_S!sSD3{SLDJuQk~j((if)3BUjpa8j!OyKf96(!a(dAS59w04sYedd+kjb zpT=E=6dT&VU%|N;djvBL9R6s2$~|eF6W?BomhJ{O2OG7{!dr5EqMUreNtHrIP~&L^ zIgY%^6`Xz2$hl2nXL11*zM{zXk#yQgv~`8te4|%|VHnI#d*Z|zfh*-Ogtura$1%U{-prTv%C1A_^kq2t@erB$6;DiJvmCBxkxmg_P&G=&xG!+up9 zMsM?-QM>>W`khS`U_5-WPpJ9pltW$4`q@KOXYI&N7<#L_>3 z9@EL zP2ICV;Dh>DYdG&^e~}fxo#``?G}4{!>*oE#Y5r*%#)6yYw@4y^m*KGf>1Q>3>aqKS zCi44UNPYVO-snRBN$e7@m9CZ||20}eQ^{xigwku$?Y+c*bTqSl&HJxYEdQ8_rv`F? z0k`p2-q*p+z7oT|pT(#)UWV@3O8uDrKGPDRp4NO_z+kvZ{^?dRE5Ges*t^d*_PPM- zcjjQ%o(nqTIpU*5V}nTfQ(|PTp&uVrw;)^J!Irw6kL*U@bH6KDte>owzklmGv)FB` zRr76=PV+S~%fgl|?{QNwb+m$$tFB2al5B`v1+Xn%zuD={r2buwXR(m=e1F+3rcos7D*ln#@kq(_R-emS2~TzSF(K2d^>4Hp?a_iI{eHTWtWmQ8}~Xm zkdooT(kS9t=0n&W9y%hcg~3evf|f`bGrbRTGUmRt;ge@d z_T#*ZdrMf&eNv;GCgx22oxe^c+i9zS9=^JVO?s{O`z>WpbG()&pd7N3V7wX?qH5qOavANjUUwmmaFZdok zs6ha1Owj@~*<3JdXY_f3ysf47n}W5tM=D810) zAJ)k!yh5(`2rkGv6J}NXRdvp&Bf2^<8!!Un=k&PY-;`t(?bi7C2*=S9=N^=%WF<6y zpGD1?tfDIGSA@p<%fD;l#0$@KX<_Ajj(t!ThMZ%9(N@iap=aF}vdXY?i)4Xs| z?`Ym3rl9vxrsyDfSYIeA zKZchicbYryX3fK!b|l5uD=~VXgZ80ZE;4rT4N$~RyJF2?Y$uS3-j4gOGGiJmvTmXT zXE#sNtxU>>$7yRxT=Jmz^o58>eF<~ILdMco0;LZun4=uBMuhTXBzv@YA0x|?M+>Pq z-Snf{A)z0lRkju_uEN86TS6UvRN*I|e*XCs z9rF7u&2ZIggD6k)1;JnIvXnkeYH7a14Mgpf+C_8++I>)&J87jbkmgXTl;O5wGj#a~ z@({X&L>QK1fots|YRx3NQdUhI|wmkr~z3O1JO~n|3+)$<&Cx3FP);(-(% z6EPg(;t`6o@DbL1@N#3fq>uVCd!ys=g?&`ruG|iL%yQ8~zB4S$Itx+RhL&XJm9cZ4 z`Mg!wUqIndS_;eI?8`-(Am=Ev{pW(!Ei_Db^p-86_qnVWRH-jlP_b4KpixWf8Cp49 zzf@QZyJWT}^3~Xb#bl!8B_;}5xg@whyL{jf?Mu=5WFl4pOCs!oSjGr8dpEpS2rD*M zw;sJuP_dGTM4!Ci!DNNykO$oLm={}OW>!aR+`$@_^AuthXY%qW4ltC~EEQ zolWgoIBuL=k?{jg>zh(*NQhz{L_Cb)8Wj!=WvVahxV5~P5kdozI^2Wh|0aRqEka>w zpF_V-tqQMO9YYcwZ~oa@#_aiqS`1 zEiAsh#vd1p-yQuRcTOXB-sOfvqiYXSCX&|vOffMQzcMjLK*7xq{KW5%{qUvHf4wnh z7GdBS3%U!k{cXx4w)hot%Qn?Q2KmwJ==mpG_A-ukY?2(*(>>Uy;bTlX_%8g?T<0OB zL)r1_l~UK{8`Edg2ldz43&aS@K1;?2{!7iy?fhorkilNBnRA^7CO>qC%NtzLJZbtJ zPsiD-co+j~l|`jn0{%*1#F$dr(x0qyh zZrb-lmALc@8C$f}QI%|6NXpP}52m0;LLOztAe(OP9HYp17r3b`{*lE=wcT{Q%T5Ri zGCI(~ckb#jfxWEY@ll=xps)oT+WN)g*++(|_9+hUFs!U{Z?;e-orxn-W~uq64tx^# z0KtRko{;o4A7ZFCP)r)7szGR3>pL&RiFfw0zXSEupl9tt5`);QYrbZ9VJS<{O?{g< z)lDPU^WTBWzwLm-Zy%dCTPmtIjdsQ`6}onApO@i%Ufg1#9ORKebCAO5Um!WwT};pX zD!m&)G?7)SII+r^w~c*GV-SA((c(V;4)JlDQ`VWbH95gX%L+TA&=rYuu}3xZ_ol66 z@6HXa-K(3@BcM5y~PPr_!q>3kDdUlKzkU#tdS)U1bn z3t91t1NcF%tOmZiCL6t-%Iry}tf^k*6Lo$9{AQYs@lmH$?Pl5u`JAaZVpaBsy6{F; zZ8xmY4tqc9(>NVy3X$xT?8M~?I@z5^m>zj z@qD)`jku5*iH%gph5mJF;FPV0V9|%kuJI?)dlbU__X!r8&pQj;F0cd98h(G%wvUKU zwp_-=;y-lJ_Tt5Pw9qyChp}x(=iig>*57tD%zw8U*bj8xHE&3=ap0JjcBcJfvi!p< z*?-Etp6jnuIU7gyPG6M0o|?9}Svr@CG<^$(dEvv(=alN4s#pBdu-MuoXy~}ea8Ton zxiu0iQ`zk^`Hz%__9+#T2WGQ%7kj&bo)y6t0CKxoq&u(Vv}I>^81ISI z)-Zt$N+3Atp97c`L5VbIcluhB#gyxh@-$Bw*9oM`n3MsoBbp%(sQG5=aKd z-TfsNk$p2SXJyr^gKx7-4%+vYB*8zWiTbo6F;k^2_H!0{(W8msRK55kXhT6TBtNU= z{zSS(f{XOSeX%CLS*)}uFUW!rB^DRIYM%%a@}I0Tn9rg`QP%(yES;BAZ^n(w&bkcJ z;Bpcv9(btX&8#n~(6!Xz4vd6A-h1{Mx2vG@ogbYA4LB6Iwm{uh{J+kut1kecS991e z$E$g9eB>{Hb>_b{JK0<^{a`QYV|q|8M*ASx_R#gD_Bbf}!FQzIHT({wMv2A1s|2mk zrp}`%7u!R$3##1HLSM2fOm4*oD?|j5E)Pa!Px+_lN(qOeFl)oi zreUZMyyN``=-etmXwB^{JWV+`e7ih9{%^DDQ~!wNocVL*pM=DTKSzI}+W)xr_wW4s zG0mB+L67hbi=?5lZ`@Xy&^|+hV!P9#*3bVZs&fee`EQKl|DL!1`@U!rt^b+8cKefu zvbjMNHm5);a6+5VoVa4AXhOlkBJM*IDz{Sc&Q^sPih@ z7(rEgG_ho>KqzbnOuWSidiB-o?#aKIT^&#B4#J13buG^mxtG(>D^;2-u5Uiv^)Dp7 z`E|c|!HT)9>HZH#AAs9-lblph4WjwsPT)1G_%FNwhi~DR^s(?u>BTK$8@+s_z~piv zuNQMY(XXSJBANRtJ9+F5ag3|pc9@^#SV~pL!^;lPj?6Wpg<>(KjW#%-Qx&VvvxyUZ zEF|gR0U+HUxh|36Z)Bs0w{lfgo+M;{C;N$V^btijc8yX+&R75D9&84BXD6WE$5`%M zfS{=nv*=B8DF;!8!z%mH+wNmxLytqVwrQ$wiC1)0o+@tM1~s={?Kw51d!#mRL&#sg z){Z!Ki$l1db+XomhXtTP!zAd^NtFcfhR{h95-SrLDHa5+4|sLg_>@KQ7L38|IGu0- zSrcKZfH5C@{nVxbN7M@0mlv+&d<3je@i%c3olKC2fD z4E?KlnY|*i4LLwhTnfPx5S1rdv(2x6Fl9#Y5PxdTij?PYpnkB6u zbWn)pXB3PKX)@9uWV_3a&AyRBm_a1x1}dhAsSkc9MyYK^MQ$S~vb`k3^8RdqBWX_}mk-wVFQq!@FxZY!0}njXpHa^~tr zUoq;>&bYlHjQq9yUF#+&V$=sp-@^Pt#bQl7@4YS6;WSoi^K3BDj{yA4q}Q2FfMDH~ ziyV(r4fG|C59~^g8^B{w@9ifeU(tRI3mcZ!_U)=3D?mQlzR3ZaZmH;3rLSRn?AWUx zM*OEKSq_p$2X@as6s`wazc3T|hTfNERnqMST|k!kN60l0orgk9e4thM5w8Jg#|3}m zmIpLGoN1f5KKZ3fr&qsgh3y+2oC}4g$P@C!&SlSPc{=wLot?!d9bAmqTgogJs_Wcl zudx?nRZdcJZT}IzLfe;w_%3-1NJte$79CUR0t0f|!XFK6er!ImW+w);25V>0*-bNO zzu%$v^EZ9I(}!Z%QN-r#{cIT}ng(XxK zc43=-6>1gnx?zuuG3445<4FHj_E}$f5K^I|+&KkG46K?b8Z6`pZQj$zJU=8DG~EMO z>&!Pn;@g;|kWH*-pv|z@N)ImUFmS_TOyIXSiirQ0~6HF=8=^* zdl~$hwTTk#xiAQ6mUw)Lx5U7%#>nPCePCrBb}o|1=Zel?MauLib&eJ3kofdpyL)wN z)*)w^Nwt9z@fDE^-1*MD3{S1vw7|}G!NhZ{+TP7ENOIE)s%0VAQ<`Z6In`DOCqS2k zE!;wv34#yL_r&xC>+n41Kce*V6i_uTE7m)FNs0LOHH@6@>gU#qy_6_`ss**$hNi%D zxa4SVB`IK?G^9oq(0UYOmU)Jq|H?KC7&n%E(lPjO|z7|%MxXNOGUh_ z5y1ZvZ~ewd_#wM8^?l~*UjD0qlHETWoKa^Y=3u7@0^~wHwbxM|HO{}Rm_s>U2pE~@Vz1N=@D-<>}Q_@_(@y;i@>zDY-*UZ}=AaSDxxZe#? zEnEB-)H_o7vsYJk(O>Irzo>+JnRo8lkY+z6e2!vKc)SkS=meHXgnB{dNTi`2os`){~f{@Y+ft&r2;@Laq!asp&Lr4rU6NwZA zK51@pN~c9&z13s+Z3Ef*hpu+u?<5~EBy$o9C#Z1>vMk0tftV?I;?qgmqjf}D+s)v; zv!))WYx(1v7`zmEKj%_5QF}b!@`)bmy)h`(ssGMpzK!v>r_JVL3Xw>o9CmpUSU`{1 zh0q=%Dq8YRU*n5&_V%=pAKy03-T6UMsaHj_F&2bVF@uB>gT~JWNVGiUAt?WNS}yaB z33QsU2ryddQG+qO4Q3rv#8^q?2-hbSXY=O#cnZLz4c~hS!qaro=mFKz=^%@mrPhSP zgo?}$h{@K1HTGJ97b-(Zb}DWQVv zD4|OzJHiK%lbNEB0qM5Srnq2#Bf*&(g3%29iq2wqN!XEx-ab|^e~=6HzR6G|td4kK zRY5meyt-M5tU<|5dwvI@=7Sx?<$(oZoheVO>>|eWxmfi(QmZsPYWsP)WsvWlS+6W2 zGd(OsU$#!8fh-FFWlw*Jn`^V{-1vLX@W0xS|L!9G?e(9)o^*{%+QNT~)PLwb|K}v@ z&&l}-y*D{=rRV=tqJOVB|La&kUFT2wJD;uj@89>wkJh)l6epvSJV64 zo))ECwJI{_?@{CrhQaYoDX_5NciXGJ7KEC3*Xxp8IQQk*(%W_VeDBgmEk5KK9z54q+qHdPZkPBlKu5=ZeY8@- z-|F|(R#JgW@r*bgY`9!n$awIyLhl&zAg zW&GG-+Q5U$MP*XgXTAy9cu8Xa5QV%SHbLbeJ|G@Ew7ngYuh}SQsd2WYV&&XKoqOMoHwRQKW!ul%<>Q%C(Y?pUw41XYk9rO&ermo@nh80flG{2 zANY)g@?JbO)0ZEnwcdP_GgdNV@Rm6ndFjQX8O8?zn9nDkhf|N5RytGVGh zbZv}B%}K9=<`$^3lS>sXch2L<0yK7j3$rkFp6F^U1r}^^wPDpgU=i!i@1s`9(|Hge zIN2BMkA=bc&w??@Qba@FgFPf>GmPOGmMe&Jw$~E=%zO@VDQ^z{F-1oe zn?BvbH_6M3_`EAizf%!>s*r)wV$5$CIsX(eb=Fzf+1S6Gd!)U6zS!ey<_ROvwL$W3 z;SN3k&nc%HiTS*6;Q~9+!Es11aJRkUA%9_cqpBxyppY6?m42--92>D!ol*=@JwmzAFoQ@778lH*9KO#al5>o`?-D$e6wowH3nZy`0d=kdC569={OAeaGr zL9vSc_<-oB{{}_vn79G{NLmWNM<@H4|J@v{E{v3j_TnTuSGWXHi$~c_Ol3c-`P=?5 zS8f%HLsM?!R^WcVTh_Uao#=Vej8rI7|D+tn*W@i#z5uT;Tgd&&3#%(X}mgxz(_y8uc3ykq0cb%e8pB~d!wNzIJPgaC`tV zg6E|Y*^}#44RNwFQZ@LAuQenn&#&9p{&Dil1ls6`Xf`QG3c{w9A;OrQ;Go>L1L_3)O5MEYt zIHbnO;B?TQ#vz(FVu5t$ZIGB5of-Pwludh?^)|LWf%FKKbMFHr12D{p2sO9W^|ec3 ze>45u;hcsL9l~#j2tU_8AY)0C(S@6Of^Nw3{i)k0tX&vG@E%^w@q>Hy@rlRDHU)fJ zi6!F23UxL3+#%uGpQ~={qYi_wVc)TMkpppMai^ z2E<33#Z`+9oqE)@^6nU>6L04m=$6l!b}s6K1Lwo!V3PV-dWkfc+P3{wg&M)}-dmD8 zLws^GDN2{6dSLH+MIPGj(KtE-Z4uNiC0=j;OBA8dFIBX`W4Gb5;yl_u)t@F@Q4{oC zHcb6`dB6VBH>-R0CI=$CCF{mG#$k1?g0Gi;e?6?*Iu1W+KK>pJS&ovv`^oax?uI?# z^YMpI55l7%m0GGz-Xlhd`MFybts08eZv}SQevs>39;>Eu|EhkGTee<93ui0ClLtcU zo1#4moPC$SjLb$Ge4|<)S1_NTHl57x1WR((JASc+zx-1NGJSpWwchFrPjtm?qF4dn zRn_3WuL-!7gfHR4B6Sv-y1*ws+KdKp z&gwTovFL^KkT(?3U6HwZjaRo7Fd4d2XK=Qwx69W!JXE&3E%SqK6AT`v28w6g@Rn)O z{t1#J7LwHQNK}J$pKu3weJYS^4;N_4WpWOc6?MMFZGU z55jhcg{(Q8-tijVGYPhZh$wjdO@MDbN^cbdmNwR=QA|r2yXs8�u!TXqf%fOgt!um1Ox)8i3dL(TESD+GV(FLGALxeYj1_W%zPp* zymn22+Fro(WE5k<N_AH4{FOX|=3*^CQ9^@^kh~yBq67&CN?7rWkUY z?6F$50gr0?AoloMN=Ic%7KmJZuM9A-06mc)1|hreQ*NqaM^!*Y^8NutXJ_}^HS$HR z0}xNi)n@1^I4rJxPXi>Vj(hA7lJ$}kYD7A8kI?ySN*pKS=3%46q~9%T$K3NWr#rhO znKC1ND(V43O|7kqK4q~s$PZuL1o@9D+?*t~pIj;yt3y!~eu);2uGMFQ4dMVFfB?P+ zk*GQ-6}jZ}OWZIvVbzTGgzlca42YtrE<&>gFGCaPvxU8gmT&a%8hb_Ww@txw;y12! zFVi%}c+;@)9M?g-B5&%z6A^fIb=%u}=g~W2Vbh60^J7p$$x(JI_WQag4cdzn48B0{ zZg3Qgi;3f85wF+S__dnw)z2ff=tHu0oX7iCy&;_C?@I2stp&paJ6R4eTOj7$F{izq zfHM0{l>5n+jro{sn$!`t(atl8w17&p(>(xLC=wuuNWC4r99L2)GGd^r#31)uD9Vh{ zmt1Mz{}I^17AJjbTGo>TDR>7e9zXh!Y@7f$1L>Z^Yb=(r9cJFTzM$(e5rb55ZZN1rpifNS&v9CHPdvM=-AP6FJz^?t|Q}Zx+RBafB-2!L0e;*4Y<11xmX;|xnCj3 zes1z9a>HE4Pch%CH_BLkgh3bJx}oQau|*thK=KtiA~u8kdVE0~X4`lh;P7O_HK&Lg z8d|r~2MV^YkR5Qm2Q;`P3I)HPD@97z%+;NQTU!=?80D-zVNy)b!&FykNLd2P?Dh05xC) z+(;?RQ)i+knkBDtA7X+r*m3XdmaTH0G59AqwvSY7QXYxfDCY z9+w|VO)KTkW*?7O*t4p`x7 z!WTIC{PBG<-zAy7gsq6w7UOphIKHEJ0nQ7V#cs?F6AP2@r9^ zA$q^69+OX>?TVzBZ#tA~*Gx2wMeLw6`KHu*HxpG0Yf+`VAKNj=7pQ=hY*L5Ipb!Dc z^*(X5Jwt@7?B2yNHuXx9N&I6enZ^zbcV3P6EXqg?cCJ@<8zr6(CirpEOx~0Hq{b_* z3#XOl=xX@j8)%>YAh1>;33!%?eq#)&)}eWa6(Pec#zm+CVn)Fh#6gdI0)M8X9ame3z6CInbuLu$m{F1kh)npALLsaO|1vx z6`BhYl0~&FgsNlEsK0Y()NL{7UG#2?_`c2Mx$7a#y-M5t(DrjLqx;tm%5hQ~ii2AF z7vncm_!Q`IzP~-f80rVW5z3Rhzdbr{iz;`k<~4Bcmi?MhYJH~{PJx=uO>)jOcX`vV zu3>@k#`-;Rc|lCbI$+SvW@sc2 z`KE^drl4CBuF%c@2T7#vKdvI#frtHxsLWENXnX$QKF`kI6c&x5GtbKB+1J_ zDC}IZV%z(N3fAj6n@RxUHFwUkweyeN1@OZhgKZNB3+G17W{W)2*)wA8BbZ_311364 zZrHi1FhVKGA^wiW1LnLP<8}t1$tfXActCjy@YG^$cdK=d=^JVKF=CoJOZ|a zKGbgX+=INOOX-v>y8qFvUa-M73r@ONWlDRmk4&j86A11MDh4>~8C7L^8$RmWsDy|6 z#v^Y@f?dAIJmjM)f=E?YFqvR7j9L2`J%5$*X~#4XNAZY>Pwx6r`m-}J=l(moi5_X= zQNF+qZRsV5)A>ry2J?3WuLRMn#;iu#3>>_5C~iahc-&}U%(Iz?k9kkmT>3z(8Ta78 zbnF&$niQ!pZi6X?W%+3WA2DP%Bc>G&6<)v$-rFcB(90Pp&`*I_9hkxpLHYMDxe?8W zUrR4>*PQb0UsH4Jq7{tYi#>VE2b)R>hX)IleUj*08G&>)Qx$2TTp9&2r`yONyR|G& zqP!UOX8v=)h!wF$Y}u$R#g&AYbWAmAFSQ-PLSt2XiefGiGXi%WT5h88UJ-g?OQE$8 zw@VWXVO-sLd}tGLw8(qttY{f^`sVzz(Qow89>6lZ#d(CEY#|&yQ|52tE+BV}k3O?i z3=X}Ts(p6&JwI~LR=Hf*TOkop|! zTHVtV+^gaT`ewn>gRwTgnJjpR@okbN=PxC}6T)qytzQY>nYTq;>6Wu^mJS?g52+ey z=@|d7^V@%JB+vib3Gu&KlKJ$1JvILOGf5FONxYl1PjS*Q z^T=%7tq+7#j2;WA#@%M}Xd$;*f3h%c^x$l2B5eT6aczq%$mZw>v2JgE?@62z!O1TT z{Q*9g7thAwIAIjODxj(j;_(GjCX7Li1Wy8YiX2@CQxd6Uc!38n>`HaCw_} z4J6Ggi0=x9;bm6=yd5%YlPP$sw}xNFW1p;*?CHwRPcRV&dX4J3*oX3n(agZ%L?uF! zaeA$8zo@bJ&jZThxjyNY^a~JE7J^!G!>XF95NDmEo!Qw`5WDCM5_liv9BtBh<)kR{ zVIZt#M^zq*~m{glchcRR(ELGqhE>7Podnu+v7kPi%d*f zO)!m4-sspw;KD?cQ@M}VBe7PN&oj{R zkI6)dT7~46H}gV+w``^{I=AAsw85)aaZ&uG0@CQBFIsmoX$;wjrZ0g>mc0CfroQJN zoeT9sm*0aledTHJ08mV`GzIqkWbQR3WZ4ZxwBn84=d{mtol~XGgaC$O7N_1Wz ze-MmWK|0U~Fny0)B|1dh-}*Q`EA9OVZ}V2>VZw$hjcrx=S>=r(S}o5K-kDXEN30e0 zZaSMm=q+)thx58I=&q&)h4(j5SWk@IdxBwx(LyJ>&S@>?m9gawP+6kb*tXS9);>cL zx~A#%ccE#kzDcLKNqLQw@{&E8cebQL3`;jNkGLS7mV9DX>o(KWycP`}WL|IIGUOa0 zxV+GN!tdOG^~D1$TwVxG2lYVHj!e=Y;rQPU!XV^ymNf9}=|_NOK_ZMDZF0BF&nu{? z)|1Xb+H#d>0&7!b9IyQv#W}&Q9%Fzo6;9`(Xp2?r`Cg4!aK73o=pl_4z}L<08U~{E zZirWjrpGEwp1XHgwglxpi47-}F>rafPda@ryrMC4~IRJD>G@1_RlO!CQ{FhF{4lhP8rPL2B zLwk5IUP?JoD{dIjZ8@tR``qnEUc!q$ z`ek$W-bgpcu)isMukcl23+jNNzh3VdE+b&iSMLpPM-u6QuZ*f(ZrSbIErJ$-?QZ;Wx% zF`65C@*Awo(TH9(q5gVzr4iSLh7)b$kz*Hpd1cAzX`6SsQzjU1X&#HRLHo!Bn*G)@ zy$GyHvmGCCdFw2lfE$6yly%(x-t-pA8 z`#gOXaKa<5(OrBg)V%n64Y~P{0-v=K^;$vh(&sobD$OI@BkqqR=*YQ~0pC5P)`+?2~IkK=B`utqE>RciAw0GO;bI;!C&*;j~{ffAsp(}qOs5g{I?nKM; z-(y031(8YM80XTBP@aMt9pqzWQ)o&MG~id}`P2*#4^s{`A#OKkO?YK%(R)DY`+b;{ zGtWuXKWELGwA4wY7PP_V)2Y(at54TT09ksmAGs%%-(7i2ecbv$lzk1F;cw2mQ>ibcwkDV{gXo%20nW<28 zd{QP+O{-&~nV9cj3GOdg z=yI2rhP$?8uC6JjJVS06sMa7lm89vKk})fg4{NMN!KC527-{9V*^h;y&l?KtQVUl( z4W%>$OiQ#E#WCY#nS|eOlZGGQM1!31j0c37y!eZg2Me*K?v%c)B^gY=h7oKx0*S-V zs#YHWfMO)jb%3L1gXw`JE-Lb=J5)fa>~4JkMo<;YURNdfosj7 zF#*Lf$z*cVL%>$HEQ}0|dZ4m!iQD9scAcm3sdRcfdMM19AG{C<=K3CRg$nZv^sVbi z-~%}l^|JV3*i4;P2ZST{NM*cf#Zz;`$)qLP8*QI!Vq&#xPWwn&4H4bzeq4MN!Lw3o z`Vpt{tZtFZ!g4A7=Ot+J)Op3aJnhr{srlZg&n2zRaqY{~&I?!L;KG^h@KEYiuHpf zYo>AbdP70Px}PQl@rZ?!C=tPezPtq0vHuuK|J#|=@aq4%Zmtco@mSrLA$ZjVH}8`RXmUiqD;)^s2h${o&i=&7vxg z-*91T(F^z(m=z6mhh|W>j;O%G@T0O%3|ju}e6F03*~Y8AnJbOfNC?;@Vxz`I4#i%$ zJL%bsJ|ySutlgal9Y~j@WdVsYBR0qtJ+lw<-U+7hR)mRNW+gk;gCi*3<#(c%ZNB14 zn@??nB*Jq?ZV*}v$5V0Kd@aj&0X)<2u3n#5DAA`|x!GRwa$aj~iIgN5@09W(NnF5< ztXZ&cbSm|^someLc9jfo)Er8wC0BW|lWwp%U~|_~Q<^cR`W#86vSXvvZctjGV3OMt zSe9xgd!qD}fNevMc~XMD0eRqEV0~26Hfai{efaV5%E#VdhXKokUUIEy%70vP@EW1H z|KinzCDY)|uiVGv^#P>Vlf0mj_ zqQqIZ?Vy2bP5s8&356A_cx(G`JWowV-Jn(l6jEu3UX6=ht# z{UP>uu40!ThSA{=c#C%!sI6P(&FA#dO@;^2xOOo9=2I}j9WvmC#J5U4W~)zvTBsz0 zL(GpiO23=HOev!S$Il+eCc6t0!PPxOjl+~$EFA2yDe}GBs&_3?Ud#&udVBxki^bW4 zX4KSJXC?&^Q=j&7LH9QDj;d!0<_|Y&1y*W~PzEA&LNN~j>;q3W>fSu~m@{}=wP+V1 zC&0Rrcdn7PP+y&q;7}nX?Y@!DnQgaGyo@yK8p(Wv3?6udklnc@3ka$KLdorcB+!98}| zWW0RHbmN6Nf7I=6AKEvaq?XmLG=YP)C^<+)A77%eGa&?M{<5LX7AnxF))YXewQYkr zc%XIu3~_aBqlL6W5PeYqyIL=~A*9{hG%3e7GwEwO8~w7ZqPa#5$zZd_Pw_pgbey@!314 z67{7Af4_L+iQa8F_nPaEQh{SyfSE#aI1(Nf28K6x%DArhO-h7!a9J8m{eT_~UgSG2@~U~VVR@_DONn4a)e%znmBs!DIdGX(yw~4>(f((W=jWP z)2DSNB;9&R^QuONl2w2&V>m!fLmS88TRy|!CHJ!mllto|Im)EKWFASBea$t25GgmJ?po>X zru=vYF+`>=8~D?%u)HHAKJym_%IJ2Tx(}@ZmmqH!JarmI-)fAB#0KA93T2;}-m2=F zeHQulxe{DL7%=B)EdtG>D8Jv%C0uy(x6NYDUs?}R4IYfwh0G-hZKBTprcgUzth!#m z!F6Plz8vhmV;ZxuS;**GGQF;RU%4y3v~Q!ux{}R&c=zP{X9gdCfTOx1`oJ>k)1j;t zoeRpT0FO?>vz6Z}2q^B6OfsEeN!XX8YBsoaDznq=kl=sZjbzd-c=+yEMSh-b^#VD1 zd`|gV@EX8FXa9$9!m>K0o>$&HndMO=E>|d#wLTpoz}9)i#%+a%Sze3Ze^|Bx4{bBV zCZP@q7Pb>Q*uFq*ebFn9XFvCDwe67UhAEEtelkci)n9L9KzO{I^~`qa`q!^qA3P)zP?enF zmJ3*`pznId?RPk#v`<|!{;K{;;D1*sw~|P7k9Nk&F9qS+$%FI47qgS^F%~MnYhF!i z-58k0uq(I?WS_jtL&Tz_=XsX(EO?haXOgRIaGWJmpO!Q^!Sy>wuO>|d0>KG5(T_0{ zfg2eDkKj>REfXzGxf0C7Hwra)0$)Zt19;MpAVQSk=}o3V(@wpCW4?0*?75Go=X@|t zj?`7*7S5@fG!?Bf;zg(Lqr!r zEYg;A)31ot8of$z)I5Bj-EGe#{KmFrS6a1FGbdyyBD^g{pS`}NM+4{kc%!s>DO<|^Qjo6= zNlkhnAQ2b!W*+#2k%A6c)=N8rJT+epyZ`-}`Y0BC?y=O?&>UZTQBEa%l+(@<1q;e( zygv2y`OS-G4=kOZzHTVGF|B|vvFlR;$|->5)y5a#Rei-Of+OoD{bv0LmxzD%c8JkF zSnGpVRY8V-|>g|9K?;AM^Gr|B8D4Pr%J9@K@|=+u91FJ!Fni`5NL4`Ddnkl!Zj$$;Srco5O1U zi(T~e{Z1o_$V2qcpXWu5dv{#=OU;I38&?_&uhlRrTU}0zzUa?>(v4K@&}-J7I{ zqnMHmn`N___xr#U)?Q+<1UxB+gJ=grTqn&z5@iA9_jO6@F)(An@+&(w0Ts_{cJEE*msKaA10J7{cKAx^T(^n0<2Y-NQ=u8uX`;ti26&WB7tlwtSn z&mUF+?3JD_H{L^07&nPFNhm;l0!7HR%9f%;u-z>d z$)KWV8vM}F^8zWI5HwUV?snhPFte7tcYYRvlOI48quZw^KJuSE&gCCC0*mc_;J;>o zPkIRxD5x70FhD13E#%Jcp^++Bhp{||y}Pr|yxh8-Gvab)>f9bD-Dm}?uJ^_MfZ(ib zP285P8>O~lCuIwI@3f5X*h`up>2^0Lf)n*pyVb`IjQG?|C8}JVilAJ>2%%4M14l+R z5|!E;?4td=l@ov*{_xD-Cf4b%h_v^pN|~gcoZN91uH+pCUG5ell^%gq?t6FBM=oO7 z7{HzUhOd{*>NHU0eoIR7aE0`f%juT*C1b9h0GqR-8gK(YwKTeT)KQ2jHVfGGV67k{ zoHrM`WAIdhG?UJ|#9qmEQp#;y0xyu(bu#-d&`k3J_%4Zs?B(GI`igb^AjMV+$UtE? z*TeNVGZtf06bs~-pE{UW?olI^Cs5XNPPk}YOBOf`RVe_dLO?QT^;VWIO_D4H3tgW#K#q{zcS$1sE8M8}iTN`EhZU$!HxB^TJrOXO6r>cHp`4 zR$oG)OqNT9daF7^F|C_hBuOJ${xBkc3|9&wCmbcCX{G=xId??6F?X+!xv4yKrwhUI za&8mhytoe|d}HpQYwWdWA5|;{tPx6GEt%OZQ{n=R_eomrxZ&?d`q7qtgO*>`k`#hN zkO~+{Jk9hlva0q9k{>uw zgz8IN%A6!&IyvGm^o%|(P2?syQJSc`)~<7Pt(5mDTQNY! zW)l%z63$q?=nT#wmU^MFJ}+@Yy{yL49V)OhR;Rj7T0WTWTiIWF9+vaWDN2%7ZdoH= z3GQa!QR8C%8?}k@yd#F=Vl0R|b5kbHL9MaKfgdNTkFG(D^1m-W8l2)!m|za%!tS*q zEuYiLRTz`DIFL86tnP2BUYslm^i0St1*pEtEvzd|0eV^=6o0-|I!T?RvzhX z@`4lmVH=$9MVLa>aya-DI$4O4N5D^3@?3f?5JR3Qh)2fNFbT++r)f%*VA;TY8AJij zHvQRMv()J<3}7U{5ls6qYf3pqn$5-~?jt=SUGixkols}7lAvW`{~fo69Vm==<;>gM zBNJjLu8zG`JudR)5KfT5+86%3VUgng_K+T+sh*)L-ffcX&X11TxmJYmcq9=>s(L1E zcCjGO-Lo1Gd@|7iar@i8x!y0lnn!(h=Oe6r5@iUjlv}DhRVlw>XGNpI5dwRS^iq&L5hYCzvajt);V1SM z1gtX*POvKJ=g?Rg0vgRjc?5!7wrxcV)YJL_qHNoOT;!PR&cn%Ty_}( znZOM2f8DtORHhTpoO0kDhU;Qh+)M`3JKEGv9XzmuqbfgDZD`Y~jz(v>73F*tTst3j$NHFgQ9~`Ta8=|-+pW7>gJq93H0tq-8$rgfP3-ppTnX*+Ja_Y2jYY{*@XN(`QI42?hJQhfN0%>C02_ktEsr z;<0eW3Pfv*u)M%LTa-X+wtXvpB+#(ttL9?#QKHZwzuF!?uFiI|wCFi*kJ+y}u?^S)~(wZYQjxPvjG+IkNc9&Uqhrqk(QmR()Z(7_cSZ z-4N=~5ib5kwpbG$mFaEzI>FM1JnYbmEfBy*-Tz^53p3CRdoWY_^jF!e%&rBQNHj@* z=irjDOS`k0XSijsR}P-2`y#ZX_2CM?qfZ{a#nESWF;Npg?5mgb?A4vj+grNuNcZH` zz7>qbNu~OYH1QpAcOlj{#ZuindWpLCDjI%x4t;6uMSG89mbkNkI;-ioN{sQ}96e|2 ziSOlDOBzK@dgKjz#!eihhoA{2*iu)|-%xXp+{)A|oaBH+V3K)<&q*-v?HIU*n1O!}ivIx_NyaC)aDe+mCtjcxZi|7I3HeIq2NOhW$8ypFq45rry8*)rvfbb4xP9BW#ua=FDl5UZN1pG`NAPv5?V!xVKL_ zaJ-jWXNgqU*3=yGHw9JPd!E~%hcx|CqtEuJv{qUw3;?&~*yY#~l9%4ldN(<{0=cnb zEhY4X-z4i_sOz4I*xyqb_^8y7I~Ew93aQUR9;E6_x`v@|xIIR>cMVBYEx*81MGeX8 zhst&HmWEbb+fW2P|i1wP>3;?|@eUc||%UC>1)Nt>@i_{5PF!J8{7t1&a%MH1>{; zOEm1?LRc?*rB&!eNSFHo_%J`t*pvJfJ^9;gvE8$$#+h0WG4DP4k2uv=ZjD%wC-21l zXg7gIex$d6gq<88s+Ma7Pr_K)q04q0OKzi!^#6Rn{XvGhlBvr_u2k!eD2#U(OaqB4 z)R5}U^eIIvvR5pMSHMN}7=`AB``S)uTi22v&G=(vj3T3dn~2z%kqXgWWA!xCG+u~+ zWMC%bmG4;o z`~h$IVK+);o*>(491vTALuvK+{(2$_`fUrkCi=jwNnd=;xdt znE2^}CL%L=C5wF%N2{|#``SBJ=#X&;{KB1DkQf^@?g(ji2^_9%Q7+hOV{0lDDN-x>k0j zj}IlevzbW}D5RfW3V71qgS=)i$v%4}12onfKzUOCmDPLOq9kF+E9wBP6QDf8dA*;l z=lj9uXdb3YP>d-nYfavA+=}p|)98;WaD2sBQVyxbV^ux2{#QZ^;zrOVV2nw}S$U=~ zv+9k(P~edPKH}EB0A9H-1W&iXTva+8w%Dfb1(V6ICepwI#q?5-@^-pa!C~1l_S6Qv z`PVNy5HXQkrtvv}n+`1ktAi%ZnUHQa!MU--;2}gy{I1)ii0_YSeou?P%s;TKFOmAj zp7o^r3a!+-XT9!Yt4KX0Oi?qJ*2j)qD1y;~na6_TK6yy5Jp8QoAvC2-#&D-^M}K($ zTy@3MnmgyNv2b=25NXq6%ZAW4l8^G4Dvj_d-YDxM3bd57$Td!h4T zpvC}kyLPf}GkXO=jGoiI{l>bn{5)JC4wUbCn>!_kpQZ)E6(cH)Ju9j|{ zGdV074HD=o(q{n#(o7a`N0g;*u#qo?rWmy?>H&#`fd+9OT>P#O42p(+9@?T;ll4~l znyX3N0@wV=Gw-c7Uh}VpCxA`Ep;=6*PQRlZ8R{XJ#gMS|Gwr=O8Kd5WWMzZh3F{Fa zuAAo8x)!lT@FfLCXKQzps*?48psBk6${|{_#Ho`w3_g|vT(1FEb$j=-mntxc zx%G@AHY>#6umVdEa?_>r-B1q{1ukZbgTK{937DxxvHsJ?%BWc;6etOp|-`%Gs*fA`%+N#CjiYD7yCz_{pH@vFG^QQC!p(T$awAL-5|c_ zN`)xNH{M^$xViRMzm=6eH6=+px4?goThm}n^YoL%{Gb^wM-qZ-s4daG`mzh+nNeoU zc}$kKRqy+UOu~X>c%GiG0~Zo?;QJ}HY?ttc@}>F>sq`-Y@zYKZK9*j<^6#F8DH)pE zj!(K@UaB0V$JgETq6ch5@9;4zZI2c+#u`6V9Bk$-7ag6EG~Z^JMZY+%=<8Zbj=7)Z z_yx=H@`}1JGXoxghaCwPtk`B3V!lPAMK1#b)Y~k_G@k>kAO4Y68Ez|Xv2Swx9(w>C z_zl*$WPJ5nWwZ2eiqRNvZE1z2c z6l=6^|4j65nzzQ#d!%TxDwT1y0tua7!GT2TSv9Y|#oVqSzq24l!M`cU?=JAvV!56m zbG~!2z56+)bBFt8juM394B9^R`QYT?dG8tV1K@$%u<%sSZT3HJSQL+J9uMfgX+?f1 zw-~>FTxjX=^6}45`o0F$8*G(owVjr|^(}jyo|uj{+~SsJje6sjO;GGdba}BG_^>ar zqWTQM88g{!#Kmww4oIobaa)Id-M_>1L9RP>n@HA-C;z$_T&5y~Om^j34-icfpH#u&)F_pAmseC}>`*H9`r7-Y8*ZYfBbAGbhp^~G& zY0}_q%VwRiuPoqPb}krL7n8Y?JtV_!XFV4yJQ}tR<~>6lkP-VcNY^F6|z6c@9Kqgtj=C5t2=Q=fNX~-mGWIDDdR>hP0dfc-8!jzZ*JKj z9ar+IcR?X4Tw)!!zWknoZ%Ed*qCqiXTd38#R)ceuuKsnNmd-O0xwTF&XU2CFXR#JR zrolH}PY7C6ArP*rXk5~6BVjPw&ich<_Ma|oyl~X(!51aLgrM+!e0NM}UWXqIkmhK| z#`;{>}L z(FbgOMoInU=|RCOTdWuZ30SPRLA=dmPKC;TeI5PTMcn0YrqGU=QI*X@mGf`VH821C z9uu!5{myB$-vwDSM5e!`v0k{WvDB+rk|)w`F4wR>LVt}G$@Dy=ue@mM{+lA0`XY=N z~pmw(4VWshzw6@*usivCvfwvC-&>qsQ|gqeH)x z$(*+5!FYd)(1q+*_D2PK_uvyL&!3h35pM=G7KL`$xzR4p6ldJgc&8LVFcAEcuVUbE zy0v^N+4Rp}2Nov3=MJHRKU98=Rt|D}2vYCuKYtma`UvVtRda8D3YGZB0Xg`Zt8I_p z$bow-r<^fl%!V!I^Xjh3aD2$<0=K*AcgfSKFWi7r=t>S?rlve8B1UF2!3KUHsdwPf zc^<9jDPMHq7)B8y)oAEldm>FAHv{PE05wGK{!M{s9-%vpUF=HTc;!nO91|iHqe%z~PV z5xVeC61+K}K05pJOH;3+m{s$f)Fy);=LhuNj47|o^RHE?1*%7$U)>I@^Xv~+xaZMQ z0R5)>!m^{QoBE!TZwWx6eQXJ=VR}T$45QR%J>Ezs-9eIIm55cd$;Sm1tYK zWcAF|soplZHkOckXx)p9&scA;yh}amCn04Mh5EVF&0#y~u|vssGoV}ASEA=Dr+vdZ zW19#T(X;ZHoW;u?y3V={`C%)bxl+*5L_JOL>Sr>^_~k>1YllBV4CS;~tzgQ|+{SC1 zszt0godG7kdswxS?@{gz9))7)4)4#3P^p+iz8351B#5hk6D&KWw8VA#ae3cg>Tn&{ zGnax4p$(6~V*W+Z$9UTDTBnk);SqCw7|)@5<+8iJzc9it$6@1D2`*E}_6LakfYHn` z&YXu_aJ)oN+X+?cP2QAbAB@ZVEyYO}z7eUPRMHzINotRKt%xjUKsSk`*#i#+)IkE8>nGoMM%&_F1|smtxgiWYYkTdni*z7d<4|lupIt>gzkM) zmJLQ=*REv5rWCIIMF~bT&qHBsYzvw;lpN7Mem`_4nNnRF$;!^r_FCn`?~fyIaGLUV z@{da@cv?>Rb{nFG(T;e05EwK7AyV57%KHi;HgB#0~#-X7|8pe7$G|A1^ zX<`!2Ob=qihP=|65;g;5OGJIH&%L5v-veohRj@%CMgYEZOn83u*y8~cdB4dt_)SF9 z>FdtJ>TWM@|3oE~J?@hm7yNwS_<&~&mV#_YTo6*dyYe=;{wVH&SO{W+vK?>tc^%{V z{mRsphWuo!DbONB+!b=CHK0)$=Sv?#yUmMmJ$_lD&RS8OFE zheP5B3soi->aI>%0-wg>9(hr^<~?=Ys(h%JGVIyy$itvrOikW7TEWG!r;D|G^3606 z@ev4MsLjMd-kNxr9y~kfoA%-X4EwhiO&upm-uZ!v8?W{GW2RA7lhcga3X&K_q()rz z=WXH@HMrJ7C_gu#Dy}EeAT;H=Uw&p(6c)%S^$7Q7_ChA(>jr+mwfM9y&^E=r!Xv6q z1uTjx((-v}>5kOqqTJ-O-)IiKY%=N z=_K{>`=KAbV-Yb-`ffWz{hvLU623@hqKh%Zg-0Ji-FKk`Lx3VGA z(;Uwp5Wm^_io>7sAo3~rVGs+Tq@Q!ViO!@yP2FebH+b~hAq%T)#i1Te#64(SA>^{# z=Y{Y1278o{89ah@DxkmokC%yi3;Wjn$bMZ0tIGGR5(zuT@B!zqdOssL*B~(_TEV%m z%L&3l5&FGTmV##U`YH>D^eeRSX_=EA_gY z$p*qX8n&}(g(gT}^;y*M@qWvCRsZ4Sw-B!2s;kVEAN#)?QbqU99!AM47CCl@CVtxOXl#s*f=@#Ng)C^oeEK7p z!HPycNki~Tl|0lj_xp;buXum?4>)7RL}hsW7es z-TJ9=PCXOp`%ZQVePv#WNbR3<9Szs`O_`<^tllx0H84pSLq3$|f1YJ!n*P#c5{t`G zDkmM@$rmOoFea5~O&e0x$jFOm$$*c1fcq8YF#O?Hpg;pnSD2X=`&>=UYM4pyOKEw^ds%7Rlmk5?TcRpGRtJVrJ7&vm|qJP3Hhq9Ue*T+3pyxP2EmZD*6e9LJ*D&gWE7 zk{HYki!^>qmm9WawOhRGpS+(5c}RO2RuugZvE|fsM(9NgJvwjOWc~DwV zbLW#us$%9Q+CDSPL^TKGo*Jo;GWh7RLoZ^gHgbSZpk(HvoE*6hZ-tv>=Q^-7zpAx2eCWw-vVB_<>j1of;IcSmf4MX%)Y8Y6NnJ%jDJ`XtiW<=0Gk} zaOd(`84RGzDh*Zoc5{DLoL>f)rruex#X=#Ub6(=v=;;5n18j~f~E zcCPLVvU{IHHSYjp$XS0*`TcejS(D{TcdXmO}NBuAj<$JN46#Q z6D4KUzA_E%<NQ8R2`0?3NiEPaB$tjOqV?q*(ONH77`h_$al!-bYZe zs)!o6w(4m{AqB?5boeMsMjgYIm&o8B$~;MO81F$S&LX|Oq)bwJ1vs>@B0hkw7_5I{ zsuG!vyZw1c8Rt@coYSq<{8qc==?%V7X*8PLyV8~f< z9ZasoZcZO)&fx*b6X>cs=zbnmkbYc#YFTK|u;Wn}$fU0wnQ&ndIgmvr2_~EltJX8r zzk*f=SquVhO#Oz&`2Un>a(x_{Ej*iFy-Jc*>W+m&hQDi0{R$fY;r8Vi@NGhI=H1Y= z4e*v%zkdH#wh;Y5E3%RE&fMk+<;iB`4+-lZvJ{j#}UdHbL+CGJANFgS|#w(L%C;BnML z+V2+Y6Fq*eAy)tsaGu)jetD}l^RN-#IwNPrqJ+|AT9!`Q!r7=rAqPi_3*4GYom+9l z@y8{0yXa;ag&R0zkpHO1B|E(IMU4c;v;AjfwtCg&qlAz#VQuhc=ES;_WNGfPM*E;O z_mO(E)y-cC!{3k1%Ugt;dWT|JJU&&XO36KRbue2>NrA=+1qDC9+@ z9ofsK`Mfes--j8IT2$^6YnQJ&^Q6E8v#6cl+JItnSHX$%^|R$UvVdb!O7 z{&T7%4PqSw4yMkfPZ{)w{9&V2<}siMu)BwxoR5fO+p;oEJ0O1s+m&yn{Wz5NP2uM$ z44OT--OIihTa>hu_E3sO9}puoD5vsPq8UkAZmzoe**?@c!;?O2r(rGZ0&~c>oK=E5 z@JW0)zmWIY_LAyuTzmcN&=;XV519Y1--Osq7^1uTiB-+qw1ms5!ykzj ztnvX4oqKj}d4NPe!8R)bx@IznhdFc_-T^Ny@257071zC>@{z+nyn1S*pdcL(=?+|I z^tr0BUL;#_tLvCgl+LbzdNT5r^m#cQuF~h%2f#;Ch-+@7#d@+{5)aqfi`QJ$5FD*B z>pd}^LR4R(F7+yv1 z)opun-fP9AXYguG1-@LVc@UFux@9S$Ef2ZfLtTtYXEuS#_8^{c?_r(Ka#|=%TTvhQ z{y)y%JE*BQ{M$rPumCC$dQm_S0!RzJsPra1Kxon>q4y?;2uSE1LX%E_gc^ENN@xLT zq4y@eBOvnK{AOq0ncbP4d3R?{W-@0^{>wSfxu5&~T$jYIaqK#bWY4=iwH`GtQCw5D zio!luIgy;G`Lz`{V4;Q-NoFib_{JWxn11DwhO!$qINAZOlfj za8ncdTjzkT*z#mSgtqp6ue+wvvCp^fwAI zHLjw%x;0@hk|dsw&tYTS7?mQjK1^|43{`XBZJO)Ae|U{T4o#Feot58~?s%B~TU)I2 zlzXaJqQD@ZWNNy|{y8)eD0*scOzWsDfs)V>lOZ)a&T7VVo)oSGJTkF(X1XCS*oh{U zcdt#e4q0qipP;5{D1k;$8D$H@#svFaip2g}X6B)7T~xQ)AhqdzT^MB^-rxHN={GZ5 zpvm7;&*qix738G!n!KhT0byVgk<`~7U?7uRH-S!EeTeX_jVOnZv|VJ1&ox3C*2*pR z)oDj~NdY|{(>iP|o}V-6nZzZ}PI3MvScAXemqN}Rc=_)NUa9tcsFU@uG1wP#YAsV) zW|#pCc$v$LS>x+2QU#me2qR81O@umLunN_a`#V=wJaoFN;MNO-rwTAtG5ry_ilHXw zqq!G%Kg{dcLYYaLNF2?E-*qNJ88q`Ya!DH?pCnJ*&KM-e&Y*yr4pLJbL3TKeni|i- zbx7p4q&e!@4|KU!Tdb7?V6_^mryQ3FpB)d>;cI!4ju%R(iQI=l6VH3e?Vz*Nx=)%P zqJ>7V?)<`IXw@}qE|N6ytB0?pg&S?PAK@~8qUy3ciabSSx!@|j1URDMuZ0h8I9W^g z94D_8A0BtiuxX%70FwS2hreN~a?#un$^T5H*7fcC&7F+8o#aq6+6=A&#*uho#ROxd5*>Yv}eisd77 zS#rGBq$dXLIzzyge}C4a90x7Gt$vYEySB|#4rd2I_eT6*>J&ZeFT> z>|$D5#B{9i-r^e!ya8+K<lV5>F7YU6t!f8(U{Ff8A-a=e19H_it?=U z9IMDW1L@`E6^7xfPfcsiiaX~rUHnaqb-usI%rdy&_E)CA$8CVUMN~AU$0+XL@1zP^ zx~IRqs`LYepy`-c6h}ljz}927yzEpD%ei=-(wu3UG$?JCHaJ^2R_=^s(OOt7`$_-U z5^1N6>s$RE`-Y`L zuc*J?nT}ld5M}jSU*s4@+4vnZr`It*m{x1|Zyg@|DHjzDSDB`0EYoTx+>%oGW6q7J zT`HFc@k~AhhP_IewU0PDNhfKj+K~{hZk^I@^~$In2caT2CI3A!KC!uqlY<=A(Nd!98?p#mBUxw;Az1zLF{s)bg&+#raP)tlMD(oA^2gX8xe)5Vc}4 z-Qbi4DX62dTb_`y8Oxm9&vxSvw5w8;M^~-4cI~KGt;@7U;{S-G%hxl6|08aPyMw|*6saDoVmGJQBW;u?(I`|%GG^0(1rhq9x!zr5XwQ)9l7Ik&fr$qA!~H*$@9h6 z`Itb)Qc>rZ1nCB0{x9l@qVZj|jv_unb!&E9BR^(l9cq!QWWy(NC} zin(7JZdTLC{P-{T4UBm{&hhD#4j$)}v?+4rit>Dn7$AQu5-f8+zW)!j+^gKfvq#UR z4U%u9dW)__$Zs;VpTASMI@Rx1sYF!61`s8oS(7b3zoqby`9gKJ^YhZ%ozCF&P*{J}S4r%MrTwYIK zqb1Vm-;YQXy=vUnb`rUCuK+4GB1HDD3NzlXC}tu#Le)hI`~U=Hkcc>;=gECC`O*JT zGiFZNBNe%x3lMMoMsQd9iNzM&9pJrwvSE%nhTY07U&n2jtFOi7^vYhcjn}@?L&J-#(fuh$-tcynV|<86^8`BD z;BDue(M8U))(ju|Oh9wU#(PZ0u3Q~0_JJ&$L-DY{!}m(E>6P?HcA21wZ`DewTvg@n zzQKD3y6=X9QV8!W6qcciF;QhVU0)O(_J$p-DB`*ZC;9m+H1b95bdnNGnpr~+)(qpZ zr!V?YGIFbL#?CGp9?@&L-nZFaqGun6tV$I8ly&{YeUe_*1B`pP)4XvO7eN1U{9w`~ zmrSaQmx!|S!=stn%c){s52qgsKR}tZJ$!uUcZ9yPORpA{GmIm>-Tj@D{PK4ClJ3Gy zLd;iayG{N*>AKY*cHWr1bJ*jX78&RQxInphNB#YpM0aiQ9}!icLa2UKsC)X_H~Y9E zTlQaHV|wwgJ=+v9c4igW&2_?E{~M8-$JNt8nk|<-C%PVFu)@M|nPSsUZ?vD}c_5n8 zo-%hsahXREnzwK@_;*wOqyb+mS-{>0di~XKkrrQ6AIb2x#Tz==o5UYmo$-*&KQ?8r z`bKH&T+?_n@g-yIQs%C?!EtCeehj9~m;P@QyTIgGVavEjV4M$Q^5z>pZ#18rKD)Oi zr*97Uw51lMI=dR9DX32ei24^8*GI_!2Cj1ql$p+ zn7cVo)NJ{8B^gfAWVM^bA@Z}E}HXlpEC4+a?=x+=z&a# z{AmRL=tKt*#LBTvXzuI;TR#7zC6xzA&v|7Qp5)yK;x@C|y*6N?vVyAfiy`>nuG#(U z@lVMia1OnT zkmGHgewNW5t}Jo-%|za+3LF1A6voZq#dC&Q) zGd@uG+d^*uql&&)eotPlSZW&&mzI!p^}aUFb>_#iKFlpEdO}#?9sbISrzbm}{7}PU zpwjqeQiU0nC-Usu9KaSSdadW<wP79Xxe~z1N}Fs2GfY?|^?c zF!tdL=cs7S1RDoQ{w)7oKz*fXwV!PH)PHiZ4O&$F9NtWwg$OL}Gj-a=W6oOK`&*d6 zra;6@tvmcX_`PH%pJqTHzYI_fM9BrnbzxZ_@sGFg<2zK0p;oqV_*=j=+d5*@0Atq4 zdeRCTLxV8B0|}<)?MOei<3F1Gx=kt-2ZKt&_&TuDcPi5p&GkMS4EWt|iU0%ZeAC3E z8W!KOtePZzdXux1L72uP@?=l?d%ndxb`B^LEmpiOa$B4}mqU;hy~$=Mf+*4^C9p#7ZN9AZ3Dhh4en z`#a~GCoiX2^OI`|u|dkf8{ z(vJlx4}O@IhHrC*8BN+%lg;$#L?`6h+qdh4m@z%Bem4m-F^d-LG5Ua2KwFpw4UW%IRz{${Fm@L%F7@4DV|>( znE)2usHfR&VKTg5A^6ur42fRc)uvSZvQQp3iNY)MXL}fB^wZ-cqOvv%>vQ)VpNfHW zRpz|O?Qw2=SwE7OCyfTJi!)UbIG-Fv^`b>TA7D~1EZc>8o`6?fw<<4gG};me5xf|S z=DuMxzn{wxAvq@!S6LXN4YT@@!u^BzEV2D{LP2X1D1;2jMX@+Wn@RR1H8b5tT`a&xH&FZ58t>8oC|2NwT&k^L+5rC z(VLL6HQB{}%LM<~a2HN80I6RzOb_mA1FhEAilOSi1Al+Io+2Bq)tw+O(U-f5+Hr7CP)Km{mz-jMxp2dFGXE;xvD4C~NsB;+omm^T& z?hoGK6p|!o(AffjSXvm$Nr@8-oP3m4lK&t4Fdk&kH)Q($!smxj9{A5UL z%SbH~Qmii|aJTJ2=X#2~otUvC)2}^)Y6Ht5UzQZv@fRchyBGdUdPw*47FQs6e*IB* z91sGo0rcp?CDw5*zJp*~^QxSGPfez@U0p%^8quWD@YRn^X4|I_@W-O-L|jQcwXzY0HjQhlRlNqE_sm;xyH>zjxD zM-&BH-+qSNZMX(k?(K>V@80_3wR-JOMW)mJgVmb;O0^T#u$xm;$6bwU%C*BF5al`2 z9w!*IZx>^ZWj&5}I+B@U?Of_33^ML8>{#B;$e}*%9;Yx^5HA33*9<$;e&DZ{eHNF7 zYvUCnK7yJ4RBBuXKR;3Q`}ViX2XYonR6ki^Lhv{T5n${(5| z?Qc;qc;Wlf)R~(6(*Bb+b34)y{o);1xN4@7LUp?#NZP5nO!*H%3zGvx=!oiatX#}r2Q0unldqRzy?vSQ#LR>meB3DLi5{T?G%l!Dd<7>!g zL2H8n5Su7rM=L7uSf^$~wPa54P{(q1pCA)9u zBx{LtfHbIuWB51nm$*y+FzID9!wHdF_uuz4=AcxkAWfd^pWlBN6ID2sQu-5URpe(FX?^PS;G)v}veqT;#Yp8@CGeOdz_IIz*0%Wq zZQd$Aa&rv3QGGX^dLl`Jk`=`nWQsW3t{pK6#Z5^Sh83 zy?zQiW4*9%{RHc@iAyg_${lENm_DhdtdUGRYD4vOsml!+ZI=8;^i@l}?}Z!$^mwyA zz1WW#8gbEsJ!066i9?igX5=q2ja!?uZOt2aAN|Yp)c8dHW;T1Ad$CoQzeuQZ5Ms=< zI2z|fv7o=qur94x*o(rDlESxH^_wzc37ytbps6FTB*U;$e3CeQps=tV=pK;i)@#Ps zV&#nXX?KxUMvfn<{1w~Dl>aGY_S3-jSVUYX;-|_%;h@D)nG-*Xl9WzjWJ}L9@CBy2 zj=q5pneMA?oBi7t;g* z)kQ@V>k1qXWG`+nDE6z4Ms6GRZAVEDXoU&*Wig}#Q9A5(bZBEIrmB=zGKPa7D36t^ zRVy{BvvOq(tyf7avKdUm^oEaUxp98V-6M}3nk~Xz6kvbH=pJ1o19{VMlo~}!0aNhX z33J-Iqs8Pg?8(7jt{T{f>(xXKAkiS z5j|3FIe>|{p{c!&u9w)a`)_Z5-@dC(#cEK*TAm;(!CWq>-(4~RIQF8uV`HyGFfX4I z`aA#A+xh=oQ~YoKMt~3}E4&+uqt>O%nP8c4ex zW7m!@^SBll8DQ9D9HW_o4M)c_gw`QK$>0p1UH4uk-w5Be{mLyd2bO!c4tf ze9%uwg4*TuQe*vBN@E+d&G30m?4C>cG^Hl97G<W%(vV7T^ghbQ!31_kfo;d zT%FST-ZQ6nWS~+8Vq`;p$eFLeEU-pl|7(6qxz!2>{=ojX^1aYvr0?($>H8GfIIBN& z)>&S~A7L|nX5pHS@+SlmozmjGQWwbU)&P)|pm4hIiZ}~V${%GjDb)|(EXTTjf&uAw zK1%o0K|EvIqS`E8>^<@+W63%r}YGY)8hDHm|#3bt2TowV7_<3-q<)@ zA_F8f#G_CvR$9;Xq~*)#Py_b#fX+oTk%Ymf8aFe+>7l`6n!1KW3B41<3TAMFFs3I; z!P8q*N_UVWJNe@>RL7;RhN>4<%u!vnAaY7;y##MS?|gO$(PNQ`Oeb_>3BBslTFVR&QDf(qjb~tCGQRV%7P~B7s{Nqk2{@l%eX^ zA!2Z{+rIXFD;y=w%lm!+YWzlIiSul4p-yvgFZ?BEEeP`Q5iw%+rhIpmWX~RRxL{y@*#q~eSfJnR;MeNtkD}|@D2Bt zYq4Bd$;ZI%9V%;VQ+R`wDbr0Cgg@Y^*$4q;c==lM!5eG2sMKIRVD>h!@z=_IW0IAk zs|Nj14MQgUR}se-kDqVW?H@={nXdL>IV;|J8X_xZvSVXa4U*R<#iGTC+zb*|jNc4v zT7)TeYTgsETQEBR0DP?dRrI|ed=EWCc8>y>-O>OKivvp=Ob=sUiiEiHRP{?Rfs+vq zWHWR)G?Xo4)OWp8)lVC?#v!m%OqFFgkfOA(PH(#4rn@^rDBAA%SBj zB)W@vGmRK}yZ8p_ZA;m-QSemtBHL9&sh#G}>@c^ncPRREw7tId9V;04bK^S_WnzXb z=HP-v!|M2Q1~HDE_poBAXYBk3TOT=Vmh^2ukfI!xIzV^X#To{LukTd%T1_B6fU(MpuC{agfcYfBW7G1OXFw=nPQNjL**M21yW#xXlU zcP2mUDL|OZ$tq?!@TJ#JE{^s0lg_v=%Q+ZTKae!kf672)SYlA#sHS>(;yAnPzWuwx z=!Ukh~mgzWUu%Bg*q29(N=YHfZR#FU`74sD@OEg5huqfhEJ+P&A((E z>hg)6v2CQ=FMwrD3C>^7avm(opGLZ$CXgTtbCO7i12GDVwMj0DCTchCDg!0ffQr1_^yxeA?;EzF2ksnuQS=IaBv&X3zZ4lr4jVES( zM{VYP>?%wzX9!j_O+WJlspy+|gGh9SZNCIs^jyYQS$@8mP&Kc5gDYqI4bu;Qo5lAbx=J(%LJaGr4-(}Wce0BbAwM?z~i({L* zD3&Sg0HGVDJIG=5Z{=o3qQYBm;(FlpBBiknv0xp|leVYmi`{2FX87AZ8<5w>Vo{0l zkOd?S$FmC5+860wW_#My>SG;sTkJKXgJ}plpU;N+-tURrp)`}SQW1+7%pYynWKYvij5&)WYu`PPt#g*G`#-;IaET1KGl>-u$->2+K*ayI3=@R#(EpF?xG|K|qzoDe zH6VF7MN2YbOIp#nW>$?g1pa%W8#bc0(P~WK>Gx5e!hdS)7RRNub8p8hdP#-#_xJeu zq_de};~?i9QB#bDZl;N_oQ?&72UqzyS@8>3*wU5^imH<@=yyQ!Y} zQb`*soYLvz$xrxtet0uY2%E%U5?;g=tCl)Di`jUVI01W>g@<7t zYF^y1}&TN(kYhD4KmRtlfvBiPEfcR3oxajN;Y z$aQ;Wo?0rF_kxfd6)f9#1ZY-SEmio*KBdeisoFf|oq$S@UNr{X#7mfCO8Itw{ZzN> z`-JI4hwZ$u&X$up(|<(VrB&Yw!mO=x>drGaCCbLM{to-=^8Tm|RqHfDd}``nMfSB+ zb&k!eJlc|;^y-KeH{s%gFV5Z>ylmNww`y$JIGM@`Z^pT`Pe9~n8=3vD+Luw*)x2wg zs^1PH<$Hl&CirGoxBCH0JE^xG&N8svOf9?kJwWTj0H$^CTeSqj%j+5d+~d4B)2ey; zsJr!TBYam$W4OUCqs)b4J^GnWp*!zqWfOInSYq*82&ZCnH^y$qm3zz>F>ay*X0N4m zg`#OBkS}Hs!>x@U{S68E?2E8%1Ab{5!BlggLRT`O9gXrh@n`11Ru~9jn)tjDq9k^N;n6N zK=#%z6*k{erAmD&f7i7lrM76&*<)DnVd9ioC-R4~A5|>od86*UVWH~Lz+(S3c+kAS^14dN`x2WGKO zXq~tHrR$Syx98?bKmKSma-Ef?byjB8s}?VY6&g0Q#$<`^J(@Jr1!*`JSAMZs`v6sy zrt%tr^klw@PBMt84oB{vm!>go=0$YY_W!8`8?MaH+@sPPidmyH#wb`O-0X^eQhguf z2+s5sT3v8UR0Jpetdtv2Wa>>+!%BDsX2!CD?(Rg5dwB*QRV*s?dxXvs_FBT66H0&J z*rn($n!912H7yvvJ2D+XuYJkcdlik7eyl6KVMZcerPo5a8yL&J&VG4)433%lYHylC zQrhs9-z2F;_MEp}Uzw#!oW5LBAiE znf-#ac(q#2V|p-ujDZN)%ai3*gFUv5fS=aaT-hqRDwK2I8hUWEn|U->%DV#m!L%3M z7K=Snf8WdI{ccL*E)t1iXN6RXY2Vi~Ss(UTEDY!yk;e)7DI^AS8!_}`bVr}to$Q8= z01#8EjW+miy*l@;zGvwLjd?`dMcTbE-i{HPRfXfo z9fwo;I=OwR5fHn8Eps`@`EK=(J{&|f6zxD&D(mW77|p5{A2_iQ7d>jF1mGp8&)q_X zftva(zN{sR6{HFC7 zw%&O`#PV?h;+!>XpIUJB9ql;iM_2K|2e)C^cTBhunDsUA)C0brD5)pYOhXm@njMce zfh1cZHe1C?#b$nqnHu_0yJ3>ugXuvdLTK5AR!n)nuoEC>kDAO2S<>NoNb5wFD~Y0F_*>3Gd?7K;;q^B*nl)llW?=$%{3=2&Mvr$P z2J+5s;kK~h$)JI+OR6ZHLx zUOG2$g;z&)RSzVRY;KBgXufi>V$dt`UY9+{<*yr8f^nI8)Nf~Mr_R-8wr>duJ};z_}?r%)>Gi**? zR;*Lh1nXItI5?6C6W^%9uh@Ha{za@N=Je{^;N0|MhOgagB;&r7IA_ul3XRfBnnyd) z${GZoMB1u##jH$ArR{ABSLfNBSMH(MIa)#qYvUzz;?jbJguTUT=${6b-8Wo_^)M=Q z@Zegdwz+(*?V^I{kUY1un|e((rX+`~9Mxh_-SSn})-r;0NO=v(uL9@K2n~hU3b*Ix zQd4=C_ihS6n;joDXK?<8pJi=`rx3%cX+v?)qc}=_;N+hBD9TUy>oiByF5=vYFX~-; z3YIWGjWZgxnQb~WZg@gir#9{PCx0YE3>Hla^av!)1o;I)aBZ)~M z!82yVDiS4EB;x%d|Gu@A2@{ADCgbpGmp@^Kje47IdM3{E( zw?1$D*QADpFgt)cCfWn8c{3(?pojRWpOITP;e0dkUM*|lI4=2)w&tHQnS?q!A&q*! zGCd?90HfFFSWP`I0@8a`-KDSC4$WwS+Wx%3Fje4%UNk#maXJ{MA!TUdE@8_2u_*U* zoU938$nj?jxOi9R-3+omi7+s&YlFYq2X|g+8Z`8k!~SS`>P0nuMG(Y%0~Cn%)~Pt( z90A1pL!E!X>7bXaueEsngU`!*ZZySaMZPG%ArGJiMTXZHCxats5Yd|5K}%L zZ6X~hc%v^wG^A3H<4{9M3Rrkh7i&yE8y%noqZ61{bb@L&OM|)1P-d^NNY2C5?3N;7 z+3Z)$(CF)!hQE_}4@MmEHoP8K$jn%L-DiRRN=^2`Bwl4ZTkN2D^-h?cS=#UN1>z_!Ww{F`RnxO4^y@)X-xn3nWO$ zo{?aMc`|%Q{0WmgVX((MD4Jjt6)zX@bSz z$Q%%VAdMgN?awpkB4s(NUz8yiq#UC5U)S3N=@0t{hq;;@Wg%8>f|t*aZgl#(!Yczt z&s9KC-`3zd?A4t_Q`xtpk1pJ1I(IP*o;QR_r}(LK()&>85qFxy>3Wuj-nQ<)4PYmv z+)qH5%pb2@q^00F`?6dW`hdRp<8`RR;`4h)odm<1@zJ$71KvX1tu}hxGnm3;XOT1h zKAj!`vLckwAEWk`Q1#rAxCG-)HrF@;JzI)l&}{qaTBllv7QQk}n-fdVi*c{5 z$-w(^vTrfreY&H08bPQPr4t+7_dwcJYkKMw2|)hzZ;+hr%;Uf}-<}X2VnN-P?6-<7 z(*F?=Vk$R*|C08jd{<1Ev8SNF50?+qy1X;i)>#LVKp_R5&??7?DN^w*(A_Di`R&*) zLI6eaf0>p4$FM9bdo~dG>Gz!p9VNGYf`pmCdnO!2It2W)(sID&{|>G0f9slOu{0S; zv2_G=b3u{o%eh|y>lg$&CxI7S+y_k1IP=o+-8&2GLwK2cn zhen%t<@`!!T5U2}pdGNca@SHj-C<6iX;@ismpHf!^y%^8i23$r3$QNxY}A?2RAq^$ zsMdVE%otlZr+8`u0E}2;=pZReX{>6)CZF}Gw$;n#dEsw1OHIl_HaN*Agb=Xm-O~Sv z98}$!0Dk8vL1>LD!FUU#OOSUW076tYIK^}}(wFsT&GR?k6mHgg!8{XbJF$Ss63AYB zq9j9(Zj$K6Ti504?J=~XSn_v@6vVJRh1+6Sqf{G=GbZ1$VlEAIZwVwj6v@8s@jg|s z?pRlcJS&PZU=o|;hO?(&sCd^h{cJ3`{#DK3$@tov!6`(-{zzJafiWEKpYpw*?`Gx! zN!cKM$Tyst-K&{0A3c#FKb*reV}SF)B|8Yw-6uJjVJ)3x(7x}f02aciyO+AcA}9B~ z%O%i%^fCgQS6WqlY1r-?4NG1hn{XTOt?@l)E6X&tZRX1nhA_?by8GR&*T5A#>Gt4> zzSD=MJf2l;+(zu2M@rY$MFqaT|>f?-&MJtkrzA#}wgV!zgjcTfbrXd@t@dh)qR zf-V*x;Jj%qYWKr4=>N^qu#dIDx(wBe9jf2KY2(z))K2#mn})gP>jIlruR?HdZ-=EC-kT4l8)6gs?WW8 z?gsIAHsJnbB_-0Y3|EL=1~#^ibtfc}Lc2BP{&BgqX$f3uOb3cFEz>}3|Aes_Na-Q= zQD^So$Td92^g|T~;nL=(Kb^LyYT-qMq4eI~4e@J3G?XDYDL0L+${97zwej7VizHBv zWlY2Rq-=_XHTv}+P4J`rp+{Kiv++N{q<})>ulasXQ=yc9@}1<=1_|qs_s@4k;*~y_ zqs!z#B*gpnuEUf!4?(D#clz^^T#GzM2FZEp+2g^Y`H7tCGn-PsxkK;@AeQckN-j)u z$W$xq$rop~Ws=glpN2-yfp+a*CZq*gR3F0gXd?{#OL1m>)u+9A%WdlSztk@kd7NBY zXvf3?I(V+joOt~dMY##1gPTX|eA%P?K`ExaLdru<*1^tdt&WQ1&7i9gQoxxEHpJ;b zNJCyuZS!0!LUahb@dLRj;3lnD3E%wgq~ZhGr3`!>GJOokwO(qmz62`1oapa9&HFT; z!{b{ynNBwK*6RrWkuHoQu86P^{(yJqjl@kEI=YC84b~|{J;~YXKF_evdqYV?zlnYw z@`1cD*1?1RB+CGq_)d(^aqhWoCptTjivf#0DeKQ`bx()|nv~NwX8fAX5jK?V9%}0O zh%KpMQR4a4!07(5DVKY=t@x*E+0>JbBY*tHDupYMVU@&(Nneykcutcxn!XV*_E8jB zqMVbD?0KqRE;s~cD{dmtabw{FC!+3d_-0K$#a{7kQ_<93^{}@Sh{LmT?hm#vUCBMX zB-vtCVc@fai#peHr$k3N=4WQ_RyatZZXFZ0AZ%83t=h2xy z6hJ}COrIfNv>#i-hXp5TeGkn|eZG?+MEl#qZVVyHR0fuuyTzognPwa62{86S%C#t1&$IT4EaNf-@*mKF7h)kbC*Ao)U&ryzwg9B@!V4Al*29e&S=g0|z z2NZAin6DCzQ$|J@?Ou_U~0mZgwb!7?b@x6Iioo9){xGGJN5nH1fEIm8OTic zP54HHGo}IN<|E3HzWyIk0G@!m&8MvHAb?s?4ps|VxM*-hm&+5}%FNqLBH|p(mxjdV z_`;h|knUQ~l%ykt`tm1Os{VnOQod}2nJ#{vC*zIGtL8>bh{x9JEeoFih;gpo-osgsR725e;GL*2+I%hlNuqNfJ0v4p8M<g){tSaccTLCF zF*Zb1jdIz#O~>cGdwzwtA^|S~av?uW)sqvL*bJld>I8eB?YKGvP{9ah#> zr@F-VRK_A6+=7Y5E^PkFmyfp!HCr!tfTm|m<;jR>Erwg6r&yr{77GMAhbNQnROJRH z_Esnb98h`jl~L=Erd0D2$!hOg^S7*#MZZmNJ(GM9T8CK|n>D_ku>ClPh;AC1t`Eu?vpBN}ou@x}Es+ z57^}(*!Ii3qTUFHdsCmyd_V6$@4vw9m+vuzO_{!3I!U~8azM0p5(f0gSK@* zu6BZ-h7H@4QTnD=s`5-yerh_yRrbKVU5#bmZ;6=QxK>xEUwsgY^*~(tyRfJ`he;0u z34%!n_Y*3{WBt;4U6jYZc#y0^?FZS>OML!~QB_+^(6EwLTi`?3>L6-KICr@Dko-oW zvDUJ&nib+4Y7#e_Ypc2z^}&5l7`zwgOx2>5GRpbOT6Z>8J` zu-?Nw`!Fg87$sAA8*d=wP@~lcP5Mxx_I!QCIDXXTR) z5yzk2+#By>DQ<%b{yNzi)Eh#x3HEi>YwBBhK+>WzOm>ZHUgP%7i$q*i#Mclu)3Xk( zU!W4gbyHT;TM6$@(|>SfAqKcMK_%Wn7XE#K2gO$XA*;DM%GsFb+u*k)-!EnV8YP12 z3DR0(=oaWq?&s2seD~t>RK_M0%PZeL%L&6ti#tJgF9Uu&rkmg!Q#OBVX`%TR?cnWJ z;eD*gr1sr4zb%vHacQ8Rf?Y=~~gtBnP zs2UX#P`QhuNAKHK=)kLg{1tF@_Hq9ISikH@Y=kh}?+iYe`g}XPWT*9T_QC!a!Q@y{ zjILc)>CuxAS&pZdh*{(5E43~O&gR_NfNn5D&v~ZtQ?~|j*~zuVX9#sd$Cv|WG=+Ki zy4@tEhXCpW*m62Oh#7nHR~i+!QX!Sf=lx(02GdwwNSgr5^Sdy45`3`}XOj7`yNVMG z%)&g=YXJO>aQZwH1!N*T<{`@>TaQapn9c#egCFnB*e%WZoEJ*b$+7T9yF1=e$`$$1 zWQq;k_iw=VQmL}YMce@Ucmu$?%9=8IWX4~VJjr%%$njU}302Lgb%9ay4imLxZj=1xGeYE1*gt976ei3iicv1U(Nl0fP z=sO9OxTIX0X32{#e{JI51+M3WgU}=-^b`pP(X0R43F0M@|Hm{TJr+YShc^0;Hv0d% zqsSP6A{_sZ6CsC)|5sAI5}_zB5%wL0=PEjZY$a$sN`vz7peGqja-Ct6yB-1IJ~hq0hR?guCd6 zC8wgdYekz%k#gKhXbDB;XHtw{AjK16K$_=HE%R3Nu?a(AzqM6`5+fa&Vdn~s?ljLp zKZ;}t6Go5OsW@AE>15$^BSGLy%O_c06|h%9xJSY)ZrY1xp9b?o;=X8M1P&qI z_#Rfei;9IOG^e)L;HkMhFqbr#kCDx*{^vRcPixv8RqaVb?PJ@v<}39h`VLK~==Pk{2j=u2JyO}SpVXzNH#*g>{Kg(h z$R#(aXP&p>i#-F2eQ$Q&eGSFgjh4w!y+0Oc)h;wB-#uc#0~E%4C&YYyl-jbFJG})Ed_Os$ma9%1A~bd%*ue*joU#)wtW<)SyKx z(BibkiWX^*Vx_pdTOnwII}|9;LLpdzV!_=KJh&9sK!F6;0HKiLuJ6rz=ALu^bHDlK z&ScM!5H^`%NcMWxvwkbh>upM-=j-Ceq_si(9pTilIAb)W<+j1dNH<_;TjjKH+T5ESu)=2eg{2IZnzyMA;2wa(5wQB427H-asy~Cv8f3*Cqj!CQt+P6qNh71L;Mp|3d_0%5CvmBc zhcVbonw~j>xRS6jJsmr^W$K)ZQOra1?YcpRC%p8a+DLYqLJ!6K@w(-=S8C2me`etp zPtL>1r1QfxUbkWcUAt0^xLCb5UnuYPf7LB;8uGU-xq4u7r=TvT{r%hJnpdPP1lNZph3IzSeJ?)L)hynJJ5+PM= zU9x>e^&VuKo+WwHcYqn%8;+9Ua4v!^m^rCxilrGmp1*;;xg!r^P|;|JbZ6Rx&Etx$ z^jF-Fa$c?`?4oQTZ4p^cImK|xm-B)D5Zr~!+uG8=`X9J_)m=!>w06#8WyIr>8LB5r z6!?AnI2G+aE!t~nCo=dIN4~gkKvTK315U_??5zRWD53Dr`S3|goYr8Lor?=gst9~o zOz6U0(2Vok{LSr-8u^cEVPzjd=E=IfA8wF&{L1Tdnya?b-$@WYd@Z#qzGnLPjm6** zCV|c-O^)@5&@om{&rHeboCjk2w3-m^TvbUmG%{}uoS9mJm&1w)uuWHyU+E$80y4tR z&UK0*jjz+0v>lM_pe!KG>z~67%m}Nc&ZhDp)u$h}j2if_XM3N-XXF84V!EN6kC;Wa zdO<^k6Jls@rnk&g0ez-L_fHE`S3w0+VbT})xq;lvdrM_QEg|>aWa1Me$NKGB*q!B= zXV>bvavB%+yd{IH-5F3=M>&gxvHC0|fe01}4e_OdA1G?u)@JX{xv?Sh6t(?!qi^MSM$P2EL*dz&zhaeL{ zrGPP3l&yJAK#d|Gk_Dfmg-)Z`^hd#>xnwl{36MknAoNok!MO~08lS%|{>o6X=!apl z-2&&sX;N}fqQwtaP!G2?!Pg~(VxkRmJZ1$Y@a{+7SS%;9AY8<6ORK)p$%U?9I0+yt zKoTgcn8r?6(HTg``)CtqidXs-*c{cvUkLB{^tD&TXTJh0Zx?*~_mBX#N3t+KKbUw}?+e(5@*J6c zyz{BM9y}iU`)FHm$XT4H#E5q@YW<|3p@x&tuTuWtMV8HB*X`ev3VFrrCOQayG)6S+&)@hv{KYUAUH-aWT%rDv0Mt19@`P zgiU)?=grey{$kV-N8XzZmj+|+&wA34-adoYG;7das9DxO1ZC%k5>mdQdY`(9poedt zpKo8DDk!eMl3`5ho86u!EqGVh-&6>-`s<-(H3>A(ZAx%Vqo!S)^x{C>HJz5C|0LW7 zGHFLszk?aaqfBt4UpM_T5xp)LY~vOie}l1Z<1%Xe6IM*5Rd$$B7*i0}OIl2WbPHcO zCW6>EaxOX?e&_#F?F$t)S0_^z|JX`^-Xtqw?1y?9*RqN38H#Mvj~t%|d}y^k(8+Xq zzgzh(&J4IzNINft2PpTCj46KCHj13{&==nAtdy*t#uub|KEFKu(=R?g&z8QcQOq%T^+(ZfZo&q|#D4qpS7*HeqS)Ejehew6R`_3t;}j7czI zB6m8Bk(0vFV}^AHNw?Vo&8AF+o>Lu9Dx7JIWfINFm?D!5ZE7SD#Y|B`C3D~xihp8c z{)kybO0OGc29K3iKqQPwBFmjJNO ze|@-^T|s&mkz=o0%jWw#?6%dn5fnYxSk=v!`s$HoFn>VL=N7AS1;)M#?_msUeNLyw z5E#!bK{T2zeOmae?;M#21ItVnYS0SmiGBX|N$7`~gTig48&!IdB(5JEYmt@>E5B1R3DXU z2d~o&ml`rSfa^AFX(v*VlHv|RhsCqu8_slC!0+p~=S>BsX0I0% zOIpqX`ls5(!~ZBG$I}enaBLbj#w6u>e=KIk@4W9&jC1Wl%&Cv6c!3s~BuC1)#pU2_7ui__ z^EK`$$xA{ui``YS2(D1FEU>wwUcBuvlg^Z9!1PR<=^@L4!UdY7GA4+mTC)!$*s|0i z&I{nNEReK8g};S!`{)dI4>S9_I~ZnC{5Cj0TWJZbxhWOdbOv{KIJ}L967`V1dR48* zCMhC0Q<++!Z^w@Pa`gwrKc`BFwe3euRxy0(4rB$4Ju&(9f(uLjz#+hUA21zq!ey80 z1PP$LmIr6!N%Jx*%a2(%x{~z*yN}>s;vupFQF^#+@^%uU^dU5~oDL(kn^$f{*f3lI}Iz7-y+jrlF2kUn~t} z+r?tOyLVht1+{N+ZEW$yohlrbetz+!mL4GsQffbuMSrzZo)Ok+PJkFtx0Fg3O~7B= zvCo72i=H5${IA{BLc(+)Kt zY7k4mZa@e3ZDVV*f32MZ#iorv_sZUne;z=wsUO=qOtYC`KvN7$u$*B8JByG8lcPhL zZDZP9ijJtK6@Uz7y+99ZuAT_YB*qHM-jz`S7Q(*+(hUF|IUaz&o`+z*x28G5 z1qg#c@Z$4eZX2^I#S+QB2A{jC>zjb*oEV4qVtJt+Q1lf|Ow*oD7nb^9OONcRtsgE% z%dFi8X!zJ;4M8XB$Nep@c3s5X*=-=b2Z>dJ^iNeM&{UqT3Hw{eWSx9}aFC!@jx(5P z?qd?C?afzAH0eVMQz6b?|1SJj5I5<&$y_YfVP&})&QB3u^8qn5cBm$2z8}3&QrPD5EL%jOFep2XK)gt3{ zTw>EeL*P}e@`#-pQ)ozBRn`cpo(Z>T(Lxq;X6(QRfS5ElXWF8T!?Y*atU=}v6ulH; zW#>MllY>1=SSR}?X0R39*eqo<#qC7OG9x$$(!Kt>XKC`jBFrezHc zPo>TklYS;S>OKWmzD{hVJ(N9QsUdw)s?#GVGmf)HYD+NUj7ghY1OW0lrOoUo{f!PCoI*A zXLu0F47xA8R9aQxiSwf8rzjL)P-b&!L%P?3X0(O%Sn%ULzl<|H@4r8{sG!W97RFmf zMQqK_%$3?_0gD@3iL;Vo z+~5yuzZx0Po~|={gUJIm1s`kRRJ7CI(*%4lWdy&zGGL8E8dmxpxq=GO7o&o@6;`uF zmx=U8>fyK%oS}td|5QPo=A457*`!B9Zjs-7^OV)HGq%Vic*sq2fG04Au+Kv+%QBjF z%;EF|r-yAP_RINR%~G=(`(Br{w*}>RYxg?dLmdl@!)bLOdzI=?@iHw`n?n&{jgKrKEIB_BTCaO?Ub46473ScoT*t9-iTS~i*yp!8dZrL8UzirMxzbBx{4TY zRd650>#7CEF;j`-wc*IZY_iN;^)B~3i-Dz|l|j5FZ#H&!0G|KaPn}l9DO$P+hM#C* z3yX$o=@kwyr#uukgbY35ce_mf)R+o=KpHv`%Y8e*W2V?HMNoEowuqg-ORJrIx*1b0 zA73Nhi4)eC^yP*eSIX2jak-Yy0|saNc+f)8PfY3??xf;VNZ{wl_&GH`utk6YAkh7Q zzqGF~sSi}R_Nd(|OueZeYER3#CW`O+bcrKZ8=Nik4X1DN0K^~`SpKT!NqyVP5K4Y0ADk9Fn5 zch%Uhp!2NRPk*}2@ALyk!O#3=xTf1&7K}KHl(9`t8XM^$y`cEvS3K=DodDt4U!uMG zwNAgT^g6`Ynt{(A2^z?J7vyvP4w;-{Q==UjFmQ(=CpVvzI38omeWQ8~ZentzM0$O6 z6sY7~q4*BsN}7+W?;-0h*en_omjwo}73RQrPa+bNgNBVvwM-ZKznl7gf8BcSJj0=u zc_c^`Us`0jHWhD~z<%-BV62@NRnUMEk6XcSoJsN~P>)lc>+}O=pM|>U;C9}co7pZr z%9L3v)NPtHf~t#DlAnKB8)VY7c&|>dXMU24dwz+sengpo7=LcbqwbDb9=77wWi>~j zwv)L?o{~#f1a0J-hKj;<`0WdZdsRs9s(J&=iil^JAy7JevitGycc;enX?_fueUEZ% zQhphT?v+PNv;kS^QhJ^m8=)kklxC0-Jt*qHdp9Hzy3lSm;-QjnpSQb3lOh5TwjunU zr{d=ssw*ZqSaCVlS^a>JRop+WryQAF{b6;69ekdoN4|mg>dv5LqO>%OvCMe*RKFxWQxTja0y2hT17cJG> ze8(ZRY6;W&N!6#`_qIMfpIcE{ez*Lta-uZzt**IT?X4c2(RTa|&Oz`vhwOQCw>Dt> z1Y5#WQSg^&7QZ~&u4b%8WSG7?r}*XG2V!SoAwg9zylr~}&!xu|T{y99&ee0@lAY&k z4m@|vUrGwbeyRIV`U+K!h&uH+Q0R zdiP}F?cY6oN!cJ0WPCg7ABz@fC-OHf>`mnZyAI`Wrxijksn*-oyz7~2TjQ0In=S&m z@)740&ICtA1A96{;1S=LQ^eiSd$vt2NNL+d@4v*C&w8?Jk+5X^I?os1Xxxqh!9h%+m-L2x za{(o>z>VjE$BHwzgc-?aHJ%~(=kC4@d(Xm^8R530W$G)a*sy9T69-C$U?o*<2T&~k z5G0db=nk*W-{kWNZ&+w4mOaz^n-n(Z77m5;p z5}x#sLGCkKlaHl~^T-qFyRFkbjI1hshiLhw4DEH2{8T7k8=3idT}o@3tAL2-u;6Vx^S}OI9$|dCqbFyQljJzA>~RE#I=fq3-I!cUbQ*Ds`oz zop`h?prHbUug5YkEvmNviTIp-T3d33%AT8Vv>}z)HkBI*IC0C_K8#PG-8LPRxX>BYTzv#CyH&wqo(a()++RhwW@qFB8#-NYW@AWKi-6dS~Gu zf_(m7+Z6{I=x>~ktMo6piN!M|axO^ol~=56l>o4vGYYKUro=c?_;={^JAOFbWsF1} z>GND0HKfoRq|W1rX9nSKPCkqWlYh76tWjtHku5Y?qnO^q~0h41N%O=iDEiSGofxli=S3WjBNoTs%R)0<5$6a#iJ#!8( ztG+(ZemEZd*#+e3A7n`nQ*KC}CW$jgEEBV{l$q{lYCm&v-8Q)ARt9Oq%>d#EXF&;q zUqk(<20-RS$pe|KaLxU28gdRB!@Om9M!94 zGR6L3y0-HCl%9{B%HcZakgZmV%0e`TChenL1~lAD-Y#2VpLex7Vw7{?OYQX$-+d?c zx%QfI&rHd~CDDMH(5kg~lc{#baeX-l-q-Y(kkO4Jrf1vB_be1`o;}q)#?)A!dpJ zto4y7;8HzLfZs+1S=S~`S6dV*v+9%?)91ZT0Xkr!cPP!R?=zKClTBBzh1t z)r6m*mu<#!-Cc<0V2A!`e`C~dQ_3mJ_o%|0Vfp2jHZsrWlJx7}G;DPb!9aE!Xtc>++`f>rFbjR5PC9sPUy!YA65w zk?M<#&6CP09x)=7Z*jX2)hQNIzP>zAvi=;Jgno*QPA-g6OZtDCta=3hh1%!(w}FkX z&{$b7hv+|0D*x)+WV{ut{Xgw(9OF0m$qPB%L@?9;IH!1N>%EFobtf0iAsqjIvs?c2 zr2oSFIj#A-3#C6F^%yXexlQD|v>B-Yo%@r{k7OI$&B`Qo;w`wZf#-HUb{wrV)_sb- zf#c<}2_Hz_l1#M&Zwkb9lTVqfAy2~Bd{#|s6;zE59~^*%ILY}@I>&$1_VMYdw%RM* z!gTzk7$Tx>W3P3N;D!9~0= zQ}KBms5@YNVZsTv>u#{D_@3&Ew3(N|a#`!$yikp==%nWb(bCK=!-5pw@b>~`T#lXt z#?3yIJ4R(>=s#G`GGHjNE&U^E;MpDuN7U3w_`w?4M8-f9;cK3z`cFwx^;cpvD|6xC zDbAdG(9NJ3OY}mv@wk)B=&wC3pkb{Xjd%tlLa+Eqy_|tVT1qThS>D!48k-bDB5a^0 z{>u(hy$<8#@25(!g|l|;{vq=e{76g1AX0{a(A~F^qjIsD-R@k(o5V43z^S z*-Vz|qhp#>o>@E~%0LUXi(*UF__-HQJnYIX3!iDr-HDVf>YO(Vfq>tA4pCpSGV~}? zX9c~mnPh!*a2wvj$L1REqDt9CaK^8W7>Kv&9?}$NsyM7;n$Yb7IHU~g!5BNFoLJy} zE{xvN1Y&pExp>xLyuPe$qs_@*%7~5CzKC4`g(Qk%%QQ;8uuV2-$T5HvI*{X7H=f1(o?Os?&yMV+t_zn2Z;X)NTh@bESh8cm+qET5u&h;$LC{uD&hl2nwk@C<7 zJQ-O(ze7v`04ad0CJ^@~gAu=-i>cJ*1(XQ@^q;C%u&{0yM97{phCN1o!?>pEj%L^Q z5u~{uCUX$-+FnkQWdu!xO)^*E^Xmoq$z3p04l>{I-O}-(k=@+o>6;8OdMc~8FH%vY z;<_@$v(cm^QEp$${*>m`5uQpW&-Ki3AC{$lKD}q41d^Bc*SpAg_gO(1jrTE!awoBf z#yf+!fyxgPG-S<}A-ZpmuNMe=O(!uAf8EobxlkMUElFk`#o5@a8!r9{jToInZtKK; zgD07umc;z-#O5?NbA^=%2h?3Y9>g|30HvkcQ4X%#7>9}{s?k(Wd(_1zNpKdz)Dd3> zjUFQ3D^3B{5PG4Q;^C>{hE(n{2^=SOzx%ho2RKVLP238h^}A17f_z)VrurWOFjfCH zt-Y(7f(u5fj+`zVZgM5F@ahC^73;(NdhQPS2iT4=Mp5_S1R)ZBxG-7Z>$x}~WK^CoRS}Y)4$i5M=Y3ozB+r#K4eM=v%jWJs?F7h0N~p_YU59kNFwt1950zv4rp=u%WsRtQ9eqw zY^{l_XED$z7q<1s{IOt^3qaBNZ+F*c+xpl(r!=3$Z;PXxWy_rS)zq+!c}3)5c31U@ zSn1T11{>SkhFCIVl-!P;F3&T9*=umdXN=DMBh$L?=2t+GaC!Y5NShrHZV^y4CwKkk z1qWzb8i&-#+wNA)NE|}NUyDpvzHpVNIW2#3O?N=n^$)@0YfdBk(n{a;v5>~#Hh$Ad z-vji3fbgaf5>J_7a#o7d(1P_m zA+CkGFJJvZJ>sj$mwLF$`&-bbdk^`w1-lGn+6~Xdt;w4JA8q*tzs|LN?h)2M=;l-i zGefL3$1l3By9;YmA=Rj~cUSd-nI&+uo+@fWVh_=)W@yY3-GfR4oOw&Z_3sLecO$_&mwJV@q{DEuGr5j z)az)I7#$aX0-V>|r!W&goat^gCOE!+a+E6-g#a>pZS5JJL4%Xtuiw}c3Ytz8whkC6EOtnu+%f{&kS7d}sCRv3F}=$Kcosyt(W26BWK%eb(cPW{y3 zc0*I|bn||mWCPMZnJCG(qRV~jZ^U}HipPtTvF<9ykVE`8;qUfGouUP|co+$OK*d(t zkz2Oo>tkD_#lZk?FEB#wB0;p$L?bhH?E|H|delVbX~AS5wZ$E+}aGV2o{& z_Grh{c-yf%QAZ|VJ_Ns{TDY)ly`PnWdDt}?Q9O-D%svZvQV&i%)qf!NNx!$EVl{XX zGKZLIO&S()=_{2LjblVfk}uC&%i{Um9>R+jN+<=lFoTM**RS2exvuQJ^33}$VDD|!`1&^O@BmB5t(C3IyN+~46)bTdR& z5S@1*Ky=T`*>GEbI_i5TVXHRNW6DmXU-gmyrNbMLwOSFn&?4a zKs%X@@i`j(lV9X=>NXowvP-UnO%oQ!^-7XAO+HT2_o^T_oTDMv{JP7vW%=33zs34P zXE}-CzC_qWat!7390PIch7ILM6=P=m^ry89kx3QaIJvClTcfNuPfi0XBd?W69FNw; z_dWE#)VFH6@#%biDYFci>=w$1Cb$zfQ3#GAJwky0#0_4g$B&Y<*#zATS4$`XvfYZ8 zM_{*~oyDhZPBR6sy7I1UQ(7K`y%5Ve7Vp-LGpO$7{yPh3$Xx_?*o}D9{15=ww5KZ` zD&6q`w%N{Y8*7Ks{M25U706(EdaYH2U9|ggx-xZ}zV`M7==n}mlV;T^7;jLYfb zKZz#hpcu!32TQtEB>@)u;?0uD4P#FZBQ8uBQ68S}Up@PB>T`g|c>i;MS?NbN4RFsi zZilSQP-9ItQRCD2~jW+b8Ye%qIh3ISDjLL|IXB8mPpjG%-R5b8_C2G%fG3wpCpyp@^V^mHT zIn<<>YNO++EuHO0zg~autR3>?prmyRO5r#02WMfH%$|Y3tGlxiZ1+!q8MlDTl;RD~ z8KSGZ9dEyU3K(!|bC=2t$~TNVPwApKlT)hUL}o6aya2!M=E7#1XYf)k9xwb9@jRU} zg8x!_5Ad)}y#9JaQ2bWeNz`BS?*A5Vr1+;kvcwC*hxjl4^(*nqvHx@YOVBI~#%si2 z{5Ny(cmBf&)soZ1yQ275?Ef79{C&^oQYiw8;gQATW`w_lUJ$ppma2de|Jvp{Nr^2fwg;DEj9?33o z&#LSRXP`WmsXIHdHTh{tuHup+bL%T!di}3WeZcSUs|J|Q?uv_Rlzd# z8{j)RhJ;5*)ja1k6^%HsJ6HL{DsfZqC(gKcPV@#Uc1$VY##nTed`Xlh`aY*jJy%w? zrb+mKsPWi=ZB>j=@3sga&Cb(IlUz9#G@>A7|r*`z!%sDq& z@4BSZqv}8^VDJ%_espx+vM4ssaKxckj4>6gstM$ zNgS&%^{*P{?v(6U(!g226Z30p5wi)#t7b|?QCa>BTbwI3HRB@Xk>Oo?)pWB$RoM8+ zw)#al($uJdKv3~H_L~Q1hIdKD#)bNOJx_Kop*8PG2nnZ}tDJ#wy7VSx;-&-AR)d+# zsxG!qwiZO>HteRiA?co7sPE{mRKn73C_)4o7nId+l{fBg99@HqH=}xzlHPrXF0l?K z8My~;!w%P87jmok>xpImgf3Dy@xw?+kIM|mhsen}yEPDC$!$CYF3i2wOr@1#j-X7~tNr^Ior@sGh7ilNf!_}(kPLF3Fh zea*_l7UW2Lbb=z->otR{QxO&f{r)ReUqjABQy8T!F$zwJ1+vSRyQ(tpX%23_SM<7< zp@;aPGzv~rsaQeJf1cn++A+&97ku+(hg7ASbJ0$nU!n(gg@ui~6qf`5R5HYB9ee;v zpF0MWCmDfUP`RTQf2Y07v?2*`Mpdd*{^%L&1?dtS+6M-qoO-}>J^RB&IaRo}*t6Yo zw-TE&x9ff?TOrPw9U~zb_SmOtrm-U{v?>8qgcV#)rl*A?T#p!l+n=AqItIW z*r$rDVNmPvZQO*$Q#+Y|)|q>ZUy;V?6}fPhjF^nv{{`D?pm&imZnI;A^m!d6N> znC_-(jfKH%&UbX*ow&S(HjfT`dou`sZNsKJ^-^d**<4+uLQpU1cIZ&pblSH5%s?$t z;DO!wS2+^!nQyPl(BDt9oeuAZ6nYxrS^e?1UADbQ%ED=jJq? zN6C0xNEaJVCU0ADdW4bAL?d{I&?YQmC}gRPWA`t2z6QW;@RA%B*DY@V6YIlC{~DI%6cyMc}?_b#ei&|_8nX@En7~2up zYCus_g>C9G!M18K8p?*TG;T7i!TB3mgA?i{y_m@1`e z0L|ex2Xsn}Hj52R#s$_Rdi!jdbQ}qMl^MtIH^*R+s=`JpogPWPN$d2$mQOd}g%DD z$}~=EFDDDy#&>4Eg#)f1_^Af*FdEVwoKJjlV(s=|H~wu`gv5}DjO~uQ9hV9CwlM>P za}2VS0;_|JeDS%r%?MIavt>Aty#)4|sv&l#ekcC%jhvX~^t+pnGtKvnh;pb_1kdBo z9@AB}X{PrY)X$P|^l~M~8MYn}#WQn?5Y06Oe(AyLTHEeGR;&-iCj)w8!E89AWXEe% zpT(3*E7pd{6~85W$Or4u>u_J7uso>LGb%|h~O4D&Wn=pj{gCzUs8wi%m z=@P@Bos=zUw&{7u$-5JjcrX4l#f@*yLspPG@C^qYiOAt$Ajhj_rZAvdU_;@@hHsxW z36E1$TA;;l!pL~tc9coR5v@JhMe%={ciec zqqwhHGG2$)CportXR>6ou&5}E;SrRznN<go!>Skv zHG?2H3!k#lN$-*VxsGkURP(mgY`NL8Let7^#Jpli*iKJfE!_z)X$L2S?`L@!^DPqg z11dkNA)5EJ(i4=hrGfdsCxNN8Pjr}djKwAz2TSpPAkpA&K z4ikVjX~f^+6f-a*L1EnXU@2{5H=eS^&D`mx!h3%KJngaKFPP>`X=Vr#*UXk!dXN+NMhSygP8|7!UVa)z(4WO!ekO_Nu zIX#|eXlP-QEdW@MbN5*$bvof7Q8)~>=iE$G@Rt`vnnr2wWEf~*D8f9pB3L451h-6M zP7}SXu2^DzqJG#blndYUp(-!Jg$vQ(i6r5YO-SR0Y^%+K916|agXfElpyld=$IcA3 z<`U$v!8mBW=Z$N$O=Av)p_4LAGd{Hm2gJmzS?3*@1|~OBMpw(3QbN^4Zac`Cw*7G{}Xrt^I2mEGqN&lLp3< zZ)uajqqoW}iQSSy;bIv(p=;!l;cc~R9X&|Fo@G+_JDlN9<${fto4Et2$EH%(+-mw7 zZ@sq+!;UXv1bYp_fRH6Uo5dr`?{N8|19?VBq2-*fXxU}Dz~Y@O@JDn4;H5XczSHC* zUTH~$;&_U9_o+ZTI-XqnQ1EuqQ8m};oMr%)?g-cw`zoyhENuZwG+r7Yu1UT-fA<`D zAKt%dE^0@N++ZfBpxTop`L^Z%>ad@*W7SBAwdv?>U!>4^m)B0qB@|otckeFZmUEG0 zjCvv39X^Hyb7@Ek+<@>U^~Y^&PuLP>|8n)WbA6I|d0GjaNViR13Iq4vzEPyH*=)i` z1$(ZZ-9Fl*PB5{&-8-tB97wT&fn)DZV|}iljUor@e~=5{#SoNvr$ICD0kf`FTG>l9 z%M$wOl;fX2?;)xX0Zu~_IW{>Os+ageA4+RIg1U0GVjcpX|CTPI{yGlBA4vW?g{X+C zi}}D`rzLk+TDk6L`G@}hFvdL=CE>Pvg?pjds%R7}PM%cg$2KKa z&S<#S=ok;h{PcSNvUk$vg?cf*cBb-`p)Mx38UZ2K{e)_+rQlA&L82J=1*Gbbt({+p zXAlWWv+BM8q+gJANO~-|WD>yzrt>OLg+y%oNSINp(e>dc#xW)@WBnOjDp1GHmeW zS;+>MPHn>W9M{wNc2|)K@YP3?K~d*Bm?|uqrEv_|Ygi2oRzh0;9!>812;m#8-I;3G@Dpb_T4zA8ub zQ{%aCV7x|igW;BCI@nFyl3h)S-i4z)N)R zg$`7Iz6BDia5$AyBR2cZd(#Ox-;tK!a9Oxw;>~bilmCP?ai)$A=)4rr`G)HCnhItfB`HC?q&*r&i~|nzY(NkcqFebXL1Erohfmq z3L|tJYSwO|iucOO#JO*&X@kFrKpLU4o7k8XaXmlkk}Z>z`c=vULk|wtaDJ1#f|2rJ zIJ~n=+st`X9faN~uYJn-bv|ijs$}qolF$O0rjVKinvB~RfXxRZM?LgIFUg=E$vt%E zTvCs;GmfBze4>DHI+})0P@J=zCUpIWD@Z{b1dC7b#USLJ<&4%Po66J#cgH}@zpH>* z2+HIhJE}5)pJ}SKQtuw{^eSyMOk_9MBgNApK9K?> zQ0U3R=c&xLe&ymD=*lKQp!AzNn1-$hEaQgw4zM?~gImuJ_JI}@+H8kZ(P2@6oLvJi z?zL%!UD6^bM$kmEYGO*MhhVEm`}tEf@YMl2e2L#oJ%xXld}#vw=v^w68_S~Z?a+8N zz`2(+TDn3>LPhm=eF~R>)2>j4p5d#L@*ndIOXx(~A^FS}XX8w*X7p#T`CnVc{JlwQ zg)%lCWMS^JJNi`NfA942TXte#-A)4lGRQ`G0589>5Dxo_N?XJ|uTmxgrTb7fLbgEH zU1Sr%J)tL`D4O#~)LIguVx6djm?y?BR{+SE#-Mp7wDpz-1lSztw3E5TPar~I<*vkb z;>&(0H;t40WcQSQ%k7suRr+sld0gYvk0uo zOR8qz4h?*`cd^CklZByQ8qlPV%^d&_kRvXkz5%TskOoRKW%?~nr2FyFCSFNbM<*JW zWE@JoxP5vjI=sv$>!nFZjk=t>&|HYkJ!p;L;23C*pD*!!3@>(6Jp0XafS8}o=)*gK z=*d>#OmdsRGoM=RgK2H0nu3<&a%6tsMk>8;) zW?He|1s6t8%=SQ*XyOf*6OkRD>u1Q0SNWgazj~UV;#@#SZy$d!GGPFhJ;Y{2x8QOm zm5*WY5ef-THH;)3{FN)X;?3I6uSf<#twA<<1ppoYf`Q~M7yL`GnS-(Y(&A!Q5^vLe33RpzH6Q&~+)YT841F6D|pPz+=YZzno z*RW%tTE@b<5a_4TWED&!HWlFT;>R-FGO%St!h!bB&T3hOT#QPL|0X+FkH$+hI~gEd z(RNXmu)O|518~Rc7@An_`o%aj@I%%5l*fYCCg7Q(Nok>F3Up;>1s{wWyRT=#w@DZ} zQ}iJBRw1n0a zZ8`a&6?VNJkM_j(IjUIWhZD7&=RN=!uNx?xB`#5r9vq(nrugdP6c|8^4S}k$ZQy$4 zuuhoriy2DiMfDZMN!qxXNsq5G{Gbnj2y;P5v1j16_vo6Q?U-l|@wXjpK?7^*Gfm`F zVZ-R$Cvd-Ln8-0~xFtN18DKd$BblTu-NKemsNczOq#mo*SX65jR-ok0q3&B=J^G7y zUw2XuJ-3ZcZO}sNbzr*B+HPocL}PL{}$dAWvRVn7jW(@=G`;re3wW)P`rB)L!fk0 znmcri$+JkO66gGo^JonipV;eQvfy-&u;%A#nO9%|?f9Jr7hfN8FlbtzD}Ed zB4HKU%`MY)|G0YyRcOcG^*MO4hwAY8Yg))IooJ6lVsI z1bz>uzwbGjU}NGY%AAuI>#H~eaf^B36Dt7+m1{=+#lbLu5N{4wRw~}Ls94tI2SUf= z^d%9wumItfTB}bF`a#&ecV-G2V`(IxG*#@DrHF#qXY8#uyr|Cv?e5=zQOxJ_tHa); z{AOyD*b*uO_ zCog#8AP1z_M8dxA@SwhsID2v63$aAr3-s)SY(6c|Zn-SrwM zg0py55#zf+naC7lyX+v)b&uce1Zl^?;1(0tWP4M2{k|s8Pg!Z(!&IZ^AA-3__11}{ zWz`Rf0;>@c;B|W^vseP|AcUW|6zfFvFXY9PZMg@ko$_4ve7+|E1V2(@UjKT6^t7nU z?zT8r;Bnj|zJHu34@yKiI`h{=BxNtH-Khad;T4ir}2b~|SOTj!N4-rH+&>qA>b13jUovOukwieHEC$lp$ zNqndA=OiO$t$Jd9U|i$z4)l__OE56Mt1zWvY`-$orQq=eDY*~5LC3X(>AAZ8U*@qx zSX1iQPs!H=?E0)W1O)c+6&s!rOH%F78Mt^A1>!X~OH z_NT+IKmKS;$v6bhjK`gVt-p}@HuR9f5-Jh4qd$X!zjTTNZ;(|CLXaCe>zkq2Uk01S z*UyGJvsLO-8u4t{V@{<|`J5~_ZF|TwuaeS9{JREmxTojy|J@0!h`)l?y`#+WCWpv5 z-%AKW;0p2uK?;lsjQ>wa3m>S;`_JP)yoz!qWyA-3zwrO7TcGG)_o51ao*(~hYdl0v ziBJ}$F4%_RYvK@}%#8N9!B$%h{ADH){-g5a@f$%xliJ!>&2K>$-TiZFZ5uryny=#K z+A9w#zB8K)zdz)M?mGdy+(D1clwPlRAl;SORgI2_BH*X0xBrW<^A2iyeYiXbh$2{! z(3>>rJrwCGNbiJRq$f1#y@{ZP4$?x$00|I^5IRV25^4w?l@gjr2Pt|t_ul>OzVGbL z?q6ZTFyDVj<~-*)=W}}M{M!86Gon0AQ2~lFb@5uQY3$v(k2}0OnM??h+9fh$P;Y<$ z>M9eQ(&FUWrE%a+5(wGv_VOxiKiAuM{aMJSZl*zpc4BGiJDeF&ZEN)_uC@J7tfr6Pb3Mfe4ePWhra84;}$(LXtgU#Nf+W|JZjY&dCN72+=As~rHe~Ctz9xe<0H-EMJD_w#*x}Rk>1}5j+cs0Ll1%lZ z7~tqOog5SUp|#T4UTY6An`jjbs9j9erq&yI6a9@m>Iq11A@Q^aKyS6$I3>YA(&56J z86RP0jOZN4lfW{}PB6l&gjU)s>@v-tFB@n|Q8A<7SPbX0%<>_*#3nf=lr2a>)xb=1 zCVQ^p7?%;xb1w#0)Y;D4Y>`-fM;c)BZGRo>lQ7aoy>tqsd6nHFzuEx1ZwjJm@uqnK(&Q4L0hi`_=6S$M`tP(E6#JkTPaZabFRJm+`; z&0U|`(zLWhfjVOu(E!X#$F1moc-t!+wOK0J@B1cg(B}&0er9P|8kqG&=AEcw2FBVf zGi43e%HhDreA0MfQPt?gB!illoR3pC1UpPG{+fk-681fs&rym?{?TNzZmQpEc4;6K zy`995twL*P``mhz`{9>r$&BPq z9sSVooa##B#)V&1!-BJ5E?;Bk)Y!))2W1NbQ^OX84(7y!6}q`9cbRe@w1gx2tO8Gz zi1GVmR>@bD_;hl*RPJ3xt#>MD@8xzs7wujXtb>$WEqq(bSoJ87PhqE_HV--zrz8%i zReZ^X6Y+I)csEa1YS!d_x@$pIo?q^|ibQ`LSeC* z*Y6^f^e+Eqc1y@|Q-X6#hp-_Ey3p8czZmM=497gEsC`RnpYH}4eyl42I++XGU_ib5 zVVVHlOm#)MIpFP98&+$3X5vG`i@ZT+htq)6;ppK?4jlLKmqQnwC0GO z;Y1geb(2j7Loy@*nmJ#8QaWl7xp5oAaZ)Bh-Ar?Mu4*8dq??T}&<#eOWyvBP-gv@) zasZM&WNN+`>99_A;d2}In2nTG8PjJ`ToZZJA=tuzw2kBs5g8!v?5y}EMRc-HTOxS8 zQ%(NR*ps7&pvqHy=yf-`%B-H6+(zs<{yqdae{W(3)Cj+ka#^U}et~PSkVx>aAbvxY z3ZngsD9{FN@IIckwswq+E5{&4rIUVJf7p+SoF0YMXvQ%$SC}4_pe(_SNRCe;ULV#$ zlN0Zm$B?uxJoV>f1cKpLO;%ku;qP(N(5(bdA9cr&H?OT+IDvIktE0^~TYi1#u3xBL z#LH)()*cevg7m77_*2NAO z*w$&%Cvrcl9e%VLGFI_=e|c?ws`U`eQFN?SvY0 z$AZg9Cx>Rlsh6-f;GpwT?-J`pFr#nNRI&3JLW@zDM}3-Q*;ik}69X)OF>%D*NNxv% z=~gn~H*&Gl117a{^zOkO> zjUPYMGp8aEu382^F9(=7O16!oNat#u_q301oa2j@6u`0lBz4|A+F^q<^DfE1?g5M< z0d(2C3@)P>PM|Uui|cVrVA1VB!+nH&_wI{q1y|x9*o`u;p*0lG+Da6+f(+c8Vp{qY zgm%cz^~Pkx3G!GNBDevu^uB5=dium3X+@lF3MW8lC-VX&E%6*Fv?hVVu4*jX z93O6(8PTlf-WdBSgIJVY#!k&})MDQH%N(k$f?erJRB84#?PNoZI|j%^g(3bnd~@VI zooFQr^euP);?ltoJEeeo9gnjibh(FR7b{p|Ic@M4SvHF*r;FxojpqF#Dw&_-fQXe} z$X&DBkJ$3fp`Q6jV%*{iRXePn<=c-L3}JA@=N^D#g=&d0|y5iaPJ$ z${MWKC%0uqO?dW07Ixj6drk9Sgb{j{7}ViH`vm0)leOEJ9a|yF6$1uWsZpEQjx<}! zjlBg0!oe zI{c5V4rK2|c+G!R_4<5+(fD^kyDU=}4hg;Zvv$@qV{er(^Z55CG|%_p%_KC;r&)$g z`B(?nLS$_A*;$E1wI zvf?$q)z;9;VD;2&bRg@^-(~VD-$Q+GWk3t=Nm}Kyng2!9E4QVE;7WZ#Z#~bs(CPBK zUXf|LfGll9>o%R=o3P3xnM(19*@X|98}XisaqUK{E`6vMt5QY6`_?dSS>j~PKuPh2 z+-Ke{4CGV;ZX5^n`_P9|ZTId4`CP8{S3gQjPzj_$_v_#_s??M7Dt%M;HNROGJgtkK zgL>pG#oAhA>A$HWI<0^?TPW+e2c?yqIc=^2e9@;l41+J z8v;Q!z40s~7t}wz00r<~Nc8XGgIZ4ta+8lG_kaPlM85h#graH4_EnbBSd}a4s-GMs zlxQE|z&7_IG`5EBu=|+NVb5mbupz*`13C*0+Itfyez&c;YJMv9Qs*xs(qrpRRgx z?cXxTKlKn2LHm1=cmESR`rog7gg_BM z@PB57^oeyOcfduYWzx^|5bz=j({M;h@`~|s(snPfs+4%da0sH%s>Ms_)9Vp0o34@e9iijzrC8$-Wk3 zwan~8yxOup_O9MSi&%o3r;w@&;-hz?JV}*yP4bJ(!uPQ!Ai;U@pr0S#g+v?9L!geF zGX2gw_vvYH9?+p#_RR$B+@$)?NOZ9=D>^qge6#N5bg2vGa|z5b0Yn|TTHJ@`GR0Q+ zfsgVSof9y4I&U0ubRh6XgNMUh|m6HrvFew4joaS7av-^1gvSWI9&s7)w>Qk=3cDYCgXsU(h}!If%rUyY~58s4aIPYcJl@URWlq ze$0DM7h^2^Qp~9y8pmRI>wsm)UD*Cx?w8d{tKAy_j!Hem3$8cCLluHw1oEJSG9|5! zu0}4WOc~da`UM`IBzc15a573Tu)j$35HQRnn_oa#sU1rluGD{HA8Mw@c&V2Ni2gp* z?;my0xl17Km_mmxvTsxmdT&Z|R9h})raYJ;i0-#nO75~%7gb>c+tw0K1Ma&CtG6Sm zJRWo;MT83l`XN|{#g0xu=q>HO?Zl zQehlFhg?L$Z|h&2RQp~jz*F*EfJ<8Cx$lP*_(Q{K1p-g2vr~LPm-1DgcYa+On}&!c zP@9r(+hkEe1s#a&KcRPJMjUx7@jQe1FUo#K+yjJ%DUKD@UbxwR)%(4vdpgx?9}j-b z+nnU3HZ`@P%I;VGt5WaEsm1AsfW117R%W%RHIcw`t>KOnC==%{;H*@hTzUWr0_ilB3 zj+BJOT*U!@>`ZyKcamELW2m|eAh}WvC)8f8UL>nYduiDign1EoXW;C$eQcT=k&Y;oTqYdS;4OqJlY{S)DQX7&w#3%WCP#ee&Vwj3dIa9aEH2yrKqn~ zp%bVTZ}qzir;QZxBAh4IJ)>gGTj=azTW6@QkAEH%ihYV7w3uj|+>EcNyB3IiVMG~g ztwHKg>O1n{xvuBe-u>Hb!ftBQnlIT$R@;6{>p}OUn)_WNdt`Dhl&fVWjC}%LRdG@J zT6*_My@p^0-aJb2PJ)>INDk?5`=G)cDQ&|)n7*HCBvg~7chtRYUjN+Gm|+dtm>Opj zV*FGIR#h|7T(!Ue^1o0oTj-on<2x2}k1=^uU`;Ej+RJ+azf$ABzxct3D-48S2;sxl zXy#(NR_kI1aFuubql_$UX zSIrBLt*WeMFThIj2T;%7i_4CG&@oK28=9}kT9^ucTfiR!iGTd8--|xGQR~5jk-k7A z0nvDB$gt)@mJ2AYqi|%#wZo5T61Wp@%*{k6g&M{48enL})A=O1!S{yRFOAcrG5y9Z z%@pN8*YRv0?fCQYn=Q*eKY7a(&4>3zTCRcoW>tLiEW!EVwE2hvGK2sMS zCKc&BycKG}C}V9W4(w$^qgd^`y>W{Tw2*~c)xIpy=jTeL0l;k0=^*RbNKB;+ZX;5Yl zRT8&7H11wpDPZc5W5|+<);_wxaQU3^z`0C{9xfzM1kxksrtIXP4oZaR%LW4O`2?RL zhGFkUSZIruE>C^*Y$^58V1l{vEozn#F2vY5DO9x>9@Q(`W z`KL=0KOeq7FBOiJ`;YHwPvY4uoPRb{p6duu%V887ydHN*K;6Vj?F6~T-bu%|DeU*lS`|EedOTDIaybkAt`TnFT@ zuoLC#$=BwC{n|QL9#?dmZo@q(gYSzmzb`aDVvk7H7$tHrHN}c0>WF<*T9Qs|ByR*u z)e+vYCh|#`+LMguR=>wk7Uk18K_)Z2Z9pp-{l1K3G%okE!git#K8jmtANCX?KXtMi z#aa$aIYZE-K&%I%SQ|DFSeW$yk}^*xNy1PNZZ~5+!=Hy0%L1(hh8ZdhLTd2d{SpBX z4dEBkoCR*W3l0N1_IFDfgf_Zph-bEsJ^MW@hKy%L%9p5$OjRIPA08-6;65hwvicgJ z2acn}OmC)p2l5>edqL8aZtl1*X3~-6{2s-`#(w6nHg?AQ)_5M)4c@36=6oFC_9?g9B3;;!=jBONZZg@9+&fn@wo-%K z)Z|;#luZ_B^aCGssoOUX-KPK!uaWZfE?Bz@6#>AXAxD!Fb#&e5!jUyfkNW(}^fK4S zf%5?QqPIiu6SIj=vQgoPv<*b+=(?kWuEX!n!M;f<6fOh{xd!4q{y2~@Pi;In3GA9X z(NZF_#`wyIwif_8(ML`3JXC96j&I7x`4}fSAgf=mj@wSVuh4=yV%S8-WU967LW_K~ zbJk(QFh3FN$id>JP!k2VoT&3k#>|(E?0NX2$viKk6#~_|;BE0Ubb26gYjUZc_dMci&mZek=O=#l>_3VjPyuveQ}W-)7v* zb=>|J(UYd)#$7l|y-K_8A149(a{3E_u0M~Yt_GiBnP(>!;Pxz!gMPI97TAnr6b*ND zDF()?ZT(jN9rN-?{&8uiShL6x;0%pph|^QCW&hKQi)VX%k``k3;DX|EWji_BcPct% zc#r|}oH21}a^DcMR!hic@cbiNk;H@_|91{uA=HTPgy`~b$!Y>G{lB`y|HT#luYdWU zD9GQhLfkY&ZHQ$JRU+XXeQ-mi@;@RL?)f@174i4;*#Bb?-}KfW{mO^Y{OUIoT-WfM zk2u$7&|f*>nQ?k8JTcH)ACeg({5hELpP+dd356M1Z~K%8o8db?IZ?pbG}ppZN=wJC z6JpF|IZGb6;P(?Fn0EpaLw)QW=$$BZ#3-3n~Z1{PWU5s-&M1vIro6)=zKr!BteyB3$I+GM%reuwI@ zr-i7$m*#T~c3Ny9xY}9H*Bs<4kZ(02RBc30K#kC^V0{fl9eS*SjsGI2G#u_nQ^Tm% zqRXEE;oJmrE`_}@s#8zW%8{m|NV3*?b##bP@T3EuR^eW22ut&>NyeF@6B=@WEu@dy zaPCr{IM$O+E`)7_`KcaC@?5A89h!vY<>8U}%IA_O# znPO&4hc5!Hn9Ir4OHKkze_!H)0Gr+_VrfBrZBj#KtTyLM9h4-wX?R`ts5(zpnNJC$ zSf?cPhr_B`Zq~b_EOxoPp=n1C-4Y5qPjl7U`*wqm?O^kDtx)=y&yWp9**DIHw=DYF z4{g&Qf4HmaxY|D&@MJUTQPahJ$63i0eps-0)UlcGPU_gaQ(1Lc-BD$~&fD<2Wo*=1 zk0`$35<82g_&CwtwJYy$d7jpnfAug*?>C9{UTCbof>La*9DYox1$vpL$iIPh!OW%Y ze2qqWvzO5`BnK}f8_&JG{ft>9%xI54X9Jp1yQE37fOxx!bULvK;X--uw=Xj|IdVNG z8*=qlFt)H4QnKWnfOHq)E47~&6?F!wjg5b7F@+%>_^O@a5GYSx#cHjHSH7@5A;87Q z@iQ>QN_5%0lBO4gLcLaNS;RPPY5qmzlnDLyz*?vMWqLVeI0imgNGv z`Xm23)VLnJHi)v)p-Flod)Hif-DK!v@FQ73r@UlalgBmT&e7QW+XItVEh8)}IllEP z6&;^5)%yd}1qspYLC6{!Y$!dn2AksGQ>Xxp$yQ8ut=O$rzX)c2cO#+DBIJ88Cv0A; zwo1W{RsFQut#9_m*DrcT&@Fsxq+pb&z=xSfZo8$zz6~>0In?HhnTfaX=<0i^o?_c- zg`Tv;d(S5`N$snKHqm!FrZ|ebAH%S9X#WMw&}juVxYScxv}?@G2h)`xEMc4@c)b5^ z!TjpEuX+oMsxvJ#T*yGz60p@NR%f}#@~OptOknt>xlpNNL_tQoCE%Ukl@#=#{;mWF zNJedaqojJVe-o&v^>Fj97{*kBfi?Gb@QpRpi|U~8=ec#TIduJz6V<*&7U+-9>k!d? zVP`q!mA9^wKTMdN+msr^Guecun?g3IWg8a1UHo2g(=x+-Y(_IFUI20(kFpTf#H8XH+ezS6Ra3gswA=jw=|O4>{!3~C4C-6ZiM0kZQcQw#tNO_s zgG_Cxe`hpnp_KhDY{3m0nN^EyW=hk8I=bDEaDi5&Q{0T(oMR<)0W zYg5Vo8RsGM!`0vHW$aJalR9S+P{S6Gx$r>Z&)+qXvwQ2`dDXnyz?tml&op3+uWfPC zc(j&k@@I_vnT5zPMRYnCzDS~|ZYHI}JcFd!T!?j@jlq>{WN33ouU0fDK$iP<8CEMK zd!D5lTRbrJvVeNDuTMMY<*imoi0$}VaJ_R+tzSfm*7L)>vOyoy)&!t!48w_OIz5Pv zwWossm!M4`$v_h+LLP>GsAzu^XC1r<8*jtnb2P{SpB5k&j-K5&TJm3vHaQy%VO&du z?Qb`YGsv!+06WB9>d4km6k}W@p+|TB)}Bj=d?JOOsybymQ=Ywb92EdoTcC}6RnDHt zh~xa+ooFt*7@edwJUgt|L29cDqb1mBD}!Nv<4b29>r5z5_dojlSfK*7(Y+w<=Gup; z=l{ukZ0;+PmAPjzOU)_li+O3I$(#z?PSAE7N&kA?=Zqj+*vcT`O;l-mK#=P5eL@xD z3lFP<#{i@u>08=eGAS)o4iO${WeWfjRPB-Dk@l62i}t9c7ZDvGp1a!_qk&L&bV!GNw0@vQ zl?;12L%XJ1%8Yx>2*;O#$~=m7d2cvDGOP*tpQk9p%DboPw;x2a84(CIt0@EeAcItq}e^r@6QBl%GSyvwde)NgDBL;;&yXGk)}Tjqrk z-hq>T7?6zJmLIW`VQs+S^Avn_;9Z_OCJs8K7RpNAAHB=g4GKew=mIx&0_1dr$1aLn z^+^ogvLtG;436G~Ajt#KniX<}c3^n-Uqt+sui9X_On`ocC7?Rs(vZ@#9MiRidJbPp zHIB+T><2Z=Aa@$Bfuj8NEZB`TL@6`#ROa$jp)z;!%~B8xKethWaYYWCq`j-*lpPyk z!*60eCs|Fr2!$Zao6Gt4Ze&wB3Ft5&Ek16!64S|6+V+}Y|M>0A?<-Rb#FkAe-)X~_ z5}dy%+PGa+mY^d0xblm3`x5slUlr9@-zL~gh>N7Ja*lXYhf>ffzS8rf_Z}`vHUHOI z2S3^rBs09L)jUDjjKY{h?PYe&i-!iN%#)rGawODV=GsAodA*bQ^T)v6XZ{3!%Jc^Jk$U45ilq!i2D)Gf#D@zrtgyNTr)V&Z$sk63S0Ap%t(k=VPF zotHIsUXfwD5&X7({JZ(5Yq9C-?Cd?FOO)&9J&$h}oXhNns&+OJb2e1wP_@d`ACMHL zOOc*MIm<-+OeFu->Akp1$IN?==Z!EV$(hY^kqf=O^}M_>_^sfIC!2e=9v*JIXtcPP z%`KFH`uBFTMiAjBsdb-PM4!yJ?9a58`%uhbHP7*CU(*VE8+JXqX-IwX7ml{&kca6@ z3eWpYwJkAFqF&gPKh=|+WiIs(E*;z$EPwJFE4$Usz`9>8TwZ5Ru_=7J82?74hiPY$ zi31ZsTv#!y9eHmrmVsp9IV`PBPp7{bqk=~Fp9{e0)GzH{FFC5HK-hc9+u#UdiwOmk?pXpbOo0RiVNoW;7Zhz|ZJCyQlSFSBzSx&}vCb!%E zN*U^{Ubw&msDrkpe@}9A7PFx~*Li%Nmwy2N`1?C!;e_c7oldLv>}X-#wPm}AWAD#c z`s>(m;H#T!Q0U`=hEqTysei)}6@OE3)ye)2M0ZV)^b0+P zi1QM=!iPR`AjnG6ITD~m7JTBoMgNpZ|5GddZ+@=H|1%){zx-t)KE}*cWYofcsh1K_ zndZ_1?TaD;jm2`rpGy~jC(GpU`TWxrd_QCA+lYY;o6Ch?M!PJ`^ z{mRXEBC#r{eBjIbmvJh$F3jE5j=x1Vx=k;&Ty1{FbuJvDD zrEW^);l$PIWIEI&xZ-0hTLp)`Zc*XtIQrM4Het;Z@&W}Jw9@a}&oOOD8T>8&!@y{_ z5c03Ups!SUj1+Yqg_{FzPe;TCWvfHvUXKss(R-enYk5<(iAT{6z~pdI{Kxhgh9D~Q zY2B%(>&(o?N0~X4S#Q1deK87mmmcEab<=B>zOVK&edogFYwgH%&?9YiwEfi0#ekUUF9yFKdrNgE$eV+;4`CmjR%2iu+21} z2B{+rIm)kqe^x$MjH>wZk4d)&OigeQuK;1zG?Xk>O;fJ4c>n#vJTUd>v?Ap0(B?B< z!ZJE@Cd#4ZodGn-$ast$oXD8KnBj2baCMD~-B^F<#GxQlm5a#R>)tmm(Q-UoWVk%3 zfR#eKhgO?T(CT~ig&okb&ID_*n}v_$2c=os+PjcL)mf@j>!0n!&cT9ybD65kQ>|{+ zPrs-%*{ct;Z2M4&FV0^)aeMSbK=DQ@!gjUV%kpqNP0Z4HANuwM?x%<_IV=ddA-F3X zZGurP+b%hB3bZ;lbrA6Ol(4=VQ~EPO9Ob|Z1wz>RgwssQ?DWtD1+Zy_7isON#&_fR2H6?Jgs=c3+LpgM})SF&Fi zr`WkmR^=&FyM^x=XgK%hiJ+cUh}EZjTLU5!Qu8@G`Zv?=63JAmbPmqKid`NZCqx~? zV)U^|s}dMeSn{jcl;%PD8i_+-R)*9I=Gmg{`pA;bkW{Oc((>Hx+(2#I5G9q^t1ea@ z*JWWYa)5v>_K-w8Cb6c5{^NU3WQ>|LT&jz8riyK1^LMd8E z3EdU0v3EbL((c1ymE1j)iA&Sf zSm#*df(@x96_LcU8=Chpks7zYk<&jm*!DR?q*j^NdEMqGsuVY?wWuMR8e|{W#2sg< z|EjX!9Y|XeAvMuL9LQ{2WId>tCV?XT@6N0nGJNP0APO<26QM3>pA2NjI9byQ-YRvL zD{eZDFtL!0uz0-_%*3zyjJZ%)z_rf`#{>Hzz@}-x^tK{PtVzgxYUd^`i5IY(FE^)s zFwh8E$w{^3Yiw#H{-WU2x+dvz^7(*~Bpj$cbU2*iZAjos56c2T+apq{USEnSo=-1{ zBjqX?f4&r1k+iawAQ=a!ln<}tQr}%fS6z2019O1!3z)Q^N<-UQmNES%t=P=xT(HUK z1#S-q{kXnOA(@ipLE3>No+?Pt+E-wey#pUp?TQf6oE^ z%%r1Iz%U={Bv2+MyYcArwtG0ThN-q&2?$Cy&M+o9Dc3;IW1EbuAG{yt1N`LVpQ~ET zzb=@OZ;j5`HV@?;779YcQ z^OI-UG7QJNk=~-VsyqV8H%p0u)mVJwq1o8hDan32&8HS>_zgy+Dvw?4*kLE2fpQ}m ziGr+`@cBbD?3`%Ir8N}Mons#`D!O06Y_0SKr*jmOW_JHLUlB33#*=SSK#FJ; z9^2%?gR&TCi-V+4n=h;t%y7*mHgAJ^$ZYsa2Uo87#LfCsJn1W$-d~!i&l|7LM2ngf zfo}`Gx%jIsR>Zo>_l?sZK{s5&{v))9-(79!#K?ILX_4*X;ed^ z+Kw7QW23nFCrFTGnYqej9JN%@YCB$^L+s3q3O=~p%wgy%zpDpS76%oB7jG+Kn-`U- zyjmd*m^_Nw%|L*mUiRix3e{>-KA*x?u_#YMCg4fJT}ZnUuR=xmvTPY?%+IUo57!M{ z*v=0`K)t_+1a}Ca=;eM*qCFj%YcK<{xTS*lD)I?UATly8NBNd3l{z*CMij84gJsk7 zI@BkPdZ^VfQKJhcE^?sF*A~(R6%`HeE^4XXa8QR2fHzlC9MGhR%Q1$u7_rtVmzz;+ zdRCX%P^3gZk*=dcBCxdoc{z>ea0SEV6M0U-NFE=4+4j4{l)i;1*3M=bH2J*)Cm=s>N5H`3|BK13wm!~G5-P)~R=>cOuxyEzyB@Cr51Y&#YBX7$-& zpZb7r8?@{z)i)(^!m%OQxM@WYCVNk=V<$dnWIMY1nlE}{yOZuyV=T3Q_ZZQb8&;An zcCQLt;->$Zci3po^tHyS+kk(HFh$;J^?C1SdVd{Z?)V5!PAZFjSl`~_HxKNT#9+O* z;_GHFmN42}4aepdzGmj=e%sDp=ZHSIa)QELx8y^*zCFD@gCF_1gu;xVpVFOKLo_%Q zBxL|QLPbWzBbfZXvZVyRDzYwF?PPk895%dKL9Z23OY+no`lk6d6Bhk4pSe`I+CCKV z`x@sv&-vX#%4mG5ou7Hh1|z{-uWqT7=!p?Lm=iR=P_ODx?7PTWUniv7;<>S0^F-%J zdAj>)S5)U3o5u)X_I3LWQ3*@dds9w@VRd|uf>-NO=aP+Lde6>|o;r9kr~uKc9bD$W z6nFG}819`^yY={B5D=vEkH8a#>f=?la3ag`dEt?hW)U75qg8d**s>u{oCB#G?pnzoTvwnKO^Hw}?5qfd- zTRVbxN$Gv%@@ahFpV5pCm6|))+`#vo6yndIRO55Wb34?Xx2J}gFEk2=OsD9~S6&Hh z*3A9Z3S!e#I_XzRsVUlLI#1k&y{EfT9>SMI2nDO#s#wNVt<714n_mr#{ zAS^pjEBW*Mm{c`TA*2+#_;$6+jidgtjCo6te@7G8X$W!Q|2F?nMF=Y(|5nEA|Jce! zgw(|UFG>9O@Be$6_|^tbK=sRf1H}#WrmH zTE+Qsqg~|?5-;-MVi!cfpR*pCMA+YT+ZboIVyJdL<(i!<;5Zm<$~^Zb9Wb8#QXqK{ zcE*_SMRZNxTYtX608i_yLDd&&u>$+n@a%D+rW5`hE`f`)MiV}jxpsh*QYp*@C@tJ5 z?l(1Id#1M1erPNu>o3AxvGiopnM4U?Z^h@HYOIJo&?IKrs-yfFF~MVnM_Sv`k4f}9 z@xY(k!><(jH#$$=XJ6^l(dq=JLf@{Icxb@a8{P6c%~3yZrO?Q3sS=9A4~{i^fsE^y zxUzI4;AITPXW*L{D*qn-)j+*B%NTxa8$RqwfO8GupdCTud4Y;K%J0 z>ix!b_6|Ur7DCb=!lkLYbsDG2i8js!+4aR}tIMUDEuaVI=VIlj>-e>|e)z{7iw|TO z=b#g7X?xPmI`12V`(Lef0cS0?4?Bwj*gp7G!K4i*K7tQU9hxM9o7aHAeCUFxLinL| zRmvyu`rRl~sX6B`tXbH=Sn}h=TgnQRlk$p2dQBV#3+#ln6UTrksP!$O6W$9LvpSd$SEK5KvzcmE= z)5-2z92BK8B$t6LjifZ(5O@3+be_n{U);tS*32dnd)Mvl*PI+*0DYcKG-4n zU4g>aw2j$mZpAaz0h_=#Y407c!3lHjxgLX4wKb;<9@xD-OEy>A`V58Gmpc#MbGjQk zF^?6m-nQ80^xOpeD7aI5fBOKFM=fE)>F-H);=*#*ZSh*pxBhu-^w{L|0bC$olw^D* z1U4Bri%GOZ`|=?&2GO42h2{mC0)DPUnzt(hFAd4;M=+Gj0s)s^av2O&S_39mON{t5 zHZktLVea|>ccU;lgizc4V0WBKiy#5OyriL_VGAUAMw^rc|e;Cr@3w zKoylnSj$~ADS;LbHpiD)%@{qtlGIcllbt0x3>ynFix$OZfyvc3^J(5TTs0M&c!3Dc zusF>5a1Ow*MDQ-|<58BsTJPnXB^5NZsE!(7t4XQGH_Q`*xa3Xl-G_L1OP#O@`x1&E z$BpafWksf95Kn?X>acMn0MhbHRN<*b^SvH2anpTj^=<>3YW!9n2i#cD4y158(cO9V z%1umTE4Z9s*t$ZVDrHH=7*O`Y#@gy7?)xSfKb;#)hP84&q~nCUH71(8eWvB@+bWno zCLpe09+vvh7i#X6GB^vU;q~R{=pT?6b5qpFP1o`l-6V%P3KGbvpc3Xj>LDhSK^uv) zO21A}Rh9a-dHP7d4tT_YFNrW$ovSepEanUrNSnd5k24I(03Tqv!#3(o=|9P0wt>$R z>tLDV`i(6q!VzJ!oWNem93D726{LJs+tX0TJXrGa`DB!sF_0Ielufa@hAWUrTQZ58 zCBrI(0&4gY%2a}-OPv&^>K-9Fu#HF}d>y_|Y!a>&NhNeJ&}m70RDM-#AKF1{RD z6q?WqlG}376&`A*loov6tYC%m_H!36p2{VwN+~(eZ%WHYFtxB_!}%($n8!5FD}Glv zKoZ~&O=({8s30_)lG31TkvP}d!Cqhz>< zxXFkKt==$=(IPUZn0edaCNfb`PB=>9k8UBq?bDp<425Uq- zIoyQO!c)`~oc#VOr2p`}sF)5|29cA@`r*x#ovb4UlyU@dLU1Vo)o(R4%#|8a3|ga;32zB4VdHf-*g^*5Y+)aB8P-a5e!s5>X!72J7Kq&2 zrG6z;_~)X!tx$kIXIMIGAxB|CC`H1O@7uD;CyRMP1Q(|Coot57U8t%sLr+|CePWaA zofQ&T$SmOXh#c1z`OB1XX8-| zW);`)MN(@aA)W4_cAP0D&YtKdMvnVSxJ9clttG~ zx(;rSp|YTD9ZAaAjUP1 zQm*QCs40VurrjVv2JYK3wF{KlTno;?U+Z&Q8mcK#T*UM|>6`wQCWn+w&1S=O+*$KV z_$e5{@D*+-8qEH3cFtJ6etkd2$Ku%`#}reifoEOb73{a_uNH^z*%7z8U-jH}a#d6_ z6u&!Zo7zd!Suk*^)hCnlUasTVX7n??ylOT0)pi!0p+dz0vEoe5^sSU%xa~)EEk}R0 z9j13}l}PIQ4%;ZN3HI`0m}%zpS^9ZwP&w7=J7ea=E)&`a%%7n%JR9kDY@D?6+Y`Xg zEc4^sT^p4v@x}N^QrDuu#^k?H$`e^?#zRJ59v3tF*ChOM*`!mY9h0jX7)YIBKBIc7EV zv9;_VDNcUkJf_A%_0&RGNn4haz%3klr zA3iq-3Lt+U$FvPH=nc=u+Cf#(?mm#9Q$X`YSI=+0y;m*Qd{(jvv$n!^^xkHz4MR=x z6!V?wLNGkqUtBCbfPY%Ty^d_sJ;W4A7~SJZFWM6C1-1@*Hxa=OEwxI11fyiC-|99D zw-C;VEMEGVKCgk!Tto^xusV}L6%a$%zz~3{PrJff*_Zlhaiy1*U7o23%jmmr4$y7M zej(N$tLb<0opVK4AnWP=94$jULG>}F99Y1tXK>X*i$+#iXL#wor(z}^=vzgvs=N(; z9#g$^Q+X2w#dIxZ?~0(go%ICQO%|D=g^8@s@Su4XHT9rqvq_XgHTg~sciTi@bSmH@MCM9 z!Yavy$c&~`)#!Th%iSN9G5tPGpO}zIgms^Cn|iO>9N%55xI({5@2lw}d`4VOIb4G~ z{(kw*w(;9bTt{iwd8W4oN9NOnv#SfckL36S&g=S}CmYNcZEW8;@M8u`eI<7Em(+)u zeE7$TDW}(h7a&Xu;EzkJT!24KK|k;aDa)~#4>|IfzSQam3!*raPOrt9i4eH7q%Hz27*1KajLic zL)Q^pOex2>>V+mt@OVtPV51sl+~(iv#q)gpkfYvIrH4-r89B}qCdQ+zwUhH;qiJ@i z1gKSs_GEp^D8WN@v+4nf7Wt_95-Nd8c7FS|yG5DvIa{eMyMha^vi4P1BLETW4H%_xFah zsSF4x9-F0slVt%_`YnmK&?J;_5tNtZ&Nz3yfFCEI`*(3do^#{L)#inYEDBW|*8L>g z^NvFT9;LGSfYLqx5DL5ck_MF7By31v3(WiV_=KO@M8Y*Ku~^#6_tTrqCxj+ivvoP4 z!y^u#BC+7jL9z(pDp`x^oz|e^NzW4pbX>UFLi`Z>!qOt-u&`2JrnmzoilFif9@VuD z-^@VmH!h_f-H}(HRE72NvK=PcAyGtrKwOYZpBLl1+e6z>e9iacpOml5rX0kUXvv9; zo8z-jb7d@kiio{nA-M5rG+Cand~G6&ehqBuHK%cCB$w}6$7R*1__GVe5KAsT)Xs=9jZ2B5wNl0mkR@gU@gL zY89A~aD2PDZhRCww%d~)>GCzKSAMo)aW_uOUr_W3#nE3xRfOexJ+4s1!xriCzZekJFa#u_feu=7o#)tNX*g(Xax- zGJuQz8T`55WquR8go z$xNpzzEseKIhS3jZMB|O8a&QMN)85EpqblD++?vBMRJQR_~gP$zq50U@T!K=)OG@EFc^# zeN*P7OfC#dtCZwca5Hj#kA~9om5#K(0y0tg9*Cz5By)=3b-T$?K(o~kO(-cYAxl4o4%L`fFH*&Pe#Uv+mp1>@kD6v8-1sI*vqMJ3EAtxo7 zQ7n2kGmNK5l_GNE_zB}@9YRFvU;VJ*v5JZ(J4Ei`+pDlaiclj5u5%2LJd}@$qQCXD zh|rLdG-!>YIRP?wRAG-GJXctv?~hR;RD^jHm<3TVCo|O5>zM|-yg>sYew?$6E5NEr zRr5l$Z;h{%7l1#s)fp1&fyz9Wmkjo`$!qs@tkz(9(vk&E`qX4U!BrMN&-akp(#ey3CX`f8A9|ROCwa5wT)JnP#nJK_9X&w_Llaoyc=P zJh|a@>zAL%bsbv<$XcNH%%ef@@lnnA;IEBUgEY@|r9|b=Ozkhk@OZtkI#c1nElfvs zOw%Lw@$Vq{#5-k+kr=mQ=iN0n=+i>sOO;>E-P|IqpzL_;-*Gex(!SkZw8m4 zLtW(-b5tS=FWlBd90W7 zvB!Lmn7$b7dU~cIyZ8`=DMbo)f)}HIx)rtms;eCKoYV>yaCFE7j{k}@mvBP{N>ifJ z)X$5D3M^S;*7V|L86UrXiJiB^udj!a*yxmuj=#z#uYp{CT$AqeV2zx=wz!$F1h5lJ z*mSLV_>1J*z+uxcwdV(_ImOdLu>e^er~K-=yq7Nkq0e&~lU#pgeD8SHtH|5dluh3w z9I)014wGs_9rZFh!<@`cl1WCmX4o0NIGP$9PFnuCe{M7}_*>xhf%WYCwZ^R<>eYV{ zt*!q>bf^|blFq86iCNlue-w~TJCO1qIggNL-j|p5{PfAu1-AMlYvXb8UqrjJw%-|Y z_cUAn@LQEX*HK~>ng0=Zx2K&+r&*d+^j+k%-eHaJ;q{e!&h1T)pt#t3xoehAHf1U> z5MN=lQvC-f`G>`kvsICow`xpV$MaTlYD9h)a0+}wJ>)EHaQKUe1+YVxcs0m+D*hj- zuC)m3rWK;eeT!mxi_$01>%Q;)BftNFZ5tCX75}qe_rIWZgm*;YwuBBb`HCd@h@K9*nlqn@_m$p^-FgzWF&r{^y)1#=GrFF#{~ zc)skR_`q5npB>~0Fm-*Z5hn2M`Mac*n1Vn)ob#!Sd}48DKZZ3l_>K4cHOg)->6+`) zPeMWl>5s;=C*-oF(>;VsEasI$*v&~KcV4bpS`yJ&qIgs?X<<_I&HAHrYgp&4tDf9R z;Wxcv_hncRF>-BQAaAI<>f@cSsJhGn4*vL5hCY7H-!rewlCOiK$7pUcgvrpzKO?Wu z@M^nDtQZa+S)g{m=i^ts&q7QYIZtS-EopO(k2HV7bFfD%K%d?AWTv&EIaP46UKhT; zM*0JPIU?qI0QX_qhQhxC%>HClU8X^+&9pG>ew73%8@pW&Hx??<$;~-Ltz`z+@7s+N zSK^skPASV*fA`guuiQRJsc-n#4sevm`Vs=}Mae14kifHbe?wrLa`eUIrTVqr7eB%n zR;8B2-!fS+4k#LWf#Eg1?rMT&V~D`+tIF^$P)FP0!tN*hK~mOE<1z5hB1}8 zMUi`nK3J1zF=dXenmts$kb_vu;Eo3GE@VTI)1#I`_&EmZQu_zC0lLFdNyyp#c`KqR z>la-9*QC^tf%agDOPyYbd59A=6EL?eM~idms{|ao8n7#0l6G9-#+h-QiXlgB;q!QV z^-n?}?3b!Ay92SY3TiB8dCMD6t;cf-EmIFO_PUtV43N9lDo{J|xic6)&3c;AvWT@? zlAT3Og@y}|uNXVMftII{9J(;Kdau^3eL{o8qSuZ&qFEVu1EN#GTX7LnwU= zm?b`56Z+!8g3qXcP^kLffTiWu%q~|pXkh7Yk?Ixw-i0GtDGOJ?E3cRSsic%y1D+1M zNt?R^2r0m!O~g;7yFyEAw%z!H$mHaG8CCUdw@93QOOAnk^V-<;PN{x>CFrEXtFTuB z!`oM?Jejw^!>3aANSE@upaJd=RWS;X>mQCQ@7ridM5XQN$sk|Y7=XL1Xf?}e91&Cu zNctrkg$lO7)6j45?%$Q4W$4DrzSwGG@IYvOV^!@M+lGbIMMym(<{^>iz3O9Ud3cl^ zY5IYA?&10B+(5hbWOYIGv|?l-L34*C^`V#LMM8U-G{gAZ0As&Tuo>;zcy<=q86m-i z9pf%^wL$%$5zXVijPVf}Axz(16a{;3M(=B8Cv=Rj?r7Ixo0L+Kh9J56O~|TV zqvlhX8I!0`yy}Rcn}6SiJy%`_;l+L4B=T6EnNk?GH?%(pwMjNA<#4+LpP2%UA1Ga| zk;nPPxG}H+ugK z+xmexMGh$1x9$B!>|3k<{P?xTAgNcwu=#oWZVfs}I1bqHCXVX|-AnWNqUM-;U#O4< z4_gyqW7bw7F@xog^5rUzvy%pM;md@r(N8NiXq(BJJX_bN^wPh~MVB_`w$yIGD6&3c zNXu*NBX7}sQXf{NMqeOS*Ux3{QEMwk<56huUz@iH&I`I|F4A9|%H~E(!c;`{0@VB0 z6v9r}PC>&e#~^1Y++)ED?w1hNn{um()D@NBJ#CI<-y97&t#EVH( zxP4i(k&Tl_^s-kP7*i-%yq7J@TEo6S=sR+Kv9H12<4Ik^%6;~@;3_QjRb)WpD=kl) zlsu>QOo|EcHRL|9^IJN{mT&xdY&^81`Fe56nerWAA+z;2=G$J@OAV}&66c!UY-JFX zF3r?U;pV3{ZnDc}bCi;jPT)p5smG+m%=h)jH>I5E=VNt)DvU=QNHY~tZ~hFB_th%E%LH4dyAkbej;nv1wYy3zg}<;E{B3R*6j9T(4?=X% zVoc%gi~M&)cG0Zk*1ZRs-a&}O=Szh_0j75zB}6b}^VAI<ZT-FpuhR-)?KGpjpaNyC$r1N$;=bWxIcjgM~ z&S(!TD&XY5LrOzjh26z9FQQEoonSks2_k-_T_M4fGQZ8@;T)Q-u4#juYCuHAW znvh{z%4C|)Z#^5=ArUo-rwZlKd6O{L@>eg0n}Kwo=u1@A_&!|OoVuvamFK*TI<2T| z=AQC3$a8l8az4h4|BUwc$~#>b^_VdLiG6)Dl++TU@a9)!8U2sRQ_w@smT_h{bQ^~j z;n4f7zoklT4k&TtaiM~}(n_JC$M#Evwz1K zYH8yEX{2@#emqPmPrdXy(pdAyaya)7lT1!dks2Fb za7Rer0^yoxxDC-g!7r8GAK=|V3ugvNgrjJF$rXsO)KIJ-dUoGq9+)) z>R(oGEF{91fN7gh1H7&0e*K&pQnF4!Jxw(d%K(-yrxA5U6e#rc9X&hdb zXpE4`vPdh&Y{vxZyvZ+VEKS~|ZuXeraXFM1)Z@($@{}_ns;8}#KN#iqj&g=L)Zn+t|Iz7IZ$6o=O6@BIUaM+^BT)z)3jdx87DzMf-O=cKbN+_YdldX_X| zzn9mR|BEDtP~20%4X$WD^*gjTr(*b})Ld<)ehM{sH)r z)zI!`OFfXUpPwG(B-Ha2v~dEy1pL@xeh|G#GBSk1j@-h*Kl@j#?|ii~xf6b*qM_vY zA0xf6P_RUYt9MFfUSQR@EKc=0LhuyUlAvcHweP#&9DSPxvM2uodr8Fc|Hi-n#|Hmo zz#TAX>t9PAEr8w_S_mZVgre$0NQ$Tif#7k?!sq%ZDE*HfLc}dKwus+w^}-?-5@sds zHp@=cu5x*$rN*-=-bF99xu>-TUM`?L-y zC-K`AcgK&hVQPzC#~20|q=qqaJ#Cp+++aa-#G18(k6sI>q(Jt-Mm)8cqn>GYfHMr| za_X&ToK2-m2qosCNGEBd_r>Ypz4Mmpt|Lz`>u0gq(Ld)Is+^pbgPtaKhyi(DqPzae z)MQ_||75$oRhm7~w0l(ZIVar5+B~6QUT#auJl<2BWQa)&;#y7OULjH)pmee_6VqqU z>a}2mpB>edp21P;DQjME{92mk%y~9X)@Rft#@yclPGuO*Lii2a>X zgaZDZPmx>3H&`+iDlI;VLi0>q#2U&PUztLsAj){q`WP z?!G-&6xKFcNhp{QOHJ&Rx`w*BoS(X^tkqq0=5R=9V`V&%n-6h_@lj{CYkQ?NSXnI5 zY|^k?=X>me|A9}jT98@59uQmC?h=7Q>sBCF*;Kuzw!>YD&%Z4b_-xbi`CZs_ZdoHnv(^gT!T&Kr~SJu{Vbs1cdivn3!LDo5fp&X^E130FmlA zuefC_=SB;*upbJjkliiko_Llu1I%%*Kp6hWC&gHWPA3B7DYSYgbX2Vj@>XqH0iY~D zpVkuglWMcKjzb1->L*wvUTx%J>!-xrymda zK0}J25&e>a>~! zl1&0ft$zpIq97m|k_#Uai%2-kmX~Y&$CDXrs>F;ybVTZRAjL`FIZ#cozk(NRUJE>q^aX#@0=Y11hr0u7` zYAQ@JB0F8th|nnHA^+KNP<)NpNsj$#t*kntkH-FA}N?TgQR^cP5#80eUD%OczV^;PzRKg7T z8!}%b?B_mrELU9L<@*AmCY9qh#S(=Vt#^bMD?DfircFeu;>x8cA~7%bI&oGnMV&Bu zFk{(2D!}(ojw@=lZ2>e>Ay{pJ_#H@M-;S9(DpA=OKW;bPVtPb<(Qs3p=La z76aJV!0*3%0xG5h9vH6x^XM-TTRLenqs458T<=-i{RCHK@MV~HYidFb$k3H^~>+dKRU`EU$zPd>9yF7G*juvl7Wu2aT$!W~#nOOnrW4^>gbMeOrA3We>*+MJ=(j{;N3W z=N`I$0JkZ<=4^Y;%?^h@BvX?`rrN|IUEa+ui|A`s#PRpvyfo0B^XOqazt=>R{0lm_ z*`8)`r!a0U&IB1{QqBTu@ z`{@&yDI}Ihoy?&PX+)c@v=8ddqN+bMPj%>03Usp4C4eNvBS(9DJpX+GyxsaJcCBz~$Z}aKU5yJ0B zb`Ev#is#==$F&WdC4|sN&4-x3XlZZ$(*tU9<@M8 z%&KGfVK^BKugs@wrP)ZAu1JE;`7$+IDj~0aoEdQG7dgY7MAi>gq=8$zDjGb9MKPnNZ?Xod^tt`QG=&S<{P|*Yga`U z6rpX|$_1px4YFlCWjD2g<-3sM=l$QyE*Dxws}fR27Nk*!xsxwAq@qGCpT+n|v>4tN zkwO2CwWUYwBR_a4UDY%9|AZat#16fuG?(G$%ZOHGfg1R{v<;tzRx&Gy31od>AaAp! zlJuig%p%z!izetamSZlm+e6b=m8jhRPVHOin+(v^9M_ni6+L2Jk+Y; zK}yXbFl%h_U9{HPnSeG$(!#@k0R3vdOt(WvoPlFk(qmVTS;J&+n4eS6ws;iC5bK>L zINK7YZm%RZKouL}coujU4WXwc0iEQn_9G=D#}${I8>*aO^0kC-3Ev7A)i3IK zHZA};ery$-Vo74*Jc|bReJhq6l|~A0UJV&Y7A^kP#3mk*iGIRWrQ432mW*J@Ll`@T z5>ObmmPuwf%^=}rUqM?%rH?UmIsC~X?;*d?(h>Buu+Bp)>EBPQ{|=_+IdnOsRfY4C zcYiYe%>aPBTsk6?%HrF42tgY^V>hHs=;3gog?}`SQ?C9ua`^SXIcTb6_&o{}IWk42aB}UOjb9Spr@Q%qO+jaQ zdWW|3*Gc_XkH!^;vHcIfZhRQ?%!tgNnZGJ+Y-x*F&o6bIlVf|q2?z!0|0f9vu81YIhXGtxtveRb@9tW~-geahL)39^j0`>$XG);-tb` z&y9s07rPpqn8a=3e$(1H&ez<{U-xdWc`F1QT<^?o&ay0UV|8p03q{#2hvqH+rd&{| z(@N2hH&5CEd-wC1u}{y~aPM6%YVem`_AvbX`|!-0ajkdfbL|Rnf;HMZVwKe|gTQ@M zdCH{nWIkWO!*K8WNhpS)*}l^oj_gQYV4V|_c}iY2>XakB+(4=pw~|O@hYx*x9jgG* zi7TGiQ4lB=T=jaC*~@H9|H{m5DJPmI+c$y~9#>1*=Z4}=RVPYbuX@{3JIBvg!eN%p z?z~~_QS|>R&&EoF)NH?Ie7BZ46@B^1D-}h(r(?)$Abl`f)-x<31 zmEF~0#O;w;`&7+Lw>vz=Uwwjd{BO#ePApWpHPt?vy4Oxbr2G!hPxFTJ*kp=Hs&TrA zd^Q2?SP$^kOKwG7TdwyKoUXO!9&Y_CV79EeLg8ixsvZ+nfybD29OS&-G8(#`xbpNN zA+dltTYqJs+D)(PiGM1Xb54Cx>w0BcXitssyO^B8SB*d{mVL`5uNGtkV*zo zRCfOHDy526R;M_N1ud8Js*uzV10Sh(ZiJTDOK}xW9(xF5K`lTX)0RuqH{uvmSNW`O zQ#Wg<%hzEgJR_B@*!EYfmF#hz^GRsg;|`nwWGrDul6Q@gs~QLWU;&tZ@r>e$XNHf& z8yR$qNA_pZ5r+2F4Y#T9fEsxY@bG+0=qMx~olpu#-dpHR*~v;aR?Ykh)LMPuByL{x zNzkrZeU$` z@l`}$VasmX@K9t?;I^JL*L_l*D4RqGWLwACYuseDTJdrr)g#eX(m>ntS0;oyyQ{rrLhsGNH>hCvQfEl>7{B))pK2yX|I?EotFF zr$E%||H6<{ZgV~UY60%ssI-$yq`$_CNLwZmTyYZ9ZG75Q9 zCX-MEteyE#G;RsLa0p8HYJ`=xj<#``5jJ?h@r_U)=)d89b$BY8Y@x%$E`@~lFUPJn zGLDFpL|8T%>2Y~v<)>eZ(lI@Fc{?1hS;?a*KP``NyGN*Oavam0t_&4O{bnAp%;67o z?+keBHq=pPy25>e@n51kd#Bj$#a<|zySiNKEo)D=WlIw(diJhdi{T{IiR1a$cLlfU z?VXjzhQwPT@A!et%nWNv*L;H{fR}O<4evsLyRS{lewYgqebpb&{N24Pxw2HP9)&Pe zY_#xfEJBG5dd7VRdY19MI9EM6ASjOgJVQ&p&a&s+V?E=aCMLlzss2(^Rs^-Jp+8IC zN?Nn!oc+^dgW#0V=ZAe8n2|1Q9zHYH8bm>lDrIKk8`&OA3A@I(qL)XwqfOZ0nT~93 zDuU`I^qY6+)9zxxeqtF}F_AFOF)-w$oCz*WvEq$K>w)HGcl063V*16!K*7B77&zc{ zA?Iis%wMsC1P+(G6vWcBeeu zQWEn?|33VIVnZv+NSA7|f z0|hA;)%Bi`?#gLKxhAjZ>0nY$*-tdDZ;!iH;4c7b*#EHJo5>BiaSC&wM9^=eaQ?u3 zjAFR_vta4cTvKCz1i3g34vLk)8B+Wz3FF$D6uyG5`ygv2! zDB*Yf!2(he-IwmE@FXWaYd9U-tK%~5L{UPHe7><#{XRT4V#Ayv=HZmOCp+;|m2q2q z3s9RE){u>k>Q|?QIJS4Yvm0u$9YqfQM+_^IqUOw@{;5j6I>iU|3hiaeS4(3 z!%-Pnb*Z{H-sMyVB^zXiIOOL;oa^zB>LZ)YO@0h`1(r7d1F&hmVI}l3Gm87(P|Q+d z^gidly3$$ZrTv9DJZy}gY5BPLV(81rbaAM0+dqI8a9IqL?DNb2I_V73f==^iR0&R{?$35yEhp@j&Yw%k&9q@N5pB7^Vwaan-Zv_ypqi`0V#Q%l8$ zAN`3TpZBWvO=md>2k*8U}H4JXHo=jMAUyu+W*SzNGlvx*#BR~F6#p6 z1K8`oK&2*Luwc9#YvHYdYWrozBA(0=9WOR_Y6P+E{WqYX{&+{KEmzpIZNrN&w%WH3 z20I2h1r8pZmB~JARD5~XzOP||ztRh#UX;qH?uqB+HTcrdVMTw3frwG?_xs`1K2mgJK&()S z9Y}UM=1O-0>in+Zy2Gs*>Wf4-i@dtwWNYVMS~`P{ItPosD<7*qC+O3D^BbVVs{*tS z>ya1l6SZK@MBhx@uESfTAzh-tD3DT$+AB3bhGAY`gH|(lMO{P_sJ_v%1|$pUEVPgq#6ymu`o5X zCmkUdyRi?r4_31zoMF9}CVXrLKnRa(=DG}W=;h!WiyFmah3$1$db|;a_hmhE z1-vxPekr=COHDf-@*P56UW*cMya-hqRbt6l)mUu}SILq_O;V|yOb4kxr3y5~>SJJq zO6oM=vtHMq_m-TR2_sU0*L^Punel|Fs(IOoA@+fm-o93#`Y!}&#ScH&w_zl&i^rHA zYW0Tpy~R7ph*8m7ZrWH!Dm*X6KFu;<$P-k5xxNC-4QL!ysm3d`a%eBJ5+uc(MD#qhYvdf=YHIzb-+_9-oQ?{qjIHK5WG}Bd4&P%IVx4rmci`N03mS;B}+(ek2bRY(-9d@ zh(hD4!ktOM9WWwdQ@+kkYRA#a1?X*+BqmQi*kXTcm!lOqB$qj7kO{9jiD>75@b1#& z0`G^$%q1FGe_@m4*Zg}DG9?$(Y=;&s5ZN(azVU_A1FVB`WcNjJw_x;Ve3who;o0u( z0TNjfmj&r zc?$~tdv^X7p+R#v>({fIrgCDfQ_J^JNaNI`)QFzB7^5x`{W#$1rMetWcmAh+{*<;l z!V=auyeVp`!O!Mp|8DKPc5YBm!-s;J)j`5JrEN zZDBg^%CH%y-syQ^%-iJrM1_>AlFG#Qjc;Ws7ky|d*9FN3E)G<2V@*~$ZzjGIKC4oDI^H!sy=tW7gsQT%W|sJ7JHil?5VMaMnH-T(>x5-5E! zN^9>r$L_DoaA(*G^5WI);@Z@9$#{*Op%t`FDN$hRX$0JEK(t*N)rhN4$xQ~UJxnu* zP=a=9%hhmjYtHghaYoc+70H=XphIeQ+ykfoD&}>RI@ySyPk-p!eixq9JzZ}%E#_?V;5_m*G%Wy4TOzR_oDd#||yy-!dM0ms_BkFKbE)9UMd z)RPP!Td@jSzqJesqod49EA4WcDI_|}9%had`Ah>@CnGQbt@z{RoMsuB0VJ&^nl#A- zIOLk}t3QN02LrV2p8-W|GbI)bDNOUz8rqc+h1ZXY)61zyU<;%FCRzJB$qUZX^a-t) zrO!(yqVCH0z87bBEl!^qMXll*@s$1p&Y2LIh@ZK>DaESIul%wvmo-}rAm8|CM^k(* z(S;lYsOe;;K#H*P{>$nB=pVQghcmdcrYF4U3#UXb>LDQj|LqA~Bo-j-BD15}00gk( zhcEB~1Z2{0>bHQrq~SBu&{JZ*6@4Vp`n2%IURatv{o!0DA%~pR`>0gx1aV6RP@DVovVi=)$KOi%OLQYA|>PSzq#G2z<0B+>{}NTtC!40ko2lD;f~ z8Hy`2oG=ip)IE!n(@X;FVXxkz%lpgKXI-**j~T$X`d0$K)|7=l-#eHzj+o*CDQO?% zh5Y2eapx*#^uEZ~xjGiS4<nHQ<;kS^6 zmBbI@XQ(msnd*18cP7a`j+8gT6hXfR|xf03Hi3brdpeaA*`ZWSa)k#E_b7 zUzdoMR}ns)XK~ScC$6O>xlz1SiVk>NL}G|4YE8a#YVU+Tu9W;%xXP(rt*XYwwfrKd zswo(@{?75_AWV3!z>;L|`m+BzY|Q0O^HH_ZNl2U9JDC49pEl56CuH|z)}J4H!@GM< zxf)l8wtudfzFC;!ys-e?Q_Rx(2aqA~51C2=f=rxzc_;uFBPE z^&t_F6*iu`uJS)koS2>krS+v$1bvIn@<%Lh3uJ^2$VckGwo|ofw1{t()Mq zU1SpOh$XBO%3~9rW(5O8zw^6(1&DZy>&S>sCKzmM7#qg6|$Hznk+15 zhJ}pl4gY<0TpCo6XJ{^9T=gxSC|n6GXRPR3Ayid*=_0g6jfK=3`SErACevjo(xZq> z42KgE5+T{Z{;NUzSAtQ$W29KUt)ZG0MSxXL&6>Nld*}H-XT9l zdGd6h-zJa&tpU2miR&EN{}QOY0Y7&;q08BB)7`IKi}>qz48%Kf`)s8XEp zmA7=o8~^g_?;So?-yZj}$UIp-alCU%>J)3SlOY+LRf*2I<{r|I zi_g1M``l)(LiR4)pN4+md0E|I~vz(uHTD2vdt^@Ve6|irzv5)VujJj^l2bSBt?2(wIqlGOAu7CPv z<#8Q7zb;d8_h4p}|H{QAzqrZjz8?1nKZ&#XH7cO?rg5)5>}~zdSFDqGMRN<|NyR$y zz8m?mN@TzGx3(^O=A<*oEgq33S5k?_>?<`cO!qoX5V(_t8b1cUERw6h)vg0?c^(bCNx5qZnn5Y> zN4zbOcrs`)L>Js3rOuR!=jp*izv&juTwEG)9BquOC$nqWpiueZ_!IVpp$rE5$-52*C^P zze$C!@1B9L$?|nHJ+4+&JP@E85qc!E30W{qzE})p2MIHBGmODbHu{6 z3HG=LUe?>F!ye_O7MVqee(e!{n}2zUg-g0hJ+#`#ps{Tps~1ZYTEaH!2NM{2zmD-V zcnC}Jt;2iMo1Nh=WbU|<|CuyYRNODKQOz|K8~Pq)*eImMvqqlmkf44CT*Drb$+2lG zXjk@X-T})0uJ#9cuqpKy=}Ke01LIZ|aNlQas|;7C%b!9l%Yv4|c~xLmyCIaJ`L z*s@B~PZSmc-nhhv^Gk2vviAUQbSM;JeS{@b;cIDCz8I!go z4DRvPM&!NSO4#F!!6cOVkl4d9hMh3F_$uB~*h+3fk%(t zt)R8G2yiB}vNy`w#og8VA?_#jI83^T>tW#4gnR z&fSXZ5*of!FD;7n@7BZTXtEXVz`6t=bFybA$HG4ohH7Lk;LFF)uAjLXs-<&*zK>HA zyZCGkssk_nTFk7BIIhgVYmu`HRa%{iRLXAnQlZ;?mGyc1Qr~v!Br-fcUW5yb{`L() zOFF5mEF5Fr3Lr2Hy_7r;^K;>Grh6Rez3MM+r3j!kzZogozab^sQsGiPZH~9Xc+Y?m zO-Uhd!glp3gD~rnKsJ!z#9e_GBTpzqEr0^N{S2J5HjHyWR{hJf^(XonDx7Sv_rxYy zR87(E`4#`-fBVS1aQdp%g#63;`g$3rXsCnQe`3R^DyvigD#6n5Xr+mdZ)cRR(C$5R zgE3G_e*Dpq&xXDMSRDem<&RN!RW*VGJQOxaP>n)el*G6t=q+l_7SiHLvuZKdx8(?E zAq88Au|u#)P;oe?Ua5)eXU;1LcZqkjya-ZjO-ccYQ~bBGi2NPHwQ-U_ls6bs;Ft5-N~}+igN2k>U>PyFekq)qPs$%jGFXEOFOLha6~lPRyiEFTZWsz_ zqm}8zpv2rSzD~u0A#gGUHIWBDoIZeExsOY^f=yo0AlN4}cPB053>yG*PHNi2QCO8P z=}crlb&T!uTPad8kJjl$?p9xSMWL{wnY8dvT&t5S%v&1hXVQffP%+nrRxa3o*zqB? z0WJg1O9qa>MHjh{zs@U>xcaH4QfHUzFl<6r)emhI#v!Fi;duLO{wz!wrP0Z z?Sas9TV_b7hbLPnXiTUiZvSadIv$O5IJa1Z?f-G^mYRFn!(zGVi7C7Sqn&jzS#|Jr7$7hokBAb({L#$4and_7fqz7Iq+1xR?vS{-aX{y{fL3pkef90vy5} z7Mz3*vkWviDc{%l&`|aUU1}Hi+vd++^T|@aQ#7spwc4+OYI3Z6oG$Jjx~%p<`#`CF zxOsx0eQRS|dB2dqiZOww$uQmxF0ZU8QFPV zr{!XzjfA|+pgqm7@I))*N^ zmou~(s|pGUsi!!@J^@Lnm1P;0@t-&9|MEwfcK;V&U>g3f%PE;;bNat6Pyh3TLHXZE z1E+|hVFRO7y&dgFCfT3&Z3V@aJJ?RT&*Hz_`O7k3Y?!*p_|YeF61cm?GnqeiPIAps zvf+u-H4S;PbKb@*AL8S_uVJWkxytvqr^($~ce65Fa|g6eWhzBBu^yZZuD(-@WigTQ zAyewOZ~LU7{4rm@YJOK+YiozI$!P_$FG*qboj8MnTe+LX&ex|Y{76D!97{LDR}+&i z`1mSfZ>yi63gY=-^aQCFgi%sPX42F7g@?DlOP_nGMQffStgai~x1 z1x{W2&@$i?k%g)eY&E_RP-T19R*T)y&N@Y)n&Gw<*H9RbfGxP=h7iJ$p zP97%^3-H^5V8(%F9YqxI`%U%~^_M^8Dit-)c^Zgwnia+TgM+J07ZLYXo7Z=6ldT-@UBR@vODa zvx5*Yy*lbzj+*S$4MPc%67^n~+Q{q9imCvr!qPt_ry-E)pY3R{vTY(MkWFRG*u{!} z1{kwW$>F1CHNxsoQQY~(EvZ8bm@L3JY9OKE)u}uRkud-ZS|sl}bys>StAav;(oI*L zkXE0oL=Bf+;*3>hDh603SNF|-cEo<#tuU6YujSwu1buUQ6b8;G>{WyZPw6d$7_|s7 zlK%t9*Kx`b#B?4t}LW!geS8d|v{vKnJ<< z$12JIjW_#fO_cR38zFo=T(G)P4owb7yNWA9Al}$w;&JjA1iF)5=Fqlf7JJ?P`(EX} z!Mu`A6U%@-b^dRkI$#eld=`yuxmA)=Mn1m{E|vSiBVFEa7fhr=@NPUoD6NM_$XCQx zu>sk2c(y}@XOYtu0bS)xzilK>ch8If#+o#iZz*A6w^|YZ03`YOm|!N-2mNUCl=WJq zxAn)r<6LiUr==`F8Pr{=vh*ad2UA@i4jD7F-39{4K!mrQt`2P^ZNax+lg+6DiN~UE z3kmLdeO}3t=9YD+av>^jz9&LQW$|A%B+k<+jw&p;;kv?Bi7S3O?SlO8Q3R}o`I9Kk zYS*24=8CGXRs$>Np{gI*F!RvMd|N`pmEOM7XVgq8USmczqsI0u1Rs@c@&&87^CI9b3*+nV@(RKD|;Qp81clLW6KYXJ2XRj(z+40RvGEg8T z>q*H|l4$DqA3!iE)yTpFGVHbG_G=g?6XWW~2>-iXO;v9M`*d{G z>a-j>rFPV6KS0$xg;OG&u%tnB=`QR!DY#3ilRl?xQTdj>P1@pY;Yr~&XzpZ5KLd&X zVOlG^7N*DPpV!<;)2Ml^KiHY2oUe*ccJ6U z$omL2nTZ4lNx=Oi#wiFH#iM+eErnEeX(5w*0frQ3WeA?Uw&Wyw0EQ=%CyGR7n%e6N z?T`eScN=*j?)=1XP7E6f@?MK5|61`#pH}()gl4Hkqb3#a;!;7psarn274k|RFIeiY zr}-rS4J-pJ!lX>VnV$Z%iu;u|z3qYY|vo2`YCI0l4lqOE8D49GW#LIcRIUDR#*WdQBULXj= zyhTA~PECVGxX9Svqsq6o-ut*}Oc2ozNNfswm>TsOw&DB7P)yhgjxgYxx4Jtc&xw9@ z*7I$Ai+~7nJEWn5)jOB**H{x8yNcKVrKQ1BEYbyRp{8dZWq~%X(5k7W@7#GM$RMSY z)$xA-=m6DUKDNc+rR>)g;LeVd&HVupA6v1jH-GY$n5_(P<{}64roPotpDp%0c6eGw zxu5Q%f^g(v_DN_B`;vto-#tB+gc4~Ph6dl-wM4#;-EGP95%9v1p@mg*vo=jfd5}N? zCs9rV=z6oBvJ{#@V{Ylk5fYXQ z3$F-G1!5Y*qEvVgv)w`m=%c%i*+-XS+n6uRKo827U!Ua7H$1O1f683b9(MEZ1navb zp_PVK$Ha9PDk1zd(Y@+PSo*}7JqDZ^eSBm6b9RYW{BjIi4(7Y+@uf?;sxXUz3a#?5 zAm*C1zc>Hl^#ny+=Q`#QO2S0oF;7zUtQ+J0;I&GgV^VQpsV+L^ovdp9G50?J0Z)F~ zem@`Yw5(035F8Z6Se2`nIvz$m9zdFXEo+8ZuOro>EolE8yBCqt(=@9L+LscRj<0VT z;wfWKjoON7e`~WXMWjGW{KNw~C7L@aY9%*8kQgr{?NMQlm^;3x6GFRm~7;QlI&ab*@Ti=blRcG|u&$n~QyFVBULOo**_5h!!v#8W-Dy z2b1bo3{2oG4x4=l8c5q05->#+``H@{WTvHB!tpMqK)iGbX+bC^igQZsryS)O*mqDi_IQr@QrJioQL4X1@{ixPVaHbnc@KX|VqKJTZr|Pgy zhK~B9eFpQ<(%FZB`5{};2mQMh9T}Mc2_1@4N7eZp*KvI`WT}>Oh+&s`jUig^VUs%1 z+UPll3Uq6o8~-vkKF0@q2zlWcOz_3kvlHuURnVWJMHBVZx9RWdJ)6%5ekE28U`4SG zg8~{N^<9ZS?~EkC|B(HGhdq4uu|tZoT_;nSsRq{tNHuU}Xzi}C`;*t#%n zVwmh=T0U0Cs-QTDWj1xJ)5Kq{qA90})y=PyGxTRH&Tk=_ks|#^)_Rrd6B;iy`3A8$b4qtfdEmHjhEl8%CP_0l;EW zulwpx%5z|oD?KE_Rk&d)5wDeBT$cL8q3E-QM2{iKkpM^yc!9MSUZsG?)C*nOL< z@Rn!p?FNag@}kBkK1SA7JA=QU2at*EbR!S{Y&I`0!yN>anO=N)dC4#g!J|;2S#1e<@YQ?XQBA_SZc_eRj|Aa$B3~utu$Oh{EKqKNyz_tY z^xpAo{r?-cQ5{xWwP$OzL}`&2HA}_bV#H|8O03$WDAiJ_y~U^%1Thnv7L6T>2(`DO zR?*UGKll0m?)!27l{_B#Y$)XgFCDnt=~f`-%0C~2wgHO@>nfFMEjVO<}x7%z?X8F5fL-7I5YQz zg?i)j-T>_ycuUGdT}s#+@`N^bky#7xX`y4e^$@$O*Rcj+J~m_woTx{nY2Fba!f%i=NG?KjSfT8bO1t+D^gjc#ySh!l6X69i zxxQ{*TtTo#cT_91R+t!yM!TFS0KHk;PxR;5N*5^ER=-!X;b{Q~M@fa8cHT*=`d!0g zYFl#;0I3#eO-Qa{L{k!NanFRpra~36AFzqyN%uTzA%^N4;16!X0To~44$$S5;y(ON zpIFZ}*U-4d4;M_Yb_<|a91{i-?uv6Jx9WfhtW|Sfoj-Q(++OvpxxCwuG?^UKw1->CT|#{1tra^ z?+O3um>3WAZr2BQP-KyOO>gh-SHmskkmrxTjEvtALhalhH(gXsKelCi?$?y3<3BZ9 z$WNFF4$^ba$%w^0+eW*Cccd0O{dynWN7je6{Hj$kRV+?;#W?pjRgEc76|ulcwQM0h zhiSMV(C$2zma*b#$=&tmh(CJL{HAu8()x6-PK4?Nm!RU(;n0lMf7|M!G$?HAt5Y+k zF*)LsCR)8Gp!0X9JwAT3O<_M({;-9Uv-16YkJPJHPMF~TsPL-;DeO0IHCTJa>w@O2-TQE4Ys7NB|&xo#}iQ1 z%6xA?uBidu)t}@p*1cNE!BhWK|Lph^cfdjlx)1UoG2Fcm@-g;UtlsKCl;c#rpU zvu<2g5Czw8)h?s$r1JX`0g^Qz?eP$RRYS|2%pD+y1vJz<7@`D~Y$C!(PmK`+2T-vl zfM#o=i^r)k0ZQus5i9@q3C_hbF{rTsco-%Vvy2LwR~mbUX48pNmk)X}tbR{YpA_fL z7PNGeWNEcYAS_Ygg$n*VDw%W0+$?Y(%XxukrYgJ~;%s6h4<1=**;b<$Qbq&{lvC21 z5DMiLi~;>&lVT*ar!j+0bEgDTPo8;w$`;y}Y?ByLUS-N7%-ZK@sQDx=U`2((GeuEI>(wrViJ8Oy@Ow37JIAG7A!EDTyD-+eMn4oKG=G4*_M z{xMT7Ksj$uUn_Ob&CtlRv~nZH~ zh#v@%{k@#J0%$AGxHzA^7Vqy8xe#ciNVs-PuHKxd27&_t^|>mxx2}>mBZmd|Nw!mA z55mjsba=<>dYw{Cw91Scsl}hfe>EuK;JSh?kxeX@x1|&{rOy9ofe1g?d^kXSDt6`J z@2l&3MDtv|A1{6E$eESH1ykyt5Mg<+Z>o>I`Uz3s`OlhS0~&}zMXoMvSND_O-KE)V zhikKKgmDf3${=pWyaas0t%tW3ad)Vg5zTPkq0dpU%n7%KtE-hgtpu+jcHG=R&aM@| zAGFXhyDb_Tx|;JGeh;?HJ2mX8}%G^rmW5*WIUQ5f1C~%|pJHkdu3_0h788jv{|B?aRDQF}!NqPto_ug9WB3 z-6XyE$8|PXbe1YVG%xJYn}TB*>J>!!HZ8taDRNBGnGZ^u?l z8XX(l+S5WJ6A_q7K0tPDU4P#S)G{xCZhxM@sSP%pw6pOagv!1Aa;fWo%mwy?P?^Wh z137a(u{|K7vKP+$df%dNx>Q(SS00RSL zRyLlDA50!7(t@YeJQ9HXn^}D1eKq*5%=fBjoW8$w^_-u^)nh&Hr{<`nIIuq6J z>F?Iz`H&MQaJCmFR%DaypYHna4tiAoq~g2FjxPJw=02hdtA*f#u@(q>wg};#*_=-s zL=DtfD;wD>^3ioJcf6opN5|TKvGJ`}*0dQ1H^r!Z_A@yvu}P53TriZ4LZ_LJ`ruz& z9|fGDZ5P zi;bx9k>SKCH3s=`MBc@NET!`i9i!bS>aDw#Qfl&RtNX({N>+ zQal!ohX?^s3#oKNL-*Ah9!NrMaPjqfL$2rbmZv-+xS2jP)JE+|dP^W<$F!Y7wjnp~ z^LO3`WMaCrr2=5u$<+SQ)lzFqI3zV%)%hI%p}3Y{h~?XjHAE%;sW~p*#C!3`8^hr# zclw*ebEodVO?TdcP442n3W~Bu;V=WjK^=WN^Usb{9V82T@IT5a%57Fl6ic4XC+G@LHvr;18`rFfFFIP z=G+JPIP?1BcNlAsY*|P)xMzLu-mr-nNl13b&~ouTOTUf|54R3yC>gZQeNDovNO;cp zn)Vp@xo?UZJ7arGnb&5qM04V5+Q=vqooyaO8A-M9KSVh(0uR+zMqICPvnXWnxtNk} zTI_&XJ>|mYv|O5~+t(59t?`2aZ>;TELEveJQPH}0Ic;PQvK;*Cs8}S*K>2a$pW=kR zNa5{?(nOD&+pvq#h3)RnZL2Ewj(tR`!GWsq%a(Zt;67E|;x<*q*Nl#1k{7kdW&^=pT4J5YR~u)Y=?;+x7&*-xo2$}XfqOV7 zp-i{){?EqBUG-p>7jhrAtVc@Z5A5sLo?ZoxN~wZ{7k>>x0;b|Ae$w*2^yIZv!8t<6 zu5sRP$2>j8-;-=cW(K@_G@BXNz-2STmy-%szYXPlD7kI%L4{H0L^iHnBjD`WpEHDe z@-%&+ja>wA;}M7D5GoPYS->=D0vuQY5Bang#AL|iGEFz1#rILRjSM z;HF|~?#tLvRD?V5&xY@6bq1hcz5l+?W_olfe%`;PB;)gsU|E|Hp=3{Q4Wg&@ ze2C|t99j8qk83{K9vXgFJmIOtSTb$^mmqAiAG(kpZ)gn7Qvgr<9SYb zQjiej`y%66efjRsooUniEU)~hhckcYy}$iBcu;i_;`*`}^+cLAf_(LlYrj<@?ARe0 z9R3b6?iO)ddVsY+d@bopm@V0#LCW19{$!Nawexw80BcF7@k&qP8u*KViAF`7kSzpm z-9Z$pfNVtw9I@=k#t9ClY@>I+*ZzVkMnH;PJvJglg87#$qW4Tb$!*e!Z6i`fjVK`K{cr8dl1NB9( zELO2^qMQ?(^*Pn1PHa@%c?2yZbZ8qD8HP?g?y2>Pc!K=?JxooK;}@#%_p~M^Jl9x6 z#aN9bZM{0__KW_-&5xkbT!Ref^USU{A2gfY#;(2sZSIHhXR%22snTClN*hdttRSy( zLsg}xD{O-$%x+7#ES~9CtccP^{)i4><3ZHhiVaP}TNB;qki^&V#xfm^M|3AFPsVM*?pzCz?%&2DUlD}iDg@>%oOZ<6 z?VD9n%I@obULJDXjTsqD6`TF$TN(;9slNLgVnLX?@6=hB;nJL;!Bp1hyiy-;NnC1t zx+fO0vU`U2bhSvm@(eW^>h~WNrM8J~stfDQMyjf=*N*B2{DiF=ER*6+U{508kJ%>Fg!Ff+~15{iVoVhIIO`lZ_3 zWzfp1b|rK@e{fNJ`?UpB`_(z?!+)?qS&W0!;(kGbR2qP$%5? z)W1f_`-?@9H%n<~G__0XNLofoo!Zyg1PPjktkg=L{qT&?sem0&Ko#|gsl@*;^-@WO zSBw#WtxkJq1+d)tA8nN$u-8Uwd#Mz3Cdkxd1^@J5az9*s)vZ?>?e^QC^5!PEqvqAu z+9VIMR@q$nixSn0m%lDpgFc(hoc)-%YkK7HLY4NZ0)jiTqdC6ng_h7n>v||&Rty>F z?cbj$V_v;xr&OR&Gwu*O5SHj;>xE+oDSxg%Ei->AR5y2UqqD?9MM`J_|T^6+73L8UKH(yUfZ6pt}kEnO>lJ(UFl#v!GOH`+2I@C^RQt^Or z>q}Q_Az|qsS0Sg(-^bQmI|#DAgRN5`TZ>&<=*wKfK6d56)XSx}^6D1;wZ4$3#yN#0 zu2NM)Wwt$LQnx`y);;aetChdKT+^q6Z|FLFhi%GywFUH~E+-E8wpFlT1fFvN+iF4k zb1yT$oC;D*uu8rtof5OzERCOS`6}Q>lG)>_HyJDlsW8vjHOf}dbBL>Ojg;C#d*{5Z zK(7G{{?ZYVTlq)qv24?Ke9kPhce$T_^~x36*dxA_m_7(Sw*A?<@^R0tqhgv-aavz^ zGz7Yp-Y)&(kwrum_ZSdZ58iC!bBCtsCzs}Hu?^cBMGm9)-{cI6=FuHQTde8`&!wEy zXqg<^ZUR_`;N6MNf{CTkq%!2tw|a4zw!oS*BaKuO75|n)&vh=xSb$C3(tu_Iee)In zwr8f@lq$#uH6r+MH@~6ir*Y!ejJrP{@w^XQPeF}kgiaTprS*Praa2FDwcEg2+@7`- zc3yQ#S4qFGiR_cjyJ;vDW1Hw+BQ2G#yP1ZLSVBUL3AX+Bi#6^DW|%MgXh03b_Y;7g zqPv^sRaAbR=8P}{1}@mMMhuaYY(_wJf>s@YgH(8dFx@G z`-_qLwd}8=(tZNntqO*d(s>SydL!@YYD%u80>;rAU}*FCnZ|%R(A5*ik%*m*in=(s zp;){gjpn^BKecB@e4=$sDChwHsn602+K-{7y&lmMW%G#iSZ>r4K15Ld{6uD>b=HL6qAylYy2+s9aj_Ye7<*irJMNgA{n@u9%IP?x*kk90*_Zq+WZ z7A7K@h{3y$9ZM2LY5Es26>G_!yqkI9ZhV7lSnH;Weq9_#sDA>HR{hUr%x^M?jKSJg z(V7Ka%oGx&-jO)?;;b9QK+20T8QBqF+bbFU5FYI-T$>5~h?9!?f=*1^9&7j0k&eq9Q7W6aw|R(;pi2wP6amIMPmQ zW6`FX_qd;LS5C;PZ__RzW|Px)TEo4RI-v)Df)lfn26Q5OX9#*GHlOA1kM%C&yCU`oSYr+I{2dtqV{-i5tZWFDW$&A_6 zHWEUHh<-m3G}UVxCY(@~d;>Y+lRbSIA0L(KXOwhc##ZTO>1X)_;>rTSyQm`H#~(js z{*S6#y{0gY$nAT1B(i2@uc>RPvFqPh3rhd_X6;zgT%+kf@>wj`_M4}>_I-TFM1{u9 zb@4fjlIWkQOHauE?05EdoP4cj{HrKGu1;UZYOs%^{iOJqVDBH~46d6^7|a(C)Y&EO z&|=(5!z{22zTa8oF41rM??%>%b8mXifa1xGNXGZ|*OjrEiQSOky=N(-@?6*p)is3V z9dFSW)$VbPG5hCDnLPze0o?rPCSA34bV|PZ*^ol+a84^$QW&+TLHs0GsZlmFKn>{2 zA-nLv-;boJYTuqz=?`fSu4st+**mRyswhb2tn&SEr<@w_6~`4&+0deY2ylZBjZ&{( zZho)eoXFyE+)NOx9b!gIb4fe@Dt($+y`IWxm59%6rVon-PuaqdzIr|?`JyU#StGa| zo~u3zJ4Bwix~=|2`!AUSjGXp}|ELnQ^30-002TBEDQ1Qy~Fu9)tdUZQuk{vvt0o{{AW;kk_qbG>P{|bcn->tUT*X2J7nS&+nD&WS> zp!+~MGQLgeaGkY~aX!>!EVNnVeeL1#Nd@=9Us0Mz@Q}CZ0cDk$-$bcJ%g-h7M+P&C z=~R@m$z1R(&=Q}gP#AAaE2V27aRp69Yj#Y8UKRrqSYBeoloI_(N~DPHyPsI61D)Gt zmtH35x6GxP0L3@@38gS<(9I~62bm~elue+5;>*y0X}2BARZ)t}jr1x6&f!Sklj67A znh)uvn({iu+@3M$lIOp;(N3WOU*+Lq$CGFOAbKOE$1*m@TznR}t9rRQY#pQdRkh7W zK|hD8!_^|=Y2@l}S-XKkuls<7%*y9zOkIV~-tPid@ zg8EWc-4j$+BD|$sSODlRd7L}!# zdA8Zn*sY?9r&O>0Jq+r{1yPQhX#LG>`kiD$EQwEJQolCt$cnwA8Wyc(P5ss@?meJT z+bH~6*>GxalV?0e>Z$UD)tOhDpI(5+N6^J5Ck*`7%!pm(7a>**7+xqHn%WER* zDcUCOu$BP9LTAcAcR^9ZXIR449fA$KqczyO`cFpa1xdUJE*Epfkc@(j05_ma9x~p=)b!Y&vzsE%G zuEqR6x6O>mo|f^!_+>wlf&fR(mTiEDE7iSZWNb1wwzom&4;(-8{@rM<6Q1UsbT6Uyfxnk!$IAU|Gx zFFBgfa}PdYf?K4NDmpEO8v*6PU2Q2(QmSe}pB_S35@W{2qVx=1y33|{i#-4Mt1wefJEU}8EQp@&CSnJvH1Wm6QTF_;-5b}&l0QB8XWu}f zQGqgjAlSBX(Po*+Vycs{J^8fk0Wx$d-AG`ed{XESerr!Bl~@>I{$9`Y&NstJk}@LY zSNU_Gv5&kxw+)-Be0+!PnSmz6DAW${;+q0~4Jru$@(R#?g^P3k=jk}1`VB4H|5XD1 z-wKFPZ1@)zUz{cz`4hX>EiLkR3F5fWmNr|ut*3D;{*OMui-(8~Hf3-L4fsPimU|0s zBGf?@6l2`Ksm@IrC&AD1Sv_UdZz%gvIvz0;c{BR-`F)~IB)mz2$3u}>3GM{HNO#DG zk-^)^?rzrkCdnf$px~;um=B)b$o8R{EAY<;aRX!i$#mPF-G3m3Q^#bAIg4Nxs4%iSeB;Ngtov0dl>hfBVm3~4a#mHRW2Qq}{- z9kcG5UR`cmY>)3i_fV4^WV+AJUe($^8UT0F>SfeyY45I)Y6p;TS?qcd}MyUj4kBm^E%qsh-v{@5!rz+m1f+yNcd&*vGnG*W8PkTwM`aEx+YujSoRerO`E&4CA z*hMNbZ8R7Y<1MMKMN?3};saYxLO>ca;u)XbbUWJVPCDYx*qlvzEqNzp@J~*yy^Hd1 zvK)K;JhVr1jBT7Nr={Qlf8PCE#PU>5nUP2q?`m_0N#Q_^J>AeBOK}1@1LU^^S>XES zH$-=h8ulz4*+ll@waEJt^Gu2;_ea^zaB@_}?q*JORL@zvQSA4P`q_>Twi9bEL(J~v z4n)B1kvjm=Kiz=c<{bYL}uKWXlzHXt$W}2d9`gpO(5Vae_0-TU> zcLU?iU)r=_b&8UPfp}cn69=u(6g7KAb76F7eLr}xF8-tJ72Wt+QesRQY~GhizITsA z?bxoBcrmG)V!`Fphj`;dq~TO_MK2(pD*2Eg4WVD|GEhnfFBkPgKx@-r7FD0_ld`@U z2R*!FHs{u2)J!V$(&W@9KIDV@AMfV9?*~)ggWHFXIYR{=7F2 z+s7!2IT2}jtIj7fO4lgq;gf1JqCjgZeG=RajA!9L>9-?)pY&^sWaD8li#gY{>=Rox zlrmfsvG_$27s#yIS8gdkkl!U43~``?l#!}3l+uNa)y%gEi%eiFGNG}p)NC@|Sn*n2 z5>jdhv6}bB_EX!M;mYWS$(dd=0kisHU+27IfcFG2zx#xBFMdZv%s~a8wNyQfPehP7My}Q%w7+fK zi<$RgLQ$I40D%2o_bi=V!bSbDB^cvZEG2PYBdEL+-uQPep!&!+h#9%jftlf-ihiyh z7v7*Yh|9mCmHKlf!WIXspX5HBGUxv3&2VOL-@l^tnH<4)fWX6c;wh=DV8%f5A77OH zQi6Fn`{uhC47wEBvtebM>4lu9yGf}zFC-5yJF;e#~{E=OX;iM;PJv0OoUg&%%k`$)mvpzT|1Rgzo)kiQ|HRKwx4D% z5!UDaJ+O=Vs&x$6bLiZBF>*9;cDGs_=9cRlpJ(1NU6?V#TWx*(0#Eu17~smwLZ^IV z6@(O^B=y;4vbJ%4f z626nt|9Y%HbhW(0cL8zJH7~5%&<(Uz^Z+H{U^2Q>e zm?BLN+&ib;Sg3V8%!F@UlTY4DJnv}h^~%S(mlf|g2Ulyi;bA%xc*1ShdN;+Js0nH5 zJfj?lxN76j?l)wtauwmIJjP|>fMHM3YO__0^?@#Bi*@|UaoHN1sO~`Y0ee-TAws^^W|fMf4$IAGnAyz)_KQ` zMc)duBn-kPOpeai@&o3j+u=stvqdYC(cdiYLsrL7GhP>%G|Z*m&1M&%2ucxSzSO3FgA35x%bit2*D;1Q*gTh#{fP$*-=J zS6kdY+eyML-OfS5t#-gPoK?vBrACfiKPj7-q@HVIzJualNS)M-Z$^9k2PD$>1y9MqExA0Ea;Bd(@&;20nv&tt{pDEyw6P`Sk7okV6 z)gO{=vfQ0IxVK^?F+Sptr+ncExT8^XgS^Vg1T!D4E&{S?%Zc` zJsa-*kLoZDv1p|b;bXfMdEw)o)1TINz$)J zqn~AeA2=}4ZqKaEwk@$SRsvonr2@nr#Z*SOue2o5Vu<`dhI+M?*)FHD5w7C6xs^WmrCzTKkZiOc3wOg$ZR-a3Zv;L|~s(f^)fQ?ubenZ<0 zn1;{E@pb zj$KuK?eTfSyYp%K?`7(zIdbe}D>(ugUWEPss2cBm)(N}5DsG^{{#m+ZjI`qxTE+eO z@68T^lne|sA*Y8$)EV(yUgAzm!nhWcwd{!V6ahl-nrjq5RERWzYO=Dj7P_WpxKXRG zW&-}D@=39t$h+?eZkn@LEla0Ty7WCWj9PwW0G3NI&pfK7f>O{48oHOza)NzDU(;C` zdd(?DSu7Bxi78Z%*2Mv)e33EmMwtX)zmU+=FAppP%6MO#mb^Iq|Go%D0@HjU&D%eH zD2@YDPGEOcI!-4c!pdFLyH9x#*P$i(7Gpoi_;SN)@F~ut27z;+oA*lX<9)c!&0OJ$ zJ!?Fg`^??^F5*5?W(PHR%oo*F*4pCDGivfxt=9H$6VB8B!}~7HYDeV}=__mYHX=!1 zmlKU(ms?9iPjF5a1~%WDx_|RpemE=nY{@}y!qw^xZ>)7Ul}^_%INVPUc(AD5N?YSD z(sI=|MjXjlg4IiHxI~AF_X`PZYVeyc(AJ;uhCHo|kynQMi$aPOcca|qsVr~c= zm^WB;m-Z~eqtK(drqKA*i{BQ33=DqHSvIjc?pOGBaDCMZRAg<}e7Q(na!Ue-$}odJ zoPQ*+(iqq6_eLIP)rj}voxVSg4+Qml4Sk9l!-YNoZc7$Y$$ZVKc8!FyNj$3E#cyMv zMSino9i{T|(CGa~{7TZj%EZ&zYkH!Ppp}58j<1B<&beSjX|Wi<=*Qzh5p& zD@X9J+f$d(oI=feiqt)t)^~oABt+?uf#7q$u!!?%*sR}pEX1}i$E|M$rM8>u5034z z`K5%2qO>^y(=ho*do9D<;^1b>AnCDeEL+DVP`ss?#Csbl=q1NSZ>eaYCSqjc)^OP4 z;-N(+&_%|lF(ftsAh)$XRdf5zi ztQx#_=?FcU-Jf37+{q>b^&x5Dw`OtLu`E_jBH>uL+Q$c>NGTJP)6D`+x6;A7a-7U& zp&U+fB@tBPI?f}xkCc9Cem2|jtBmTA8QVLB@>-nHdIFx*GKLXPPbST^nZ-zHh|)rM zT;E5524}O%m3QdYc1^Jh`sxFpk4#W1V+?zKd zUguruWSU6BQ7Owr8;&ZJIb+K!79ML@`4exGB=>!^be-$gee}1`X=iVRwhl|dyvt@8 zL1s{SlHv>27)TvHr>M2a0@Kd=I-S?_E#|B4+AThk99?#(d664zu*{vUa6WI1po)8t ziP+^j!T8{{nldZ{l+zz9@|vxEQlO=2NCQ2*>7={^b?D}$3R?NIRfp*s)>8l1UB;EQ%1I2`| zW%v(LH1)m^lelewwWX)WB9!DH2K4qj3dyu~n#zvZ4&qJp;M zXaV*_FCGX1QCtnm;o{oN;mtJ~lCoqu>RCR1TwmINXJ`=aal+X(=2hPlzTVf`9@Clj z*FvqLq>+qSt}nF|TSQEci&2-FoK5RojakvSaw$po=;tJab56LK4U1V^vTkT(7ykgi zp?l9^?K*vejX?<2x@%V`1-x0`m3o)6`=qwaBTT!Q+e!G-3&P4rmZEpaGVS`9UAvp| zl}}cEV#+3DgN$2o%wn`=HhJMd(=3vH3)xY}gjf7<~` z=tGlkd7fZ=_1}bTfd{z|jT*w91C=9V?HH>2C>t~e>=LzFqqJhVSmL@g$EM9_^ImN^ zhAlQ6^Xco5^RzWs$+g0ON}(ep43cK5Vgv|L_CT+ z*Kj#hz3u`T;GJ1nxzcF1zczsreB59FPl&Wf*5)+Fn{4re-V94K%^QDwK#NgJ<2}V@ z!aPt43+lP5*yNP+t)Hmy>_%Yt0`iA%@lK;`p_>$z;h-bkyT2}Qh6&r;Wf@e1K2RD>? zR*aG)!-T4yv>(&T%Ko;T;b!jiUS*KqZ1zYkL|^=FAfuWdciX$qcU`$Kb?2efwRk;4Og$DqJsdcxr9Im?q*!x#e|PFLw7NdpIcY=|>}qByp^++Jf=#b*zkT1| zEW|d>az6~#q^*^88`S$+jB5zBtK?JElvQac>uDOiw%Gdi&9V>rON^PT#6(^z#0B^B zheh@c`XZ}$6~8CdqrR9YOh*}eD;}Yor32(k5vWPN#M!qqM~185J&`~cobtZ8pOr=P zWmSwDZu0;+B@LGdAvLqvUt19N*7a@Dg46G9W+yO&>!ielT9k&y=9LtPr-xjJZJWGu z)6FxtZN#Pq%tM3AtLL2{B(2arGP;#*vPs1YsS8R zQSN@v#R`W9tCJBD60DFCYF`Iwq={!T$c_Dm({SRNn?3hk$qFVzq0Y2#b_2{iPg^U7`mg;yTv zroc<=(>F?iBr2jx&pZ;i(lgd?|4wD|I^Af17P|k#`%;Nn9+-Nu79MMeF&9U=VI}BT z&8ET;GUnM+RqVTeh*w(6DicB4bGI~3v5(mM*MMlqsh7tqx1OAp@#{P8L#GUVe?)D6 z*4q9@^*VaM=4ayDbsjbCL)Aw=Y`%5OtO>Oxs?u-eC&Ax`l}qtLH`jQAoR94i)7B9` zXa1BX>Gn0h#h*VJY6X*CTDT@rImJ`7Jah|gQ%0m^dE%#q9;R8fj9xRN;2wsnub9;s z1pN%z2N7I(a$x0b{h%#op~VHu-;DbD83J`OWs=O z#a`*OXcgyOG)KzPw}({nVW>Y<%9ex(|H6`;<+9WVAB$Umn8gYuz7RM1{1BXZW?$%I zYi>LY=@mS+C!}fei7#o@-Iym+I5aUP1?6n9>{%+`H=FSb3geHxrp83kB`seda+4cS zjn@V*4|W&L)INOquv&pFdUcO~c7;}y>Q}AR zbO-I9SV@o9BCi6e+gV5rk{QZFvczv|e+ zl~CT>{>weeE;)xJ%5UVe@@rn3EjFYaEWO6IlVw3Pk8G`G*aI7+S^(HKw6VN-^Sz3) zLHAzng%5fUhhE56PHNz9qNZ~=TV&8JNr=inMrGp2%`Z(a6e;>l)Qi|EK znUH|gX}Ro6vld1d5$qh3!b|h~IIPP|>~QJavEv8rN1J6UL&Td$dK*c7`G)_vWBMJH zBTZ9Ka1(9J4U9g3SgPOR#InpcgIg2Q{pk!y=mPnicJs_8Og0d@X`19n1ci`FZsoai zI8CA&omS2zv#AtndX}`HPuofEh)}EMK?Z9Dp1z#1?Jm~Lh3Gn>cW>DbYTS&aRI;WK zU&WeW9l+tIY3RxPxwg?=6?k7Z5fs#Pe2a7SgS(dyuYa|OP}xJ?XPkprI}!`tGTx>7^>BWDlt{gM{dT7r_-7`c+XAcs!0Z zPwKP=dMYVe?^K@qTAmaDkI1aAxa62qHd8G=iJpONr=a4rzo8_pZ9uDpG|>`Ir#UGI z!3F5b@YRJ9|JaSRdSze`=+det)zC)ok3no{j^L8GuQ3X^T$ohhnEmMoM zIZ6#K(D$Z4bs#-EW$PB+slF{< zl7Wg77!+P*F@11set-D~>pE-<|A5!hQ`T2|A|-6@W#pspwL||=&4N@PtY#K>ZK>we zPVp&(5wj+}A?MHk=y|HLL)6QK?g8TxAYU6kip@O0%=_pY{!9Ny_?Acdro(I%WdVaC zuj*`DTn?n@lF`08DC}2?Jvf?g+ZRX4X2oTbH*Y2 zgSm(vbF*Q~AB7-sKl(nM;NE+h0_YXNX#d2v;qULctLSjUFL}fS=ZhZK-uDbUkH3+& zO#(Kh*I;{ir(v_P&bubxEGiS0i zy`QyirFx#k3x3&p&|DJyWajj$SIOTw8u#}{Z)>wtW&DZ$pI0hEo}{c)KC1V7n-YtR zjkfR^a5C;VG8CF9s50Q4csF7O3Ue$%x-#046VxZZXb*|?W!r#(ov0+j4L~@Yf;|f_ zm798E%+#*`7=A!dQiqCK3{7V0AF0uXElvRsLf_tLbkx#49Ne^GKN2Z@uY?+yY zxbN1$)LWNK`@9D^;RYS_b#J{{A1<5!N9DX)SR9+bL9mT+oS(9332QI}Rob72@QEv4 z%NGVE;blw$crE_;ETOiTt9y&e2ZMi9-2YnK^S~BP6uXD5R#qPyewB&G?aQPZv1ZYW zIOzu}yni?J5saF`1h@iC@xP)nIxACzP2~(vucr!+YOy(#D7Tr0_gTCQwmA&I%#2o)o}{RI3;A+0@oW*J;}F^|98+p0Mx0w|7#8~rI{2~nrx6rj~=$Cg&M9v!lJUve*ZPz^4EACFIj>kQLe1-K3(^NUUQ`5mIGH~VDTOGR@&=HM6Ah*w$-zgVNA>P|JU(XkiS@vM za*L8T!S>CaCo^#I`q8bkSFpy87!4kc+kU9ODrYupB1ipE-)r)FwJTVU$EYmV^+TiY z_vVRicK!JKzDuyXYWtuxu3<-IKb+_y;`bz6Q*b2-BU`JNO#{VMAHN_i_5isVXZ6yz^*B$870Tao*bF+61E$*w}mr?w|n{aWe>me zL48m{y;j{d{c<(M5ClU;Phbo)L_HdtH!hh)qdokMyRRRMoigcu^f%?4g_RZ>>xtM; zfhIXH+5|@c(`%+CIPt{>!_(lV#%f|fddTZ`IavTMn+dL=nb<#=$QqXKmd6S;OC0E5 zF7X*GuiVEv5tMukUt}I_d~jp^?y3JQ{-&+(5(POeuHx59&ucgVH=jIN+<|5 z=SvX}_8mDdaDHD9T+{bs`ENRHKU+R>{A-z~y~(wNd=tzjP`d~TLz zFcGGBABB5B)7&9Ytb?^vnikk0JJZ5LC*RA?arPwUSy+JeUym;Ga0Uida>tY=%gUI0 zK>#QdFHH8$;=_n35!=Z`jeyt8nr=3;8C;cZo@kp|Wp}Mnn8qmR4XndCM^|T}k;kYx zo?VSjVt#pG{>WUoLn&d3ahyZxQ%k=txv>qFgx+xOl3MFDVlR3z{8po>Ar+#((2*&9 zjfo^<)Fu0awk6=Snyauq>pnG2@oS#!8864FVNo>y-{mC^*_ooaF0WYhuLH)N@p&sy z{rS-t zhg@x7?Gtw!_xz6)LCAX8C)pZ4|u2sr6X(PNh=JQe( zM2(h~#%oH`WT?&9R`{3|+`so96~iXspa%J1TG}>7K(YZS45m$?T z*TH1VgE%jjX=ZQm9DBjf5(pS^Z?-u|R8lrGuHC0H@I~HZ@?RwDGe)ERnBST&8XOzFAPcMSS|YhbTr@oUh$PVf$)onx4F3 zo?wAr?QP2K>9c0-0YAd3STwSvi1f{pt)s*zsMb{hkP_s$-88V#%j3n~^r{DXqetG! zM2FOba#;&Ie$L8e;>DBm5pD@u>bpV;Y;%5mip_cUNDn`v&uLhrZ{^lMihbhvFcsMO zc8h%m`v9+8?&-=rsxbyunrcv!{l}c#w>InARGaQAA$)vqLbJJuR_IbVV763JsRELf zQ;S-z`ji|2=~Sxl`gh8ysnYtlUq~4pAIo0XDR#v#86uld+i+tC3-0@cV`aTxNLB63 z(7$WIwJ9S_FUB*K=EZ5~?dBe{krlf3X^QJrUDLjS(1h^baez*Ln@}g5CV(C8YtsP$ zmQ$K`&I6PhJ^XSx`~?-AdN3-cTO-xc&N1C+;jc@P2^&tHnlH}UHiL* z>i}tC2m(K~Dl_JF(%hlgfo0ndZV)EHrzV&@|0a8~0l3KDXmvE;1mjYyt^lVy{|ip; z`bYesLj{oSHAwKA86}RKD)YQJylLi|&Psr}j^@+1;R?~#JIGfd%lc9>!Mn2!nhw*n z>JDVj3YRcX_-R{_i?P}JmI=pH(9@AStd=7tfH&B{sIn03q~c48BffxF2geKl&^#-H zjfS$cdqjCK(38NB2%&iv*Tq4o-ZkM5-ZsDzZisaPF27rnd|8(;2l20#H!l? zN|O8bCK}OddxmKueuxBvswCB54gj5< zG(bsq%{QD>CnvaRBI`0J`j%Ng)>URu#V#QPwF@#ZJp{y zGgiBLWrv-N7Wx}dT>j#VBe_VL6HEu6G(K84`lFmG{5%KUb$nd(&*i;&q+JkC-a2Tm zDEjOCmf>)H8ZLCt#P8$Sm#O*ogyjvCU%hUTiO_vQaedF0r@2*UJ#Yw7S5cED@Eg%; zDQMa4DMh2s-Q-M*9pugJH^SeyYImq<-AvD+g3`^E;Obp@C*-SwMB~%+bH82|&5o~I zy}dOx1nbL-%x(UufK>=m&&onDXe#)uH+fS(LN3f=j3%zd@l}?>-Z*))*M0J^)%(mX z%(!bmTjriPCc9H33@*K9wRhY5&4s_vCcsXc^zXBv6iv_>(5WBBUgb0+*OF>;#gVz{ zN5rQM(AXhn+@PajX*inGJ#TsxpXxDlDl{e8T;gXVxv-6NErQ?vUbKPUCpW?aXgZv) z_8K3{1)tUUk3nsSeC4)=I$Gx5AJ7XaeMGmN9K`-=h4-m_H^D?`pM=`VVDZymG59dP zQQ_TsS2gIqC&E>xpzOvj2Clqts1fkwE^YP7Il)7hl1z{vPhBVvKi0SYq#rAkUNJRu3iS;;DkqYy}eJ)1}u) z#Kt!diha$^lJx7?$RDtZOkR~-a(hOf^h@%hQ2dgEH*?~Z$)ru>P@G9bqIC%ly~SOg zCWGN4_Vn2UysAd1Fx6c@L$BlqU0*R6?Ci^;Bc-)beZ~hg+l~J{5U#HS`s1~S%pT`t zxNsrSf%Rh;^UG)69V-u?g*8^i?92GSnRQ|KILBC+9cNy;sNOllT)KF@=8%*m0d{)9 zOo9?Wz~s>?%b1Rp-=v_GfvsYqJEK!(?jE#|X-tV|h1HP{$iqaW-Fc3UkA`CuIZgCX z;afxn7e)gRkG?yb_ZMR^OtN%W&MR`?Q%od)`Xs( zCt7%?snuWuc>7s4#NSXxJB(+VNlJ$`7x7tn@9wvS27gJb%;f~{9$3&~f&dxC`0Ur4 z@@Pxs`js~L%@e9qxDAn4rWmCbHFQKbGQS2P+`W0E!C)tZo z^wl0m19fgV|D;P5h4%gnkSLYf3zX7V&Ar^kNRnP_t@fRquZye*yh6Y;t@D&m<4k}-BYRcr_CS;Go9E@eY}Ax^}FYd@|^Wk~dEEC`J5lb*g}g zJ1XU*DT<8M^2r&U4zTuQ9ZmJnSv^h-t-JqqyF|1K`xGNELPPobERZpnepFejWkwjP zzMqWV5mjALH-wt zL$43`z9@W0ro?53HXmcB$v`S;i6Ff!?nM6!a^-hJUU9a)oSRzv0g}-Z`eOu{2T%PH zX%UR}G;4|;E0KE1bgA9WIK)3jeYrQ>N9_MSulD21P}=$zz~|MG0%$tRd&gDz74$Hu@Z=c5%KhFH%7?q}V636p;8vEYzJG#-mD`191Z0?A%gzQC6SiOD z%${&4RP%!M+ESK~IbO1-o>A`9b`$b=;7Gu1=CS$Q$=IY}5Xb&rCMf=hbu^9fJj}Wf z^*QmyKtq2xYeqLtZZcKO7HWr$9NZLNlAR!0$eg!RPVpYIAywS`o6{SUR`nX4dtJrx z0f$jm!{I8KR2^MvdwAbyzP}Yc;$?EVVxN9QaGY}vsd9qK_Hbjs(bNU4B_bSFMA{E#OI(Oql2IBGU8uIFu665XXY2hsok5f3b2N&wyPu zabXRt9>}3%-4b~$#h|_-imB054Q|d(Mfedmq93}~pRIhCAmW!6(?obqKV51O6UtGv zYOzRiWe3PR%Fo*0wTUS?#s0Fh4S}l}e-p;`3p38P^5sR*v1OlKmQOM);P{In~o=ZghD`WP%LoawVu>p1m#EkBLNzGGZ8u!zmfr+661kxYmtM zGHz+;RtC_1Pz`)Btj30OpY&eL2a-big6Vdx zXWtxnip_QaU>-(zLv0$J<}1n`xyC{@A_KF3^OR2NMOGK8VEeP3&UbRE-$FwHP{)15 z$NamA0H_(3j|Ww&IyqbHqaZ?~D-i7h?^5`iga#?Mk1uB(1SwCAJRt~qif&PPTpc>Bmkh_hK;;{{`_ zvPZe@Q;|?rM5MHDYH;mrr{VVtzI03sxi6(})}aH^tI)tZ6wR9G=Ue88+Hw?LCTVpCl_23aUiV9v z9AJemkS~~YVUf@wmvyv!S;XD3m}kbi?nBv=(zm@MRnIDaDb9;;h%*(s45WGxD%uxU zb8LTUrtUqA57cltbEP!Pb$agL)p-g9zXQPE=6SeNSroXUKq~rz%3p$8&t7-AmT1>% zsV0*cq4JpDKZeDEBRVs4rdE_g+3ehb{yj z^Em>z2F_fSCP&=)<7>WxP>F-l0gTD?INrpbwg;>-0nF$k-zJe!KIEBLZLH1Wd1(6& z)6yTwDLtv~0ci_GBEepx0Faf`3;Mk;gJc#imm--b=6;$AV#TR2&byOEruDT6FKUr{ zn?KHFQp$6@vjbk$I9Yt9@8=@^NA(?NAUW)_8*U40O-SnOBsXW{EA_Va1Bo*_OYO6H zFZ!|X&ow`p@fCAdE^RVon0FTbk;1SpjSnG!U&KcBrt3u$~WBm zVb~_6leXBkw!V?CCUZ)doeL`sWwGW3#+jY`sdjAVI>F>~d~^Ak9$AYZ%mo%;$hY{n zW*_sV7&b{CRo=raRH6LlZW z5Vz*5{DBSiPY9x0tM}a54k5lueY#Q4bQBBB9om)THg}r4pq+`_i~(bDkujmR3D8;Hh+=VxT_DU`_IUY- zSry}m_i|ke_F(@}?dqRmhBuQ*xlIz88&5f!Ln4*QT@q!+6+l!3g`@Qv4wBs5p1 z^T+pM`uxKYV%i~KI z54UOUmlE1YY4xgDdvM@IC0g)kJ0;ix5}dw1)3r+~K7 zPZ;4|%AGa)Wwcx*Qj&0c`r}hfjxBt@+ni-4W|aAK5Ws-AEt)C-grA7D<+gU!fL$p>-9ew>I2sBR`&;so5yw19!C{L9W$h!kbigU z(VW4@#xsqEQk!ACDIBqTCZULmLJ82^W|*r?E>6{^tq_}|BuhY((qEH=?6Gn#gH zY5yrjgKd8eea-0OEDE15p)dqhf7RiJH`|XOLJI_?XChO+3%r&i9-kwp4iERB$?;u9 zb2n;++$fkF-4RX%ujxz6DG?1}o@XZ7-nu*96ihWNbM4m_Auwe&Mj-WT`5xqNN9w8e zn^CxjoI!SfmycYa62;f<4Tkttub5sfZs!Rn=qJxgn|PN|%?0S_Km1>9Q*D|4zm9ST zg`@$YcB>kzh++AE8=PV_|55eIg{iuM`{Zw8mj6`f(xJ|$L~sD%s>tc*JJlaPiwmtN9p!hjO6@r007GIz*)BhUmVoDQN@4 zf53Cv`1Jabj^tu~ILDL0WFGjFbV5@mu&Zqo#&1LT_+2xAXU(bx$gQk5TbzK^Qw>%Z zPegKBeV_6zAmg4kt(+Sgg*wtrg*HB$J-jvN)= zny~OU&fA?{{byKE#79birzi%lk*V)l05M_MKR3R7^*F zoVI~yj&~PPpa5;e8bwCWgQ`dhY)I9b;Qe_k3Z!P9I1P+bsh0;Cy8b+=Z} z=yU>rhkUecOPf3m_W8w7pi2KLYaUZGg zr*(y?2jQgZ;`hafH`x@0^2k5_Ec5dSn(VZ0cY%QKpcQY?o?Lso(l1ToL*2dN!*_O* z4Kt^22OQd!{gf{x^A5>H2T8p({y4o+#sdPP=D@+4zzJ5}M;cgz7hm`&Y6|@xx_n8{j^>()Y9U+baZ(G)m*qB+kN6-6Cvr*Rnp1;~zRuTPMqa?TfcU|nRhF$oN8TNml zvutFNY65o$&BjXvd;XEO#{LHUN_nvavTBpNcPcZA{Om|6E$3BPGPNi7Wo(|toFoPDP8iw@RKQv(xIL<#t z!t(bO(*XJn^nc+B0s{A*j3@2L*MLVokBwSOyMJL$I|NM>jX=nfuu}@p=D2RD&r&WL zAhIasJXA>LuKTtc=G(^P1mZfay%_Q{?=C($l{#I}U#|Y+(0Re8$$9^zVe2!7bYNKH zf#}062^1Q5lxS8PI`XhcuCN+(*30Fk-gk-4$3JOm9!J)rrDdFzJ!FG59g36fyt|HB zi)+EeXQ3~WkK@cA-(`^h;EN@FJxXxBKEArVY=V!r;7M+`Z%hsU1Sm&VuZ8f0WO9LB=lnjPcGMW+}`mJ!>d(taUl& zTRdwcc*53$iPLulUeehhlV>0o*|E|2E-$1V-jwno6==y&eAhX9Q8Pt_yP=?R%4+)N7QW>hM8?R8u1Vw3XxgQH7D>8 zU6|ljvM|`!uv(i|3H9V-bJh^uOTkX(+sZBdl&bjd?{5sk=8x3y5e15!Pnu6ixUS)06(^|&bPsL2`Ma;bkN zNZx}Suq%L-Fd6^My%%a)&AI3eWs=GH^Xi%g!WKFHf{B6oO7uAHuAv?dCn=DGfa&** z76(2Twqdi3Gs5(s5;Tl8zy-^$JT_G5zUr+BxK_Y~NU5SE4BL|c@yK13%@B;2y<;W| zB^uCREfjr8@*08awDVEc1r+!b2r|%)RjplX@7l@{t~DpbsV>UQgV9$#fECH^A`pl* zO};RE+<{ws3=0rHlu!@JThsv}KlIEV{Zexk@|gEmW=w?Ec~t+{lgu~#XG#lHyI>wIZ$ zT(!3sT_++;?LNo8leDoJ&OGGjg77s%?M>^h#!fTc0R$uyIrkq*NxZKP9>Hs)#9Gsr zHyRi3jrk_kBy4)!a}yerCwE6gaZ4v~5t`kO;@P-}8Wo(i<>Z-48UY&A`(_ny2=dVB z)1>ym5sY=Psrho!^3Ssy5PA8N^vSjonY%sn?sADrnRH))s^3?7!y!TR$v1htm;?mw z;8kV@Cu(Z}pZ}wB5Si@Yh{q12N8rk3e+%Ap-G+{F5tE_>K->duUYm?+!!}l`(vO%s zCrrNweEA$#1kp%l@7(C(eYdYfZy~DF0FNrWFz{+MD!vZjaOa=xQefR)Gxc3M@K#rK z(~U)lMD`JxbGw%iyG|`Pdl2=4rL9MXMal(+hI0e&$gLb-;K?`PlKJPgm{B&tmh4F* zEdw(|q-O`2l2_=g>rVYPKDH<+IyU%jqhe(?e<-IW%wOtAH$TO#!3F_K3P1{$;hYy)w}5eyfv1i@&{nx@1O-Aa;Mr)ZPReXPF^(WYNhX zlx11AG={g}71y!y@W}!{NW%q8sNdcypz&}&YH7zoQ@<$Jy9{tQ9g$i*tKgQ4jP#`T z7Aksd%?Q2op1$8DxS&FP(mWD3c2X}{Jc^wDqn+aGmU`^Pm*PAiht(D+yUFCBi8pvJa3B&lqgHfXfo(oGH(MAL=6bpDBaj zkGqeV+pn?O)LV6_#Bn2O?7Q0VUFy6O9d$_$vPA+9o7ZmUyqx?=;I*t4Aj@9Bdq=7+ zhJ(}#q)z5_dO|RJZ{?g2u?^*;;}np z-Tm_MAD^@Q`D;k)+#^{DiI>20#Nj^`ff*&_FW(&+tsK~^-f!wgZb75)gU&QzI!UfO5kKkE3h(xtm(NcEB#&;XAq$@0{;b(CI#YOg&yXwi=INve8`0M zr}cY9>9|lpWg6|mMRzi6*1L}@m9{w6dYu2{fLntpV4a%>Pv^J@z)qP4T`e~**V%#{ z!ks+w9`ZW3u$*_TsEGnwc?u_*BNKyvgGU-f%x=om|2$UX=iGg|)2ob(AyB;^)L)d= z?J6A+qRuvYN%3x%ahYI6sRUO~3Zp2=`YT+4?!{lP7z^9t_?80!R@`X6Cmh;-JfAuU(%LN15GX7&MpUHaggxrp`+`{G z*22y*hL`Y@D)*3NqCTMwhp5XB^0^*a~podo3m=?bwwa@-VX$uSABrlx92{&~{{W zP@eyh&q82DZ^igPCK&se=9R{Zv5XU;*Ux15R>AOnpje0>YyiJmtZN zB81-unRr&C`R|=c#65HntfbRY-K$F1X=1NNPHDaOf(}2WQ^Ma74MEYf_ zkzSR7ugYDw!x2Y{R%tEcrQwH>;^+bbZ8-7n^grPy_8pw>szm#7ajLYAuC{ ziHok+gw#U4v}>`9m3ivPdBvz;gFbvI|J^X3=Fg3`BuTf}>~{F8=fD-vvk8?P&ZjnA zkmX>$}d8*yvZwlj1)YW5`t}dp77MY&tAz?S5y%X ztLwn128R<2%2OpxE)aft4h()zUube%_&^G%QAO+M1oeGVg*wZ%IOLl#X(Mt8{|uOw z8gt=GjivLkTvc9kMaNws{i&D4vt`Sw~rB#UO!|7xQ~!@pWKwl4C&e zs*`R>RBYo2CCzA6tZLboFFV^n2mby3hsMt+tM%>dtl}jjs^}P~u6;>t@lX-LiiCIP|;B`4GFrlgSn_uK>jek*_j{t%@;(j@uTG>XH^eU|pja`W#A z53|=a%A@bxdS=pZL=*_y(`q`Ye@l0xqlntXgq(8__C@qHqrSrhVf#kh~YyBS|jUjlaBuXWKhnDHIv{`QXSGTrfIHpvnB+ zT^=c>(AqcAkIobAq!x=+{=ROP*tyk+Hr(?%9ijBEKRr+S6_;S~vcET&Z(& zdW3~R3|GyN8P+)dGYTkWn6K~Pa?U9de690lrZR=P{i25hsr?EC)^L||1^76Gy|ub4 zJPiApBNZ_R$oE^!^WZt9Nj+{$Hbwktf?ihK!rHW_s>r1Z$s}w-DW^9j6UwOjXx!vh zUaZA9PQ85UXM=<^j+q8TMi0sD*xNq(0$1=p*- z(*pFtKXs7qx6^8Uq4CHfMrs8yq`W@C7>qSfYSmTx01A|+cV)@Q`D@88El!23x}}!E zz@6Gqal;dzF1q=1p8C3uhz-8+jz{os<*pt* zdWlBvBTb5+&ndL)u1Cbs{0!edQ%<7_lBJ^{{pFouMXE_|z8%{xQ?-)t`O2><_u6Oe zhbFtA0N4I-E=%V$qcr~TbPu1zoB6fp=fq&|ES1EX?)*?}hvjg~PUThz%dnTl`qR$M4@dn%cjA1W3+s z&&BCOf}emB!Ar6d0p>sV%vd4U;sZK1y0{;yb#Ef+XsY5yKRb{yq6X*Qw^%U@bm|Db+ouGpm)uG=ai^;LeX## zS6Xg;x*3?$l0U$#0ejZu33a~a3a(X9s^WEK{?bAPpS-dnj7^uc5_aRN4o=+OD6{gn z0+iLiM<6+kjfFW-1$W)o-{RH&W`F-8>TRRBeFu^9@aF}$TXKPQHCy0&(O7t{uG*c#th0u#I~MOTW%vLob87o4>w5&W#WLx}p~>IZQgNCR{#=#nZIF^|?EPmyN&6#N z9Yru_QXwA?OMMZ3j(7X*1IWI`Jd6F?jkfi65Pck}I?dp&Q%R2PNBDI)ZnW(}T?o=~ z>T^Tx!MqQ{bC`mT!sz$u=oxLvSmY-wqaIRGaK}cCE{zXX7v=u_L}3p#C0a7_I&s<{ zAG?H=3zoY{^Q6r|de~4wWvais{U=_Qj@Y?t#hM$jRQ){nfhjcL_L}Q>d$2T8yPQ@j zO{bOA;i%`uAr!`+A`#s|_F=Htnk0LR!=;BxTa8>o+K(0oHcoKVICdTBGy zXvb8dajg8XO_QDk&nYW#WGXC`mOcWCm4&%QJK`at+oQ)EfpQrY$sEtXmQsX;bp@2@ z;d6W}-pkTlCaD7vA~f^oPI%MJ(w`f+^|@&v;c>756*@~`x@|7`#T^@!ypCtaYA(TR zsX5Vfm$(s-^bIKjgzXQx^x;1i~#dm*-Wt`w+R{=gvNL17=PS@%gMV@1QVnI!e3I z?Hq>|CA9<{JDDXdiyyM3S)Tp)Hnx#Jc3z#)HfMzNUcn>xA3SgIc?2MReRt8e6=5c4 z|6=xzOdGwEnFzjmNPpb19>JN&NWWg+JBxdmd%wyFrkaFx^vWEfYIyB3vfI8?d6A~Ged+4o z;`^A0S8@4pZKIRYM_E3|x|$Ap?ytAQu0YQ6SrhW<)go#Z8hL28_qo}1YvZpf*L@lr zfB8BJ$bW)1E3YB4k2y1&V6P?HcjeimUnZoVmC?OZS1dA#C+Eg+Qhb`mPiUCC-Jc9! z>1Zu){~1Bt{B zQwb|3TB_T$61)k&X=P&#DqbbzktuM`5DrT!{Td`Sn)Be(-kzFBYO+ff*X+j!!CBKn z&S=^wH+~sr#DV0~6STAO2vEsL@Nwa4Cc=Rwvv4&h!1Rh-__JvtpK!zNC$z%CClgfA z>S5U`=(3+qzs8CixAHe1vGi(2I#lf(@X7!7F%N7VOWZ?z^`HA1%9MuSELa6#GHY;d zLV0Qwid`yscE1MXiu83nht^z6;*BJH+I|f6AEMMNRAtb+13GUg-P?fK$|d|2Tw;S2 zR_kp7Z2?CKQEYCtI)40W5c4eYj#n#ayBBTFpgV`O;J>Q@f9Ofrn?P1cXZOGo)?)Xp z{;?ByIIFL%1=d+sqeG^JbN$1lG_GIcSX8_{V~cYuepb@!p69PI`a%IyEV#4Jf>7Iq zJr_O0j#isUO9r`7NL3cVYAf0P3 z#gknVeQ_}FYMnreMb2>%WHDe4_k1Gc#q7JKFJMN;sYH8n*&j8^4JPwSex3JFAo`y3 z`N1v9U**B&ait)-eFW9b)G7vDy#tKA$rv7!`ggk~M%(ZvPN=H1mo6tyMGittL&cLg z_9X_SY&Bb(GX6ryp|e_A2M>3UUtA-3B#VP|G`C!f}m~7lyS_Zg~WAJ*N8DX~j z=)3qv0!f9pH#J}@*E9NQi;U*SKfz7RX}{Fp}a!xiT2n;th9g+KlM zrr(OX`EBevB~|o-eOTEF`GQE4|$oC!h`uSjEH&6fOboWTeg3WJ)a0-IaJe>!_FD!k31X2E6O z#Mr(PSVlnzXawjZT}Bj5ttRPj2wKSgs=aYF2y8X^sAx`rCY%e>$;9Ha3m(e5$!e*erip6)ro0)UH#FTLQ=16 z5NQ+qwxcKNCLmOUCy{3&y)P!7k^Gf@5zN*>Q zBbmJirw!qXrBZw2SIdWk&Un8ziL0hqa!)7i8!|NvdosenL1^Of4r@t%4OfRHjBGdeK=k5u;?C-$K1mXE3F~F zAFK$P0F7^2>jGC1WE}R%2nKpFtR592gB^Tf_Mi?PU*k6Ebb=Bid!1GCTPwN>qMtd2 z)LYZoKI6#={-U4zld|J~&o*{_UzS@1>=5@dd|G`(LpEuh_xq{E!#{sL!W!6pJ4e?o zS`dwX*!G`Z=qxp#|e z#ZvFJqP>22NPHgxn7RsnN$Jg~o6=GrD%`G+F0)TVA8pH-X-ti`kpZ7Ub3II_zKtngq;9}G4EgF`k2nI@=bY}6q#N;6l=vujeqhn)nB2GJwbHI zPad^(5ejYscaBbgfExs~2rxrrva4-X8)IYg>KBC=HWE5JeF<#mqVWXh2FR* zF#;l6L_xuXhPY(dL)Q@2o7>Wv;_w^{MX`nj#DqJUzIUdV5)Mep9{)E=`32wxQa|?e z$(TAMG=nn(GA#z-(N|Im<44AOO+`}MT+hXRbg9T3lb8mngHlBGpzWMp5Tr78wh`~M zonhL*>n?L(^Tx$453HVc2%Ma7qAfU!TAsagE&YI8`7_!!$G!5tDO0MtnPir_aK%+6 zs7-k)@MKETqHcyPJ7Z~f|K;b9pnBQg;lQoaDy?mAoH)qL&)j(+-WHgWm83ufXOjQc+-o#wWQ$z+IQN+n*O%-whTutK$E|0~cuyP4o6r)HR- z-^o0R_EyaUIP1f#H)T#8Ixt%_t@{wo;$^7T7r*-8bMZs#pTc~XzT1?OR-gn%w?$}^ zP4m6ds5Ea=ey%#@EPX4Rz~b+B(f)c}8_NwEXqPkb&H@&zhkL3p;ZpB3UFRZb+$MVnmnNs;iQ2c`NyH(okkm^n+c zKfll&&J+A&(fzQybjKQe5^eq3mEy!%EX7Uil!M1t#mJ6}y>LaY=C?NfzBCpIUqq%7^uxSVL8QQVMg6-nL8#PJhe^<@P z1*(Z#E++v0r9tnbqAQ`OrmE-dq>L^u7%^obKOC{`-5Tb#t@HwlR|)X$Y16853uGlR z_*MZ%BIZj%-w(FzdbS&(oxb_m^!7FFq;!%SU%K|ls z2fK};8etpnE}xZStB;j5xsEJlrOC_ur^B9Y63(JuT;sd_taH(iiX{~qDq%jtTKm@V z<4h0uS~ZzqrXW3^LS#hLH+@{Q((YK2Pqn=830f8*2@6p$GmFW=Rf`nLJXQ-QIH%K;rZ-2OkH61`*KZ9s@v5S#lb7k%tZ{!*y*nGj zNqOWXIU=dsVdBfFP&tNqD>0ZAp!-j5<5q0XbRZP-W}>!R^ZX zT*|Okhu%?CG1-~_q&7#j8az5_u+22XeAE3yv~@@o2*H-PUqxYYDX4)3-VixggPr(0gkK+sq@F0UVAFNYp?*Vv#ISU&&|3bT9Z;! zwWJ*b)R4f+h-!~I>L`>|NYPbZ5aM5QxLZ;s+1GmBhY;QSU0#_JnR`=&nX~Cq@?-`m zI6nfXIsuNx?%Ar8w`gkF%c?nc_-526BPj$`B6H3I zV?7z_#T0 zG3Q@0g@-%pj@rmzRd_SIfWG0%;jkH=^X*3A-Q|L|HicRdJ$5PG#ftxB~0}PUwBi)gDG_>&66~F_5QHax2C^Eb}}ecbPE1rDf=fV^0c0BIB80kj*Z;8yFYzMYA@)(Orqr^0ToWt zl6}U9#@?gwcb~F~2=>86(7R&-4(5J{@N^AzJyVDL?l2MgI=#$C{G@UpxJ3N)YW5{P zRl{feqr3~kpD>w`jU;N8iCor2;ys0Gm<(S=q_&Z^;C%nC(M3(+xXg&fvShk2w98aC zy%j|JdzL$eF03B-UV^U$`i4RT;rC`P{HU?4`pr(6soj-G$5w7U zsX%;4wjpfq>DAVq$Y8FbPSE_xP4#z%nc;d<08JCOD{T8yJ=B!N4?nB2+%Oh_!_NBT zquSw=>mOKVrERJ*fm>n`^J6cW-@A(%4&PPojh|HWZoc=k)Y4I<<~;9@+Id8Oy53u< zWt*~TVq;d1*B=WH9+3_tr^Cmgp;V?YN?|2>f)|~_E2R*c!1+r`Q+4rYH7qixpuH3a zNAU1q_r0uKF#QN32kKN$w^Ywgr?nrVqHfJ{c?Y3Y*ejCd1=pghF=ktXd98djD28tn z3Og~ol@0-m#S?0bBYIrKMtN$yv0mejp=U22+eHKI90E1#y?eR)J)r{Bj-Yc0Kw2YR zHW6|hpXgdT_EDD;NqEuW2g#JzJKb7Ap1rz#;1pGD+lh+)G(yAw^fFT;3~;r*tj@a277E3TTzQP=LF*k+4Z(V)H4~>%>E%kT2g*z|wX+QDu2cqvj4Q^C38a3f(8bsoY z)4|?BohrjyaUUHzqAZD31>4pIY-ZN)FinUdQd__BH`~!b#!1f59O~=i zv9sGw&Zujd+GR#&Y4kXMi`nZ{~bEiR>NY!F<1R=qe#@jw?&CeeG) ze_Q|I3s=yv?dWqOrv67Y&}m}@dnug?SJpMnFwQPnsQb-SgseVV`K507z zf>NRiYt)!il5?$CN)x$qKHd<_$$ny20^XZ#)j*NOi`Gh7tM44MY!hUseM2$5x<(6C zS>vdh?qrYxd>iNGyJF3pCJ?ys&Mk5PZW-%-6Ifg|tM}*0w7#2L2@~P;bKEr_kP>ol z{YPXtW5n{6zu^RVq%b>+3NKQtU7oL9#sXTFD{+e^Rd#;zAH(_Z%k>LU7ERZ*sU76+cFpswit|FXH;2$XpZkA7 zsxHuJTV06HBSEayH2iX8`dCHRrC#63(Hb>|alWd+>UDUF9URqY<;IQ?S}5a!j#))Z zd9bpmPwx3zbP@Vo;5|C^1ahraJam|=l6<>^8-63lX)Um}^U#Q;x=CGopA|V>!YeM1 z9dTX^Ahn3g?t_g*`g`mowT557+o;PQ0p=RMNRaE{EbD~du$Zu)BPM!0K=*8#=`gIv zBvsEwb8Yeo1v6-vOq{goj)(q?v2|w%3+2aw`DVfF0A#l2h$1XfPS4P?oqN>!q@FA` zR*yGaOPNQsFp7i$rngbwE!-jy@P3OX-5n`L9-N5(uR1+15PcIf;8EVs z-zGBUxmAgb3bg?;revj8^5A=#WUxE9?^_BsvTvcRn|)X>j5hy~=&)@^+;&~Y6KNR2 z_+Fc7oA zqgZ56L&>Dz&rmR`D_l!19K!i4k{XdKAxU`H=LzjdpK2ZV9C)RT>i7;ecPs&##tVGl zs}HkH1jA{BI?#Z`-Y(Qe1(d-=QuG6A!BOVsP)hp?R8-v~0Z8PaiG=gwG9e@8Cj4HW z5_B@cQBa6oM)c!7L}Y;p(9P43%LOMY6I_r0dzU3Nfm?YnviMcT=D|Usq5;TC`^QYd z{R@wd*+821{v`{EPThfM?$05;qZ3Tw42xBMuVSc8zwgh|a7)9SdW_0Ut;P73mEf9i zL$F^KDZ?9(mtm~JdyonY&m8@W5|un)2t@TwhtDNDIU*t}pIJ;sxl0(5GV&jkHxL2= z)@7qnU$CaxnWM9%J7Goi;RC#F!0#?o|4|9F7Sw;N87{A+TM?E!!&ba`xY?^Fv_|Oe zsA~_Po4?X!8hB^QgH_LBUY@P7un!2Ava;5_O`_n8cUlq} z>f9zY^Y>)`RL%t8{iUrE($S4iI$Pu<(;sgF(rzUPc66x<_c!VkHsuMYReY`4Q0H#3 zEv|L{vG6(GcnLYyJgc7>W0qm{Zp`8dc+Nje$LyZx^rvA6E1p-rArmBD^}*g~ykb=5 zb!@C*e%`&(e_w*+v2>AoNj&V7Q94#XVC`Hi`go&R?2_)SaOfo0(Q2#Zn`PV)vlqLF z27JG*hckXSY<{?;>4hRWUOcBg2t4VrsI(aEly-26Emk#; zxqXBDe-xejKa>9(#~nf`N|`g2Q_LxcITOkGJTuIpau|j=AES~Snp4h<7RLzxE*1O>BI%<0#fAM(8~q~fou0u`#12G0hoJTz?_ zETa}QgrXDZ(atSxyQagHkNO3yO;KS>GzgJ*Iy%qe*2B@~JT;J+cdTJr)g{beyn2pZ zkrjhArDE~-N8-YB9>iF7_Ndlbb=mzKq=^tU1u z^GSzew@OB1jFScdlH~RFo?ip#7%<67%$uuXIdKeDmjorZB^~td0w4sbp&g6#z15s{ zSYdWjSnPDUCiyG|%WGLFc_q$IRpy?b?2OKpMdMc5X&rT8u;vV$Q{|esGjQQ`j@qvh zyeV-d%a2Y0P5#*u@5La0lFIbNx@B**Xz4&_xHV;Z9qhMB<1n-gx$1mcx8bMy#tx{_ z?Sh&1AzZftf7_V6g*APo-Tx(ZhS$M5Am==E(`Jfo*!q+ye`}5-=SE2=wjq&OOMO}q zo`G$7&R3{^ONoBPhR+O)e~)Ckq6kx9f|8`%{O+(yoRMGjv;Ie?0#elUIiAG{)pW0o^?M=CB4SbZ1YLs)(Vaa{x{MeOSjx!OaNV|;KwmXFjS z*GJc+KeX#>L;}1$wOuZim^Ie8TpmjZoGO|HzRKTI)wIb;$ICmR@8uv`Yklt|-r0eY z18ppMGC#*IVA(e%;hIFD=W~%2E|IOIH#N&K)Q;R4BiV;7lfZ@hHsbx( zZ;Q}x&?UAD-n%;{t2f{IDG_Oo-Ui9#lotlnH~i5pN>7@tu_Cd$4+^N+#={kAmEk27 z_J`Uw<_@gIk|NIiC_`|!7jK}G-!S$D6=41JTkYK<*I53JCw}0zUg4gEzllhT)B{(} zj9;e{H7sin)xFnS>9u^w|1Lztwp>N=Js1rvPQftI}o+ByKjS^dTdYc2N7UxW^4V)g1{s7q8FdL zoYu*$au4oGz0XxNaEG?ps`6I3rcL&1OHXUwbe(ZoGUTU!%@&<;Q2(oOrCF zh!b|##qhvp&7gekjluot4!yRoy7i#UZ{{zCWVX$(u$XhrXbZlSGNPh>IG{1et zq}Us;?8y0h?a+~>+i1WbtXI5lh+eYz=yPNIdypqEV@<2ZUO_BH&IMte>;tDOY(Hczlpf~!v!Jj0bz5?N2fIGX{Z(n!hV5gnuG8L98XVnS$l~wDHfev6 zr)282Dmd48Y7;I$?cdO z^8cuep$N5TJVM!t<+`2LynmRB6&qa0+I=X;LR)YdYx_ccKiOD~1RlcETf#X>V9_+F zS)7GWLUlMV-y7h0i{kx=ibD-@Vc4vZJ(dBtw`pAQqC|6VQCP%!?S@YYk`kaRy=yAV$m(kO0 z>CZ22+5UA0WnMN7{EkWjmL9>p$LK?ZtGfJtK7e?P;YKr3#{-PjR zj9P|CD8RoDC_UdCQj(xs>-aY{^2?lJbZ7pxs5$G^y6O8X#g1)%`2&CsCS*R}}iGSs7R=TD1 z2Ji(!SO+Cp*PPwWEP1CdQ0>|pX5y^?c^iazM;K^go0~pJk;D|t6@8Dc=bikq(_C1g zQc_pT7xcO&FUR5e+K1Ivf}b($KBEo$<2m%pi3p^W_UgebyCuSZAy)7iY?55hP})1h z=_G3vbCRc_yYKuTU3^HX8-4gqMRuvQA1lTF{v3<6Q2Kv#MIu7>Uu5o5g~u-UlMmj)whqk<6dogc!+p?5h6sFptIVL?LW1mAithz8rhoOA=NZ} zPNOly2C=v4BUjr@cLvmaDUg5S_J(;K4FSqj?H4~L2S@P!97z6?M{A;UEnfF-D7}G` zc*X8-zPMEX0zMZW#9st`n-Fas>KRZf9&kBKydg)yDgC3P7WbLOX+kGd7z}#~w@?L!lP1S8aD!6i-*DO}_w|kH}h}g{52(8j9Pbg~f zgGp4s^5hLmE5O(+~bpKa@DXQicPts&dwh4gs_`^ao7aoiBdfi1%7-gkkxC#RQe& z#x?X9xXjTjno`RFi+3tU;JbgyQwdz#V(BY*)(4k;-Vuxi_@96mS41{+C$%I+-%@Wu zt6vgiB$jk)PISt_qJufvM5XT``hZVnFVL-D0uXKkdZKL;k}s2xylxj*C)zYRY+ubc z)&wm9JyT}qsacBtna#ls8PhFQp&748aOcXt*TF_mK*dR=0#~&P*OsMYgPoTk@bz_R zeY-lz(e`~b9HzfxEyarnb`GTS}HaR*y zf*jH#=ZuXWohBgu63VbnthBL+&{dP-<%F0W@lk_cxwldJ-Wt#`m&FuL(3muCeiQZP z(i(cyEV{~~quLXXf%1dWkr!|iU}>&j1M<($%7i{7_TL#i`LE4?YoZlNd^It%pI%G zS9^qg80JiKMFw?w>k9}D(4T*FJD*;K{koZqZeDg&xIe$z1s@zZU!A^gT-PSTd)*KY z2)4rqa2MVDfWy?Bx(hJ_JB=@}y_m0Si+u==f17g?W0O9fY5g0#;c698IoT_aKGK%L56NWPIy!+wyX}@s*)O`I1r#MPD7Wo z4Q{yF;r;A?qrVoI-UD@!n7dsMES?6bf~q7{G+QSj9OIYn#5w!rwq@RL+^f^D|M(wW z6LOs~XA+jSup4`yA0unkzVpZ8T`*?R#4q8gix25sAFtU_zGR}@6UkFI)*JOQd<-bR zE*G_~>0g=Ns;2wg9AbSvBS_HR$-6TVES1;Z_H*48;pl+o4|u)~4J*B~B24%eIANzq zFin?lbTI4UYt-QKC7Z+v%$6tk#%4d)k}TMT7T5teQubH?;cD(LIjFCz@Mfd7k(`B3 zVV;^vc^AIev>uq$T9#yT*$i>klp^#{@C7=(Kh_qEoHZ(eI&6!R_Gn#zIW|muz%d4zORa6J4f zU-S^wN<>==1wUzRS<}?Y>=YOmqo6N-x zt>0I1(hj{PtfPrSWXfutQYgP;V+re`IvP1+2Nejdy8IA9SK2aD@D%pZQCooBgpVe}!n|F=0~{X|>oV3v1uMsZaFWa%8gGqPU_ zyTlEtHAfgsW0cljCe{ zW3eKxcr-I5LAD(c&c(=y)|&Vv!n=?9ILk@m1;qQDVRdL^&?JqWuu(>|?{jL6*NIR_ z#DtIW+yk#XLpoF376_LZ0T(@a&S$pd1 zE0E-UGbrEWt~ng@dIOtKEqyQW9LV-f^xjI<>6;oZUPLLE9&(L_-rKjX_2a?no+1o` z?4!UV`&PAnSV!uh7tj2n0LOqsx~3aOr;%Kn@xDS4KF1I3c+0%)X?|ewMm_C9Sv!9i zu-1_a_0K)1v`=yvH&5BzA@<=PA3tQ+%F24XT=O5@T3M@@t7BRY^<8sM&7Z_R4W_WM znv{R{yYD0nfl_e3Nfoc_IY;W^3C*MZbmeLwxT*74@$+Ex>D;fl-^V^*lOtPdC2jXm zyBd}z!|w0+-g&iaYFwH*D!3ON#DlHRj@Dfx+4SdGg1(P`A1XqB=%LhuYDbV&Vc|i> zBh_xH>mwp~aYi&eqam`^>b`|)WuH%?0JK7WcNeUn>PxiEmkArcv<2Q{C0G;a`KP#L zUBpG#FyM@|&xo5=4(i9%MN768BB(+eH z*~wNce{W~NAtf^VYJT;!-)k9j1*&$Jt?6)}tiDhn9qT25#$A#gsGxwz8f?VdR(0Cv z%}LK%pGV0bm)xCTGO(joa6gddALpbXgAhSoHmvD`6_&QH*WUk>^cGF+9pU_}fNoT7 zlp0zoyJuohkS>VrDeIxyyonyIU*`ap_QP$Olw8z@%L;7nKEVlY=FJ)f8DEjvC!|oWj#zs@_!B!R zUsESnqTiR8p6uu8R&9MMYU1stKS?1g$K5q5d6Wj~c$OR`%ZUAL-@yo5yU29yHv7(P z5FYa`3tqlZ^ZA3QSgKAiZ{YYp2XU;EQXX4Fcx_(1TRJM)bo|6R#hn`WV1n33p-wNW z$np!!?sS$5nd>z1klFKbso>vr28cTOIrVnv4yAqUbYXRed;|R10;a9qvMjr_?8FcS zZ;Ekm1F7qsAD#NkaC?&ku72cZ9^3|}HuRV#O{OMkZ)lFA{=rQE!Q80nwM&vPc{(JmO5 zug#srs;|$8UtcnRen~oFAbjQ0k0!_e=qi@#$0Mm#Iieti;2Phg9l6AJg6JWuB$uVV%khr@@qWl5-Advq%qO z*gy>Lj~lCd^2=5E0KDk!!H>td)@c_DLz9EQZfh+kcII*K zXwH_KgJU^PLM)Uvj9F)KcOXK>Hdf>wY&-+is5ZIg;{KLXlw5gJMfA^{tq+Ja+ceUd zAk+eM1?_?Ee!e~6IsTvkbpO$Iq$c^M*UvOl>+fS`1mPm|MA7xZTdr3PT zSFb1SsaBKv0#T5*l|J;q`vvJt)$vfc+U3CM@_1r+t$goFiJ0kg)^n962YA4y<;(OXdjZrwU2sq>#sLID*-ajiLPY<4J|!( zi`qn1xXuf1|2_V}YTyGjCO)DTusJ1q8>}BbNaD|}bkdM@BzQPIRA%Srq>ri82iE|L z!gkvTkhE_nR2+t4$a&q-p^MPVIb0_6*mo0jH6K=7#aqd=TN-%3dLkH&p%#T=p?X9$ z(rqs1gc)nxd)CBpX(m+(TCiVMek!nI0jINTV?XSfn1Mpr=YFB2zDds;xOLkR`dtya z+9<6Cd*|atKcQB;c)wn_Dqq@)I5YS$!;bRlz8mMd$091sWDQOA4dZF;jJjgm=B5!* zrbh211pKgECcAPh%weZx0Q9gPxZiY$4$psL_25;-plX%l+kDsZR8zi>#MTXOBMw)d z2^OB(hM{4Ssh>d15a@BvV`}>fwHgg#Emty%TrD|lp3Vsx#IohOO#+lDPmkuwH7O~O zgJI4uv-877eldveVQxY>tm7;u))7%~{57-D#(EfT#*ZYWmVy23AwzP(l;P5;p6I&P z?iYP)mgrv#r!WGrFdCl8kJqyEpKejBKy`YXpmQ3A zP~mw$(P4_W7Q&{b-O1$7tDJ+t#j}}#p3hO&GHf=bO!{sw?ix%YBG$<%ozUd#ItHo( z@NvVEq+8dkIQT=JVL zL&f6HsrPYSFz1q)Px`>v7Dz0k!Q~JvmsYK%Eq}b3+m|)`m5a(Zrc((DUqW~EWI0zW zE-KH2p>qsP3jG1jtoqixN}r`?XH!C|*LB*lypCh#@P%--DpVO#zcnWc(({mTCyQ8| zy?47X`2G<1`)Zb-`Fr@JNf375azJ*W%)XY_7qVjXXU6Rz8V{tt8APRCJQ|RAiEiG= zAZe?fT=VWu)>lqRYoVlT)#{g=*KnotRx_%VY5lQ@ZrrjvM_Wp9Ubp@^vMB&bzFJc2 z;(Tvxjq+UL^v-m;SU2z_Z`UwuR|jx`$WOzK#D;!k0c*3eV3+9)5j<5J@- z9j8!``)Q-)y|A)}1=uT%{DQL{5EW4fYe_ITrrhg&1(D|yH&rvx47v+;A6DD3ZaTB= zOro)Ej4Jj3x6;wZso%9C2kam4RObW$AGoq<6lCEZM}eCIjqq&{-_Al#r$({A>+W`1 z>iLzv$8}}=F|)~au);`1R0SLn5%r~+-dQn(+P2R={&b2d%rRU7RO);s)jIH!YF!{Q zY;(sMS}OF-=vSS#$4~c129bDm-tMtyzN2eO#i8JhLXa>cn5pDbTY4L>bSSy^ADOldY*eH4x$!YTCc`sT^u@hX?7y}S=>3(M2Oakn2 zD0U4Lvdtd6hbT}xQ$4@JW^ zV&k(ecDg@v+-v>|+yl=9j}u#qe|qgk#j|WnUE=RQD__mq4g7j0qrN()tL^&|uvFOt zoJH0}+v1(J=X@QgZYf14B-nJ9uo6lB!dZoAsH?d%vGoOjwHCGMk&X8qH)2*`d&t#k zODp^JSIcjiYA;s_O6Y*I9zAZ&sDFU?v}0xQMSc@tK{Y2I1IDf+M6rT3S!SjX*3ED& zAbi8?hL~}XPVM8?GpL0HVs0TZmwP%+_|M4x!2O@k5sb>Sn;6^3Gz$ra?^*6bfwl{e zH;Oj_EcuQp)89p?N_-Cp$aftVW)|UEY_`S;ON>@ZpOu4k74$dq{5i)GzSzdB*BO)U z&pGC^Uh;@PCYccF6-m&|I)vmUHcD*8n2jk_$lNy5yov$sh=Na(*~i1a&)81HAgr&B zWtmHG@95z1i6lDw*+@!yvTGTHEb>LI;6QB4DoE6xb1)% z!5;g81!b&nTdmuKYK3^L={?t&Q=Pl4yt)aJ{`erz>Ok|v-ag?otmGqMX#70OR0?=h zMZ@Ic3N>zDZ}!fR8#e^u%Lj97cy*SGW-UdV*;PSA4D5cBtbq@A`{ISLo}1#U?}yK? zNu?YhaUZ^xO#&znEu=$O+1Q#3=xJ9S8njd9#>$|!gDVR;NS0TpyDrz z1HmNZw)w?oMJrciF96Vg#~VQewbN|q?SWp}ldt6m6wKx!N}gK~hm`OON7RrNC(+cg5_oD42YfM(W@kyKFw=|#@ zrM#}*N$Dncc6Hvuc5n5*49s#eFFXyR-*+~%yV?E_bJ0$r>p^LO@}EOmJYja->=+9& zP9B?6$_1KA9#P}e6iXt`^XHhWUCc(?K}tl=)S;3ZZktQ-T<*cVc{ffA@RnCT@NGu& z3`LFjJbMe6`~9@v5J~#%rzT=Q97Fz{(T*#eKc|cU;J@^!nc6w`SHlFgfR}@&hPtv& z3Ke%9dv3loC`}Dk+{-)@I$qkMct~5V6yZhIs|4gJp~+ zXUoqtBv?S$uYd2Ftr~Nq1~LuWI<1zT`w(Xyb1Xy!+W6#*dl^Q^Jbf?-#0-oLpYB5T zMDM-`h8W=bqQaC;4SBC4U?q36p{KQ(xyE(%ENT~K3rEJx<~42c%)>4g?_eZa3BmMh z480p#&7F4>^tp0`lZjtPPzv2lylWs2li!yApzRiCJr-;<+!)GG%XNpL0b~y44+*#_ zlP0fuJ%SZ<9I8&<}qtu^BiJ{#5A4 z!qyai{B1-EDw*~B{EyFZyIq6{4pR@tz0bM=0 zsGxBf5MH-8>^uS}F^hZd(+cfJ+NEn>H#HO=ZDwrQH%EN2 z6jwPouD?s^G8XH1Se}HfKl>`&o(31l`9rZ_x~XeeXQ-sxHJba`>iS*Qi2Ap84tD$H zzZU$BS>S;O0I*%Z_C>Mx^RiJq(e{X4|vG|Bkb9g*`?} z#f+jLrx(7_%I3SUEM=G(=#(=swPT}K-SeI~&_R`ZJY?(%A)Qj;=Z45|T3xx3HY;Uh z3DPVbPc;T*a%%yx6d?lvN_2WgoNaz~dA2O_jZVY*thb!z#4)=0CM>@Gg5OA$YnGC% zw#OvFb=f6SP@SB|H*EXpDkwHQ!rgT+`BIZ(D#Dnj3W1dw+|XPn`y2*ak7UluiXL*y z%qyTe`Q)rAO<$Pn^lzUdK$6_-b{JEB_G1@ehxXd3`Ie#?nF|4@MPw=fG8Bc@U``FT z`03nfH9A$@u#o`#+uiy-idsRO84E_WwH5{&McGFymxR{(urEEb)eq|OMCCi@2nL#F z+sPSVVz61m29YEP_W%u<@3gO49mwH_G$Fs(d}cDqJLvs!6msa$#;BBge;H`&533dU z#DH14YLW)NYw(A!oF2W? z+oUcFw6E_!cuX@)g6~M3SN27#A}QEK;y~CtH&f9#VF>VH<=oaZ%(tj`X)gQs+0dMN ze~IC3Iw1p}vb&5MdYbR8rv7X0%qXI%@Gu@=oAEbn%MEv`7iHEBW275PM_f5)K)!tL)ocnWj{(3xkJ zv|jt!a_v=fN~3Vi&tOtm!-&9C`7>?|BI9Mj`xVeED%bamt>Z&(MU$k6O~A^s{ZK$% z(;enE8OL6OOBLuVyAwVU<@|5VdvHy1R$o?- zeI4Xr?xor5$ZrZmgn+2%Oz-C1TQ5|FyMy+f)Aj^}f~3Z~EUzb5W*D%0y9j&bH{k@`b`t}Ltc||B*LtSexddQ#y-vt zDlMnPYoaG|K?reqM1A&E(R~)sTj^pSzLqper0xk;e#g?bvgs#qB2rl`aL3$tre{|q zNJ4BE%dNDE$<0An%o-{c*p}ZyWig_HA%14DCh3C(=UZKSG(8fvn#pBWMAkdj!Vo04 zrgMpBH76F1;T>Sq+D6{Jyiio`A7vsT5$4VJriJ#Al-n^+b7W&k7!k1P2&?c%XXG1H zViuH((7rxkztJ^<@&&M5TN!A0BGAI?Te8%E5u+Swy0|2*+k1(ikyCP!U!&XmCP-0U z3#&eLK@$B|01~-4pvuQ8m?@bl>5m8%iJ3u53*QjZn5vz0nn6tuzEe@U_)OQ_cW(>) zLh`P<6$8Ct-qLgiDrkyP`KF2T86?%H+w1bx)JOr_7Z`m}`8DQBcM{_UPZtd}(h^I@ z`QxsHPzinYx(l1}#yz_5($WF5T9Q^CB^IFB;amj4c-hjb0_i5tawQpx z$cqsr7dyc9upIoP&2&)%?d!-0y}m@Y<658H@Xsw2@t|EU!mq8NN`-fQq06J;fWiP; zSjUW<@pn5J18juRQQ~r_6(RhVfcq<7egL=Jh5X8 z+?JSS>n>Pp5=whB7EG|w8Pr-x{hr3Nf#1`BM8;gj?G=wZULZrTL$KgmJBCrnwc;q7 z2i-67r~|xJLHb^BP|Tm1xrHpReS>n@i<)--RVx};CB;FBAC$aQHtw58T0=z{nL};BYY1v};f=_AEa$9;-+V1cT8>zV z?1v@RiGwR}(->L{Tj-5MNBZQ;`s$hoiXyri?xe8X!%Md>@O{1Q<{2>NEc+_Joi3D0 zc!1{4cvIP~Wg_=E&^i0O-;fa0ks{_UI$O{zuQ9!c`3G4!;-1RX*5?lh))|xxzhb4w z-RfN$5NrV*KEWU=7(1=3H~T5LW}y5#U3ac9L{ z$@~#JmT>VV--hLVs9)OmC}?CB8w~BgFF|ifBgivP_DL7DWIN@d%-2`pFV^uQp3pr|w_!m48=we>J@Wv4gj_j?En!5M# zyPN(H<4w$Cai1rGqM4D&L^T*z$rUt={rc$Rbsz0t0gdgGCVg1r48msjonHx7ag?Ti z^PRe&n~Sz>49V;puc}1sytQWui30FqBI}T9r9voVf27*I(B~1K|C>X|lW=7( z;RiLAQE3LJ*eGSmX-TO8?r(4{_oWg(e*TD>&ZNrI6tyi~{dnh=xuTR5a*zw75a*%o znBo=cixG-T*P%6yh)6PM7fxM-#j2FL8na3Ou160k9cQb5nW5p1Q5V}bp2`=IQKbiF z^EEMBqlPdR4i6%$q8TjHm>%{*LB-1cRMg`k0#Bt@W);nbrPNxP-lRfMrJWF;OGw0$ zb<#m`4j0Ge51ayE$3@L)Wp&$1>)SkAu+b?T9TQzFNm2iX@|>l&*us(nt1b`EGs#ftIVtW z%%p!)>BX0NQHsg9V->7jz)yG+#P%)JCatnann>HaWQFxnYW0vK0}qKa)Hm5on&e=i zmy+mQoX{u5xzLa(S@hfu_w>xtkD5}qY$JnMraRW{aego45N6vcS7M^R=skKQ7#Qnf z`>cYvppud1^D#76(Xw|Nk$}OJ#$V;fa=W3exaJ=J+YJu?NG$5rCXiPg^Lw1^?!_Qh z;7>jV;U14?MixAtt}{8q{no1PNJJc08ua4lZ_dHa{}|Bi zHQ!9y{t1H3V^2oR{6$n~Dc$0yWROF{>l}auWSR1YZ7AzGFvZ;12~qvAg-z^x0>Bq=8Ru&zmr| zZY)AzFy`-2_ha)Q2)e!6DRdK%tdufT=OrV*4fEVVZ%4~q{d6K<=hFAr6ExfRFCB5! zjI5;X=DK6gF&IdOIz?d%nh-B%6vKzB^#BtR8?p*w6uC=0%rEgi(*1X&?GA&B+2GqMOo^~!aQ3Lm+;wM@iA}YN#>Cz05+a(j!Scu|@eWJ&`G5Np z$T)N&$04_L$bWRg@~Cbqfajzm9~7#97) zneKcr-b5!d%-&b-&*Yc^ef+Iw1aISJSGCD-8Z5pt$EpGER-ORN9A$@S{YQs!U)6TI ze`XsRO5Z?NeedfnuV3e!y z9A)|lssA7ig6lgzWcmRBeT{s2cxmq$>d22_zZf-7aq}_MJBU})&xX&Qdgm|oA z4`y}jiLI#MxVm-e?`p*L$AhDXy!-rNR4t&~Z&RjM@3qvbH)J=v^%Tq#^w7n|DG1Bs zdLf!pMy&0b)Oa7fQ*QTFh4ZJ;)#i{7n??(0S$fcoZH}fipVx&B=0hR*peyLrHQ-S@ zOK@{r4@z~AvI%&ljX9KOZpRW{iGHJn-J}(HpO?S>Xf)+BBNDQ2-rnX{Rx|XI2-3`w zc$h!EE;dZ`JX>(M1^iv{ zy(dO9lR?##@0RtoV>_KixhSR<`Jya_-nB#XHzup{TY)e%s*1N&h$)kO z<`pgo+%3lQtp$)goVVwcILRjD0r{JibOrD7XzKK!8bg&H)L{_VK_ zF=l%+WRd!sdD&S%tz`Mw`GkMMWm*_+w;3=HNzK6mUS8q*cJ$Y_;5iGR0;vb* zPFC{&zLOZybS;GGb zNZeo8_!6@?);lUMw_Hn#IPLp|d_)N*Uzz<`peAIfd^^9IHa{k2=LpQ4+g9Q6YYJBw z5b+g5UVs+s!VC;m+pwhi_;R_l2?4oscU#dGWdBQ!p@98?vIXEdp7*AF5k>k2zzv!@ z=%zHjr||hC?*eN#sH?hNgrUZ38+LL~Z>%n0r|zW@Irz+^%u?n}&*KRoJ$e1mabfV4 zaC4-0hP{oR=$$JVbBD>>fkx1`S0`EqRkeb3$8O^Xz2Eg&sv+Prt?1j|?`UD|w6+!_ zDj#hwRQICvK|L;#+lrK&Y};%1MWBc*q$=lg*S9)<*l2Z*1xuwv5)iv@^O%h;t>r7p zqT#%~vL>wxe>>&!j^)p@;+DG_@kUn>tim2rl-HrP3|eG7k5h)uMkCkqa*Z;rDAQ<7 z#50Sm{mcH9WPFG0jTpHl?8xZv38T{sTROQE6(}s+) zx^;Jx2D>rTh4LnWuB7T*%lwc7A;KQ}qcH{|ansKQYU2lP+f1m>#Ca;&-aZlmM+voT zR4fD!XkL+F;I0M7qV#z|;wut*d@g5sL%H=b#IS`{d<#Q`s-2>C+Vp zEGGI@z7=NqGlw=;0m@4d-|XukM|5^HdBD8oc=h=uW*`X5b70hXQgQ(+a+=LtW zKlR5-!3^bh?}B7CEbc*U=kz;Wv&A-4@X;SDQPgw_wc5#mw?Q5HGA`5>t=)2ceB}0* z)slq>K$N~lL`_q4%XLdQA+%6rp&7q;Me082P_2^T-f~UmW(Mk=s0YLqJDw;ydu1ZC zdP$CCw`ns{bA3~Z^S*ZWZVP)$3tgc(e~iAC7eZP*gw0$DH?LZ;1Z)xYx)TaZ-tYaZPJ@vCiFY&6l8W(WQuKmS%JTycjp<9XSelwTzms3_;k1U-nb z&e9q9jI1{`6BmZ5ewAbJIqHcx1Y$C)o)T-uGhYr;c!QH*g;|v?XTJTFxV99D2@8A!8+dj8aH}r-%&q9q-Q}ig=3}t zFM`IQX!WJu^c2`cO;VmkDU=`JuXGd*s!s<=&L|I7pTCcq*1J(Ob4n7AkxUuPPv&Uc z_8vdo1UOC%!Bn!$^iGg&W^O1NDi@a8Y3oEvTedVweR^!~lKrB;_9VA5YmT6kipr>9 zOY>3Y%P0({-C*XY@h;5lkpL(~a3EseIi^b@w_K#i3g%lY^YxX{7LE5V)739_INc%R z`pux?7hqh5_-pwKaltWgkO@vI$1a?U{qS88PclVTi4@J%8dkRE$rH0)-N5@sOHSSB z{U>PCB9b#{@dV2KN=`Hj5_x#?Zm=Okzo7nt&T}8-pAXfS+jkv^u=KGwNF7LIT_Nr{ zg5iVZJ>N4(YosqLi2!|b3hMMkxH+Mj?b9gA8`!2kfoDOl$2rOV?dS@g{Hofh=^C2- zbViWPD)AB58j3e-Z|8+Z!)6b95ml+z>rKtzu+L1I`u5SV7X^I9k z#fVEj!%FYwBzSlL5>~=Ik~IZ!m7)E4*+vYj=q9?TDZ1NIBLGcb1Xs4u@wGPkY9)Ov zXEQ_}MXgGE+*)3Eg^ljlt?OJM&oN+O$E*kVo%}aR_XB-==5EL`D%V6PxOc!(M9-fm z@+Kf@MWZ!88zs=VT4TPs{rQPJUdcAq_&DjDlp(N+N%Q8_y%XnPR&;UZc1zx0V0 zL78E0*gKyBjd7j3fv*<$0dK==UcB@~4`d!^l5IY<9WWaaMqjHaaWkwz z>D}e!op1&oH_H1O|L7WnH}xBz4}sX;v~2Og9>%$?qAVXGsDhCjRd9{u}(Z%Y*;;ylLzQQH=XLgV2zbVcxR zgSf_1SbSxeP1Y{BLO)Nd2KUL}eT``5f?vvb1gNB=rBH_j)$fWha@UgJc)EJ{G~8Cw zebS^LFW{u+?+>rbXqazdB)+vnM$pw^s8utLWPdoic?W&@n+$n~(zM4P7KCt2&g?(5 z_3&2|A}BCE)Gr)OS#5#s2NluAUn8g?R7WRT(IFOgaH8S@Ov!hC(}uWrNXA&;grFJCECG<_;ZsfnN?BrW?UJnh<-n*UME=DWRZmT&BNb*bMIa zBsTZ|G@#peCLMiX69)~cR)FDVnR_+UcSlH&!?(fK(*2Lnb+q&9vXft0lZ&N1_RtBb zTJ7fiQ&t0QA%+!HiEnA?XuFVhJdaTR>`s(?n)2hy@$f4P2$O1s~l z;@I9gtWz^~*LR&-vosFV+p*FboZUf1myWAg1=y4STzTp-S|2^j{C6$1uIht2jHJCc zMlwwzr~SJ4bh2vjM*XwVW_Tf0qlO%QrR>2!0APF>;fNGv`GG64NE#+$w_is-QNO$I zq+J^E*~^tC3V-PGO4Q9hT!Gom_(5H;p?-&C)J@e}bJ&I71?X8TB2T^8N4xQy;2q~X z3s;`q0UutDH-AJJW=7Tt8Uv785D-k5Hq) z0XLl5HEES8mVMzEZw~z3Ux9o-a1Wk15q06;t@ww$HQYkCmS0!4=l@3+dD}I(I0tMD z6Bk)&4p0J59o=K!DR%SC_|aZ(IK7sz%CXS^I_!^1{_sA|nHbv@@vGydwb}2K*J{`R z!Ab8lc?MMYVtI<-WULeMRkWX{8>_nMYeUNqU29IilTIFPi;8Sn4-bq#35gn46s$hg zk|f=o?2bMyi`b)5es`tVdv-@XOXJs(0!VrWc%ZM z{lsDfuE>;XkdgDiWb)&e4qgG>qqem?tQe*v;bmxnuD8Sn zqSitt0S2zTpuE+qNh1i1+iOVxP_%f`%{9xhfKMMRrC~kmhjY#%fgyJBi|62uJgHw@ z@LF1ssjxF$Y4Xj=abPmz$7sjZq|%f~|C5eGrzLHb7t6s#Z}CAL*)x_xtEa29VWDw` zBMZTMSZ`|gIGr!1!*_809&9YDKd;o{Q_>N&Yd7?*?2b!XIVb!<3s*1T(e7 z9U)P&V3IUx2p?#No;?q~<}qk#vO71DRXyR8cc7BUXQ!yc?(@vkwGK8#NbCv}NYC4H z#Cze?KYvl5)v~y-SA4~E=i4Lk0KJ_07#3uQX0I`Jn$Q@RC3+yKVBmpVZLf7m%$F*m$i95N1{xh4@DPof;g+W? zjMtP?sm;gUUE{0RA&mgtN@olA)mW!kIAgcDz`&#nux!u~?@UOfF%3-3{DCpcz4aD9 zj^`F-x>|Q#p7{H3)HK$;)9K(k*kgWSL7mehWL}>@nMV%wzhPgX`2DE6R5vl^%&c?i z%N%Hpg*!8AR$qg59fqg2YKHGy742d7@_f@c1JUUOjiPD3_NwCn*3u4g{!yhKjP3Fu zP}~La9_EJEGQ$X7%(3uxu#i|LqEu#ilvMnT$~ox*Y09o!u1vz25tRfLwAp1T@fArP zPjq6@%psUd%y#*HD&FifaSME#L|{3 zB(@%%2h-olHa zt`98j4(YNUV7i^(`%Uu8G)QTaz!V}Xjo^OI`L_=s@R9??{7cVm%y<{vv1em#puAco zc&IBDW=??V@7mc5%-Y>l>Au3s%@IEVd^y(If<#m#$&+-h-CvBvJE~oNgdRp}=ajpC zmcU=|HtLLB#Twrn4Fc}%j-le)Ny^5_LGclTQVJfxK_Zg;h+=k*){}U4sj41fz@r5; z%1c9_*eVkq!itrsZO+DF@u#Jo?>t7(D;V7^m064B`y zIA9@JsYx)pB!mdLCF^}%-GSea=I!$E$A~b2t`=+=qL~=PtRz`y7@tD^&fa=ujd1P{ zsRm#d3+GTQK3TY;VC$|#f_~c`hV76>xpCFG8Vojoq48TZ$34?J{|2P}G+rN|`aKs)6BC_3*)sviH3i=wOw*QP?^UL)fg8HMb9 z7p_s+uDw?(M0M@WH8SqyUR?XyG<5B2URP#iTp=nmjrZq!zyH8FznmXl=lOa)9}nJ; zGI|$9;VTgRDVdRPpi*+Hg-YYy=D@x5Wv&X>soU-8=qDKV4vq>1dzgkOXM9pd_8!AivbM8FjP_=UuKWBjF zE#l2I^ooWKs}KA8Z8fWLZcvEF!6Q7z^=Fh;>z_EJIUYX+B=g;uGw$Jk1i zH$49u(ghGr4W;GiB1`5>rR4?_O#fScq=8oe8|8|!ClyB`y`OvG1f)_od!UtH`gR^D zzP7ctAG~8@E+(3UdY~R|z#ubB2lE8Qzzly-|AWE3GV_N}Y@TMzsZ=eiomO!rint3G z>q}HK0>Cx*`#nopp40%-KM>d-;gv~|Cc7B2kVfZMZz+R}%JRftS3N};cN-1*iom*C zT0Dbd#PeJx2iakAmTi#c;1sQk+FCvjmj<|~IjF0S%@>k=i~XZM=jXQukScC#X#b{~ z8-%k|Qo&!}ixG3|pDtM~jJ&PC)Y!DJ@|zmG67bbm*VFDsmvp(K)DhnB^W)ERGSu#} zC#0BpbKYS$<1VHnqP%{f^1I-f zR)yk!GC=C-m}-PuIxrP$(^g_2a|`E4RUEjlWM5CA$5OwDn_SY(tG9|4Tud$>)N4Df zyRxF%#98L6d%#OCfi)2>0{25q!rxBPD(yUUsoU6VX?DB;kHuwFZf2#3&PD7&Pw_W3 zYMYDY-vw#+M%H$)ZQ;MTE!Gs>?wysY9l&G*s?!}=>jx_k3HR|E8YoSAg@;@yhAm`+ z*Pn&8#)}iArZc*X=))w`s0s*F=-ZFMpG3xQBO@))mx-Q5Eb4tX3U1_}{=mQPv*kzE zn))GcuMp}7@8UqbL7h3Ff8Y+fL5!tow*CS>SCn3wVy(Z~xIe`{WzZGsFdb2sH4YE9 zD7evTVhF_q=2AO&LkywCbmWC`Ly>??;ji`IwTs2j!I-VR^|Ly}f~iF~)<@`))WmlR zu$9w&gK>PjjZQY@1Z(4~N8Cd$y8!Fj9f?NsNg3K0RI?YwbIp=s$$fR}@hWL%l^+AJ zi2{r-IYnQ8_?fx|$o-p+txlpXV0o4TLUFa^7%i*^X9M}SqolU~#P*Ht5!T3JEg?ZqX2Wu9unZy4i3 z+i!O)MEM0%LVxF%)qzSEbi6lIPhQwo|Eg$k*WQ>n^k{5y^6YIj@BSlCJNFs0qe~_8 z)divA3PZ~}+(KrM1TI?d|CrX)`XaIBLeD#HVP>Zv>$Ok2G62*Nl-iG-pKnSkeyywK z=~z~&q_+OblDXI#{@E_D{MRe6#uz9-qWAR&q()O`!0oPez|;44c6>xmc_M?YVAD=p zEsZbv!Aoy^8t#6`1|KC=W&W8Z20|ez(swi$vJLhKm(kimf1oAp`qxXD^?@l z0!x(loM>o_(v}XJ`A?SRN3G`^6aAs8pyJ*9X~JBinhYRJ)sXK2^rcb&gFte*?_6{=&l!-cMLr zB40f(dR?=sD?o=|Mhs}QafMV-n$o& z6lZAT_B~Wau|Zle>?ad$74>! zPG~ATP5ke}3e7db4!6{+=51J52T10KK<5y{La!ke+|-qtZjn5|(`kAWsFkGc9JJFw z@YDtg6v{bX9!YP-D1#d2iPIljIK_`A+MZO_ZmE{rzN<+BOS(mxMgAy(@4HDU8O@Pz zs1g?ohnS0U4D18&lY9psrk?ECCf*-Az001WK@my60B+S|v5&;LB&UiW)xE2>wq1&J zEvNxVG<>1l%J<<@HO7=0>si_$@-WYuRHL<_1(J!D5PSF8g8Xu}^WROz@@mx0{Lizq z-j+34E4C6nymzT>wu|64_$dZ4s8N2A$}b98D`~r}$~3uFGXwksEA6&nkqPiQVrY{= zEwk%?+K7v2rr6M9EDPUaI1?8|q7io|FYc@0hTyK*M~bG=ey-mco`YTDGkcNSN8sIV zl>4J}?<++^ehi$OsbmbK!J7%LRqNk|u0cmT*Q`Ff+5?GO3`PX_tU5Cpch2N%5r_xv zvNrn+?AyyB++CsSJm!*IuImfto9W4AZPoFah5vx82AHOm?OZ0Z%hB=V^&=chAYZRM zlhHPanpf?lfIF38Ze(kbLwL^Sbxf&!IKUl)sPC~R+S25oqaFJ! zISVB*;R}b7fj9^YGr7GPFlFE5aeiKtJvXbLH0?v^GrB{2nVj+l1z*Q$VtF3Y2~O|f zwZ$ufzeExE>^)kx0*gB7k<-UEO-h(r%(E>0W`csBTfaeK;=OcrCg?nX5M9~ku>P}t z@Z}HIfZI#jXEC>G0&4I#@nRUd2BkjQV(M>f#?+i73e zE*RSU_*dBS3j5@eP;JL4Me3Uh+3nUt+v~kK;}h$c_uZ*7VAR3qI&qZ7XWtP?CwC>X z$GDwr;Jq1h^^%b+XSS1W(Am9%UOQ;b*NDY{gmFh@<)3GES8u-h108nkGmw|~W8pr* z<^E?lQlN9c7P6vtIq^6Qhv52!; z+1CL6lXNoFxL&1xM`D1AWWh0cave}5*yG}oC%*l#jwL4 zT)oIX1-W0G$YS&DX04<&klY|8el%sT&R0iM+Y3o*eg-7>=PU5>&NP~w{D!wO4QN!0 zRs*Q9A(!=>+WYWW)NqL?BDt9;B-H)`l+j-}{>^@4D$IxtgdYJ}g)H;J*ChDaz*Tse z70d|6D(W+Ac{`PZ5)+5Iq)^mKL8Ns=;yZYy&#kp&O%aw`>SrP;E*%eYc};QK0(Wwf zl7wDqH0u9gfJsaB4|v>DGn~-m)~H#{6*hB!$XA1Fq3DxO9KX0H2Kl0Y?4@QJ+Wz7Mvp_hQV5NOWQ( zG5S+#{wK@Kv!^m(Zi{UgCDySuTKeQV@8WB`Rh9;1d7hqNhv`A-K1W5+uf3kx#2Eh6aU zd^~zPQ_62av*E5|w>8P%jgd4zv<8f%^HkQhZ;JptRW2_iFV@ZjYgih*HBo%vsJ}RR z;Av)#Ji{wc}>$4{omRI8yW-hpH>djIKm z-FH#}ps?!`w1|Uv{_^c()vxoL5`_&BuK8*b3HKV=01hogicQ-OIPIpL?SOk^rt1_W^kG8L=S@zfVM73oxOH@4Ev#`fT4UWyHg@W&RJI8Vb+505V27*+>6keeLPt4q2G1% zP4P_o(eQKM9H-;r$M4%KI+w&05Z0Pc%u8}60alL0uAv9W22aHtTg%eEP>Uy1<~@}I zLbdvSO*JE@sE(how!1!|k=E~AfYEjge6Z&iHzDw&4Ym^MZTj_2*9Efvn@HjvBe{=z zmK(ON)TC@4ssV@50H0h<1TgA#q}Yz88U0qW=b!3&RSXwW2z z@jx~C@2S4?n8oSis^A+h7(sB>AN^d7UAtbbFvPz&728o?A>Jt3vb5tHbmv*80^f_hbOb4zH+^Hj+-qz-s*-`JOUFu>b1{5^R< z<|J+fED4j|D)D*xHCs{p6wo>UVXY~g?GJd@tr|7gH&lv7-58&!rhV1EF3xEA#7t3G z7>i%Wjuirl^_s`-1jzn_(-6<=p2u!%;5zS03tn2Yf;~BC;kXXb@q&fq5e&N4D(HbU`%!}S!myWM? z>D9Fd`j&Ryzy)a08Y*I>0xkp42Og6smcp{dz}91;$?*lXjfi?(>&LUFe8};#M+#D0 zVD%u@x*qrcRQb15hy6-7CTGgs%;~Jv`)nHJ3Nok|k3#5W)MH>|I`y}(q^~tgAhKK-j4G%U1zw}J)9g1=`4IjmB>;)k%z$<~DxblV>}zQz^~U&fYC9#z`)fT`7~7mmR(k&v0qrcU7JY+sYs>|oi? z82$cA+`&T3tdvgAT*-u_T85eDY|fzU5y@oG_WDCTLL7rYs*Y;2mMO8Rn^YZr@(tpt zW8CV$ZDlu!L^bSWK{7u~;#BFl1&nVD^xTNpUC-5AvU4T2`or*&sw{5F5*Qm!kO~dM z{dd)3E5V1#)ZDB|ae%MD-82Yucp-_)#e8=TO&VZprMD>eKES1Bi&NP{I9*GYr%ZW{ zu^zu|VvZ`GNumr1k6U70lQX<0kxZUG??NqDB2h6vYWSFD52lD1#K@lIQv5xhx-U@# z10G;)BE|YDnMs@7nQSSAjt#4@`mE#gtYExtvWU%SkZqDP{wF(@9%?h2kGiQIM3Dd+-^@l44lb(Fia>=BO<>^Jlt z*?x(vKY(HK4XbYTC+lW)hZ??paTm;KsIjLy=;F;x9Mr5ot23Ra;hhwvpUG+t`uKl* zqS|^zKx{{Fcx4FraG?YBKcp1xorfX3Bv>K?}}<$Wr&jI~k7c zUMNyArq!xRlD(HB>lgY@B@#pwmioWEqt_p%lgudTI=)6=tr*Bv@flg_j%=c&-;5XE zj#YJnA)7?$Usd32`yLNi{l=YPMwhdIkl)ZKdM3mW(>TYR(gUBlvv8>#JL6$8f+ z(u`ou%hxGC0%V1cxzCMw?qVu}Z&O0e?0{sgm&nj~TE}0ozi9C0yc~!}v@H?ywXOY1 z1?8Uo9OiiACd;EZV0}BTO6~%=a?*Gm{m8#;DgzXo1+JjZ+Y%&hQB71Op zB4W$1*dFNoCV_*;#34hqmVI6I+dcsy*`ZO*fAKf%xfLAMrj)Kic33VwM-hD=EF|?D zqrE{qN+L&I?*hWC~f^XPn&6K)5X}-N2ReNaS z&dA9A>Hpl@SiA$P?6Nut%k`JIYCC05TGbjSaOJDlog0{ zLf6D)Ku$1&Hd(7PAexOTY2kNsPzxVC-=Qw8M47|y1l5$2;zktu8 zsM*rFpwOB2UX!P-VKWc!-PU4X>bCX2l3Bw3_9s7%Ux%nb1rF9-rvSXL088-pt_iLS_xWuNPuxHVL`g=Jx)ZX4hr;UTS>OE^0l(Sxd zTDBc?ojt*8WgDi~7b$F9lfWthc;#E1tO0hj=~Z?-b0uuI6dD9$wdjHf`7Dhe#bxMmqp5+?SB~`>jz?y`FV=TgnnwTzg{9aO9YXB`jw{gN2U+!WIx*LTwTw zv8YqfalOUS<<&^1oE!t|wyTy7+RO0e6QYa+ax#Q0x_WiB;q zj9|0B4liswm~DCQS^LCsNi;ZNY~v}=i1YN~t!qv*?wHI@(Bt=Q{_`A|@d@EZ$7TN^ zoHxW{)zVlpV%yAJ%oyNes`FKB z#y{4g-!c3t9{yEe{%b1IH@c^0gKbEI`^UU$-c9=>!mf_!u0YxA2vlMj%A5Xi0K=nL zxRP;;?@UsrtCn^epBbD3F;_G4Il##BBLY{}@GdUle6Rf$l^jl?0aEk=*;;pAt4J>b z5yX);oyypSM@uv~ys?rAQY`!`dCyMgg3s4#8L3rA%!k8-p?F$(`dQvDaL%*PkIO$J zDqAJ+0if)x0kCzQb5UU^#q%r`iFwvFjpKTkf$s8Gu!^NwXu7H(5j7l0eD;R_f{UQj z6<>9iLMKa1P);D&X!}&DX4G2gbuYG1%vYc0stGRnAJdb118JaC0-dV zf=2arBzpQvRBd;TM{5r=MsLD({108~n1VtsUwF|CnEKt>F$Lc~Xsmr22AqJP0_N))y|MOPe6s+p1f%eII zD`hi=(_QG9Rsr~0J{&Lc0jh{Zl@N6Ui*?)PuE{e=Mbn8j66I;Z2+8kyKI{URoPg-+ zM2M^yUgTrU5g*a4ZE#mlv`Q^N^N7^2X;(uV{-N@`x-3z=Nqs$_ zKV^HZz_w{vqMqv4#%VI|&397aBXfgCafOcgSfvfUgAp>YR;4{a=5j*7CRe_JEVJ&o z;!qZz80HeRrETdQT5bxAo)O^_pP~Hsm?w>hpg-SVtLxrFVK0n%ef8C|-=nt>m*SD8 z|234p4K*c0GXp60!8R?_c1g93a}F&bbHtDu%xKXQH{Irk?%QT*2UA0;=Pqmcs6#PD?Zr$C*IW!FRG*$% z_92Bs9p`)s}eTFHv=IklO+QJ2JVz6MJvp27YKy9tt{m1T)T%q8_bsH8{m zCy$^v%wC}A+>nEXQ#=>yAL<2q zHL;+JYLtergb^d!$W4;zAl7vy3I$Z~jbijMYeO7W-aDSiqCKZo+|tQJt4^#2AHVn7 zrP2s0b813W)x7&ug-#}D6idBGR0=dL+d>{$^LPy+_S1+h}P>ZIl z^@v5lV%lp?;e1eq+tgYg$G`)&{RYo;hqZ@Y`=GhMY(JiRr-{vtavontA6e?tR|OFl z-7dv{v{T8iarY_Vdh?=u$`7K-bVWy|wKr=2?ZgH9c?I@%j)w@re*2GN%d_;U?Nq-Q z7o7TH8;)aS=%`VJD(TVn&~%8_F7Sb}@qBl&>z~=_`0F6T9UhHFK_@u@6P=wn0UOpU zD&$8|GoSn32F5gg=`)E=66>nCRH{~Wd&Q}m6x`QxS)v{M>V*blbnnc=`eRQk3iu+g zU6x0D`8&7+s-#s3284A4Bcc_FKqb{YCFJ6my1J* zygqVKq8MkXOV%F{%4gP&f`Wo1=z+VxqRI|*;d7fC|%yD}~h7V~yTf+mQRZ*nh=P+vbZP83Gr0cET-#5 z;*iO%^1tVV+z;J#&WN3IDsJ?vizH*YqImGY+3EsuDU!?Yl1?4#*QA1V^dpVXSMa69B>14iZQMR{oi3f~$nQO=75xkud zZ8_q(O@{zYt(^W~mjk7?wR%q8Kka14w2&@5?&bb@IR5RyTe5@{%;T&R|6n87&LQG8 zig=xKEv3j_r3aIAwr%H@vH2N_)ai}H1<4#@NLSBLLOH&+qQySEAt6!V^BL(S)Ozy< zVB1SOp>n5z^#ShAnwF9ns_CQ-&?7Ta^~y&IIoQ&3)pXC~Q`A}&z3rV7%xIH3$|^SIrn2EgXofM`H{<^B7r)lZsiS_#?Hz>RA8Hdg(Vvh zR*hZT;RUg%^2qys?=U6L0N`sbr9g7y<5@0K`FT!DYdWtPE;g*XomKXtQzEUh2vMwx z1GYMeQ7@7N&wPj`X+7d?3(7LUbwb&(keewzX11x}ZX!iTiB`emg)^&HLd%H`ED%zu z^-rJ{I{kTak)riJ7D>?*u#Z?I?AdYLUpmf#ovQScY)*ye@mqAT;Uq0kH?^!))0c`> z`N74~6(J6_;TgA7N7VM$i8rdvnbW%Jg2x3g1QGw5V+ub<4kf%NJGyoctY+pGR{3E$ zvZ$+h5vOz{iGw=PiN-gU4AT@$rIkAg>dc+^{!>*IfXkhkrotEO)HL-9d~|4z(dwMy z!!8L*+0k)k{x1B41)|8@+SGtr=wIeVNEHTvi#Y$lSfFiHLN#vphZrI&SqZ$k(l(?G z7Z0%QM-U;3h1t4}m_Cm4wZJ>DB}N0#WcIcG|Ckof2~L8q7J|ZSB|Lrp@Wu{UuczqLJ+C@-@DT`a0x~jNCeT4IgOg#jd%G$RwPSoZ> z?~HxwG^0_foGoSY_7q&@bxjhD{=^fEjEMO7Xxn5#5-|@Fq&Q@p4h5p(gX+-vw4eqM zuSc`h8Ku6kuHBB=-dYGB4stJw+$tj(t$udwPMvkrw{%5*VHidk{=ti-PTYo`(Vv_A zj=?={LH$-L6iIzhJ|C3wNL3-Eb10_t+vCmazwI33T%}y{@=jDl)0Cf8_J);*n10uz=f#BTCBFQ$Mi3w=@(rHF z*reu~!tz)v1FTi$O4Cf^Q`bsIH$bLn9-O;)?wnJ^TFR>rHnQtzzF5dw5kKeb+|C`D ztHF*z*lMGY-eZFP@0l)jSNRJnkUT;BNHyqXuW;yN>hfzd+sREmNv#{er*azqxvo11UhOe+fH>>##a37WK#=1cY$E&tTs) zqv5t@dW3UzrTx?zl8%wg)1G@*I*7N`V{-p3qT|!Q>-o1WMhu`Yd0QU+8X>EU>G+a~T_ucBWViT!bQ0tY1qqKSZKF;sv}b}I%geALP3)pZg=smPS0GqbWg{5A5zv;U zv;=!L>yW(aeW;^ZyFH4|vm+_xC+24e)yED8OULaZbl=yaQb)LOsIauf z!VpZvxKIK3tFBn{p}avP;KMJ^ImJML827nGi{xvqAL=f?r}^&$RFyXmOzM)fT51o? zg}2I%FTC54nZiOlv($qT^=|TsaNUVpeu_l@#f8F0P9Z3VX~7&BR-O9Wpn`cd;^39f zb`}*2Sj0{CMgU~j3LWcoXY(K$56WHle}wsCb9D=}>ylD2C`a||>Ju=P4RTUo0-V!5c*>Y<_^m?L>GZs(@B4*1 z{{V{$m=2Kzix2WI1A;wdL=*Lzn^2yq{(^O(4x&et`?POWc{Sy+O4G{U@Yl3D32sTJ zZay{g#Q~a?zxfE6NyAugcz%7Gh_M(-TkIp*b8y|YWvK%W5UJZgt25DmXG*qHOaD+t z((qe-R&_=+v3pAof6XPs0Zx&h=fUML*PGNC0HW8>R_Ztf~V+{u$OtgvsC`Z z{kInYgK_1pYU^c|$P9=)hwM?kXLEh)CJ!p>=U>?B zyXM_R?$=^vg^qK+k`p`+l-){bYw9`G@gL=b`R}|aYS_E=tB${@B}OcJyIvrYq}0mc zPxiL1C3AI0YSeS=J+xrBx%-k$!|~@xal5XQzDo&lpnQJ$ps^c%p_s4!(i{P7PPQRg zrG$osOM|{VKKkwV$YJW)tRwZ&{L%qNmQ2Q+l)HQ__5l!+8Zyaovt~qT5SY5CvN*?g zM6Yvp8+&B9xt(mV4e$Thl5V|gF^Ew4oNmad`e2#~O4(vnGbFjaJ$h16vA@R-u(>WX zqzVU8!T7yzA$dtA|6H}u#YZg(Qz4rXh4O4uV zhEjr$>eJo3&X>@}@9uDUKOCzjsQT{N=hEWbWBx?INitX z(e_H9xAgUZLY(?Lk$bYEuI4f^sX-ggKL%TF;VNJ0jCyNUx2hEdEf>_tCDI zAWlDsXuT}Mk^jYYK()oZ1RfSwmrkvZ5x(R)au|shLK!`>oS;*f>9;yuWM{>x%_ZC@ zS&>F<8~E^I)stlGmg)dTNPtJFgBgdXVX@C*!c_Mv3;Vbv*q z4AV-$XpbLZwK6Hr)#_{i+gK}M%-9V(Cg}|ky%HJ&}-!FQ94pU zL(46HWaCUmA1(2|^;YthCIb$zXM=IwitypyZ0z>=Q`^#96QC6hR^!MIQ9_&E5l#|% zIik81Sb)Kvmt%w>l|Q%;SN8+WTI>fq`Nm^j?sXoZl&QrX;nhzCbYzv5oqMSjCdf3$ zGA`2|U>w7)V&X1#8JYDT3U96YMQM96p_uh78q4YJDP4@I6IwQMJHj%yj%jl#u$LE+ z?k|4A(E7*Kp{DahFNu1P=@~4}@~;04Cs?Z26O`WMOyyY*Y;2~@k+qVc6^gq7#Z;0+ zYgn<+e7^fV&4?|2A}LI*`DY2unb_%ssF%A!U7qHBGX_Vx5)tv77jdAyW*}aP3OAdfT1(NMkbA^J{|_awNQ~lz zOm`~g25s@Zd6F9?5V@+DuZCGi%pMp2HOfb#ctybIcK#qJzI)1k`OaXWEmBrgcM@9aqEYj&w9t#>*Z9KYK~e5pMRk&u zvFh0i8ShXoAtZ`UYLsK&h<9i)g3US6bM+*p7@_oN4D@-@1%)ryw_&bp2-~(p=ufn@ z96b-lK!c6iKBRJdQ8pi7Snoz4aAZT z4p?P(h4|2BRP-E6w%{~LDXaFg6Y=&C>?O#Ed#9yThmdlOajBepER_q{lfcw7a_;R1V4iwI=x-aolE?JtD3L5bq>4CRYGf@fyCdrhan`6M%6)^PRj*AjY8#%8y1#voU+)aqB?UI?0}AP) zE=eJ@skNVEYTwrzo5ll6W@dqUr>J`m>1l0~YkyJB)d`s^xdTh!8*Ub!V3X-Za;G4i zWSj1*EUlIFAW<$D$*z@e8wc#iUGh5r8$L|kfEUT%f6JoY^KI>zfqc4nC3qIS-4-j8zY^(wXXt$ej=b2m_6#Wj^ zn+|I3`0)?dAS@*$K8N~pU-p@j{iyL{hG3Ya$Tko%G5v36;>CL+d)nKaqlSLa8)<{p zyoP+ETLA6B^wQ~3gD>>thk%%}sD}JWQ~QXn&!+&TOyCa&aqiQdu~cf8a$FW6vU(_% zbt1XB_$Z)VJ@&r0Dn0H^gyZ zO8~DBZnS6}V|gl!O~>pE4r+xZFfrMt18Yu1A)u@YHezT5rgh}5oC(E|N-_m-&r1~O zq@0+fwW<0nF}dlIssg_V-n21qhy&&L2fzbFXXnYh1Je^ef9`D<`~HuKaT-<5^ae=? z|KjL<=4YqcuhRM7Ps02M=!&93uz88o%kYy#PX9bjfWDZ*s@GDPPaw(oYR7mqV8pcE zlDphVeQeuUMJ34M2=w5xo>Y{4`W$OT<$$NgLt}h{&tqFPqf2~eV1gGkA8hA(V&aIe za{3(V@B!356HSor{kK4G+E>KL#*4R+E_!Or)Eb7y2C{r30Fp@!$9S0>}J8IbYdeFW^E9u|n!)}w*ZsFr$4?$dhuoq0m!j_QC}2nb{+>M+ zsXBR}8l(hQ5R(7+a|9pIV6o`;EWHRvFy&*=rQd;4=VjOG$WN7qg6)V_+p8^q4KFSZ zQElY81FgHA&nASsIZ_g(%Q)19!0*~t5m@NYhHeMPKVqRsV^^Wc9f)MW(ny1+{+es> zpfB>D{C|HkIUwbh334C(G`Y)=mUQ*@q-OWlvcy=-166R@nGqlc{_?wa8@;*efr@x3YB;bEUCf`xR~i6sLcLjd;zzIO z$gF!P+$CD<&NRoz;i*q2EPI4pqIWn0{1e&VcRw8W;Tad9=zPB^C7x&ZO)(%i$JsD7 zcHtM}Q1gUI3e{R>s{~((I=@!cf1yHhu|Y7R1K?;Q=uEQH^xzdtwlxdHR0X%2y7OttGETk+|nBDvyy7=k+0coL|aXC5Ln>10hexu_jM6pvQ8_{S3|r7xDIgLbjZF+cLUs4xf+jnhs*d5ZEWdaV=m$qO{Hd{-lcV_F0_}- zUi}Z*D2EHhoQD-fG#}Sp`L|d-6M*XAecT&Xci!ZKYn{^aV0GaaL;d<-^to?Fb7FFD zK(0ldv&LF1wj?ud9~{F&YiLG9yAlWjHGLN(B(qH=k_bhSvUp=QK0Zr!`m2!3W^tYL zSJWv}(RH(*P6W;6IBOTH8u4!zcY zXR1$@0cF&5R87%K_eODX?7}{fh2Te6Pu;E>b=0eF;j9c!pYadqL=AxUgNXX{@~&#I z*(dpXj`Z>v_BZmnRm-yL0G)dxI87r2W<{2PE5YXvFLWK@R=!*0X!G8q<5RLvux{~W zPI8cJ24pCBDTA-aC-D|@wJph8I8){>3{ApAP>i2=DmDATJ_ehm2INg6SA){`o(w#x`bpYUDn0K`skmPa-OOxmcpVQ3wh zZ&Zs~WJJ#(>jf|Ql;rij-v~112S|KL%h2B;ZrZ;1<9yN+ zTWH5<7he9quLRtmHh|!=UuZy}S(gZ_;DoQR+KLjOiairMV-2-}J^0uY3g38nfVx@q zhW(A;a@{V{seqT;6Qp~28;RHxOl2;o3S?%eTn~i{N2GPtguc!adBv%Cn(11*{Pl-r zX(DT#!IL21nsWfMuBcN`K$wGTK{R$AMA#;Rt!MyMc80MMBzO z%_}QofHq=%ruyK0S>7E0ex;vU2Djj^F_}+<$|s}i{2WVcPeS^dkrKLhT&uD)zwbA&x=IkZ3I{ z;PS;Nu!>^5L0PettBuKn9^=0m6n{Tx|su1kx9Fn zdoBe)*`@@_cT}4P6pqStqk_u9&BD3d@85N@^%gtxqw^LM0Go;4qv1mZ$(#Ek7Ey1qDR^*_~zW_W%F@ literal 0 HcmV?d00001 diff --git a/ServiceHost/wwwroot/AssetsAdminNew/EmployeesDocument/css/ModalPrintSelectionUploadDocument.css b/ServiceHost/wwwroot/AssetsAdminNew/EmployeesDocument/css/ModalPrintSelectionUploadDocument.css new file mode 100644 index 00000000..3166a365 --- /dev/null +++ b/ServiceHost/wwwroot/AssetsAdminNew/EmployeesDocument/css/ModalPrintSelectionUploadDocument.css @@ -0,0 +1,156 @@ +.errored { + animation: shake 300ms; + color: #eb3434 !important; + background-color: #fef2f2 !important; + border: 1px solid #eb3434 !important; +} + +.pdBoxGrid { + user-select: none; + display: grid; + grid-template-columns: repeat(2, minmax(0, 1fr)); + grid-template-rows: repeat(4, minmax(0, 1fr)); + grid-auto-flow: column; + gap: 9px; +} + +.width-btn { + width: 550px; + margin: auto; +} + +.btn-register { + font-size: 14px; + font-weight: 500; + background-color: #84CC16; + color: #FFFFFF; + border-radius: 8px; + padding: 10px 70px; +} + +.btn-cancel2 { + font-size: 14px; + font-weight: 500; + background-color: #454D5C; + color: #FFFFFF; + border-radius: 8px; + padding: 10px 70px; +} + +.btn-register:hover, btn-cancel2:hover { + opacity: .7; +} + +.pdBox { + background-color: #F8F8F8; + border-radius: 15px; + border: 1px solid #E7E7E7; + width: 100%; + position: relative; + display: flex; + align-items: center; + justify-content: space-between; + padding: 12px; + overflow: hidden; +} + +.preview-image { + object-fit: cover; + object-position: center; + width: 100%; + height: 100%; + border-radius: 5px; +} + +.pdImageBox { + background-color: #E6E6E6; + border-radius: 6px; + border: 1px solid #D3D3D3; + width: 100px; + height: 60px; + text-align: center; + position: relative; + display: flex; + justify-content: center; + align-items: center; +} + +.selectable-document { + border-radius: 8px; + padding: 10px; + cursor: pointer; + position: relative; + transition: all 0.2s ease; +} + +.selectable-document.selected { + border-color: #2BBABA; + background-color: #D0FFF7; +} + +.hidden-checkbox { + display: none; +} + +.custom-checkmark { + width: 20px; + height: 20px; + border: 2px solid #ccc; + border-radius: 50%; + background-color: white; + transition: all 0.2s ease; +} + +.selectable-document.selected .custom-checkmark { + background-color: #4CAF50; + border-color: #4CAF50; +} + +.selectable-document.selected .custom-checkmark::after { + content: ""; + display: flex; + width: 5px; + height: 10px; + border: solid white; + border-top-width: medium; + border-right-width: medium; + border-bottom-width: medium; + border-left-width: medium; + border-width: 0 2px 2px 0; + transform: rotate(45deg); + align-items: center; + justify-content: center; + margin: 2px 5px 0 0; +} + +@media (max-width: 992px) { + .width-btn { + width: auto; + } + + .pdBoxGrid { + grid-template-columns: repeat(1, minmax(0, 1fr)); + grid-template-rows: none; + grid-auto-flow: unset; + } +} + +@media (max-width: 768px) { + .modal-body { + height: 75vh; + } + + .pdBox { + padding: 9px; + } + + .pdImageBox { + width: 70px; + height: 40px; + } + + .pdImageBox img { + width: 70px; + height: 40px; + } +} \ No newline at end of file diff --git a/ServiceHost/wwwroot/AssetsAdminNew/EmployeesDocument/css/ModalPrintSingleUploadDocument.css b/ServiceHost/wwwroot/AssetsAdminNew/EmployeesDocument/css/ModalPrintSingleUploadDocument.css new file mode 100644 index 00000000..d943133d --- /dev/null +++ b/ServiceHost/wwwroot/AssetsAdminNew/EmployeesDocument/css/ModalPrintSingleUploadDocument.css @@ -0,0 +1,55 @@ +.errored { + animation: shake 300ms; + color: #eb3434 !important; + background-color: #fef2f2 !important; + border: 1px solid #eb3434 !important; +} + +.image-show { + width: 100%; +} + +.image-show img { + width: 100%; + object-fit: contain; + height: 350px; + background-color: #D9D9D9; + border-radius: 10px; +} + +.width-btn { + width: 550px; + margin: auto; +} + +.btn-register { + font-size: 14px; + font-weight: 500; + background-color: #84CC16; + color: #FFFFFF; + border-radius: 8px; + padding: 10px 70px; +} + +.btn-cancel2 { + font-size: 14px; + font-weight: 500; + background-color: #454D5C; + color: #FFFFFF; + border-radius: 8px; + padding: 10px 70px; +} + +.btn-register:hover, btn-cancel2:hover { + opacity: .7; +} + +@media (max-width: 992px) { + .width-btn { + width: auto; + } +} + +@media (max-width: 768px) { + +} \ No newline at end of file diff --git a/ServiceHost/wwwroot/AssetsAdminNew/EmployeesDocument/js/EmployeeList.js b/ServiceHost/wwwroot/AssetsAdminNew/EmployeesDocument/js/EmployeeList.js index 3eb7d49c..9c1bf317 100644 --- a/ServiceHost/wwwroot/AssetsAdminNew/EmployeesDocument/js/EmployeeList.js +++ b/ServiceHost/wwwroot/AssetsAdminNew/EmployeesDocument/js/EmployeeList.js @@ -130,7 +130,7 @@ function loadPersonnelDocuments(mode, searchName) { html += ``; } html += `

    -
    ${item.employeeFullName}
    +
    ${item.employeeFullName}
    @@ -148,49 +148,48 @@ function loadPersonnelDocuments(mode, searchName) {
    `; if (item.nationalCardFront.picturePath && (item.nationalCardFront.statusString !== "unsubmitted" && item.nationalCardFront.statusString !== "rejected")) { - html += `
    `; + html += `
    `; } else { html += `
    `; } if (item.nationalCardRear.picturePath) { - html += `
    `; + html += `
    `; } else { html += `
    `; } html += `
    -
    -
    `; +
    `; if (item.militaryServiceCard.picturePath && (item.militaryServiceCard.statusString !== "unsubmitted" && item.militaryServiceCard.statusString !== "rejected")) { - html += ``; + html += `
    `; } else { - html += ``; + html += `
    `; } - html += `
    + html += `
    `; if (item.idCardPage1.picturePath && (item.idCardPage1.statusString !== "unsubmitted" && item.idCardPage1.statusString !== "rejected")) { - html += `
    `; + html += `
    `; } else { html += `
    `; } if (item.idCardPage2.picturePath && (item.idCardPage2.statusString !== "unsubmitted" && item.idCardPage2.statusString !== "rejected")) { - html += `
    `; + html += `
    `; } else { html += `
    `; } if (item.idCardPage3.picturePath && (item.idCardPage3.statusString !== "unsubmitted" && item.idCardPage3.statusString !== "rejected")) { - html += `
    `; + html += `
    `; } else { html += `
    `; } if (item.idCardPage4.picturePath && (item.idCardPage4.statusString !== "unsubmitted" && item.idCardPage4.statusString !== "rejected")) { - html += `
    `; + html += `
    `; } else { html += `
    `; } @@ -199,9 +198,17 @@ function loadPersonnelDocuments(mode, searchName) {
    -
    - +
    @@ -247,7 +254,7 @@ function loadPersonnelDocuments(mode, searchName) {
    `; if (item.nationalCardFront.picturePath && (item.nationalCardFront.statusString !== "unsubmitted" && item.nationalCardFront.statusString !== "rejected")) { - html += ``; + html += ``; } else { html += ``; } @@ -259,7 +266,7 @@ function loadPersonnelDocuments(mode, searchName) {
    `; if (item.nationalCardRear.picturePath && (item.nationalCardRear.statusString !== "unsubmitted" && item.nationalCardRear.statusString !== "rejected")) { - html += ``; + html += ``; } else { html += ``; } @@ -271,7 +278,7 @@ function loadPersonnelDocuments(mode, searchName) {
    `; if (item.militaryServiceCard.picturePath && (item.militaryServiceCard.statusString !== "unsubmitted" && item.militaryServiceCard.statusString !== "rejected")) { - html += ``; + html += ``; } else { html += ``; } @@ -283,7 +290,7 @@ function loadPersonnelDocuments(mode, searchName) {
    `; if (item.idCardPage1.picturePath && (item.idCardPage1.statusString !== "unsubmitted" && item.idCardPage1.statusString !== "rejected")) { - html += ``; + html += ``; } else { html += ``; } @@ -295,7 +302,7 @@ function loadPersonnelDocuments(mode, searchName) {
    `; if (item.idCardPage2.picturePath && (item.idCardPage2.statusString !== "unsubmitted" && item.idCardPage2.statusString !== "rejected")) { - html += ``; + html += ``; } else { html += ``; } @@ -307,7 +314,7 @@ function loadPersonnelDocuments(mode, searchName) {
    `; if (item.idCardPage3.picturePath && (item.idCardPage3.statusString !== "unsubmitted" && item.idCardPage3.statusString !== "rejected")) { - html += ``; + html += ``; } else { html += ``; } @@ -319,7 +326,7 @@ function loadPersonnelDocuments(mode, searchName) {
    `; if (item.idCardPage4.picturePath && (item.idCardPage4.statusString !== "unsubmitted" && item.idCardPage4.statusString !== "rejected")) { - html += ``; + html += ``; } else { html += ``; } @@ -328,15 +335,29 @@ function loadPersonnelDocuments(mode, searchName) {
    - -
    + +
    +
    + +
    +
    +
    @@ -368,7 +389,6 @@ function loadPersonnelDocuments(mode, searchName) { } } - function openPersonnelDocsUploadModal(id) { var goTo = `#showmodal=/AdminNew/Company/EmployeesDocuments/EmployeeList?workshopId=${workshopId}&employeeId=${id}&handler=CreateUploadDocument`; window.location.href = goTo; @@ -381,4 +401,14 @@ function checkImage() { $(this).addClass('highlighted-border'); } }); +} + +function displayPrintSelectionModal(employeeId) { + var goTo = `#showmodal=/AdminNew/Company/EmployeesDocuments/EmployeeList?workshopId=${workshopId}&employeeId=${employeeId}&handler=PrintSelectionUploadDocument`; + window.location.href = goTo; +} + +function openSinglePrint(employeeId, mediaId) { + var goTo = `/AdminNew/Company/EmployeesDocuments/EmployeeList?workshopId=${workshopId}&employeeId=${employeeId}&mediaId=${mediaId}&handler=PrintSingleUploadDocument`; + AjaxUrlContentModal(goTo); } \ No newline at end of file diff --git a/ServiceHost/wwwroot/AssetsAdminNew/EmployeesDocument/js/ModalPrintSelectionUploadDocument.js b/ServiceHost/wwwroot/AssetsAdminNew/EmployeesDocument/js/ModalPrintSelectionUploadDocument.js new file mode 100644 index 00000000..eb6c6be3 --- /dev/null +++ b/ServiceHost/wwwroot/AssetsAdminNew/EmployeesDocument/js/ModalPrintSelectionUploadDocument.js @@ -0,0 +1,35 @@ +var selectedDocumentIds = []; + +$(document).ready(function () { + +}); + +function toggleDocumentBox(el) { + const docId = Number(el.dataset.id); + const docName = el.dataset.name; + const isSelected = el.classList.toggle('selected'); + + if (isSelected) { + if (!selectedDocumentIds.includes(docId)) { + selectedDocumentIds.push({ mediaId: docId, name: docName }); + } + } else { + selectedDocumentIds = selectedDocumentIds.filter(id => id.mediaId !== docId); + } + + //console.log("Selected IDs:", selectedDocumentIds); +} + +function openModalPrint() { + //let selectedArray = []; + //$('.pdBox.selected').each(function () { + // var id = $(this).data("id"); + // selectedArray.push(id); + //}); + + var goTo = `/AdminNew/Company/EmployeesDocuments/EmployeeList?handler=PrintSelectionUD`; + selectedDocumentIds.forEach(function(item) { + goTo += `&ids=${item.mediaId}`; + }); + AjaxUrlContentModal(goTo); +} diff --git a/ServiceHost/wwwroot/AssetsAdminNew/EmployeesDocument/js/ModalPrintSingleUploadDocument.js b/ServiceHost/wwwroot/AssetsAdminNew/EmployeesDocument/js/ModalPrintSingleUploadDocument.js new file mode 100644 index 00000000..31737b5d --- /dev/null +++ b/ServiceHost/wwwroot/AssetsAdminNew/EmployeesDocument/js/ModalPrintSingleUploadDocument.js @@ -0,0 +1,9 @@ +$(document).ready(function () { + $("#EmployeeFullNameModalSinglePrint").text($("#EmployeeFullName").text()); + +}); + +function openModalPrint(id) { + var goTo = `/AdminNew/Company/EmployeesDocuments/EmployeeList?id=${id}&handler=PrintSingleUD`; + AjaxUrlContentModal(goTo); +} \ No newline at end of file diff --git a/ServiceHost/wwwroot/AssetsAdminNew/EmployeesDocument/js/ModalUploadDocument.js b/ServiceHost/wwwroot/AssetsAdminNew/EmployeesDocument/js/ModalUploadDocument.js index 300cda93..2b2fb779 100644 --- a/ServiceHost/wwwroot/AssetsAdminNew/EmployeesDocument/js/ModalUploadDocument.js +++ b/ServiceHost/wwwroot/AssetsAdminNew/EmployeesDocument/js/ModalUploadDocument.js @@ -7,25 +7,14 @@ var idCardPage2; var idCardPage3; var idCardPage4; var uploadFileCount = UploadedCount; +var command = []; var pendingMessage = `
    بررسی
    `; -var pendingIcon = ` - - - - - `; +var pendingIcon = ``; var confirmMessage = `
    تایید
    `; -var confirmIcon = ` - - - `; +var confirmIcon = ``; var rejectMessage = `
    رد شده
    `; -var rejectIcon = ` - - - - `; +var rejectIcon = ``; $(document).ready(function () { @@ -45,6 +34,7 @@ $(document).ready(function () { return; } }); + $(document).off('click', '.btnUploadingPD').on('click', '.btnUploadingPD', function (event) { event.preventDefault(); const index = $(this).data('index'); @@ -89,20 +79,57 @@ $(document).ready(function () { const validPdfExtensions = ['pdf']; const label = $(`#label_${indexFileValue}`).val(); + const pdBox = $(this).closest('.pdBox'); + const img = pdBox.find('.preview-image'); + var deleteButton = pdBox.find('.btnDeletingPD'); if (fileInputFile) { const fileName = fileInputFile.name.toLowerCase(); const extension = fileName.split('.').pop(); + // بررسی فرمت‌های تصویر (jpeg, jpg, png) if (validExtensions.includes(extension)) { if (fileInputFile.size > 5000000) { showAlertMessage('.alert-msg', 'لطفا فایل حجم کمتر از 5 مگابایت را آپلود کنید.', 3500); $(this).val(''); return; } - uploadFile(fileInputFile, indexFileValue, label); - } else if (validPdfExtensions.includes(extension)) { + const reader = new FileReader(); + reader.onload = function (event) { + img.attr('src', event.target.result); + + const base64String = event.target.result.split(',')[1]; + const byteCharacters = atob(base64String); + const byteNumbers = new Array(byteCharacters.length); + for (let i = 0; i < byteCharacters.length; i++) { + byteNumbers[i] = byteCharacters.charCodeAt(i); + } + const byteArray = new Uint8Array(byteNumbers); + const blob = new Blob([byteArray], { type: fileInputFile.type }); + const newFile = new File([blob], fileInputFile.name, { type: fileInputFile.type }); + + let existingIndex = command.findIndex(item => item.Label === label); + if (existingIndex !== -1) { + command[existingIndex].PictureFile = newFile; + } else { + let picturesPart = { + Label: label, + PictureFile: newFile + }; + command.push(picturesPart); + } + }; + + reader.readAsDataURL(fileInputFile); + $('#createUploadingFiles').prop('disabled', false).removeClass('disable'); + + pdBox.removeClass(); + pdBox.addClass('pdBox'); + + showLoadingAnimation(indexFileValue); + } + else if (validPdfExtensions.includes(extension)) { var fileReader = new FileReader(); fileReader.onload = function () { @@ -115,7 +142,7 @@ $(document).ready(function () { return; } - pdf.getPage(1).then(function (page) { // فقط صفحه اول پردازش می‌شود + pdf.getPage(1).then(function (page) { var scale = 2.0; var viewport = page.getViewport({ scale: scale }); @@ -130,13 +157,13 @@ $(document).ready(function () { page.render({ canvasContext: context, viewport: viewport - }) - .promise.then(function () { - uploadCanvasAsFile(canvas, `${label}_${indexFileValue}.jpg`, indexFileValue, label); - }) - .catch(function (error) { - showAlertMessage('.alert-msg', 'مشکلی در پردازش PDF رخ داده است!', 3500); - }); + }).promise.then(function () { + pdBox.removeClass(); + pdBox.addClass('pdBox'); + uploadCanvasAsFile(canvas, `${label}_${indexFileValue}.jpg`, indexFileValue, label); + }).catch(function (error) { + showAlertMessage('.alert-msg', 'مشکلی در پردازش PDF رخ داده است!', 3500); + }); }).catch(function (error) { showAlertMessage('.alert-msg', 'خطا در دریافت صفحه PDF!', 3500); }); @@ -148,12 +175,152 @@ $(document).ready(function () { fileReader.readAsArrayBuffer(fileInputFile); - } else { - showAlertMessage('.alert-msg', 'فرمت فایل باید یکی از موارد jpeg, jpg یا png باشد.', 3500); + } + else { + showAlertMessage('.alert-msg', 'فرمت فایل باید یکی از موارد jpeg, jpg, png یا pdf باشد.', 3500); + return; + } + + deleteButton.removeClass('disable'); + if (pdBox.find('button.Rejected').length > 0) { + pdBox.find(".btnSendToChecker").removeClass("disable"); } } }); + //$(document).off('change', '.file-input').on('change', '.file-input', function (e) { + // e.preventDefault(); + + // const fileInputFile = this.files[0]; + // const indexFileValue = $(this).data('index'); + // const validExtensions = ['jpg', 'jpeg', 'png']; + + // const label = $(`#label_${indexFileValue}`).val(); + // const pdBox = $(this).closest('.pdBox'); + // const img = pdBox.find('.preview-image'); + + // if (fileInputFile) { + // const fileName = fileInputFile.name.toLowerCase(); + // const extension = fileName.split('.').pop(); + + // if (validExtensions.includes(extension)) { + // if (fileInputFile.size > 5000000) { + // showAlertMessage('.alert-msg', 'لطفا فایل حجم کمتر از 5 مگابایت را آپلود کنید.', 3500); + // $(this).val(''); + // return; + // } + + // // خواندن فایل و نمایش آن + // const reader = new FileReader(); + // reader.onload = function (event) { + // img.attr('src', event.target.result); + + // const base64String = event.target.result.split(',')[1]; + // const byteCharacters = atob(base64String); + // const byteNumbers = new Array(byteCharacters.length); + // for (let i = 0; i < byteCharacters.length; i++) { + // byteNumbers[i] = byteCharacters.charCodeAt(i); + // } + // const byteArray = new Uint8Array(byteNumbers); + // const blob = new Blob([byteArray], { type: fileInputFile.type }); + // const newFile = new File([blob], fileInputFile.name, { type: fileInputFile.type }); + + // let picturesPart = { + // Label: label, + // PictureFile: newFile + // }; + // pictures.push(picturesPart); + // }; + + // reader.readAsDataURL(fileInputFile); + + // //uploadFile(fileInputFile, indexFileValue, label); + // } else { + // showAlertMessage('.alert-msg', 'فرمت فایل باید یکی از موارد jpeg, jpg یا png باشد.', 3500); + // } + // } + + // console.log(pictures); + //}); + + + + + + //$(document).off('change', '.file-input').on('change', '.file-input', function (e) { + // e.preventDefault(); + + // const fileInputFile = this.files[0]; + // const indexFileValue = $(this).data('index'); + // const validExtensions = ['jpg', 'jpeg', 'png']; + // const validPdfExtensions = ['pdf']; + + // const label = $(`#label_${indexFileValue}`).val(); + + // if (fileInputFile) { + // const fileName = fileInputFile.name.toLowerCase(); + // const extension = fileName.split('.').pop(); + + // if (validExtensions.includes(extension)) { + // if (fileInputFile.size > 5000000) { + // showAlertMessage('.alert-msg', 'لطفا فایل حجم کمتر از 5 مگابایت را آپلود کنید.', 3500); + // $(this).val(''); + // return; + // } + // uploadFile(fileInputFile, indexFileValue, label); + // } else if (validPdfExtensions.includes(extension)) { + + // var fileReader = new FileReader(); + + // fileReader.onload = function () { + // var typedarray = new Uint8Array(this.result); + // pdfjsLib.getDocument(typedarray).promise.then(function (pdf) { + // totalPageCount = pdf.numPages; + + // if (totalPageCount > 1) { + // showAlertMessage('.alert-msg', 'آپلود مجاز نیست! تعداد صفحات نباید بیشتر از ۱ باشد.', 3500); + // return; + // } + + // pdf.getPage(1).then(function (page) { // فقط صفحه اول پردازش می‌شود + // var scale = 2.0; + // var viewport = page.getViewport({ scale: scale }); + + // var canvas = document.createElement("canvas"); + // canvas.className = "page"; + // canvas.title = "Page 1"; + // canvas.height = viewport.height; + // canvas.width = viewport.width; + + // var context = canvas.getContext("2d"); + + // page.render({ + // canvasContext: context, + // viewport: viewport + // }) + // .promise.then(function () { + // uploadCanvasAsFile(canvas, `${label}_${indexFileValue}.jpg`, indexFileValue, label); + // }) + // .catch(function (error) { + // showAlertMessage('.alert-msg', 'مشکلی در پردازش PDF رخ داده است!', 3500); + // }); + // }).catch(function (error) { + // showAlertMessage('.alert-msg', 'خطا در دریافت صفحه PDF!', 3500); + // }); + + // }).catch(function (error) { + // showAlertMessage('.alert-msg', 'خطا در بارگذاری فایل PDF!', 3500); + // }); + // }; + + // fileReader.readAsArrayBuffer(fileInputFile); + + // } else { + // showAlertMessage('.alert-msg', 'فرمت فایل باید یکی از موارد jpeg, jpg یا png باشد.', 3500); + // } + // } + //}); + $(document).off('click', '.btnDeletingPD').on('click', '.btnDeletingPD', function (event) { event.preventDefault(); const indexId = $(this).data('index'); @@ -222,6 +389,57 @@ function cancelOperation() { }); } +var indexCount = 0; +var activeUploads = 0; +function showLoadingAnimation(indexId) { + uploadFileCount = uploadFileCount + 1; + + //const pdBox = $('input[data-index="' + indexId + '"]').closest('.pdBox'); + //const spinner = pdBox.find('.spinner-loading-progress'); + //const percentageText = pdBox.find('.percentageText'); + + //spinner.show(); + //activeUploads++; + //$('#createUploadingFiles').prop('disabled', true).addClass('disable'); + + //let simulatedProgress = 0; + //const progressInterval = setInterval(function () { + // if (simulatedProgress < 100) { + // simulatedProgress += 2; + // spinner.css('width', `${simulatedProgress}%`); + // percentageText.text(`${simulatedProgress}%`); + // } + + // if (simulatedProgress >= 100) { + // clearInterval(progressInterval); + // } + //}, 30); + + //setTimeout(function () { + // clearInterval(progressInterval); + // spinner.css('width', '100%'); + // percentageText.text('100%'); + + // spinner.hide(); + // spinner.css('width', '0%'); + // handleActiveUploads(); + //}, 2300); +} + +//function uploadCanvasAsFile(canvas, fileName, indexFileValue, label) { +// canvas.toBlob(function (blob) { +// if (!blob) { +// showAlertMessage('.alert-msg', 'مشکلی در تبدیل تصویر رخ داده است!', 3500); +// return; +// } + +// let file = new File([blob], fileName, { type: 'image/png' }); + +// uploadFile(file, indexFileValue, label); + +// }, "image/png"); +//} + function uploadCanvasAsFile(canvas, fileName, indexFileValue, label) { canvas.toBlob(function (blob) { if (!blob) { @@ -230,145 +448,161 @@ function uploadCanvasAsFile(canvas, fileName, indexFileValue, label) { } let file = new File([blob], fileName, { type: 'image/png' }); + const imageUrl = URL.createObjectURL(blob); - uploadFile(file, indexFileValue, label); + const img = $(`#${label}`); + img.attr('src', imageUrl); + + let existingIndex = command.findIndex(item => item.Label === label); + if (existingIndex !== -1) { + command[existingIndex].PictureFile = file; + } else { + let picturesPart = { + Label: label, + PictureFile: file + }; + command.push(picturesPart); + } + + $('#createUploadingFiles').prop('disabled', false).removeClass('disable'); + showLoadingAnimation(indexFileValue); }, "image/png"); } -var indexCount = 0; -var activeUploads = 0; -function uploadFile(file, indexId, label) { - const formData = new FormData(); - formData.append('command.EmployeeId', employeeId); - formData.append('command.WorkshopId', workshopId); - formData.append('command.Label', label); - formData.append('command.PictureFile', file); +//var indexCount = 0; +//var activeUploads = 0; +//function uploadFile(file, indexId, label) { +// const formData = new FormData(); +// formData.append('command.EmployeeId', employeeId); +// formData.append('command.WorkshopId', workshopId); +// formData.append('command.Label', label); +// formData.append('command.PictureFile', file); - const pdBox = $('input[data-index="' + indexId + '"]').closest('.pdBox'); - const spinner = pdBox.find('.spinner-loading-progress'); +// const pdBox = $('input[data-index="' + indexId + '"]').closest('.pdBox'); +// const spinner = pdBox.find('.spinner-loading-progress'); - const percentageText = pdBox.find('.percentageText'); +// const percentageText = pdBox.find('.percentageText'); - spinner.show(); - activeUploads++; - $('#createUploadingFiles').prop('disabled', true).addClass('disable'); +// spinner.show(); +// activeUploads++; +// $('#createUploadingFiles').prop('disabled', true).addClass('disable'); - const xhr = new XMLHttpRequest(); - xhr.open('POST', saveUploadFileModalAjax, true); - xhr.setRequestHeader('RequestVerificationToken', antiForgeryToken); +// const xhr = new XMLHttpRequest(); +// xhr.open('POST', saveUploadFileModalAjax, true); +// xhr.setRequestHeader('RequestVerificationToken', antiForgeryToken); - const uploadStartTime = new Date().getTime(); - let simulatedProgress = 0; - let actualProgress = 0; - let isUploadComplete = false; +// const uploadStartTime = new Date().getTime(); +// let simulatedProgress = 0; +// let actualProgress = 0; +// let isUploadComplete = false; - // Simulate progress every 20ms, gradually increasing the bar until the actual progress is reached - const progressInterval = setInterval(function () { - if (simulatedProgress < actualProgress && !isUploadComplete) { - simulatedProgress += 1; // Gradually increase simulated progress - spinner.css('width', `${simulatedProgress}%`); - percentageText.text(`${simulatedProgress}%`); - } +// // Simulate progress every 20ms, gradually increasing the bar until the actual progress is reached +// const progressInterval = setInterval(function () { +// if (simulatedProgress < actualProgress && !isUploadComplete) { +// simulatedProgress += 1; // Gradually increase simulated progress +// spinner.css('width', `${simulatedProgress}%`); +// percentageText.text(`${simulatedProgress}%`); +// } - if (simulatedProgress >= 100) { - clearInterval(progressInterval); // Stop once the progress hits 100% - } - }, 30); // Increases by 1% every 20ms, making it smooth +// if (simulatedProgress >= 100) { +// clearInterval(progressInterval); // Stop once the progress hits 100% +// } +// }, 30); // Increases by 1% every 20ms, making it smooth - // Actual upload progress listener - xhr.upload.addEventListener('progress', function (e) { - if (e.lengthComputable) { - actualProgress = Math.round((e.loaded / e.total) * 100); +// // Actual upload progress listener +// xhr.upload.addEventListener('progress', function (e) { +// if (e.lengthComputable) { +// actualProgress = Math.round((e.loaded / e.total) * 100); - // If the actual progress is slow, allow the simulated progress to match it naturally - if (actualProgress >= simulatedProgress) { - simulatedProgress = actualProgress; - spinner.css('width', `${simulatedProgress}%`); - percentageText.text(`${simulatedProgress}%`); - } - } - }); +// // If the actual progress is slow, allow the simulated progress to match it naturally +// if (actualProgress >= simulatedProgress) { +// simulatedProgress = actualProgress; +// spinner.css('width', `${simulatedProgress}%`); +// percentageText.text(`${simulatedProgress}%`); +// } +// } +// }); - // On upload completion - xhr.onload = function () { - spinner.css('transition', 'all 2s ease-in'); - const uploadEndTime = new Date().getTime(); - const timeDiff = uploadEndTime - uploadStartTime; - const minUploadTime = 2500; // Minimum of 2 seconds for the whole process +// // On upload completion +// xhr.onload = function () { +// spinner.css('transition', 'all 2s ease-in'); +// const uploadEndTime = new Date().getTime(); +// const timeDiff = uploadEndTime - uploadStartTime; +// const minUploadTime = 2500; // Minimum of 2 seconds for the whole process - const response = JSON.parse(xhr.responseText); - isUploadComplete = true; // Mark the upload as complete - const delayTime = Math.max(minUploadTime - timeDiff, 0); +// const response = JSON.parse(xhr.responseText); +// isUploadComplete = true; // Mark the upload as complete +// const delayTime = Math.max(minUploadTime - timeDiff, 0); - setTimeout(function () { - clearInterval(progressInterval); // Clear the interval when done - simulatedProgress = 100; - spinner.css('width', '100%'); - percentageText.text('100%'); +// setTimeout(function () { +// clearInterval(progressInterval); // Clear the interval when done +// simulatedProgress = 100; +// spinner.css('width', '100%'); +// percentageText.text('100%'); - var id2 = $("#employeeIdForList").val(); +// var id2 = $("#employeeIdForList").val(); - if (xhr.status === 200 && response.isSuccedded) { - indexCount++; - const reader = new FileReader(); - reader.onload = function (e) { +// if (xhr.status === 200 && response.isSuccedded) { +// indexCount++; +// const reader = new FileReader(); +// reader.onload = function (e) { - uploadFileCount = uploadFileCount + 1; +// uploadFileCount = uploadFileCount + 1; - const pdBox = $('input[data-index="' + indexId + '"]').closest('.pdBox'); - const img = pdBox.find('.preview-image'); - img.attr('src', e.target.result); +// const pdBox = $('input[data-index="' + indexId + '"]').closest('.pdBox'); +// const img = pdBox.find('.preview-image'); +// img.attr('src', e.target.result); - //employeePicture = $('#EmployeePicture').attr('src'); - //nationalCardFront = $('#NationalCardFront').attr('src'); - //nationalCardRear = $('#NationalCardRear').attr('src'); - //militaryServiceCard = $('#MilitaryServiceCard').attr('src'); - //idCardPage1 = $('#IdCardPage1').attr('src'); - //idCardPage2 = $('#IdCardPage2').attr('src'); - //idCardPage3 = $('#IdCardPage3').attr('src'); - //idCardPage4 = $('#IdCardPage4').attr('src'); - //console.log(idCardPage2); +// //employeePicture = $('#EmployeePicture').attr('src'); +// //nationalCardFront = $('#NationalCardFront').attr('src'); +// //nationalCardRear = $('#NationalCardRear').attr('src'); +// //militaryServiceCard = $('#MilitaryServiceCard').attr('src'); +// //idCardPage1 = $('#IdCardPage1').attr('src'); +// //idCardPage2 = $('#IdCardPage2').attr('src'); +// //idCardPage3 = $('#IdCardPage3').attr('src'); +// //idCardPage4 = $('#IdCardPage4').attr('src'); +// //console.log(idCardPage2); - // updatePreviewImage(indexId, id2, e.target.result); +// // updatePreviewImage(indexId, id2, e.target.result); - }; +// }; - if (pdBox.hasClass("complete") || pdBox.hasClass("discomplete")) { +// if (pdBox.hasClass("complete") || pdBox.hasClass("discomplete")) { - pdBox.removeClass("discomplete complete"); - pdBox.find(".sign").removeClass("discompleteSign completeSign"); - pdBox.find(".sign").empty(); - pdBox.find(".btnDeletingPD").removeClass("Rejected Confirmed"); - pdBox.find("confirmedMessage ").remove(); - pdBox.find(".resultMessage").empty(); - } +// pdBox.removeClass("discomplete complete"); +// pdBox.find(".sign").removeClass("discompleteSign completeSign"); +// pdBox.find(".sign").empty(); +// pdBox.find(".btnDeletingPD").removeClass("Rejected Confirmed"); +// pdBox.find("confirmedMessage ").remove(); +// pdBox.find(".resultMessage").empty(); +// } - pdBox.find('.btnDeletingPD').removeClass('disable').addClass("Unsubmitted"); +// pdBox.find('.btnDeletingPD').removeClass('disable').addClass("Unsubmitted"); - reader.readAsDataURL(file); - } else { - showAlertMessage('.alert-msg', response.message || 'Error uploading file', 3500); - $('input[type="file"][data-index="' + indexId + '"]').val(''); - } - spinner.css('width', '0%'); // Reset the progress bar - spinner.hide(); - handleActiveUploads(); - }, delayTime); // Ensure a minimum of 2 seconds for the full process - }; +// reader.readAsDataURL(file); +// } else { +// showAlertMessage('.alert-msg', response.message || 'Error uploading file', 3500); +// $('input[type="file"][data-index="' + indexId + '"]').val(''); +// } +// spinner.css('width', '0%'); // Reset the progress bar +// spinner.hide(); +// handleActiveUploads(); +// }, delayTime); // Ensure a minimum of 2 seconds for the full process +// }; - // Handle upload error - xhr.onerror = function () { - clearInterval(progressInterval); // Stop progress on error - showAlertMessage('.alert-msg', 'مشکلی در آپلود فایل به وجود آمد.', 3500); - $('input[type="file"][data-index="' + indexId + '"]').val(''); - spinner.css('width', '0%'); - spinner.hide(); - handleActiveUploads(); - }; +// // Handle upload error +// xhr.onerror = function () { +// clearInterval(progressInterval); // Stop progress on error +// showAlertMessage('.alert-msg', 'مشکلی در آپلود فایل به وجود آمد.', 3500); +// $('input[type="file"][data-index="' + indexId + '"]').val(''); +// spinner.css('width', '0%'); +// spinner.hide(); +// handleActiveUploads(); +// }; - xhr.send(formData); -} +// xhr.send(formData); +//} function handleActiveUploads() { activeUploads--; @@ -452,18 +686,30 @@ function saveSubmit(id) { loading.show(); - var data = { - 'cmd.EmployeeDocumentsId': id - } + //var data = { + // 'cmd.EmployeeDocumentsId': id + //} + + var formData = new FormData(); + formData.append('workshopId', workshopId); + formData.append('employeeId', employeeId); + + command.forEach((item, index) => { + formData.append(`command[${index}].Label`, item.Label); + formData.append(`command[${index}].PictureFile`, item.PictureFile); + }); + $.ajax({ - url: saveSubmitAjax, + url: saveGroupSubmitAjax, method: 'POST', - data: data, + data: formData, + processData: false, + contentType: false, headers: { 'RequestVerificationToken': antiForgeryToken }, success: function (response) { loading.hide(); - if (response.isSuccedded) { + if (response.success) { var id2 = $("#employeeIdForList").val(); $(".pdBox").each(function () { diff --git a/ServiceHost/wwwroot/AssetsAdminNew/WorkFlow/css/EmployeesDocuments.css b/ServiceHost/wwwroot/AssetsAdminNew/WorkFlow/css/EmployeesDocuments.css index 544a23d4..3d339928 100644 --- a/ServiceHost/wwwroot/AssetsAdminNew/WorkFlow/css/EmployeesDocuments.css +++ b/ServiceHost/wwwroot/AssetsAdminNew/WorkFlow/css/EmployeesDocuments.css @@ -540,6 +540,22 @@ input:checked + .sliderEUP { transform: rotate(-90deg); } +.employee-workshop-header { + display: flex; + flex-direction: row; + align-items: start; + color: #ffffff; +} + +.employee-workshop-header > div { + text-overflow: ellipsis; + overflow: hidden; + width: 200px; + white-space: nowrap; + text-align: right; + font-size: 14px; +} + @media (max-width: 1366px) { #navbar-animmenu ul li a { font-size: 13px; @@ -559,6 +575,10 @@ input:checked + .sliderEUP { } @media (max-width: 767px) { + .employee-workshop-header { + flex-direction: column; + } + .Rtable--collapse .Rtable-row { outline: 1.8px solid #ddd !important; } diff --git a/ServiceHost/wwwroot/AssetsAdminNew/WorkFlow/js/EmployeesDocuments.js b/ServiceHost/wwwroot/AssetsAdminNew/WorkFlow/js/EmployeesDocuments.js index b4f1b907..9ce0b49a 100644 --- a/ServiceHost/wwwroot/AssetsAdminNew/WorkFlow/js/EmployeesDocuments.js +++ b/ServiceHost/wwwroot/AssetsAdminNew/WorkFlow/js/EmployeesDocuments.js @@ -1,21 +1,40 @@ var lengthMenu = 0; -var loadFunctionDocumentsAwaitingUpload = true; -var loadFunctionCut = true; -var loadFunctionLunchBreak = true; -var loadFunctionUndefined = true; -var loadFunctionOverlappingLeaves = true; +var loadFunctionWorkshopDocumentRejectedForAdmin = true; +var loadFunctionCreatedEmployeesWorkshopDocumentForAdmin = true; +var loadFunctionClientRejectedDocumentWorkshopsForAdmin = true; loadMenuAnime(); $(document).ready(function () { - //CountWorkFlowOfAbsentAndCut(); - loadWorkshopsWithDocumentsAwaitingUpload(); + CountWorkFlowUploadDocument(); + loadWorkshopDocumentRejectedForAdmin(); + loadClientRejectedDocumentWorkshopsForAdmin(); + loadCreatedEmployeesWorkshopDocumentForAdmin(); - $("#clickDocumentsAwaitingUploadTab").click(function () { - //$('.cutWorkFlowLists, .lunchBreakWorkFlowLists, .undefinedWorkFlowLists, .overlappingLeavesLists').fadeOut(200, function () { - // $('.DocumentsAwaitingUploadWorkFlowLists').fadeIn(200); - //}); - if (loadFunctionDocumentsAwaitingUpload) { - loadWorkshopsWithDocumentsAwaitingUpload(); + $("#clickWorkshopDocumentRejectedForAdminTab").click(function () { + $('.clientRejectedDocumentWorkshopsForAdminWorkFlowLists, .createdEmployeesWorkshopDocumentForAdminWorkFlowLists').fadeOut(200, function () { + $('.workshopDocumentRejectedForAdminWorkFlowLists').fadeIn(200); + }); + + if (loadFunctionWorkshopDocumentRejectedForAdmin) { + loadWorkshopDocumentRejectedForAdmin(); + } + }); + + $("#clickCreatedEmployeesWorkshopDocumentForAdminTab").click(function () { + $('.workshopDocumentRejectedForAdminWorkFlowLists, .clientRejectedDocumentWorkshopsForAdminWorkFlowLists').fadeOut(200, function () { + $('.createdEmployeesWorkshopDocumentForAdminWorkFlowLists').fadeIn(200); + }); + if (loadFunctionClientRejectedDocumentWorkshopsForAdmin) { + loadCreatedEmployeesWorkshopDocumentForAdmin(); + } + }); + + $("#clickClientRejectedDocumentWorkshopsForAdminTab").click(function () { + $('.workshopDocumentRejectedForAdminWorkFlowLists, .createdEmployeesWorkshopDocumentForAdminWorkFlowLists').fadeOut(200, function () { + $('.clientRejectedDocumentWorkshopsForAdminWorkFlowLists').fadeIn(200); + }); + if (loadFunctionCreatedEmployeesWorkshopDocumentForAdmin) { + loadClientRejectedDocumentWorkshopsForAdmin(); } }); }); @@ -105,8 +124,10 @@ $(document).on('click', ".openAction", function () { } }); -async function loadWorkshopsWithDocumentsAwaitingUpload() { - $('#CountDocumentsAwaitingUploadLoading').show(); + +//1 +async function loadWorkshopDocumentRejectedForAdmin() { + //$('#CountDocumentsAwaitingUploadLoading').show(); var mainIndexNum = 1; var html = ``; @@ -115,17 +136,17 @@ async function loadWorkshopsWithDocumentsAwaitingUpload() { contentType: 'charset=utf-8', dataType: 'json', type: 'GET', - url: loadWorkshopsWithDocumentsAwaitingUploadUrl, + url: loadWorkshopDocumentRejectedForAdminUrl, headers: { "RequestVerificationToken": antiForgeryToken }, success: function (response) { var data = response.data; - $('#loadingSkeletonDocumentsAwaitingUpload').hide(); - + $('#loadingSkeletonWorkshopDocumentRejectedForAdmin').hide(); + if (response.success) { if (data.length > 0) { data.forEach(function (item) { html += ` -
    +
    @@ -133,25 +154,15 @@ async function loadWorkshopsWithDocumentsAwaitingUpload() { ${mainIndexNum++}
    -
    +
    -
    -
    -
    - ${item.workshopName} -
    -
    -
    -
    - ${item.employerName} -
    -
    -
    -
    - ${item.uploadItemsCount} -
    +
    +
    +
    ${item.workshopFullName}
    +
    ${item.employerName}
    +
    ${item.employeesWithoutDocumentCount}
    @@ -181,8 +192,8 @@ async function loadWorkshopsWithDocumentsAwaitingUpload() {
    `; } - $('#loadDocumentsAwaitingUploadWorkFlow').html(html); - loadFunctionDocumentsAwaitingUpload = false; + $('#loadWorkshopDocumentRejectedForAdminWorkFlowLists').html(html); + loadFunctionWorkshopDocumentRejectedForAdmin = false; } }, failure: function (response) { @@ -191,14 +202,14 @@ async function loadWorkshopsWithDocumentsAwaitingUpload() { }); } -function loadByWorkshopIdWithItemsForAdminWorkFlow(id) { +function loadGetRejectedItemsByWorkshopIdAndRoleForAdminWorkFlow(id) { var html = ``; $.ajax({ async: false, contentType: 'charset=utf-8', dataType: 'json', type: 'GET', - url: loadByWorkshopIdWithItemsForAdminWorkFlowUrl, + url: loadGetRejectedItemsByWorkshopIdAndRoleForAdminWorkFlowUrl, data: { 'workshopId': id }, headers: { "RequestVerificationToken": antiForgeryToken }, success: function (response) { @@ -232,7 +243,7 @@ function loadByWorkshopIdWithItemsForAdminWorkFlow(id) {
    - +
    `; @@ -253,7 +264,7 @@ function loadByWorkshopIdWithItemsForAdminWorkFlow(id) {
    - +
    `; @@ -287,7 +298,7 @@ function loadByWorkshopIdWithItemsForAdminWorkFlow(id) {
    - +
    `; @@ -309,7 +320,7 @@ function loadByWorkshopIdWithItemsForAdminWorkFlow(id) {
    پیغام:
    - +
    `; @@ -363,6 +374,291 @@ function loadByWorkshopIdWithItemsForAdminWorkFlow(id) {
    + +
    +
    + + + +
    +
    +
    `; + }); + + } else { + html += `
    +
    +
    +
    + +
    اطلاعاتی وجود ندارد.
    +
    +
    +
    +
    `; + } + + $(`.workshopID_${id}`).html(html); + } + }, + failure: function (response) { + console.log(response); + } + }); +} + + +//2 +async function loadCreatedEmployeesWorkshopDocumentForAdmin() { + //$('#CountAbortedAddDocPersonnelLoading').show(); + var mainIndexNum = 1; + + var html = ``; + $.ajax({ + async: true, + contentType: 'charset=utf-8', + dataType: 'json', + type: 'GET', + url: loadCreatedEmployeesWorkshopDocumentForAdminUrl, + headers: { "RequestVerificationToken": antiForgeryToken }, + success: function (response) { + var data = response.data; + $('#loadingSkeletonCreatedEmployeesWorkshopDocumentForAdmin').hide(); + + if (response.success) { + if (data.length > 0) { + data.forEach(function (item) { + html += ` +
    +
    +
    +
    + + ${mainIndexNum++} + +
    +
    +
    +
    +
    +
    +
    ${item.workshopFullName}
    +
    ${item.employerName}
    +
    +
    ${item.employeesWithoutDocumentCount}
    +
    +
    +
    + + + + + +
    +
    `; + + html += `
    +
    +
    `; + }); + + } else { + html += `
    +
    +
    +
    + +
    اطلاعاتی وجود ندارد.
    +
    +
    +
    +
    `; + } + + $('#loadCreatedEmployeesWorkshopDocumentForAdminWorkFlowLists').html(html); + loadFunctionCreatedEmployeesWorkshopDocumentForAdmin = false; + } + }, + failure: function (response) { + console.log(response); + } + }); +} + +function loadCreatedEmployeesDocumentByWorkshopIdForAdmin(id) { + var html = ``; + $.ajax({ + async: false, + contentType: 'charset=utf-8', + dataType: 'json', + type: 'GET', + url: loadCreatedEmployeesDocumentByWorkshopIdForAdminUrl, + data: { 'workshopId': id }, + headers: { "RequestVerificationToken": antiForgeryToken }, + success: function (response) { + var data = response.data; + + if (response.success) { + if (data.length > 0) { + + data.forEach(function (item, i) { + html += `
    +
    +
    +
    + ردیف +
    +
    + + ${i + 1} + +
    +
    + +
    +
    نام پرسنل
    +
    + ${item.employeeFullName} +

    +
    +
    + +
    +
    +
    + +
    +
    +
    `; + if (item.employeePicture.picturePath) { + html += ``; + } else { + html += ``; + } + html += `
    +
    عکس پرسنلی
    +
    +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    `; + if (item.nationalCardFront.picturePath) { + html += ``; + } else { + html += ``; + } + html += `
    +
    کارت ملی رو
    +
    +
    + +
    +
    +
    `; + if (item.nationalCardRear.picturePath) { + html += `
    `; + } else { + html += `
    `; + } + html += `
    +
    کارت ملی پشت
    +
    +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    `; + if (item.militaryServiceCard.picturePath) { + html += ``; + } else { + html += ``; + } + html += `
    +
    کارت پایان خدمت
    +
    +
    + +
    +
    +
    + +
    +
    +
    پیغام:
    +
    + +
    +
    +
    `; + if (item.idCardPage1.picturePath) { + html += `
    `; + } else { + html += `
    `; + } + html += `
    +
    شناسنامه صفحه اول
    +
    +
    +
    +
    +
    `; + if (item.idCardPage2.picturePath) { + html += `
    `; + } else { + html += `
    `; + } + html += `
    +
    شناسنامه صفحه دوم
    +
    +
    +
    +
    +
    `; + if (item.idCardPage3.picturePath) { + html += `
    `; + } else { + html += `
    `; + } + html += `
    +
    شناسنامه صفحه سوم
    +
    +
    +
    +
    +
    `; + if (item.idCardPage4.picturePath) { + html += `
    `; + } else { + html += `
    `; + } + html += `
    +
    شناسنامه صفحه چهارم
    +
    +
    + +
    +
    +
    +
    @@ -388,7 +684,7 @@ function loadByWorkshopIdWithItemsForAdminWorkFlow(id) {
    `; } - + $(`.workshopID_${id}`).html(html); } }, @@ -398,78 +694,326 @@ function loadByWorkshopIdWithItemsForAdminWorkFlow(id) { }); } + +//3 +async function loadClientRejectedDocumentWorkshopsForAdmin() { + //$('#CountDocumentsAwaitingUploadLoading').show(); + var mainIndexNum = 1; + + var html = ``; + $.ajax({ + //async: false, + contentType: 'charset=utf-8', + dataType: 'json', + type: 'GET', + url: loadClientRejectedDocumentWorkshopsForAdminUrl, + headers: { "RequestVerificationToken": antiForgeryToken }, + success: function (response) { + var data = response.data; + + $('#loadingSkeletonClientRejectedDocumentWorkshopsForAdmin').hide(); + if (response.success) { + if (data.length > 0) { + data.forEach(function (item) { + html += ` +
    +
    +
    +
    + + ${mainIndexNum++} + +
    +
    +
    +
    +
    +
    +
    ${item.workshopFullName}
    +
    ${item.employerName}
    +
    +
    ${item.employeesWithoutDocumentCount}
    +
    +
    +
    + + + + + +
    +
    `; + + html += `
    +
    +
    `; + }); + + } else { + html += `
    +
    +
    +
    + +
    اطلاعاتی وجود ندارد.
    +
    +
    +
    +
    `; + } + + $('#loadClientRejectedDocumentWorkshopsForAdminWorkFlowLists').html(html); + loadFunctionClientRejectedDocumentWorkshopsForAdmin = false; + } + }, + failure: function (response) { + console.log(response); + } + }); +} + +function loadClientRejectedDocumentByWorkshopIdForAdmin(id) { + var html = ``; + $.ajax({ + async: false, + contentType: 'charset=utf-8', + dataType: 'json', + type: 'GET', + url: loadClientRejectedDocumentByWorkshopIdForAdminUrl, + data: { 'workshopId': id }, + headers: { "RequestVerificationToken": antiForgeryToken }, + success: function (response) { + var data = response.data; + + if (response.success) { + if (data.length > 0) { + + data.forEach(function (item, i) { + html += `
    +
    +
    +
    + ردیف +
    +
    + + ${i + 1} + +
    +
    + +
    +
    نام پرسنل
    +
    + ${item.employeeFullName} +

    +
    +
    + +
    +
    +
    + +
    +
    +
    `; + if (item.employeePicture.picturePath) { + html += ``; + } else { + html += ``; + } + html += `
    +
    عکس پرسنلی
    +
    +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    `; + if (item.nationalCardFront.picturePath) { + html += ``; + } else { + html += ``; + } + html += `
    +
    کارت ملی رو
    +
    +
    + +
    +
    +
    `; + if (item.nationalCardRear.picturePath) { + html += `
    `; + } else { + html += `
    `; + } + html += `
    +
    کارت ملی پشت
    +
    +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    `; + if (item.militaryServiceCard.picturePath) { + html += ``; + } else { + html += ``; + } + html += `
    +
    کارت پایان خدمت
    +
    +
    + +
    +
    +
    + +
    +
    +
    پیغام:
    +
    + +
    +
    +
    `; + if (item.idCardPage1.picturePath) { + html += `
    `; + } else { + html += `
    `; + } + html += `
    +
    شناسنامه صفحه اول
    +
    +
    +
    +
    +
    `; + if (item.idCardPage2.picturePath) { + html += `
    `; + } else { + html += `
    `; + } + html += `
    +
    شناسنامه صفحه دوم
    +
    +
    +
    +
    +
    `; + if (item.idCardPage3.picturePath) { + html += `
    `; + } else { + html += `
    `; + } + html += `
    +
    شناسنامه صفحه سوم
    +
    +
    +
    +
    +
    `; + if (item.idCardPage4.picturePath) { + html += `
    `; + } else { + html += `
    `; + } + html += `
    +
    شناسنامه صفحه چهارم
    +
    +
    + +
    +
    +
    + + +
    +
    + + + +
    +
    +
    `; + }); + + } else { + html += `
    +
    +
    +
    + +
    اطلاعاتی وجود ندارد.
    +
    +
    +
    +
    `; + } + + $(`.workshopID_${id}`).html(html); + } + }, + failure: function (response) { + console.log(response); + } + }); +} + + + function showModalEmployeeDocuments(employeeId, workshopId) { var goTo = `#showmodal=/AdminNew/Company/WorkFlow/EmployeesDocuments?handler=CreateUploadDocument&workshopId=${workshopId}&employeeId=${employeeId}`; window.location.href = goTo; } -async function CountWorkFlow() { +async function CountWorkFlowUploadDocument() { $.ajax({ dataType: 'json', type: 'Get', - url: loadCountWorkFlowOfAbsentAndCut, + url: loadCountWorkFlowUploadDocumentUrl, headers: { "RequestVerificationToken": antiForgeryToken }, success: function (response) { - if (response.success) { - $('.spinner-grow').hide(); - - if (response.dataAbsent === 0) { - $('#CountAbsent').hide(); - $('#CountAbsentMobile').hide(); - } else { - $('#CountAbsent').show(); - $('#CountAbsentMobile').show(); - $('#CountAbsent').text(response.dataAbsent); - $('#CountAbsentMobile').text(response.dataAbsent); - } - - if (response.dataCut === 0) { - $('#CountCut').hide(); - $('#CountCutMobile').hide(); - } else { - $('#CountCut').show(); - $('#CountCutMobile').show(); - $('#CountCut').text(response.dataCut); - $('#CountCutMobile').text(response.dataCut); - } - - if (response.dataLunchBreak === 0) { - $('#CountLunchBreak').hide(); - $('#CountLunchBreakMobile').hide(); - } else { - $('#CountLunchBreak').show(); - $('#CountLunchBreakMobile').show(); - $('#CountLunchBreak').text(response.dataLunchBreak); - $('#CountLunchBreakMobile').text(response.dataLunchBreak); - } - - if (response.dataUndefined === 0) { - $('#CountUndefined').hide(); - $('#CountUndefinedMobile').hide(); - } else { - $('#CountUndefined').show(); - $('#CountUndefinedMobile').show(); - $('#CountUndefined').text(response.dataUndefined); - $('#CountUndefinedMobile').text(response.dataUndefined); - } - - if (response.dataOverlappingLeave === 0) { - $('#CountOverlappingLeave').hide(); - $('#CountOverlappingLeaveMobile').hide(); - } else { - $('#CountOverlappingLeave').show(); - $('#CountOverlappingLeaveMobile').show(); - $('#CountOverlappingLeave').text(response.dataOverlappingLeave); - $('#CountOverlappingLeaveMobile').text(response.dataOverlappingLeave); - } - + $('.spinner-grow').hide(); + + if (response.workshopDocumentRejectedForAdmin === 0) { + $('#CountWorkshopDocumentRejectedForAdmin').hide(); } else { - $('.alert-msg').show(); - $('.alert-msg p').text(response.message); - setTimeout(function () { - $('.alert-msg').hide(); - $('.alert-msg p').text(''); - }, 3500); + $('#CountWorkshopDocumentRejectedForAdmin').show(); + $('#CountWorkshopDocumentRejectedForAdmin').text(response.workshopDocumentRejectedForAdmin); + } + + if (response.clientRejectedDocumentWorkshopsForAdmin === 0) { + $('#CountClientRejectedDocumentWorkshopsForAdmin').hide(); + } else { + $('#CountClientRejectedDocumentWorkshopsForAdmin').show(); + $('#CountClientRejectedDocumentWorkshopsForAdmin').text(response.clientRejectedDocumentWorkshopsForAdmin); + } + + if (response.createdEmployeesWorkshopDocumentForAdmin === 0) { + $('#CountCreatedEmployeesWorkshopDocumentForAdmin').hide(); + } else { + $('#CountCreatedEmployeesWorkshopDocumentForAdmin').show(); + $('#CountCreatedEmployeesWorkshopDocumentForAdmin').text(response.createdEmployeesWorkshopDocumentForAdmin); } }, error: function (err) { @@ -492,4 +1036,4 @@ function updateMainWorkFlow() { $(`#loadDocumentsAwaitingUploadWorkFlow .Rtable-cell.width1 .table-number`).each(function () { $(this).text(index++); }); -} \ No newline at end of file +} diff --git a/ServiceHost/wwwroot/AssetsAdminNew/WorkFlow/js/ModalUploadDocument.js b/ServiceHost/wwwroot/AssetsAdminNew/WorkFlow/js/ModalUploadDocument.js index 8e88926c..91d80500 100644 --- a/ServiceHost/wwwroot/AssetsAdminNew/WorkFlow/js/ModalUploadDocument.js +++ b/ServiceHost/wwwroot/AssetsAdminNew/WorkFlow/js/ModalUploadDocument.js @@ -40,8 +40,8 @@ var allPicture = [ { 'label': 7, 'changeImage': false - }, -] + } +]; var pendingMessage = `
    بررسی
    `; var pendingIcon = ``; @@ -429,7 +429,8 @@ $(document).ready(function () { $(document).off('click', '.btnEditEmployee').on('click', '.btnEditEmployee', function (event) { getIndexForEmployeeEdit = $(this).data('index'); - LoadCustomPartial(loadModalEmployeeEdit + `&employeeId=${employeeId}&workshopId=${workshopId}`); + getMediaIdForEmployeeEdit = $(this).data('media-id'); + LoadCustomPartial(loadModalEmployeeEdit + `&employeeId=${employeeId}&workshopId=${workshopId}&mediaId=${getMediaIdForEmployeeEdit}`); }); $(".exitModal").click(function () { @@ -704,6 +705,7 @@ function uploadCanvasAsFile(canvas, fileName, indexFileValue, label) { var getChangeIndex = allPicture.findIndex(item => item.label === indexFileValue); allPicture[getChangeIndex].changeImage = true; + $('#createUploadingFiles').prop('disabled', false).removeClass('disable'); showLoadingAnimation(indexFileValue); }, "image/png"); @@ -780,14 +782,12 @@ function updatePreviewImage(indexId, id2, result) { } function saveSubmit(id) { + var menuValue = $('.main-navbar .active').data('menu'); + var loading = $(".spinner-loading"); loading.show(); - //var data = { - // 'cmd.EmployeeDocumentsId': id - //} - var formData = new FormData(); formData.append('workshopId', workshopId); formData.append('employeeId', employeeId); @@ -810,18 +810,46 @@ function saveSubmit(id) { if (response.success) { - //var employeeSectionDiv = $(`[data-employee-id="${employeeId}"]`); - //employeeSectionDiv.remove(); - //var employeeCountElement = $(`#EmployeeCountOfWorkshop_${workshopId}`); - //var employeeNumberOfWorkshop = Number(employeeCountElement.text().trim()); - //employeeNumberOfWorkshop -= 1; - //employeeCountElement.text(employeeNumberOfWorkshop); - //if (employeeNumberOfWorkshop === 0) { - // var mainElement = $(`#Main_${workshopId}`); - // mainElement.next(".operation-div").remove(); - // mainElement.remove(); + + var employeeSectionDiv = $(`[data-employee-id="${employeeId}"]`); + employeeSectionDiv.remove(); + + var employeeCountElement = ''; + switch (menuValue) { + case "WorkshopDocumentRejectedForAdmin": + //employeeCountElement = $(`#WorkshopDocumentRejected_EmployeeCountOfWorkshop_${workshopId}`); + $('#loadWorkshopDocumentRejectedForAdminWorkFlowLists').html(''); + $('#loadingSkeletonWorkshopDocumentRejectedForAdmin').show(); + loadWorkshopDocumentRejectedForAdmin(); + break; + case "CreatedEmployeesWorkshopDocumentForAdmin": + //employeeCountElement = $(`#CreatedEmployeesWorkshop_EmployeeCountOfWorkshop_${workshopId}`); + $('#loadCreatedEmployeesWorkshopDocumentForAdminWorkFlowLists').html(''); + $('#loadingSkeletonCreatedEmployeesWorkshopDocumentForAdmin').show(); + loadCreatedEmployeesWorkshopDocumentForAdmin(); + break; + case "ClientRejectedDocumentWorkshopsForAdmin": + //employeeCountElement = $(`#ClientRejectedDocument_EmployeeCountOfWorkshop_${workshopId}`); + $('#loadClientRejectedDocumentWorkshopsForAdminWorkFlowLists').html(''); + $('#loadingSkeletonClientRejectedDocumentWorkshopsForAdmin').hide(); + loadClientRejectedDocumentWorkshopsForAdmin(); + break; + default: + break; + } + + //if (employeeCountElement !== '') { + // var employeeNumberOfWorkshop = Number(employeeCountElement.text().trim()); + // employeeNumberOfWorkshop -= 1; + // employeeCountElement.text(employeeNumberOfWorkshop); + + // if (employeeNumberOfWorkshop === 0) { + // var mainElement = $(`#Main_${workshopId}`); + // mainElement.next(".operation-div").remove(); + // mainElement.remove(); + // } //} //var countDocumentsElement = $(`#CountDocumentsAwaitingUpload`); @@ -829,15 +857,17 @@ function saveSubmit(id) { //countDocumentsAwaitingUpload -= 1; //countDocumentsElement.text(countDocumentsAwaitingUpload); - //updateMainWorkFlow(); - //updateIndexesWorkFlow(`DocumentsAwaitingUpload_${workshopId}`); + updateMainWorkFlow(); + updateIndexesWorkFlow(`DocumentsAwaitingUpload_${workshopId}`); - $(`.workshopID_${workshopId}`).html(''); - loadByWorkshopIdWithItemsForAdminWorkFlow(workshopId); + //$(`.workshopID_${workshopId}`).html(''); + //loadByWorkshopIdWithItemsForAdminWorkFlow(workshopId); _RefreshWorkFlowCountMenu(); _RefreshCheckerCountMenu(); + CountWorkFlowUploadDocument(); + $('#MainModal').modal('hide'); showAlertMessage('.alert-success-msg', 'تصویر موجود با موفقیت ارسال شد.', 3500); } else { diff --git a/ServiceHost/wwwroot/AssetsClient/pages/EmployeesDocument/js/ModalUploadDocument.js b/ServiceHost/wwwroot/AssetsClient/pages/EmployeesDocument/js/ModalUploadDocument.js index 7564cdd4..ac2019f0 100644 --- a/ServiceHost/wwwroot/AssetsClient/pages/EmployeesDocument/js/ModalUploadDocument.js +++ b/ServiceHost/wwwroot/AssetsClient/pages/EmployeesDocument/js/ModalUploadDocument.js @@ -7,52 +7,42 @@ var idCardPage2; var idCardPage3; var idCardPage4; var uploadFileCount = UploadedCount; +var command = []; var pendingMessage = `
    بررسی
    `; -var pendingIcon = ` - - - - - `; +var pendingIcon = ``; var confirmMessage = `
    تایید
    `; -var confirmIcon = ` - - - `; +var confirmIcon = ``; var rejectMessage = `
    رد شده
    `; -var rejectIcon = ` - - - - `; +var rejectIcon = ``; + $(document).ready(function () { var employeeId = $("#employeeIdForList").val(); - //$('.btnDeletingPD').each(function () { // if ($(this).hasClass('Unsubmitted')) { // Remove the extra class selector '.btnDeletingPD' // $(this).closest('.pdBox').addClass('justUploaded'); // Add 'justUploaded' to the closest parent .pdBox // } //}); + + $(".btnDeletingPD ").each(function () { + if ($(this).hasClass("SubmittedByAdmin") || $(this).hasClass("Rejected") || $(this).hasClass("Confirmed")) { + $(this).addClass("disable"); + } else { + return; + } + }); + $(document).off('click', '.btnUploadingPD').on('click', '.btnUploadingPD', function (event) { event.preventDefault(); const index = $(this).data('index'); $('input[type="file"][data-index="' + index + '"]').click(); }); - - $(".btnDeletingPD ").each(function () { - if ($(this).hasClass("SubmittedByAdmin") || $(this).hasClass("SubmittedByClient") || $(this).hasClass("Rejected") || $(this).hasClass("Confirmed")) { - $(this).addClass("disable"); - } else { - return; - } - }); $('.pdBox').each(function () { - if ($(".isTrue").hasClass("isTrue") && $(".Unsubmitted").hasClass("Unsubmitted")) { + if ($(".isTrue").hasClass("isTrue") && $(".Unsubmitted").hasClass("Unsubmitted") || $(".SubmittedByClient").hasClass("SubmittedByClient")) { $(".btnCreateNew").prop("disabled", false); $(".btnCreateNew ").removeClass("disable"); } else { @@ -62,7 +52,7 @@ $(document).ready(function () { $('.pdBox').each(function () { // Check if there's a button with the 'submitted' class inside the pdBox - if ($(this).find('button.SubmittedByAdmin').length > 0 || $(this).find('button.SubmittedByClient').length > 0 ) { + if ($(this).find('button.SubmittedByAdmin').length > 0) { $(this).addClass('pending'); $(this).find(".pdImageBox .sign").addClass("pendingSign").html(pendingIcon); $(this).find(".btnUploadingPD").addClass("disable"); @@ -80,7 +70,6 @@ $(document).ready(function () { } }); - $(document).off('change', '.file-input').on('change', '.file-input', function (e) { e.preventDefault(); @@ -90,20 +79,57 @@ $(document).ready(function () { const validPdfExtensions = ['pdf']; const label = $(`#label_${indexFileValue}`).val(); + const pdBox = $(this).closest('.pdBox'); + const img = pdBox.find('.preview-image'); + var deleteButton = pdBox.find('.btnDeletingPD'); if (fileInputFile) { const fileName = fileInputFile.name.toLowerCase(); const extension = fileName.split('.').pop(); + // بررسی فرمت‌های تصویر (jpeg, jpg, png) if (validExtensions.includes(extension)) { if (fileInputFile.size > 5000000) { showAlertMessage('.alert-msg', 'لطفا فایل حجم کمتر از 5 مگابایت را آپلود کنید.', 3500); $(this).val(''); return; } - uploadFile(fileInputFile, indexFileValue, label); - } else if (validPdfExtensions.includes(extension)) { + const reader = new FileReader(); + reader.onload = function (event) { + img.attr('src', event.target.result); + + const base64String = event.target.result.split(',')[1]; + const byteCharacters = atob(base64String); + const byteNumbers = new Array(byteCharacters.length); + for (let i = 0; i < byteCharacters.length; i++) { + byteNumbers[i] = byteCharacters.charCodeAt(i); + } + const byteArray = new Uint8Array(byteNumbers); + const blob = new Blob([byteArray], { type: fileInputFile.type }); + const newFile = new File([blob], fileInputFile.name, { type: fileInputFile.type }); + + let existingIndex = command.findIndex(item => item.Label === label); + if (existingIndex !== -1) { + command[existingIndex].PictureFile = newFile; + } else { + let picturesPart = { + Label: label, + PictureFile: newFile + }; + command.push(picturesPart); + } + }; + + reader.readAsDataURL(fileInputFile); + $('#createUploadingFiles').prop('disabled', false).removeClass('disable'); + + pdBox.removeClass(); + pdBox.addClass('pdBox'); + + showLoadingAnimation(indexFileValue); + } + else if (validPdfExtensions.includes(extension)) { var fileReader = new FileReader(); fileReader.onload = function () { @@ -116,7 +142,7 @@ $(document).ready(function () { return; } - pdf.getPage(1).then(function (page) { // فقط صفحه اول پردازش می‌شود + pdf.getPage(1).then(function (page) { var scale = 2.0; var viewport = page.getViewport({ scale: scale }); @@ -129,15 +155,15 @@ $(document).ready(function () { var context = canvas.getContext("2d"); page.render({ - canvasContext: context, - viewport: viewport - }) - .promise.then(function () { - uploadCanvasAsFile(canvas, `${label}_${indexFileValue}.jpg`, indexFileValue, label); - }) - .catch(function (error) { - showAlertMessage('.alert-msg', 'مشکلی در پردازش PDF رخ داده است!', 3500); - }); + canvasContext: context, + viewport: viewport + }).promise.then(function () { + pdBox.removeClass(); + pdBox.addClass('pdBox'); + uploadCanvasAsFile(canvas, `${label}_${indexFileValue}.jpg`, indexFileValue, label); + }).catch(function (error) { + showAlertMessage('.alert-msg', 'مشکلی در پردازش PDF رخ داده است!', 3500); + }); }).catch(function (error) { showAlertMessage('.alert-msg', 'خطا در دریافت صفحه PDF!', 3500); }); @@ -149,12 +175,152 @@ $(document).ready(function () { fileReader.readAsArrayBuffer(fileInputFile); - } else { - showAlertMessage('.alert-msg', 'فرمت فایل باید یکی از موارد jpeg, jpg یا png باشد.', 3500); + } + else { + showAlertMessage('.alert-msg', 'فرمت فایل باید یکی از موارد jpeg, jpg, png یا pdf باشد.', 3500); + return; + } + + deleteButton.removeClass('disable'); + if (pdBox.find('button.Rejected').length > 0) { + pdBox.find(".btnSendToChecker").removeClass("disable"); } } }); + //$(document).off('change', '.file-input').on('change', '.file-input', function (e) { + // e.preventDefault(); + + // const fileInputFile = this.files[0]; + // const indexFileValue = $(this).data('index'); + // const validExtensions = ['jpg', 'jpeg', 'png']; + + // const label = $(`#label_${indexFileValue}`).val(); + // const pdBox = $(this).closest('.pdBox'); + // const img = pdBox.find('.preview-image'); + + // if (fileInputFile) { + // const fileName = fileInputFile.name.toLowerCase(); + // const extension = fileName.split('.').pop(); + + // if (validExtensions.includes(extension)) { + // if (fileInputFile.size > 5000000) { + // showAlertMessage('.alert-msg', 'لطفا فایل حجم کمتر از 5 مگابایت را آپلود کنید.', 3500); + // $(this).val(''); + // return; + // } + + // // خواندن فایل و نمایش آن + // const reader = new FileReader(); + // reader.onload = function (event) { + // img.attr('src', event.target.result); + + // const base64String = event.target.result.split(',')[1]; + // const byteCharacters = atob(base64String); + // const byteNumbers = new Array(byteCharacters.length); + // for (let i = 0; i < byteCharacters.length; i++) { + // byteNumbers[i] = byteCharacters.charCodeAt(i); + // } + // const byteArray = new Uint8Array(byteNumbers); + // const blob = new Blob([byteArray], { type: fileInputFile.type }); + // const newFile = new File([blob], fileInputFile.name, { type: fileInputFile.type }); + + // let picturesPart = { + // Label: label, + // PictureFile: newFile + // }; + // pictures.push(picturesPart); + // }; + + // reader.readAsDataURL(fileInputFile); + + // //uploadFile(fileInputFile, indexFileValue, label); + // } else { + // showAlertMessage('.alert-msg', 'فرمت فایل باید یکی از موارد jpeg, jpg یا png باشد.', 3500); + // } + // } + + // console.log(pictures); + //}); + + + + + + //$(document).off('change', '.file-input').on('change', '.file-input', function (e) { + // e.preventDefault(); + + // const fileInputFile = this.files[0]; + // const indexFileValue = $(this).data('index'); + // const validExtensions = ['jpg', 'jpeg', 'png']; + // const validPdfExtensions = ['pdf']; + + // const label = $(`#label_${indexFileValue}`).val(); + + // if (fileInputFile) { + // const fileName = fileInputFile.name.toLowerCase(); + // const extension = fileName.split('.').pop(); + + // if (validExtensions.includes(extension)) { + // if (fileInputFile.size > 5000000) { + // showAlertMessage('.alert-msg', 'لطفا فایل حجم کمتر از 5 مگابایت را آپلود کنید.', 3500); + // $(this).val(''); + // return; + // } + // uploadFile(fileInputFile, indexFileValue, label); + // } else if (validPdfExtensions.includes(extension)) { + + // var fileReader = new FileReader(); + + // fileReader.onload = function () { + // var typedarray = new Uint8Array(this.result); + // pdfjsLib.getDocument(typedarray).promise.then(function (pdf) { + // totalPageCount = pdf.numPages; + + // if (totalPageCount > 1) { + // showAlertMessage('.alert-msg', 'آپلود مجاز نیست! تعداد صفحات نباید بیشتر از ۱ باشد.', 3500); + // return; + // } + + // pdf.getPage(1).then(function (page) { // فقط صفحه اول پردازش می‌شود + // var scale = 2.0; + // var viewport = page.getViewport({ scale: scale }); + + // var canvas = document.createElement("canvas"); + // canvas.className = "page"; + // canvas.title = "Page 1"; + // canvas.height = viewport.height; + // canvas.width = viewport.width; + + // var context = canvas.getContext("2d"); + + // page.render({ + // canvasContext: context, + // viewport: viewport + // }) + // .promise.then(function () { + // uploadCanvasAsFile(canvas, `${label}_${indexFileValue}.jpg`, indexFileValue, label); + // }) + // .catch(function (error) { + // showAlertMessage('.alert-msg', 'مشکلی در پردازش PDF رخ داده است!', 3500); + // }); + // }).catch(function (error) { + // showAlertMessage('.alert-msg', 'خطا در دریافت صفحه PDF!', 3500); + // }); + + // }).catch(function (error) { + // showAlertMessage('.alert-msg', 'خطا در بارگذاری فایل PDF!', 3500); + // }); + // }; + + // fileReader.readAsArrayBuffer(fileInputFile); + + // } else { + // showAlertMessage('.alert-msg', 'فرمت فایل باید یکی از موارد jpeg, jpg یا png باشد.', 3500); + // } + // } + //}); + $(document).off('click', '.btnDeletingPD').on('click', '.btnDeletingPD', function (event) { event.preventDefault(); const indexId = $(this).data('index'); @@ -223,6 +389,57 @@ function cancelOperation() { }); } +var indexCount = 0; +var activeUploads = 0; +function showLoadingAnimation(indexId) { + uploadFileCount = uploadFileCount + 1; + + //const pdBox = $('input[data-index="' + indexId + '"]').closest('.pdBox'); + //const spinner = pdBox.find('.spinner-loading-progress'); + //const percentageText = pdBox.find('.percentageText'); + + //spinner.show(); + //activeUploads++; + //$('#createUploadingFiles').prop('disabled', true).addClass('disable'); + + //let simulatedProgress = 0; + //const progressInterval = setInterval(function () { + // if (simulatedProgress < 100) { + // simulatedProgress += 2; + // spinner.css('width', `${simulatedProgress}%`); + // percentageText.text(`${simulatedProgress}%`); + // } + + // if (simulatedProgress >= 100) { + // clearInterval(progressInterval); + // } + //}, 30); + + //setTimeout(function () { + // clearInterval(progressInterval); + // spinner.css('width', '100%'); + // percentageText.text('100%'); + + // spinner.hide(); + // spinner.css('width', '0%'); + // handleActiveUploads(); + //}, 2300); +} + +//function uploadCanvasAsFile(canvas, fileName, indexFileValue, label) { +// canvas.toBlob(function (blob) { +// if (!blob) { +// showAlertMessage('.alert-msg', 'مشکلی در تبدیل تصویر رخ داده است!', 3500); +// return; +// } + +// let file = new File([blob], fileName, { type: 'image/png' }); + +// uploadFile(file, indexFileValue, label); + +// }, "image/png"); +//} + function uploadCanvasAsFile(canvas, fileName, indexFileValue, label) { canvas.toBlob(function (blob) { if (!blob) { @@ -231,137 +448,160 @@ function uploadCanvasAsFile(canvas, fileName, indexFileValue, label) { } let file = new File([blob], fileName, { type: 'image/png' }); + const imageUrl = URL.createObjectURL(blob); - uploadFile(file, indexFileValue, label); + const img = $(`#${label}`); + img.attr('src', imageUrl); + + let existingIndex = command.findIndex(item => item.Label === label); + if (existingIndex !== -1) { + command[existingIndex].PictureFile = file; + } else { + let picturesPart = { + Label: label, + PictureFile: file + }; + command.push(picturesPart); + } + + showLoadingAnimation(indexFileValue); }, "image/png"); } -var indexCount = 0; -var activeUploads = 0; -function uploadFile(file, indexId, label) { - const formData = new FormData(); - formData.append('command.EmployeeId', employeeId); - formData.append('command.Label', label); - formData.append('command.PictureFile', file); +//var indexCount = 0; +//var activeUploads = 0; +//function uploadFile(file, indexId, label) { +// const formData = new FormData(); +// formData.append('command.EmployeeId', employeeId); +// formData.append('command.WorkshopId', workshopId); +// formData.append('command.Label', label); +// formData.append('command.PictureFile', file); - const pdBox = $('input[data-index="' + indexId + '"]').closest('.pdBox'); - const spinner = pdBox.find('.spinner-loading-progress'); +// const pdBox = $('input[data-index="' + indexId + '"]').closest('.pdBox'); +// const spinner = pdBox.find('.spinner-loading-progress'); - const percentageText = pdBox.find('.percentageText'); +// const percentageText = pdBox.find('.percentageText'); - spinner.show(); - activeUploads++; - $('#createUploadingFiles').prop('disabled', true).addClass('disable'); +// spinner.show(); +// activeUploads++; +// $('#createUploadingFiles').prop('disabled', true).addClass('disable'); - const xhr = new XMLHttpRequest(); - xhr.open('POST', saveUploadFileModalAjax, true); - xhr.setRequestHeader('RequestVerificationToken', antiForgeryToken); +// const xhr = new XMLHttpRequest(); +// xhr.open('POST', saveUploadFileModalAjax, true); +// xhr.setRequestHeader('RequestVerificationToken', antiForgeryToken); - const uploadStartTime = new Date().getTime(); - let simulatedProgress = 0; - let actualProgress = 0; - let isUploadComplete = false; +// const uploadStartTime = new Date().getTime(); +// let simulatedProgress = 0; +// let actualProgress = 0; +// let isUploadComplete = false; - // Simulate progress every 20ms, gradually increasing the bar until the actual progress is reached - const progressInterval = setInterval(function () { - if (simulatedProgress < actualProgress && !isUploadComplete) { - simulatedProgress += 1; // Gradually increase simulated progress - spinner.css('width', `${simulatedProgress}%`); - percentageText.text(`${simulatedProgress}%`); - } +// // Simulate progress every 20ms, gradually increasing the bar until the actual progress is reached +// const progressInterval = setInterval(function () { +// if (simulatedProgress < actualProgress && !isUploadComplete) { +// simulatedProgress += 1; // Gradually increase simulated progress +// spinner.css('width', `${simulatedProgress}%`); +// percentageText.text(`${simulatedProgress}%`); +// } - if (simulatedProgress >= 100) { - clearInterval(progressInterval); // Stop once the progress hits 100% - } - }, 30); // Increases by 1% every 20ms, making it smooth +// if (simulatedProgress >= 100) { +// clearInterval(progressInterval); // Stop once the progress hits 100% +// } +// }, 30); // Increases by 1% every 20ms, making it smooth - // Actual upload progress listener - xhr.upload.addEventListener('progress', function (e) { - if (e.lengthComputable) { - actualProgress = Math.round((e.loaded / e.total) * 100); +// // Actual upload progress listener +// xhr.upload.addEventListener('progress', function (e) { +// if (e.lengthComputable) { +// actualProgress = Math.round((e.loaded / e.total) * 100); - // If the actual progress is slow, allow the simulated progress to match it naturally - if (actualProgress >= simulatedProgress) { - simulatedProgress = actualProgress; - spinner.css('width', `${simulatedProgress}%`); - percentageText.text(`${simulatedProgress}%`); - } - } - }); +// // If the actual progress is slow, allow the simulated progress to match it naturally +// if (actualProgress >= simulatedProgress) { +// simulatedProgress = actualProgress; +// spinner.css('width', `${simulatedProgress}%`); +// percentageText.text(`${simulatedProgress}%`); +// } +// } +// }); - // On upload completion - xhr.onload = function () { - spinner.css('transition', 'all 2s ease-in'); +// // On upload completion +// xhr.onload = function () { +// spinner.css('transition', 'all 2s ease-in'); +// const uploadEndTime = new Date().getTime(); +// const timeDiff = uploadEndTime - uploadStartTime; +// const minUploadTime = 2500; // Minimum of 2 seconds for the whole process - const uploadEndTime = new Date().getTime(); - const timeDiff = uploadEndTime - uploadStartTime; - const minUploadTime = 2500; // Minimum of 2 seconds for the whole process +// const response = JSON.parse(xhr.responseText); +// isUploadComplete = true; // Mark the upload as complete +// const delayTime = Math.max(minUploadTime - timeDiff, 0); - const response = JSON.parse(xhr.responseText); - isUploadComplete = true; // Mark the upload as complete +// setTimeout(function () { +// clearInterval(progressInterval); // Clear the interval when done +// simulatedProgress = 100; +// spinner.css('width', '100%'); +// percentageText.text('100%'); - const delayTime = Math.max(minUploadTime - timeDiff, 0); +// var id2 = $("#employeeIdForList").val(); - setTimeout(function () { - clearInterval(progressInterval); // Clear the interval when done - simulatedProgress = 100; - spinner.css('width', '100%'); - percentageText.text('100%'); +// if (xhr.status === 200 && response.isSuccedded) { +// indexCount++; +// const reader = new FileReader(); +// reader.onload = function (e) { - var id2 = $("#employeeIdForList").val(); +// uploadFileCount = uploadFileCount + 1; - if (xhr.status === 200 && response.isSuccedded) { - indexCount++; - const reader = new FileReader(); - reader.onload = function (e) { +// const pdBox = $('input[data-index="' + indexId + '"]').closest('.pdBox'); +// const img = pdBox.find('.preview-image'); +// img.attr('src', e.target.result); - uploadFileCount = uploadFileCount + 1; +// //employeePicture = $('#EmployeePicture').attr('src'); +// //nationalCardFront = $('#NationalCardFront').attr('src'); +// //nationalCardRear = $('#NationalCardRear').attr('src'); +// //militaryServiceCard = $('#MilitaryServiceCard').attr('src'); +// //idCardPage1 = $('#IdCardPage1').attr('src'); +// //idCardPage2 = $('#IdCardPage2').attr('src'); +// //idCardPage3 = $('#IdCardPage3').attr('src'); +// //idCardPage4 = $('#IdCardPage4').attr('src'); +// //console.log(idCardPage2); - const pdBox = $('input[data-index="' + indexId + '"]').closest('.pdBox'); - const img = pdBox.find('.preview-image'); - img.attr('src', e.target.result); +// // updatePreviewImage(indexId, id2, e.target.result); - //updatePreviewImage(indexId, id2, e.target.result); +// }; +// if (pdBox.hasClass("complete") || pdBox.hasClass("discomplete")) { - }; - if (pdBox.hasClass("complete") || pdBox.hasClass("discomplete")) { +// pdBox.removeClass("discomplete complete"); +// pdBox.find(".sign").removeClass("discompleteSign completeSign"); +// pdBox.find(".sign").empty(); +// pdBox.find(".btnDeletingPD").removeClass("Rejected Confirmed"); +// pdBox.find("confirmedMessage ").remove(); +// pdBox.find(".resultMessage").empty(); +// } - pdBox.removeClass("discomplete complete"); - pdBox.find(".sign").removeClass("discompleteSign completeSign"); - pdBox.find(".sign").empty(); - pdBox.find(".btnDeletingPD").removeClass("Rejected Confirmed"); - pdBox.find("confirmedMessage ").remove(); - pdBox.find(".resultMessage").empty(); - } +// pdBox.find('.btnDeletingPD').removeClass('disable').addClass("Unsubmitted"); - pdBox.find('.btnDeletingPD').removeClass('disable').addClass("Unsubmitted"); +// reader.readAsDataURL(file); +// } else { +// showAlertMessage('.alert-msg', response.message || 'Error uploading file', 3500); +// $('input[type="file"][data-index="' + indexId + '"]').val(''); +// } +// spinner.css('width', '0%'); // Reset the progress bar +// spinner.hide(); +// handleActiveUploads(); +// }, delayTime); // Ensure a minimum of 2 seconds for the full process +// }; - reader.readAsDataURL(file); - } else { - showAlertMessage('.alert-msg', response.message || 'Error uploading file', 3500); - $('input[type="file"][data-index="' + indexId + '"]').val(''); - } +// // Handle upload error +// xhr.onerror = function () { +// clearInterval(progressInterval); // Stop progress on error +// showAlertMessage('.alert-msg', 'مشکلی در آپلود فایل به وجود آمد.', 3500); +// $('input[type="file"][data-index="' + indexId + '"]').val(''); +// spinner.css('width', '0%'); +// spinner.hide(); +// handleActiveUploads(); +// }; - spinner.css('width', '0%'); // Reset the progress bar - spinner.hide(); - handleActiveUploads(); - }, delayTime); // Ensure a minimum of 2 seconds for the full process - }; - - // Handle upload error - xhr.onerror = function () { - clearInterval(progressInterval); // Stop progress on error - showAlertMessage('.alert-msg', 'مشکلی در آپلود فایل به وجود آمد.', 3500); - $('input[type="file"][data-index="' + indexId + '"]').val(''); - spinner.css('width', '0%'); - spinner.hide(); - handleActiveUploads(); - }; - - xhr.send(formData); -} +// xhr.send(formData); +//} function handleActiveUploads() { activeUploads--; @@ -386,17 +626,19 @@ function removeEmployeeDocumentByLabel(indexId, employeeId) { $.ajax({ url: deleteFileAjaxUrl, method: 'POST', - data: { label: label, employeeId: employeeId}, + data: { label: label, employeeId: employeeId, workshopId: workshopId }, headers: { 'RequestVerificationToken': antiForgeryToken }, success: function (response) { if (response.isSuccedded) { uploadFileCount = uploadFileCount - 1; showAlertMessage('.alert-success-msg', 'تصویر موجود با موفقیت حذف شد.', 3500); - $(`#label_${indexId}`).val(''); + /* $(`#label_${indexId}`).val('');*/ pdBox.find('.btnDeletingPD').removeClass("Unsubmitted"); + pdBox.find('.uploaderSign').hide(); updatePreviewImage(Number(indexId), Number(employeeId), "/assetsclient/images/pd-image.png"); + } else { showAlertMessage('.alert-success-msg', response.message, 3500); } @@ -409,48 +651,58 @@ function removeEmployeeDocumentByLabel(indexId, employeeId) { function updatePreviewImage(indexId, id2, result) { switch (indexId) { - case 0: - $(`#employeePicture_${id2}.preview-image`).attr('src', result); - break; - case 1: - $(`#nationalCardFront_${id2}.preview-image`).attr('src', result); - break; - case 2: - $(`#nationalCardRear_${id2}.preview-image`).attr('src', result); - break; - case 3: - $(`#militaryServiceCard_${id2}.preview-image`).attr('src', result); - break; - case 4: - $(`#idCardPage1_${id2}.preview-image`).attr('src', result); - break; - case 5: - $(`#idCardPage2_${id2}.preview-image`).attr('src', result); - break; - case 6: - $(`#idCardPage3_${id2}.preview-image`).attr('src', result); - break; - case 7: - $(`#idCardPage4_${id2}.preview-image`).attr('src', result); - break; - default: - console.warn('Unexpected indexId:', indexId); + case 0: + $(`#employeePicture_${id2}.preview-image`).attr('src', result); + break; + case 1: + $(`#nationalCardFront_${id2}.preview-image`).attr('src', result); + break; + case 2: + $(`#nationalCardRear_${id2}.preview-image`).attr('src', result); + break; + case 3: + $(`#militaryServiceCard_${id2}.preview-image`).attr('src', result); + break; + case 4: + $(`#idCardPage1_${id2}.preview-image`).attr('src', result); + break; + case 5: + $(`#idCardPage2_${id2}.preview-image`).attr('src', result); + break; + case 6: + $(`#idCardPage3_${id2}.preview-image`).attr('src', result); + break; + case 7: + $(`#idCardPage4_${id2}.preview-image`).attr('src', result); + break; + default: + console.warn('Unexpected indexId:', indexId); } } function saveSubmit(id) { var loading = $(".spinner-loading"); - loading.show(); - var data = { - 'cmd.EmployeeDocumentsId': id - } + //var data = { + // 'cmd.EmployeeDocumentsId': id + //} + + var formData = new FormData(); + formData.append('employeeId', employeeId); + + command.forEach((item, index) => { + formData.append(`command[${index}].Label`, item.Label); + formData.append(`command[${index}].PictureFile`, item.PictureFile); + }); + $.ajax({ - url: saveSubmitAjax, + url: saveGroupSubmitAjax, method: 'POST', - data: data, + data: formData, + processData: false, + contentType: false, headers: { 'RequestVerificationToken': antiForgeryToken }, success: function (response) { loading.hide(); @@ -476,21 +728,15 @@ function saveSubmit(id) { showAlertMessage('.alert-msg', 'مشکلی در ارسال تصویر به وجود آمد.', 3500); } }); - - } function cancelOP() { - - var data = { - 'cmd.EmployeeDocumentsId': id - } $.ajax({ url: saveSubmitAjax, method: 'POST', - data: {employeeId:employeeId,}, + data: { employeeId: employeeId, }, headers: { 'RequestVerificationToken': antiForgeryToken }, success: function (response) { loading.hide(); @@ -510,4 +756,4 @@ function cancelOP() { }); -} +} \ No newline at end of file diff --git a/ServiceHost/wwwroot/AssetsClient/pages/WorkFlow/EmployeeDocuments/css/Index.css b/ServiceHost/wwwroot/AssetsClient/pages/WorkFlow/EmployeeDocuments/css/Index.css new file mode 100644 index 00000000..3a4d6876 --- /dev/null +++ b/ServiceHost/wwwroot/AssetsClient/pages/WorkFlow/EmployeeDocuments/css/Index.css @@ -0,0 +1,635 @@ +#navbar-animmenu { + width: 20%; + padding: 0 0; + position: relative; +} + + #navbar-animmenu ul { + background: #CAF5F5; + padding: 0; + margin: 0; + height: 700px; + } + + #navbar-animmenu ul li a i { + margin-left: 10px; + } + + #navbar-animmenu ul li span { + background-color: #dd2a2a; + width: 26px; + display: flex; + height: 26px; + align-items: center; + justify-content: center; + border-radius: 24px; + margin: 0 0 0 12px; + color: #fff; + font-size: 14px; + font-weight: 700; + } + + #navbar-animmenu li { + list-style-type: none; + z-index: 4; + position: relative; + cursor: pointer; + } + + #navbar-animmenu ul li a { + color: #484848; + text-decoration: none; + font-size: 15px; + line-height: 60px; + display: block; + padding: 0px 30px 0 20px; + transition-duration: 0.6s; + transition-timing-function: cubic-bezier(0.68, -0.55, 0.265, 1.55); + position: relative; + } + + #navbar-animmenu > ul > li.active > a { + color: #000000; + background-color: transparent; + transition: all 0.7s; + } + +.countNumber { + margin: 0 0 0 12px; + font-size: 12px; + background-color: #dd2a2a; + width: 24px; + height: 24px; + display: flex; + align-items: center; + justify-content: center; + border-radius: 40px; + color: #fff; + font-weight: 600; + padding: 2px 0 0 0; +} + +/* Vertical selector styling */ +.verti-selector { + display: inline-block; + position: absolute; + width: 97%; + left: 0px; + transition-duration: 0.6s; + transition-timing-function: cubic-bezier(0.68, -0.55, 0.265, 1.55); + background-color: #fff; + border-radius: 0 50px 50px 0; + /* border-top-right-radius: 15px; + border-bottom-right-radius: 15px;*/ + height: 45px; + z-index: 3; +} + + .verti-selector .top, + .verti-selector .bottom { + position: absolute; + width: 25px; + height: 25px; + background-color: #fff; + } + + .verti-selector .top { + bottom: -25px; + left: 0; + } + + .verti-selector .bottom { + top: -25px; + left: 0; + } + + .verti-selector .top:before, + .verti-selector .bottom:before { + content: ''; + position: absolute; + width: 50px; + height: 50px; + border-radius: 50%; + background-color: #CAF5F5; + } + + .verti-selector .top.last-role::before { + background-color: #f5f5f5; + } + + .verti-selector .top:before { + top: 0; + right: -25px; + } + + .verti-selector .bottom:before { + bottom: 0; + right: -25px; + } + +#accountList { + width: 80%; + background-color: #ffffff; + height: 700px; + overflow-y: scroll; + overflow-x: hidden; +} + +.createRoleBox { + width: 100%; + background-color: #ffffff; + z-index: 6; + display: block !important; + position: relative; + padding: 11px 6px; + border-bottom: 2px solid transparent; + border-image: linear-gradient(to left, #B1B1B1, #FFFFFF); + border-image-slice: 1; +} + +.sweet-alert button { + font-family: 'IRANYekanX'; +} + +.btn-create { + background: #84CC16; + border-radius: 7px; + padding: 4px 10px; + font-size: 13px; + color: #ffffff; + text-align: center; + color: #FFF; + text-align: center; + font-size: 11px; + font-style: normal; + font-weight: 400; +} + + .btn-create:hover { + background: #71b112; + } + +#hideCircle { + transition: border-radius 0.5s ease; + height: 80px; + background-color: #f5f5f5; + pointer-events: none; +} + +.isActiveTxt { + background-color: #ECFCCB; + border: 1px solid #B3EB52; + border-radius: 50px; + padding: 3px 9px; + color: #0B5959; + font-size: 11px; + width: 70px; + text-align: center; +} + +.btn-edit-role { + border: 1px solid transparent; + width: 30px; + height: 30px; + border-radius: 5px; + padding: 3px 1px; + color: #009EE2; + margin: auto 0 auto 1px; + /* background-color: #ffffff; */ + background-color: rgba(52, 209, 209, 0.20); + box-shadow: 0; + transition: ease .2s; +} + + .btn-edit-role:hover { + color: #ffffff; + /* background-color: #009EE2; */ + background-color: rgba(52, 209, 209, 0.40); + } + +.btn-delete-role { + border: 1px solid transparent; + width: 30px; + height: 30px; + border-radius: 5px; + padding: 3px 1px; + color: #FF5151; + margin: auto 1px auto 0; + background: rgba(209, 50, 50, 0.15); + transition: ease .2s; +} + + .btn-delete-role:hover { + background-color: rgba(209, 50, 50, 0.25); + } + +.btn-info { + border: 1px solid transparent; + width: 30px; + height: 30px; + border-radius: 5px; + padding: 3px 1px; + color: #009EE2; + margin: auto 0 auto 1px; + /* background-color: #ffffff; */ + background-color: #B4DBFD; + box-shadow: 0; + transition: ease .2s; +} + + .btn-info:hover { + background-color: #a2c8e9 + } + + .btn-info svg { + color: #3B82F6; + } + +.close-btn-search { + position: absolute; + top: 50%; + left: 4px; + transform: translateY(-50%); + color: #fff; + background-color: #f87171; + width: 26px; + height: 26px; + display: flex; + align-items: center; + justify-content: center; +} + +.Rtable--collapse .Rtable-row { + flex-wrap: nowrap; + padding: 1px; +} + + .Rtable--collapse .Rtable-row.SubAccountRowMobile { + flex-wrap: nowrap; + padding: 1px; + outline: 1px solid #dddddd; + } + +.roleTitle { + font-size: 12px; + font-weight: 500; +} + +.roleName { + font-size: 16px; + font-weight: 700; +} + + +/********************************** Sub Account Table **********************************/ +.rightHeaderMenu { + width: 20%; + display: flex; + align-items: center; + justify-content: space-between; +} + +.leftHeaderMenu { + width: 80%; + display: flex; + align-items: center; + justify-content: space-between; +} + +.subAccountHeaderList { +} + + +.roleSubaccountListMobile .width1 { + width: 10% !important; +} + +.roleSubaccountListMobile .width2 { + width: 10% !important; +} + +.roleSubaccountListMobile .width3 { + width: 10% !important; +} + +.roleSubaccountListMobile .width4 { + width: 20% !important; +} + +.roleSubaccountListMobile .width5 { + width: 20% !important; +} + +.roleSubaccountListMobile .width6 { + width: 20% !important; +} + +.roleSubaccountListMobile .width7 { + width: 10% !important; +} + +.bgSubRow { + outline: transparent !important; + background-color: #CEF4F4 !important; +} +/********************************** Sub Account Table **********************************/ + +.switch { + position: relative; + display: inline-block; + width: 40px; + height: 24px; +} + + /* Hide default HTML checkbox */ + .switch input { + opacity: 0; + width: 0; + height: 0; + } + +/* The slider */ +.sliderEUP { + position: absolute; + cursor: pointer; + top: 0; + left: 0; + right: 0; + bottom: 0; + background-color: #ccc; + transition: 0.4s; + border-radius: 24px; +} + + /* Rounded slider */ + .sliderEUP:before { + position: absolute; + content: ""; + height: 20px; + width: 20px; + left: 2px; + bottom: 2px; + background-color: white; + transition: 0.4s; + border-radius: 50%; + } + +/* Checked state */ +input:checked + .sliderEUP { + background-color: #2FBFBF; +} + + /* Move the slider to the right when checked */ + input:checked + .sliderEUP:before { + transform: translateX(16px); + } + +/* Disable state */ +.disable + .sliderEUP { + background-color: #ccc; + cursor: not-allowed; +} + + .disable + .sliderEUP:before { + background-color: #999; + } + + + + + +.leftHeaderMenu .Rtable-cell.width1 { + width: 7% +} + +.leftHeaderMenu .Rtable-cell.width2 { + width: 13% +} + +.leftHeaderMenu .Rtable-cell.width3 { + width: 10% +} + +.leftHeaderMenu .Rtable-cell.width4 { + width: 20% +} + +.leftHeaderMenu .Rtable-cell.width5 { + width: 20% +} + +.leftHeaderMenu .Rtable-cell.width6 { + width: 20% +} + +.leftHeaderMenu .Rtable-cell.width7 { + width: 10% +} + +.Rtable .workflow-list .width1 { + width: 7% +} + +.Rtable .workflow-list .width2 { + width: 13% +} + +.Rtable .workflow-list .width3 { + width: 10% +} + +.Rtable .workflow-list .width4 { + width: 20% +} + +.Rtable .workflow-list .width5 { + width: 20% +} + +.Rtable .workflow-list .width6 { + width: 20% +} + +.Rtable .workflow-list .width7 { + width: 10% +} + +.btn-workflow-absent { + border: 1px solid transparent; + height: 30px; + border-radius: 5px; + padding: 3px 1px; + color: #FF5151; + margin: auto 1px auto 0; + background-color: #ffffff; + background: rgba(209, 50, 50, 0.15); + transition: ease .2s; + width: 55px; +} + +.btn-workflow-rollcall-edit { + border: 1px solid transparent; + height: 30px; + border-radius: 5px; + padding: 3px 1px; + color: #009EE2; + margin: auto 0 auto 1px; + background-color: #ffffff; + background-color: rgba(52, 209, 209, 0.20); + transition: ease .2s; + width: 55px; +} + +.btn-workflow-leave { + border: 1px solid transparent; + height: 30px; + border-radius: 5px; + padding: 3px 1px; + color: #d97706; + margin: auto 1px auto 0; + background-color: #ffffff; + background: rgba(217, 119, 6, 0.18); + transition: ease .2s; + width: 55px; +} + +.btn-workflow-accept { + border: 1px solid transparent; + height: 30px; + border-radius: 5px; + padding: 3px 1px; + color: #65a30d; + margin: auto 1px auto 0; + background-color: #ffffff; + background: rgba(101, 163, 13, 0.15); + transition: ease .2s; + width: 55px; +} + +.operations-btns-main { + padding: 15px; + width: 97%; + margin: 0 auto 10px; + display: none; + border-radius: 0px 0px 8px 8px; + background: #F1F5F9; + box-shadow: 0px 4px 5px 0px rgba(0, 0, 0, 0.03) inset; +} + +.number-of-count { + background-color: #caf5f5; + margin: 0 10px 0 0; + border-radius: 5px; + display: inline-block; + padding: 0 5px; + color: #368686; + font-weight: 700; +} + +.toggle { + cursor: pointer; + font-size: 12px; +} + + .toggle svg { + stroke: #ffffff; + transition: transform 0.3s ease; + } + + .toggle.open svg { + transform: rotate(-90deg); + } + +@media (max-width: 1366px) { + #navbar-animmenu ul li a { + font-size: 13px; + font-weight: 700; + text-overflow: ellipsis; + overflow: hidden; + white-space: nowrap; + } + + #accountList { + height: 440px; + } + + #navbar-animmenu ul { + height: 440px; + } +} + +@media (max-width: 767px) { + .Rtable--collapse .Rtable-row { + outline: 1.8px solid #ddd !important; + } + + .Rtable .workflow-list .width1 { + width: 5% !important; + } + + .Rtable .workflow-list .width2 { + width: 50% !important; + } + + .Rtable .workflow-list .width4 { + width: 20% !important; + } + + .Rtable--collapse .Rtable-row .Rtable-cell .Rtable-cell--content { + text-align: right; + } + + .btn-workflow-accept, + .btn-workflow-leave, + .btn-workflow-absent, + .btn-workflow-rollcall-edit { + width: 100%; + margin: 1px 0; + } + + .employee-name { + font-weight: 800; + } + + + + + + + + /* responsive Mobile */ + #navbar-animmenu { + width: 100%; + } + + #navbar-animmenu ul { + display: flex; + height: auto; + overflow: scroll; + } + + .verti-selector { + display: none + } + + #navbar-animmenu li.active { + background-color: #fff; + width: 100%; + } + + #accountList { + width: 100%; + height: auto; + } +} + +.preview-image { + width: 50px; + height: 35px; + border-radius: 8px; + object-fit: cover; +} + +.txtMonilePD { + display: none +} diff --git a/ServiceHost/wwwroot/AssetsClient/pages/WorkFlow/EmployeeDocuments/js/Index.js b/ServiceHost/wwwroot/AssetsClient/pages/WorkFlow/EmployeeDocuments/js/Index.js new file mode 100644 index 00000000..7b0ffaed --- /dev/null +++ b/ServiceHost/wwwroot/AssetsClient/pages/WorkFlow/EmployeeDocuments/js/Index.js @@ -0,0 +1,368 @@ +var ajaxService = new AjaxService(antiForgeryToken); + +var lengthMenu = 0; +var loadFunctionClientRejectedDocument = true; + +loadMenuAnime(); +$(document).ready(function () { + //CountWorkFlowOfAbsentAndCut(); + loadClientRejectedDocument(); + + $("#clickAbsentTab").click(function () { + //$('.rejectedDocumentWorkFlowLists').fadeOut(200, function () { + // $('.rejectedDocumentWorkFlowLists').fadeIn(200); + //}); + if (loadFunctionClientRejectedDocument) { + loadWorkFlowsAbsentsList(); + } + }); +}); + +function loadMenuAnime() { + var tabsNewAnim = $('#navbar-animmenu'); + var selectorNewAnim = $('#navbar-animmenu').find('li').length; + var activeItemNewAnim = tabsNewAnim.find('.active'); + var activeHeightNewAnimHeight = activeItemNewAnim.innerHeight(); + var itemPosNewAnimTop = activeItemNewAnim.position(); + $(".verti-selector").css({ + "top": itemPosNewAnimTop.top + "px", + "height": activeHeightNewAnimHeight + "px" + }); + + $('.active').each(function () { + var targetForm = $(this).data('target'); + $('#' + targetForm).show(); + }); + + if (lengthMenu === 1) { + if ($('.main-navbar li').hasClass('lastRole')) { + $('.verti-selector .top').addClass('last-role'); + $('#hideCircle').css('border-radius', '25px 0 0 0'); + } else { + $('.verti-selector .top').removeClass('last-role'); + $('#hideCircle').css('border-radius', '0 0 0 0'); + } + } + + $("#navbar-animmenu").on("click", "li", function (e) { + if ($(this).hasClass('lastRole')) { + //$('.verti-selector .top').addClass('last-role'); + $('#hideCircle').css('border-radius', '25px 0 0 0'); + } else { + //$('.verti-selector .top').removeClass('last-role'); + $('#hideCircle').css('border-radius', '0 0 0 0'); + } + + $('#navbar-animmenu ul li').removeClass("active"); + $(this).addClass('active'); + + var activeHeightNewAnimHeight = $(this).innerHeight(); + var itemPosNewAnimTop = $(this).position(); + $(".verti-selector").css({ + "top": itemPosNewAnimTop.top + "px", + "height": activeHeightNewAnimHeight + "px" + }); + + $('.form-section').hide(); + $('.accountListHead').text($(this).find('a').text()); + var targetForm = $(this).data('target'); + $('#' + targetForm).show(); + }); + + //$("#navbar-animmenu").on("click", "li", function (e) { + // var targetForm = $(this).data('target'); + // $('#navbar-animmenu ul li').removeClass("active"); + // $(this).addClass('active'); + + // var activeHeightNewAnimHeight = $(this).innerHeight(); + // var itemPosNewAnimTop = $(this).position(); + + // $(".verti-selector").stop(true, true).animate({ + // "top": itemPosNewAnimTop.top + "px", + // "height": activeHeightNewAnimHeight + "px" + // }, 300); // انیمیشن با مدت زمان 300 میلی‌ثانیه + + // $('.form-section').fadeOut(200); + // $('#' + targetForm).fadeIn(300); // انیمیشن تغییر صفحه + //}); +} + +$(document).on('click', ".openActionMain", function () { + $('.toggle').not($(this).find('.toggle')).removeClass('open'); + + $(this).next().find(".operations-btns-main").slideToggle(500); + $(".operations-btns-main").not($(this).next().find(".operations-btns-main")).slideUp(500); + + $(this).find('.toggle').toggleClass('open'); +}); + +$(document).on('click', ".openAction", function () { + if (window.matchMedia('(max-width: 768px)').matches) { + $(this).next().find(".operations-btns").slideToggle(500); + $(".operations-btns").not($(this).next().find(".operations-btns")).slideUp(500); + } +}); + +function loadClientRejectedDocument() { + var html = ``; + ajaxService.get(clientRejectedDocumentForClientUrl) + .then(response => { + + var data = response.data; + + if (response.success) { + CountWorkFlowOfTabs(data.length); + if (data.length > 0) { + + data.forEach(function (item, i) { + html += `
    +
    +
    +
    + ردیف +
    +
    + + ${i + 1} + +
    +
    + +
    +
    نام پرسنل
    +
    + ${item.employeeFullName} +

    +
    +
    + +
    +
    +
    + +
    +
    +
    `; + if (item.employeePicture.picturePath) { + html += ``; + } else { + html += ``; + } + html += `
    +
    عکس پرسنلی
    +
    +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    `; + if (item.nationalCardFront.picturePath) { + html += ``; + } else { + html += ``; + } + html += `
    +
    کارت ملی رو
    +
    +
    + +
    +
    +
    `; + if (item.nationalCardRear.picturePath) { + html += `
    `; + } else { + html += `
    `; + } + html += `
    +
    کارت ملی پشت
    +
    +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    `; + if (item.militaryServiceCard.picturePath) { + html += ``; + } else { + html += ``; + } + html += `
    +
    کارت پایان خدمت
    +
    +
    + +
    +
    +
    + +
    +
    +
    پیغام:
    +
    + +
    +
    +
    `; + if (item.idCardPage1.picturePath) { + html += `
    `; + } else { + html += `
    `; + } + html += `
    +
    شناسنامه صفحه اول
    +
    +
    +
    +
    +
    `; + if (item.idCardPage2.picturePath) { + html += `
    `; + } else { + html += `
    `; + } + html += `
    +
    شناسنامه صفحه دوم
    +
    +
    +
    +
    +
    `; + if (item.idCardPage3.picturePath) { + html += `
    `; + } else { + html += `
    `; + } + html += `
    +
    شناسنامه صفحه سوم
    +
    +
    +
    +
    +
    `; + if (item.idCardPage4.picturePath) { + html += `
    `; + } else { + html += `
    `; + } + html += `
    +
    شناسنامه صفحه چهارم
    +
    +
    + +
    +
    +
    + + +
    +
    + + + +
    +
    +
    `; + }); + + } else { + html += `
    +
    +
    +
    + +
    اطلاعاتی وجود ندارد.
    +
    +
    +
    +
    `; + } + + $(`#loadRejectedDocumentWorkFlow`).html(html); + $(`#loadingSkeletonRejectedDocument`).hide(); + } + + }); +} + +var countGlobal = 0; +function CountWorkFlowOfTabs(dataCount) { + countGlobal = dataCount; + $('.spinner-grow').hide(); + + if (countGlobal === 0) { + $('#CountRejectedDocument').hide(); + } else { + $('#CountRejectedDocument').show(); + $('#CountRejectedDocument').text(dataCount); + } +} + + + +function showModalLeave(employeeId, dateFa, employeeName) { + var goTo = `#showmodal=/Client/Company/WorkFlow/RollCall?handler=LeaveCreate&Command.StartLeave=${dateFa}&Command.EmployeeId=${employeeId}&Command.EmployeeFullName=${employeeName}`; + window.location.href = goTo; +} + + + +function updateIndexesWorkFlow(dateDiv) { + let index = 1; + + $(`#${dateDiv} .employee-row:visible .table-number`).each(function () { + $(this).text(index++); + }); +} + +function updateMainWorkFlow(dateDiv) { + let indexMain = 1; + + $(`#${dateDiv} .number-of-count`).each(function () { + var text = Number($(this).text()); + $(this).text(text - 1); + + if (text - 1 === 0) { + $(`#${dateDiv}`).next().remove(); + $(`#${dateDiv}`).remove(); + + $(`.Rtable-cell.width1 .Rtable-cell--content span`).each(function () { + $(this).text(indexMain++); + }); + } + }); +} + + + +function showModalEmployeeDocuments(id) { + var goTo = `#showmodal=/Client/Company/WorkFlow/EmployeeDocuments/Index?employeeId=${id}&handler=CreateUploadDocument`; + window.location.href = goTo; +} + +function checkImage() { + $('.documentFileBox').each(function () { + if ($(this).find('img.uploaded').length > 0) { + // Add the highlighted-border class to the documentFileBox + $(this).addClass('highlighted-border'); + } + }); +} \ No newline at end of file diff --git a/ServiceHost/wwwroot/AssetsClient/pages/WorkFlow/EmployeeDocuments/js/ModalUploadDocument.js b/ServiceHost/wwwroot/AssetsClient/pages/WorkFlow/EmployeeDocuments/js/ModalUploadDocument.js new file mode 100644 index 00000000..d4273457 --- /dev/null +++ b/ServiceHost/wwwroot/AssetsClient/pages/WorkFlow/EmployeeDocuments/js/ModalUploadDocument.js @@ -0,0 +1,775 @@ +var employeePicture; +var nationalCardFront; +var nationalCardRear; +var militaryServiceCard; +var idCardPage1; +var idCardPage2; +var idCardPage3; +var idCardPage4; +var uploadFileCount = UploadedCount; +var command = []; + +var pendingMessage = `
    بررسی
    `; +var pendingIcon = ``; +var confirmMessage = `
    تایید
    `; +var confirmIcon = ``; +var rejectMessage = `
    رد شده
    `; +var rejectIcon = ``; + + + +$(document).ready(function () { + var employeeId = $("#employeeIdForList").val(); + + //$('.btnDeletingPD').each(function () { + // if ($(this).hasClass('Unsubmitted')) { // Remove the extra class selector '.btnDeletingPD' + // $(this).closest('.pdBox').addClass('justUploaded'); // Add 'justUploaded' to the closest parent .pdBox + // } + //}); + + + $(".btnDeletingPD ").each(function () { + if ($(this).hasClass("SubmittedByAdmin") || $(this).hasClass("Rejected") || $(this).hasClass("Confirmed")) { + $(this).addClass("disable"); + } else { + return; + } + }); + + $(document).off('click', '.btnUploadingPD').on('click', '.btnUploadingPD', function (event) { + event.preventDefault(); + const index = $(this).data('index'); + $('input[type="file"][data-index="' + index + '"]').click(); + }); + + $('.pdBox').each(function () { + if ($(".isTrue").hasClass("isTrue") && $(".Unsubmitted").hasClass("Unsubmitted") || $(".SubmittedByClient").hasClass("SubmittedByClient")) { + $(".btnCreateNew").prop("disabled", false); + $(".btnCreateNew ").removeClass("disable"); + } else { + $(".btnCreateNew ").addClass("disable"); + } + }); + + $('.pdBox').each(function () { + // Check if there's a button with the 'submitted' class inside the pdBox + if ($(this).find('button.SubmittedByAdmin').length > 0) { + $(this).addClass('pending'); + $(this).find(".pdImageBox .sign").addClass("pendingSign").html(pendingIcon); + $(this).find(".btnUploadingPD").addClass("disable"); + $(this).find(".resultMessage").html(pendingMessage); + } + if ($(this).find('button.Confirmed').length > 0) { + $(this).addClass('complete'); + $(this).find(".pdImageBox .sign").addClass("completeSign").html(confirmIcon); + $(this).find(".resultMessage").html(confirmMessage); + } + if ($(this).find('button.Rejected').length > 0) { + $(this).addClass('discomplete'); + $(this).find(".pdImageBox .sign").addClass("discompleteSign").html(rejectIcon); + $(this).find(".resultMessage").html(rejectMessage); + } + }); + + $(document).off('change', '.file-input').on('change', '.file-input', function (e) { + e.preventDefault(); + + const fileInputFile = this.files[0]; + const indexFileValue = $(this).data('index'); + const validExtensions = ['jpg', 'jpeg', 'png']; + const validPdfExtensions = ['pdf']; + + const label = $(`#label_${indexFileValue}`).val(); + const pdBox = $(this).closest('.pdBox'); + const img = pdBox.find('.preview-image'); + var deleteButton = pdBox.find('.btnDeletingPD'); + + if (fileInputFile) { + const fileName = fileInputFile.name.toLowerCase(); + const extension = fileName.split('.').pop(); + + // بررسی فرمت‌های تصویر (jpeg, jpg, png) + if (validExtensions.includes(extension)) { + if (fileInputFile.size > 5000000) { + showAlertMessage('.alert-msg', 'لطفا فایل حجم کمتر از 5 مگابایت را آپلود کنید.', 3500); + $(this).val(''); + return; + } + + const reader = new FileReader(); + reader.onload = function (event) { + img.attr('src', event.target.result); + + const base64String = event.target.result.split(',')[1]; + const byteCharacters = atob(base64String); + const byteNumbers = new Array(byteCharacters.length); + for (let i = 0; i < byteCharacters.length; i++) { + byteNumbers[i] = byteCharacters.charCodeAt(i); + } + const byteArray = new Uint8Array(byteNumbers); + const blob = new Blob([byteArray], { type: fileInputFile.type }); + const newFile = new File([blob], fileInputFile.name, { type: fileInputFile.type }); + + let existingIndex = command.findIndex(item => item.Label === label); + if (existingIndex !== -1) { + command[existingIndex].PictureFile = newFile; + } else { + let picturesPart = { + Label: label, + PictureFile: newFile + }; + command.push(picturesPart); + } + }; + + reader.readAsDataURL(fileInputFile); + $('#createUploadingFiles').prop('disabled', false).removeClass('disable'); + + pdBox.removeClass(); + pdBox.addClass('pdBox'); + + showLoadingAnimation(indexFileValue); + } + else if (validPdfExtensions.includes(extension)) { + var fileReader = new FileReader(); + + fileReader.onload = function () { + var typedarray = new Uint8Array(this.result); + pdfjsLib.getDocument(typedarray).promise.then(function (pdf) { + totalPageCount = pdf.numPages; + + if (totalPageCount > 1) { + showAlertMessage('.alert-msg', 'آپلود مجاز نیست! تعداد صفحات نباید بیشتر از ۱ باشد.', 3500); + return; + } + + pdf.getPage(1).then(function (page) { + var scale = 2.0; + var viewport = page.getViewport({ scale: scale }); + + var canvas = document.createElement("canvas"); + canvas.className = "page"; + canvas.title = "Page 1"; + canvas.height = viewport.height; + canvas.width = viewport.width; + + var context = canvas.getContext("2d"); + + page.render({ + canvasContext: context, + viewport: viewport + }).promise.then(function () { + pdBox.removeClass(); + pdBox.addClass('pdBox'); + uploadCanvasAsFile(canvas, `${label}_${indexFileValue}.jpg`, indexFileValue, label); + }).catch(function (error) { + showAlertMessage('.alert-msg', 'مشکلی در پردازش PDF رخ داده است!', 3500); + }); + }).catch(function (error) { + showAlertMessage('.alert-msg', 'خطا در دریافت صفحه PDF!', 3500); + }); + + }).catch(function (error) { + showAlertMessage('.alert-msg', 'خطا در بارگذاری فایل PDF!', 3500); + }); + }; + + fileReader.readAsArrayBuffer(fileInputFile); + + } + else { + showAlertMessage('.alert-msg', 'فرمت فایل باید یکی از موارد jpeg, jpg, png یا pdf باشد.', 3500); + return; + } + + deleteButton.removeClass('disable'); + if (pdBox.find('button.Rejected').length > 0) { + pdBox.find(".btnSendToChecker").removeClass("disable"); + } + } + }); + + //$(document).off('change', '.file-input').on('change', '.file-input', function (e) { + // e.preventDefault(); + + // const fileInputFile = this.files[0]; + // const indexFileValue = $(this).data('index'); + // const validExtensions = ['jpg', 'jpeg', 'png']; + + // const label = $(`#label_${indexFileValue}`).val(); + // const pdBox = $(this).closest('.pdBox'); + // const img = pdBox.find('.preview-image'); + + // if (fileInputFile) { + // const fileName = fileInputFile.name.toLowerCase(); + // const extension = fileName.split('.').pop(); + + // if (validExtensions.includes(extension)) { + // if (fileInputFile.size > 5000000) { + // showAlertMessage('.alert-msg', 'لطفا فایل حجم کمتر از 5 مگابایت را آپلود کنید.', 3500); + // $(this).val(''); + // return; + // } + + // // خواندن فایل و نمایش آن + // const reader = new FileReader(); + // reader.onload = function (event) { + // img.attr('src', event.target.result); + + // const base64String = event.target.result.split(',')[1]; + // const byteCharacters = atob(base64String); + // const byteNumbers = new Array(byteCharacters.length); + // for (let i = 0; i < byteCharacters.length; i++) { + // byteNumbers[i] = byteCharacters.charCodeAt(i); + // } + // const byteArray = new Uint8Array(byteNumbers); + // const blob = new Blob([byteArray], { type: fileInputFile.type }); + // const newFile = new File([blob], fileInputFile.name, { type: fileInputFile.type }); + + // let picturesPart = { + // Label: label, + // PictureFile: newFile + // }; + // pictures.push(picturesPart); + // }; + + // reader.readAsDataURL(fileInputFile); + + // //uploadFile(fileInputFile, indexFileValue, label); + // } else { + // showAlertMessage('.alert-msg', 'فرمت فایل باید یکی از موارد jpeg, jpg یا png باشد.', 3500); + // } + // } + + // console.log(pictures); + //}); + + + + + + //$(document).off('change', '.file-input').on('change', '.file-input', function (e) { + // e.preventDefault(); + + // const fileInputFile = this.files[0]; + // const indexFileValue = $(this).data('index'); + // const validExtensions = ['jpg', 'jpeg', 'png']; + // const validPdfExtensions = ['pdf']; + + // const label = $(`#label_${indexFileValue}`).val(); + + // if (fileInputFile) { + // const fileName = fileInputFile.name.toLowerCase(); + // const extension = fileName.split('.').pop(); + + // if (validExtensions.includes(extension)) { + // if (fileInputFile.size > 5000000) { + // showAlertMessage('.alert-msg', 'لطفا فایل حجم کمتر از 5 مگابایت را آپلود کنید.', 3500); + // $(this).val(''); + // return; + // } + // uploadFile(fileInputFile, indexFileValue, label); + // } else if (validPdfExtensions.includes(extension)) { + + // var fileReader = new FileReader(); + + // fileReader.onload = function () { + // var typedarray = new Uint8Array(this.result); + // pdfjsLib.getDocument(typedarray).promise.then(function (pdf) { + // totalPageCount = pdf.numPages; + + // if (totalPageCount > 1) { + // showAlertMessage('.alert-msg', 'آپلود مجاز نیست! تعداد صفحات نباید بیشتر از ۱ باشد.', 3500); + // return; + // } + + // pdf.getPage(1).then(function (page) { // فقط صفحه اول پردازش می‌شود + // var scale = 2.0; + // var viewport = page.getViewport({ scale: scale }); + + // var canvas = document.createElement("canvas"); + // canvas.className = "page"; + // canvas.title = "Page 1"; + // canvas.height = viewport.height; + // canvas.width = viewport.width; + + // var context = canvas.getContext("2d"); + + // page.render({ + // canvasContext: context, + // viewport: viewport + // }) + // .promise.then(function () { + // uploadCanvasAsFile(canvas, `${label}_${indexFileValue}.jpg`, indexFileValue, label); + // }) + // .catch(function (error) { + // showAlertMessage('.alert-msg', 'مشکلی در پردازش PDF رخ داده است!', 3500); + // }); + // }).catch(function (error) { + // showAlertMessage('.alert-msg', 'خطا در دریافت صفحه PDF!', 3500); + // }); + + // }).catch(function (error) { + // showAlertMessage('.alert-msg', 'خطا در بارگذاری فایل PDF!', 3500); + // }); + // }; + + // fileReader.readAsArrayBuffer(fileInputFile); + + // } else { + // showAlertMessage('.alert-msg', 'فرمت فایل باید یکی از موارد jpeg, jpg یا png باشد.', 3500); + // } + // } + //}); + + $(document).off('click', '.btnDeletingPD').on('click', '.btnDeletingPD', function (event) { + event.preventDefault(); + const indexId = $(this).data('index'); + + swal.fire({ + title: "اخطار", + text: "آیا میخواهید تصویر موجود را حذف کنید؟", + icon: "warning", + showCancelButton: true, + confirmButtonText: "بله", + cancelButtonText: "خیر", + confirmButtonColor: '#84cc16', + reverseButtons: true + }).then((result) => { + if (result.isConfirmed) { + removeEmployeeDocumentByLabel(indexId, employeeId); + const pdBox = $('input[data-index="' + indexId + '"]').closest('.pdBox'); + const img = pdBox.find('.preview-image'); + img.attr('src', '/assetsclient/images/pd-image.png'); + $(this).addClass('disable'); + } else { + $(this).removeClass('disable'); + } + }); + + }); + + $(".exitModal").click(function () { + if (uploadFileCount > 0) { + swal.fire({ + title: "اخطار", + text: "در صورت انصراف عملیات ثبت نخواهد شد!", + icon: "warning", + showCancelButton: true, + confirmButtonText: "بله", + cancelButtonText: "خیر", + confirmButtonColor: '#84cc16', + reverseButtons: true + }).then((result) => { + if (result.isConfirmed) { + cancelOperation(); + } + }); + } else { + $('#MainModal').modal('hide'); + } + }); +}); + +function cancelOperation() { + $.ajax({ + url: cancelOperationUrl, + method: 'POST', + data: { employeeId: employeeId }, + headers: { 'RequestVerificationToken': antiForgeryToken }, + success: function (response) { + if (response.success) { + $('#MainModal').modal('hide'); + } else { + showAlertMessage('.alert-success-msg', response.message, 3500); + } + }, + error: function (response) { + showAlertMessage('.alert-msg', response.message, 3500); + } + }); +} + +var indexCount = 0; +var activeUploads = 0; +function showLoadingAnimation(indexId) { + uploadFileCount = uploadFileCount + 1; + + //const pdBox = $('input[data-index="' + indexId + '"]').closest('.pdBox'); + //const spinner = pdBox.find('.spinner-loading-progress'); + //const percentageText = pdBox.find('.percentageText'); + + //spinner.show(); + //activeUploads++; + //$('#createUploadingFiles').prop('disabled', true).addClass('disable'); + + //let simulatedProgress = 0; + //const progressInterval = setInterval(function () { + // if (simulatedProgress < 100) { + // simulatedProgress += 2; + // spinner.css('width', `${simulatedProgress}%`); + // percentageText.text(`${simulatedProgress}%`); + // } + + // if (simulatedProgress >= 100) { + // clearInterval(progressInterval); + // } + //}, 30); + + //setTimeout(function () { + // clearInterval(progressInterval); + // spinner.css('width', '100%'); + // percentageText.text('100%'); + + // spinner.hide(); + // spinner.css('width', '0%'); + // handleActiveUploads(); + //}, 2300); +} + +//function uploadCanvasAsFile(canvas, fileName, indexFileValue, label) { +// canvas.toBlob(function (blob) { +// if (!blob) { +// showAlertMessage('.alert-msg', 'مشکلی در تبدیل تصویر رخ داده است!', 3500); +// return; +// } + +// let file = new File([blob], fileName, { type: 'image/png' }); + +// uploadFile(file, indexFileValue, label); + +// }, "image/png"); +//} + +function uploadCanvasAsFile(canvas, fileName, indexFileValue, label) { + canvas.toBlob(function (blob) { + if (!blob) { + showAlertMessage('.alert-msg', 'مشکلی در تبدیل تصویر رخ داده است!', 3500); + return; + } + + let file = new File([blob], fileName, { type: 'image/png' }); + const imageUrl = URL.createObjectURL(blob); + + const img = $(`#${label}`); + img.attr('src', imageUrl); + + let existingIndex = command.findIndex(item => item.Label === label); + if (existingIndex !== -1) { + command[existingIndex].PictureFile = file; + } else { + let picturesPart = { + Label: label, + PictureFile: file + }; + command.push(picturesPart); + } + + $('#createUploadingFiles').prop('disabled', false).removeClass('disable'); + showLoadingAnimation(indexFileValue); + + }, "image/png"); +} + +//var indexCount = 0; +//var activeUploads = 0; +//function uploadFile(file, indexId, label) { +// const formData = new FormData(); +// formData.append('command.EmployeeId', employeeId); +// formData.append('command.WorkshopId', workshopId); +// formData.append('command.Label', label); +// formData.append('command.PictureFile', file); + +// const pdBox = $('input[data-index="' + indexId + '"]').closest('.pdBox'); +// const spinner = pdBox.find('.spinner-loading-progress'); + +// const percentageText = pdBox.find('.percentageText'); + +// spinner.show(); +// activeUploads++; +// $('#createUploadingFiles').prop('disabled', true).addClass('disable'); + +// const xhr = new XMLHttpRequest(); +// xhr.open('POST', saveUploadFileModalAjax, true); +// xhr.setRequestHeader('RequestVerificationToken', antiForgeryToken); + +// const uploadStartTime = new Date().getTime(); +// let simulatedProgress = 0; +// let actualProgress = 0; +// let isUploadComplete = false; + +// // Simulate progress every 20ms, gradually increasing the bar until the actual progress is reached +// const progressInterval = setInterval(function () { +// if (simulatedProgress < actualProgress && !isUploadComplete) { +// simulatedProgress += 1; // Gradually increase simulated progress +// spinner.css('width', `${simulatedProgress}%`); +// percentageText.text(`${simulatedProgress}%`); +// } + +// if (simulatedProgress >= 100) { +// clearInterval(progressInterval); // Stop once the progress hits 100% +// } +// }, 30); // Increases by 1% every 20ms, making it smooth + +// // Actual upload progress listener +// xhr.upload.addEventListener('progress', function (e) { +// if (e.lengthComputable) { +// actualProgress = Math.round((e.loaded / e.total) * 100); + +// // If the actual progress is slow, allow the simulated progress to match it naturally +// if (actualProgress >= simulatedProgress) { +// simulatedProgress = actualProgress; +// spinner.css('width', `${simulatedProgress}%`); +// percentageText.text(`${simulatedProgress}%`); +// } +// } +// }); + +// // On upload completion +// xhr.onload = function () { +// spinner.css('transition', 'all 2s ease-in'); +// const uploadEndTime = new Date().getTime(); +// const timeDiff = uploadEndTime - uploadStartTime; +// const minUploadTime = 2500; // Minimum of 2 seconds for the whole process + +// const response = JSON.parse(xhr.responseText); +// isUploadComplete = true; // Mark the upload as complete +// const delayTime = Math.max(minUploadTime - timeDiff, 0); + +// setTimeout(function () { +// clearInterval(progressInterval); // Clear the interval when done +// simulatedProgress = 100; +// spinner.css('width', '100%'); +// percentageText.text('100%'); + +// var id2 = $("#employeeIdForList").val(); + +// if (xhr.status === 200 && response.isSuccedded) { +// indexCount++; +// const reader = new FileReader(); +// reader.onload = function (e) { + +// uploadFileCount = uploadFileCount + 1; + +// const pdBox = $('input[data-index="' + indexId + '"]').closest('.pdBox'); +// const img = pdBox.find('.preview-image'); +// img.attr('src', e.target.result); + +// //employeePicture = $('#EmployeePicture').attr('src'); +// //nationalCardFront = $('#NationalCardFront').attr('src'); +// //nationalCardRear = $('#NationalCardRear').attr('src'); +// //militaryServiceCard = $('#MilitaryServiceCard').attr('src'); +// //idCardPage1 = $('#IdCardPage1').attr('src'); +// //idCardPage2 = $('#IdCardPage2').attr('src'); +// //idCardPage3 = $('#IdCardPage3').attr('src'); +// //idCardPage4 = $('#IdCardPage4').attr('src'); +// //console.log(idCardPage2); + +// // updatePreviewImage(indexId, id2, e.target.result); + +// }; + +// if (pdBox.hasClass("complete") || pdBox.hasClass("discomplete")) { + +// pdBox.removeClass("discomplete complete"); +// pdBox.find(".sign").removeClass("discompleteSign completeSign"); +// pdBox.find(".sign").empty(); +// pdBox.find(".btnDeletingPD").removeClass("Rejected Confirmed"); +// pdBox.find("confirmedMessage ").remove(); +// pdBox.find(".resultMessage").empty(); +// } + +// pdBox.find('.btnDeletingPD').removeClass('disable').addClass("Unsubmitted"); + +// reader.readAsDataURL(file); +// } else { +// showAlertMessage('.alert-msg', response.message || 'Error uploading file', 3500); +// $('input[type="file"][data-index="' + indexId + '"]').val(''); +// } +// spinner.css('width', '0%'); // Reset the progress bar +// spinner.hide(); +// handleActiveUploads(); +// }, delayTime); // Ensure a minimum of 2 seconds for the full process +// }; + +// // Handle upload error +// xhr.onerror = function () { +// clearInterval(progressInterval); // Stop progress on error +// showAlertMessage('.alert-msg', 'مشکلی در آپلود فایل به وجود آمد.', 3500); +// $('input[type="file"][data-index="' + indexId + '"]').val(''); +// spinner.css('width', '0%'); +// spinner.hide(); +// handleActiveUploads(); +// }; + +// xhr.send(formData); +//} + +function handleActiveUploads() { + activeUploads--; + if (activeUploads === 0) { + $('#createUploadingFiles').prop('disabled', false).removeClass('disable'); + } +} + +function showAlertMessage(selector, message, timeout) { + $(selector).show(); + $(selector + ' p').text(message); + setTimeout(function () { + $(selector).hide(); + $(selector + ' p').text(''); + }, timeout); +} + +function removeEmployeeDocumentByLabel(indexId, employeeId) { + const label = $(`#label_${indexId}`).val(); + const pdBox = $('input[data-index="' + indexId + '"]').closest('.pdBox'); + + $.ajax({ + url: deleteFileAjaxUrl, + method: 'POST', + data: { label: label, employeeId: employeeId }, + headers: { 'RequestVerificationToken': antiForgeryToken }, + success: function (response) { + if (response.isSuccedded) { + uploadFileCount = uploadFileCount - 1; + + showAlertMessage('.alert-success-msg', 'تصویر موجود با موفقیت حذف شد.', 3500); + /* $(`#label_${indexId}`).val('');*/ + pdBox.find('.btnDeletingPD').removeClass("Unsubmitted"); + pdBox.find('.uploaderSign').hide(); + updatePreviewImage(Number(indexId), Number(employeeId), "/assetsclient/images/pd-image.png"); + + + } else { + showAlertMessage('.alert-success-msg', response.message, 3500); + } + }, + error: function (response) { + showAlertMessage('.alert-msg', response.message, 3500); + } + }); +} + +function updatePreviewImage(indexId, id2, result) { + switch (indexId) { + case 0: + $(`#employeePicture_${id2}.preview-image`).attr('src', result); + break; + case 1: + $(`#nationalCardFront_${id2}.preview-image`).attr('src', result); + break; + case 2: + $(`#nationalCardRear_${id2}.preview-image`).attr('src', result); + break; + case 3: + $(`#militaryServiceCard_${id2}.preview-image`).attr('src', result); + break; + case 4: + $(`#idCardPage1_${id2}.preview-image`).attr('src', result); + break; + case 5: + $(`#idCardPage2_${id2}.preview-image`).attr('src', result); + break; + case 6: + $(`#idCardPage3_${id2}.preview-image`).attr('src', result); + break; + case 7: + $(`#idCardPage4_${id2}.preview-image`).attr('src', result); + break; + default: + console.warn('Unexpected indexId:', indexId); + } +} + +function saveSubmit(id) { + var loading = $(".spinner-loading"); + + loading.show(); + + //var data = { + // 'cmd.EmployeeDocumentsId': id + //} + + var formData = new FormData(); + formData.append('employeeId', employeeId); + + command.forEach((item, index) => { + formData.append(`command[${index}].Label`, item.Label); + formData.append(`command[${index}].PictureFile`, item.PictureFile); + }); + + $.ajax({ + url: saveGroupSubmitAjax, + method: 'POST', + data: formData, + processData: false, + contentType: false, + headers: { 'RequestVerificationToken': antiForgeryToken }, + success: function (response) { + loading.hide(); + if (response.isSuccedded) { + + + $(`#loadRejectedDocumentWorkFlow`).html(''); + loadClientRejectedDocument(); + $('#MainModal').modal('hide'); + _RefreshCountMenu(); + _RefreshCountEmployeeDocumentsMenu(); + + //window.location.reload(); + + //var id2 = $("#employeeIdForList").val(); + + //$(".pdBox").each(function () { + // var indexId = $(this).find('.btnUploadingPD').data('index'); + // var imgSrc = $(this).find('.preview-image').attr("src"); + // updatePreviewImage(indexId, id2, imgSrc); + //}); + + + //showAlertMessage('.alert-success-msg', 'تصویر موجود با موفقیت ارسال شد.', 3500); + //$('#MainModal').modal('hide'); + + //if (rejectCount === 0) { + // // remove item of list + //} + } else { + showAlertMessage('.alert-msg', response.message, 3500); + } + }, + error: function () { + loading.hide(); + showAlertMessage('.alert-msg', 'مشکلی در ارسال تصویر به وجود آمد.', 3500); + } + }); + + +} + +function cancelOP() { + + $.ajax({ + url: saveSubmitAjax, + method: 'POST', + data: { employeeId: employeeId, }, + headers: { 'RequestVerificationToken': antiForgeryToken }, + success: function (response) { + loading.hide(); + $('#MainModal').modal('hide'); + + if (response.isSuccedded) { + showAlertMessage('.alert-success-msg', 'تصویر موجود با موفقیت ارسال شد.', 3500); + + } else { + showAlertMessage('.alert-msg', response.message, 3500); + } + }, + error: function () { + loading.hide(); + showAlertMessage('.alert-msg', 'مشکلی در ارسال تصویر به وجود آمد.', 3500); + } + }); + + +} \ No newline at end of file diff --git a/WorkFlow/Application/WorkFlow.Application.Contracts/AdminWorkFlow/IAdminWorkFlowApplication.cs b/WorkFlow/Application/WorkFlow.Application.Contracts/AdminWorkFlow/IAdminWorkFlowApplication.cs index 3dc06f8f..2100f396 100644 --- a/WorkFlow/Application/WorkFlow.Application.Contracts/AdminWorkFlow/IAdminWorkFlowApplication.cs +++ b/WorkFlow/Application/WorkFlow.Application.Contracts/AdminWorkFlow/IAdminWorkFlowApplication.cs @@ -1,6 +1,7 @@ using System; using System.Collections.Generic; using System.Linq; +using System.Security.Cryptography; using System.Text; using System.Threading.Tasks; using _0_Framework.Application; @@ -56,10 +57,17 @@ public interface IAdminWorkFlowApplication Task EditEmployeeInEmployeeDocumentWorkFlow(EditEmployeeInEmployeeDocument command); + /// + /// لیست کارگاه هایی که از کلاینت، پرسنلی را شروع به کار زدند و مدارک آنها کامل آپلود نشده است + /// + /// + /// + /// + Task> GetWorkshopDocumentCreatedEmployeeForAdmin(List workshops, long roleId); #endregion - Task GetEmployeeDocumentWorkFlowCountsForAdmin(List workshopIds); - Task GetWorkFlowCountsForAdmin(List workshopIds, long accountId); + Task GetEmployeeDocumentWorkFlowCountsForAdmin(List workshopIds, long roleId); + Task GetWorkFlowCountsForAdmin(List workshopIds, long accountId, long roleId); Task GetWorkFlowCountForChecker(); @@ -85,6 +93,7 @@ public interface IAdminWorkFlowApplication #endregion + } /// @@ -112,7 +121,7 @@ public class ClientLeftWorkEmployeesWorkFlowViewModel /// public string LeftWorkDate { get; set; } = string.Empty; - + } /// diff --git a/WorkFlow/Application/WorkFlow.Application.Contracts/WorkFlow/IWorkFlowApplication.cs b/WorkFlow/Application/WorkFlow.Application.Contracts/WorkFlow/IWorkFlowApplication.cs index 0e3186a3..518c2ee4 100644 --- a/WorkFlow/Application/WorkFlow.Application.Contracts/WorkFlow/IWorkFlowApplication.cs +++ b/WorkFlow/Application/WorkFlow.Application.Contracts/WorkFlow/IWorkFlowApplication.cs @@ -11,13 +11,17 @@ public interface IWorkFlowApplication Task CreateRollCallConfirmedWithoutLunchBreak(CreateRollCallConfirmedWithoutLunchBreak command); - Task GetCountAllWorkFlows(long workshopId); + Task GetCountAllWorkFlows(long workshopId, long accountId); Task GetRollCallAbsentsWorkFlows(long workshopId); Task GetCountCutRollCallByBgService(long workshopId); - Task GetAllWorkFlowCount(long workshopId); + Task GetAllWorkFlowCount(long workshopId , long accountId); Task GetAllWorkFlowCountAsync(long workshopId); - Task GetAbsentRollCallWorkFlowsByDate(long workshopId, DateTime date); + Task GetAllRollCallCount(long workshopId); + Task GetAllEmployeeDocuments(long workshopId, long accountId); + + + Task GetAbsentRollCallWorkFlowsByDate(long workshopId, DateTime date); Task GetEmployeesWithoutLunchBreakByDate(long workshopId, DateTime date); Task GetRollCallWorkFlowsCutByBgServiceByDate(long workshopId, DateTime date); Task GetUndefinedRollCallsByDate(long workshopId, DateTime date); diff --git a/WorkFlow/Application/WorkFlow.Application/AdminWorkFlowApplication.cs b/WorkFlow/Application/WorkFlow.Application/AdminWorkFlowApplication.cs index 26e1608b..088551fc 100644 --- a/WorkFlow/Application/WorkFlow.Application/AdminWorkFlowApplication.cs +++ b/WorkFlow/Application/WorkFlow.Application/AdminWorkFlowApplication.cs @@ -5,21 +5,20 @@ using WorkFlow.Infrastructure.ACL.Employee; using WorkFlow.Infrastructure.ACL.EmployeeDocuments; using WorkFlow.Infrastructure.ACL.Workshop; - namespace WorkFlow.Application { - public class AdminWorkFlowApplication : IAdminWorkFlowApplication - { - private readonly IWorkFlowEmployeeDocumentsACL _workFlowEmployeeDocumentsACL; + public class AdminWorkFlowApplication : IAdminWorkFlowApplication + { + private readonly IWorkFlowEmployeeDocumentsACL _workFlowEmployeeDocumentsACL; private readonly IWorkFlowWorkshopACL _workFlowWorkshopACL; private readonly IWorkFlowEmployeeACL _workFlowEmployeeACL; - public AdminWorkFlowApplication(IWorkFlowEmployeeDocumentsACL workFlowEmployeeDocumentsACL, IWorkFlowWorkshopACL workFlowWorkshopAcl, IWorkFlowEmployeeACL workFlowEmployeeAcl) + public AdminWorkFlowApplication(IWorkFlowEmployeeDocumentsACL workFlowEmployeeDocumentsACL, IWorkFlowWorkshopACL workFlowWorkshopACL, IWorkFlowEmployeeACL workFlowEmployeeACL) { _workFlowEmployeeDocumentsACL = workFlowEmployeeDocumentsACL; - _workFlowWorkshopACL = workFlowWorkshopAcl; - _workFlowEmployeeACL = workFlowEmployeeAcl; + _workFlowWorkshopACL = workFlowWorkshopACL; + _workFlowEmployeeACL = workFlowEmployeeACL; } #region Pooya @@ -29,28 +28,29 @@ namespace WorkFlow.Application return _workFlowEmployeeDocumentsACL.GetWorkshopDocumentsAwaitingReviewForChecker(workshops); } - public async Task GetEmployeeDocumentWorkFlowCountsForAdmin(List workshopIds) + + + public async Task GetEmployeeDocumentWorkFlowCountsForAdmin(List workshopIds,long roleId) { - var submittedDocumentsByClient = await _workFlowEmployeeDocumentsACL.GetAdminWorkFlowCountForSubmittedDocuments(workshopIds); + var count = 0; + count += await _workFlowEmployeeDocumentsACL.GetWorkshopDocumentRejectedForAdmin(workshopIds,roleId); - var newEmployees = await _workFlowEmployeeDocumentsACL.GetAdminWorkFlowCountForNewEmployees(workshopIds); + count+= await _workFlowEmployeeDocumentsACL.GetCreatedEmployeesWorkshopDocumentForAdmin(workshopIds,roleId); + //count+= await _workFlowEmployeeDocumentsACL.GetClientRejectedDocumentWorkshopsForAdmin(workshopIds, roleId); - return submittedDocumentsByClient + newEmployees; + return count; } - - - public async Task GetWorkFlowCountsForAdmin(List workshopIds, long accountId) + public async Task GetWorkFlowCountsForAdmin(List workshopIds, long accountId,long roleId) { - var employeeDocumentWorkFlowCounts = await GetEmployeeDocumentWorkFlowCountsForAdmin(workshopIds); + var employeeDocumentWorkFlowCounts = await GetEmployeeDocumentWorkFlowCountsForAdmin(workshopIds, roleId); var startWork = await GetWorkshopsForEmployeeStartWorkCount(accountId); var leftWork = await GetWorkshopsForLeftWorkTempCount(accountId); return employeeDocumentWorkFlowCounts + startWork + leftWork; } - public async Task GetWorkFlowCountForChecker() { return await _workFlowEmployeeDocumentsACL.GetCheckerWorkFlowCount(); @@ -64,6 +64,7 @@ namespace WorkFlow.Application return _workFlowEmployeeDocumentsACL.GetWorkshopsWithDocumentsAwaitingUploadForAdmin(workshops); } + #endregion #region Mahan @@ -118,6 +119,15 @@ namespace WorkFlow.Application #endregion + #region آپلود مدارک پرسنل + + public async Task> GetWorkshopDocumentCreatedEmployeeForAdmin(List workshops, long roleId) + { + return await _workFlowEmployeeDocumentsACL.GetWorkshopDocumentCreatedEmployeeForAdmin(workshops, roleId); + } + + #endregion + #endregion } diff --git a/WorkFlow/Application/WorkFlow.Application/WorkFlowApplication.cs b/WorkFlow/Application/WorkFlow.Application/WorkFlowApplication.cs index 448087a8..aa609e69 100644 --- a/WorkFlow/Application/WorkFlow.Application/WorkFlowApplication.cs +++ b/WorkFlow/Application/WorkFlow.Application/WorkFlowApplication.cs @@ -1,6 +1,7 @@ using _0_Framework.Application; using _0_Framework.Domain.CustomizeCheckoutShared.Enums; using Company.Domain.RollCallAgg.DomainService; +using CompanyManagment.App.Contracts.EmployeeDocuments; using WorkFlow.Application.Contracts.RollCallConfirmedAbsence; using WorkFlow.Application.Contracts.RollCallConfirmedWithoutLunchBreak; using WorkFlow.Application.Contracts.Shared; @@ -21,8 +22,8 @@ public class WorkFlowApplication : IWorkFlowApplication private readonly IWorkFlowCustomizedWorkshopSettingsACL _customizedWorkshopSettingsACL; private readonly IRollCallDomainService _rollCallDomainService; private readonly IRollCallConfirmedWithoutLunchBreakRepository _rollCallConfirmedWithoutLunchBreakRepository; - - public WorkFlowApplication(IRollCallConfirmedAbsenceRepository absenceRepository, IWorkFlowRollCallACL rollCallACL, IWorkFlowCheckoutACL checkoutACL, IWorkFlowCustomizedWorkshopSettingsACL customizedWorkshopSettingsACL, IRollCallConfirmedWithoutLunchBreakRepository rollCallConfirmedWithoutLunchBreakRepository, IRollCallDomainService rollCallDomainService) + private readonly IEmployeeDocumentsApplication _employeeDocumentsApplication; + public WorkFlowApplication(IRollCallConfirmedAbsenceRepository absenceRepository, IWorkFlowRollCallACL rollCallACL, IWorkFlowCheckoutACL checkoutACL, IWorkFlowCustomizedWorkshopSettingsACL customizedWorkshopSettingsACL, IRollCallConfirmedWithoutLunchBreakRepository rollCallConfirmedWithoutLunchBreakRepository, IRollCallDomainService rollCallDomainService, IEmployeeDocumentsApplication employeeDocumentsApplication) { _absenceRepository = absenceRepository; _rollCallACL = rollCallACL; @@ -30,6 +31,7 @@ public class WorkFlowApplication : IWorkFlowApplication _customizedWorkshopSettingsACL = customizedWorkshopSettingsACL; _rollCallConfirmedWithoutLunchBreakRepository = rollCallConfirmedWithoutLunchBreakRepository; _rollCallDomainService = rollCallDomainService; + _employeeDocumentsApplication = employeeDocumentsApplication; } public async Task CreateRollCallConfirmedAbsence(CreateRollCallConfirmedAbsence command) @@ -57,16 +59,16 @@ public class WorkFlowApplication : IWorkFlowApplication var newEntity = new RollCallConfirmedWithoutLunchBreak(command.RollCallId, entity.EmployeeId, entity.WorkshopId, entity.RollCallDate); - _rollCallConfirmedWithoutLunchBreakRepository.Create(newEntity); + await _rollCallConfirmedWithoutLunchBreakRepository.CreateAsync(newEntity); await _rollCallConfirmedWithoutLunchBreakRepository.SaveChangesAsync(); return op.Succcedded(); } - public async Task GetCountAllWorkFlows(long workshopId) + public async Task GetCountAllWorkFlows(long workshopId,long accountId) { int count = 0; - count += await GetAllWorkFlowCount(workshopId); + count += await GetAllWorkFlowCount(workshopId,accountId); return count; } public Task GetRollCallAbsentsWorkFlows(long workshopId) @@ -81,29 +83,53 @@ public class WorkFlowApplication : IWorkFlowApplication { return (await GetRollCallWorkFlowsCutByBgService(workshopId)).Count; } - public async Task GetAllWorkFlowCount(long workshopId) - { - var count = 0; - var activeServiceByWorkshopId = _rollCallACL.GetActiveServiceByWorkshopId(workshopId); - if (activeServiceByWorkshopId == null) - { - return count; - } - //count += _rollCallACL.GetRollCallAbsentsWorkFlows(accId, workshopId); - count += (await GetAbsentRollCallWorkFlows(workshopId))?.Count ?? 0; - count += (await GetRollCallWorkFlowsCutByBgService(workshopId))?.Count ?? 0; - count += (await GetEmployeesWithoutLunchBreak(workshopId))?.Count ?? 0; - //count += (await GetRollCallsOverlappingLeaves(workshopId))?.Count ?? 0; - count += (await GetUndefinedRollCalls(workshopId))?.Count ?? 0; + + + public async Task GetAllWorkFlowCount(long workshopId,long accountId) + { + var count = 0; + // RollCall + + count += await GetAllRollCallCount(workshopId); + + count += await GetAllEmployeeDocuments(workshopId,accountId ); + + // Employee Documents + return count; } + + public async Task GetAllEmployeeDocuments(long workshopId, long accountId) + { + int count = 0; + count += (await _employeeDocumentsApplication.GetClientRejectedDocumentForClient(workshopId, accountId)).Count; + return count; + } + public Task GetAllWorkFlowCountAsync(long workshopId) { return Task.FromResult(20); } + public async Task GetAllRollCallCount(long workshopId) + { + int count = 0; + var activeServiceByWorkshopId = _rollCallACL.GetActiveServiceByWorkshopId(workshopId); + if (activeServiceByWorkshopId == null) + { + return count; + } + //count += _rollCallACL.GetRollCallAbsentsWorkFlows(accId, workshopId); + count += (await GetAbsentRollCallWorkFlows(workshopId))?.Count ?? 0; + count += (await GetRollCallWorkFlowsCutByBgService(workshopId))?.Count ?? 0; + count += (await GetEmployeesWithoutLunchBreak(workshopId))?.Count ?? 0; + //count += (await GetRollCallsOverlappingLeaves(workshopId))?.Count ?? 0; + count += (await GetUndefinedRollCalls(workshopId))?.Count ?? 0; + return count; + } + #region Methods For Ajax /// @@ -342,8 +368,6 @@ public class WorkFlowApplication : IWorkFlowApplication } - - #region Methods For OnGet diff --git a/WorkFlow/Infrastructure/WorkFlow.Infrastructure.ACL/EmployeeDocuments/IWorkFlowEmployeeDocumentsACL.cs b/WorkFlow/Infrastructure/WorkFlow.Infrastructure.ACL/EmployeeDocuments/IWorkFlowEmployeeDocumentsACL.cs index 26071c07..2caf93e1 100644 --- a/WorkFlow/Infrastructure/WorkFlow.Infrastructure.ACL/EmployeeDocuments/IWorkFlowEmployeeDocumentsACL.cs +++ b/WorkFlow/Infrastructure/WorkFlow.Infrastructure.ACL/EmployeeDocuments/IWorkFlowEmployeeDocumentsACL.cs @@ -3,25 +3,37 @@ using WorkFlow.Application.Contracts.AdminWorkFlow; namespace WorkFlow.Infrastructure.ACL.EmployeeDocuments { - public interface IWorkFlowEmployeeDocumentsACL - { - List GetWorkshopDocumentsAwaitingReviewForChecker(List workshops); + public interface IWorkFlowEmployeeDocumentsACL + { + List GetWorkshopDocumentsAwaitingReviewForChecker(List workshops); List GetWorkshopsWithDocumentsAwaitingUploadForAdmin(List workshops); - Task GetAdminWorkFlowCountForSubmittedDocuments(List workshopIds); Task GetAdminWorkFlowCountForNewEmployees(List workshopIds); Task GetCheckerWorkFlowCount(); + Task GetWorkshopDocumentRejectedForAdmin(List workshops, long roleId); + Task GetCreatedEmployeesWorkshopDocumentForAdmin(List workshops, long roleId); + Task GetClientRejectedDocumentWorkshopsForAdmin(List workshops, long roleId); + + + /// + /// لیست کارگاه هایی که از کلاینت، پرسنلی را شروع به کار زدند و مدارک آنها کامل آپلود نشده است + /// + /// + /// + /// + Task> GetWorkshopDocumentCreatedEmployeeForAdmin( + List workshops, long roleId); } - public class WorkFlowEmployeeDocumentsACL : IWorkFlowEmployeeDocumentsACL - { - private readonly IEmployeeDocumentsApplication _employeeDocumentsApplication; + public class WorkFlowEmployeeDocumentsACL : IWorkFlowEmployeeDocumentsACL + { + private readonly IEmployeeDocumentsApplication _employeeDocumentsApplication; - public WorkFlowEmployeeDocumentsACL(IEmployeeDocumentsApplication employeeDocumentsApplication) - { - _employeeDocumentsApplication = employeeDocumentsApplication; - } + public WorkFlowEmployeeDocumentsACL(IEmployeeDocumentsApplication employeeDocumentsApplication) + { + _employeeDocumentsApplication = employeeDocumentsApplication; + } public List GetWorkshopsWithDocumentsAwaitingUploadForAdmin(List workshops) @@ -30,8 +42,8 @@ namespace WorkFlow.Infrastructure.ACL.EmployeeDocuments { WorkshopId = x.WorkshopId, UploadItemsCount = x.EmployeesWithoutDocumentCount, - WorkshopName = x.WorkshopFullName, - EmployerName = x.EmployerName, + WorkshopName = x.WorkshopFullName, + EmployerName = x.EmployerName, }).ToList(); } @@ -48,15 +60,44 @@ namespace WorkFlow.Infrastructure.ACL.EmployeeDocuments return await _employeeDocumentsApplication.GetCheckerWorkFlowCount(); } + public async Task GetWorkshopDocumentRejectedForAdmin(List workshops, long roleId) + { + return (await _employeeDocumentsApplication.GetWorkshopDocumentRejectedForAdmin(workshops, roleId)).Count; + } + + public async Task GetCreatedEmployeesWorkshopDocumentForAdmin(List workshops, long roleId) + { + return (await _employeeDocumentsApplication.GetCreatedEmployeesWorkshopDocumentForAdmin(workshops, roleId)) + .Count; + } + + public async Task GetClientRejectedDocumentWorkshopsForAdmin(List workshops, long roleId) + { + return (await _employeeDocumentsApplication.GetClientRejectedDocumentWorkshopsForAdmin(workshops, roleId)) + .Count; + } + + public async Task> GetWorkshopDocumentCreatedEmployeeForAdmin(List workshops, long roleId) + { + return (await _employeeDocumentsApplication.GetWorkshopDocumentCreatedEmployeeForAdmin(workshops, roleId)).Select(x => new WorkshopWithDocumentsViewModelForWorkFlow() + { + WorkshopId = x.WorkshopId, + UploadItemsCount = x.EmployeesWithoutDocumentCount, + WorkshopName = x.WorkshopFullName, + EmployerName = x.EmployerName, + }).ToList(); + + } + public List GetWorkshopDocumentsAwaitingReviewForChecker(List workshops) - { - return _employeeDocumentsApplication.GetWorkshopsWithDocumentsAwaitingReviewForCheckerWorkFlow().Select(x=> new WorkshopWithDocumentsViewModelForWorkFlow() - { - WorkshopId = x.WorkshopId, - UploadItemsCount = x.SubmittedItemsCount - }).ToList(); - } + { + return _employeeDocumentsApplication.GetWorkshopsWithDocumentsAwaitingReviewForCheckerWorkFlow().Select(x => new WorkshopWithDocumentsViewModelForWorkFlow() + { + WorkshopId = x.WorkshopId, + UploadItemsCount = x.SubmittedItemsCount + }).ToList(); + } - } + } } From 62502fcedebecda726931fec46a0a8b261301d99 Mon Sep 17 00:00:00 2001 From: SamSys Date: Mon, 5 May 2025 20:30:36 +0330 Subject: [PATCH 50/84] add HasCheckout Validation in InsuranceList --- .../CheckoutAgg/ICheckoutRepository.cs | 9 ++++ .../EmployeeInsurancListDataViewModel.cs | 2 +- ...mployeeDetailsForInsuranceListViewModel.cs | 7 +++ .../CreateInsuranceWorkshopInfo.cs | 9 ++++ .../InsuranceListApplication.cs | 52 +++++++++++++++---- .../InsuranceWorkshopInfoApplication.cs | 4 ++ .../Repository/CheckoutRepository.cs | 17 ++++++ .../InsuranceList/EmployeeDatatable.cshtml | 22 ++++++-- .../InsuranceList/EmployeeListForEdit.cshtml | 22 ++++++-- .../Company/InsuranceList/Index.cshtml.cs | 2 +- 10 files changed, 127 insertions(+), 19 deletions(-) diff --git a/Company.Domain/CheckoutAgg/ICheckoutRepository.cs b/Company.Domain/CheckoutAgg/ICheckoutRepository.cs index edb34ef8..48293370 100644 --- a/Company.Domain/CheckoutAgg/ICheckoutRepository.cs +++ b/Company.Domain/CheckoutAgg/ICheckoutRepository.cs @@ -10,6 +10,15 @@ namespace Company.Domain.CheckoutAgg; public interface ICheckoutRepository : IRepository { + /// + /// چک میکند که آیا پرسنل در سال و ماه درخواستی در این کارگاه فیش حقوقی دارد یا خیر + /// + /// + /// + /// + /// + /// + bool HasCheckout(long workshopId, long employeId, string year, string month); EditCheckout GetDetails(long id); void CreateCkeckout(Checkout command); diff --git a/CompanyManagment.App.Contracts/EmployeeInsurancListData/EmployeeInsurancListDataViewModel.cs b/CompanyManagment.App.Contracts/EmployeeInsurancListData/EmployeeInsurancListDataViewModel.cs index 6fe5ba6d..10112977 100644 --- a/CompanyManagment.App.Contracts/EmployeeInsurancListData/EmployeeInsurancListDataViewModel.cs +++ b/CompanyManagment.App.Contracts/EmployeeInsurancListData/EmployeeInsurancListDataViewModel.cs @@ -50,7 +50,7 @@ public class EmployeeInsurancListDataViewModel /// public double BenefitsIncludedNonContinuous { get; set; } /// - /// جمع کل دستمزد و مزایای ماهانه + /// جمع کل دستمزد و مزایای ماهانه مشمول و غیر مشمول /// DSW_TOTL /// public double IncludedAndNotIncluded { get; set; } diff --git a/CompanyManagment.App.Contracts/InsuranceList/EmployeeDetailsForInsuranceListViewModel.cs b/CompanyManagment.App.Contracts/InsuranceList/EmployeeDetailsForInsuranceListViewModel.cs index 52e56b27..79957ec3 100644 --- a/CompanyManagment.App.Contracts/InsuranceList/EmployeeDetailsForInsuranceListViewModel.cs +++ b/CompanyManagment.App.Contracts/InsuranceList/EmployeeDetailsForInsuranceListViewModel.cs @@ -253,6 +253,13 @@ public class EmployeeDetailsForInsuranceListViewModel /// DSW_SPOUSE /// public double MarriedAllowance { get; set; } + + /// + /// آیا پرسنل دارای فیش حقوقی برای این ماه است + /// - + /// جهت محاسبه اضافه کار و حق اولاد + /// + public bool EmployeeHasCheckout { get; set; } /////
    ///// مجموع پایه سنواتی کارکنان ///// DSK_INC diff --git a/CompanyManagment.App.Contracts/InsuranceWorkshopInfo/CreateInsuranceWorkshopInfo.cs b/CompanyManagment.App.Contracts/InsuranceWorkshopInfo/CreateInsuranceWorkshopInfo.cs index 53d4a976..c95f39c6 100644 --- a/CompanyManagment.App.Contracts/InsuranceWorkshopInfo/CreateInsuranceWorkshopInfo.cs +++ b/CompanyManagment.App.Contracts/InsuranceWorkshopInfo/CreateInsuranceWorkshopInfo.cs @@ -28,4 +28,13 @@ public class CreateInsuranceWorkshopInfo public long? InsuranceJobId { get; set; } //public bool ConfirmSentlist { get; set; } + /// + /// محاسبه اضافه کار فیش حقوقی در لیست بیمه + /// + public bool InsuranceCheckoutOvertime { get; set; } + /// + /// محاسبه حق اولاد در لیست بیمه + /// + public bool InsuranceCheckoutFamilyAllowance { get; set; } + } \ No newline at end of file diff --git a/CompanyManagment.Application/InsuranceListApplication.cs b/CompanyManagment.Application/InsuranceListApplication.cs index ff63467e..8b15afb3 100644 --- a/CompanyManagment.Application/InsuranceListApplication.cs +++ b/CompanyManagment.Application/InsuranceListApplication.cs @@ -5,6 +5,7 @@ using System.Linq; using System.Runtime.InteropServices; using _0_Framework.Application; using _0_Framework.Domain.CustomizeCheckoutShared.ValueObjects; +using Company.Domain.CheckoutAgg; using Company.Domain.DateSalaryAgg; using Company.Domain.DateSalaryItemAgg; using Company.Domain.EmployeeAgg; @@ -55,8 +56,9 @@ public class InsuranceListApplication: IInsuranceListApplication private readonly IPersonalContractingPartyApp _contractingPartyApp; private readonly ILeftWorkInsuranceRepository _leftWorkInsuranceRepository; private readonly IInsuranceYearlySalaryApplication _insuranceYearlySalaryApplication; + private readonly ICheckoutRepository _checkoutRepository; - public InsuranceListApplication( IInsuranceListRepository insuranceListRepositpry, IEmployeeInsurancListDataRepository employeeInsurancListDataRepository, IInsuranceEmployeeInfoRepository insuranceEmployeeInfoRepository, IEmployeeRepository employeeRepository, IWorkshopRepository workShopRepository, ILeftWorkInsuranceApplication leftWorkInsuranceApplication, IInsuranceEmployeeInfoApplication insuranceEmployeeInfoApplication, IEmployeeInsurancListDataApplication employeeInsurancListDataApplication, IYearlySalaryApplication yearlySalaryApplication,IYearlySalaryItemApplication yearlySalaryItemApplication ,IInsuranceWorkshopInfoRepository insuranceWorkshopInfoRepository,IInsuranceJobItemRepositpry insuranceJobItemRepository, IDateSalaryRepository dateSalaryRepository, IDateSalaryItemRepository dateSalaryItemRepository, IPersonalContractingPartyApp contractingPartyApp, ILeftWorkInsuranceRepository leftWorkInsuranceRepository, IInsuranceYearlySalaryApplication insuranceYearlySalaryApplication) + public InsuranceListApplication( IInsuranceListRepository insuranceListRepositpry, IEmployeeInsurancListDataRepository employeeInsurancListDataRepository, IInsuranceEmployeeInfoRepository insuranceEmployeeInfoRepository, IEmployeeRepository employeeRepository, IWorkshopRepository workShopRepository, ILeftWorkInsuranceApplication leftWorkInsuranceApplication, IInsuranceEmployeeInfoApplication insuranceEmployeeInfoApplication, IEmployeeInsurancListDataApplication employeeInsurancListDataApplication, IYearlySalaryApplication yearlySalaryApplication,IYearlySalaryItemApplication yearlySalaryItemApplication ,IInsuranceWorkshopInfoRepository insuranceWorkshopInfoRepository,IInsuranceJobItemRepositpry insuranceJobItemRepository, IDateSalaryRepository dateSalaryRepository, IDateSalaryItemRepository dateSalaryItemRepository, IPersonalContractingPartyApp contractingPartyApp, ILeftWorkInsuranceRepository leftWorkInsuranceRepository, IInsuranceYearlySalaryApplication insuranceYearlySalaryApplication, ICheckoutRepository checkoutRepository) { // _transactionManager = transactionManager; @@ -77,6 +79,7 @@ public class InsuranceListApplication: IInsuranceListApplication _contractingPartyApp = contractingPartyApp; _leftWorkInsuranceRepository = leftWorkInsuranceRepository; _insuranceYearlySalaryApplication = insuranceYearlySalaryApplication; + _checkoutRepository = checkoutRepository; } public OperationResult Create(CreateInsuranceList command) @@ -379,7 +382,7 @@ public class InsuranceListApplication: IInsuranceListApplication var result = new MainEmployeeDetailsViewModel(); var workshopId = searchModel.WorkshopIds.FirstOrDefault(); - //var employerId = _workShopRepository.GetDetails(workshopId).EmployerIdList.FirstOrDefault(); + var workshop = _workShopRepository.GetDetails(workshopId); //var isBolock = _contractingPartyApp.IsBlockByEmployerId(employerId); var isBolock = _contractingPartyApp.IsBlockCheckByWorkshopId(workshopId); double monthlybaseYear = 0; @@ -408,10 +411,27 @@ public class InsuranceListApplication: IInsuranceListApplication _insuranceListRepositpry.GetEmployeeInsuranceDataAmonthAgo(startDateGr, workshopId); watch.Start(); var computeResult = employeesInfoAndLeftWorks.Select(employee => - { - var dateOfBirth = employee.DateOfBirthGr.ToFarsi(); - var dateOfIssue = employee.DateOfIssueGr.ToFarsi(); - var leftDate = employee.LeftWorkDateGr != null ? employee.LeftWorkDateGr.Value.AddDays(-1) : new DateTime(); + { + var dateOfBirth = employee.DateOfBirthGr.ToFarsi(); + var dateOfIssue = employee.DateOfIssueGr.ToFarsi(); + var leftDate = employee.LeftWorkDateGr != null ? employee.LeftWorkDateGr.Value.AddDays(-1) : new DateTime(); + + + //آیا در کارگاه تیک محاسبه اضافه کار یا حق اولاد زده شده است؟ + bool hasWorkshopOverTimeOrFamilyAllowance = + workshop.InsuranceCheckoutFamilyAllowance || workshop.InsuranceCheckoutOvertime; + + //آیا پرسنل فیش حقوق دارد + //این مورد زمانی چک می شود که تیک محاسبه در کارگاه زده شده باشد + // در غیر اینصورت بصورت پیشفرض دارای فیش حقوق در نظر گرفته می شود + bool employeeHasCheckout = true; + if (hasWorkshopOverTimeOrFamilyAllowance && (leftDate >= startDateGr || employee.LeftWorkDateGr == null)) + { + employeeHasCheckout = _checkoutRepository.HasCheckout(workshopId, employee.EmployeeId, + searchModel.Year, searchModel.Month); + } + + var workingDays = Tools.GetEmployeeInsuranceWorkingDays(employee.StartWorkDateGr, leftDate, startDateGr,endDateGr, employee.EmployeeId); var leftWorkFa = workingDays.hasLeftWorkInMonth ? employee.LeftWorkDateGr.ToFarsi(): ""; @@ -472,8 +492,8 @@ public class InsuranceListApplication: IInsuranceListApplication return new EmployeeDetailsForInsuranceListViewModel { #region EmployeeInfo - - InsuranceEmployeeInformationId = employee.InsuranceEmployeeInformationId, + EmployeeHasCheckout = employeeHasCheckout, + InsuranceEmployeeInformationId = employee.InsuranceEmployeeInformationId, EmployeeId = employee.EmployeeId, FName = employee.FName, LName = employee.LName, @@ -1423,6 +1443,7 @@ public class InsuranceListApplication: IInsuranceListApplication var workingDays = Tools.GetEmployeeInsuranceWorkingDays(employeeData.StartWorkDateGr, leftDate, startDateGr, endDateGr, employeeData.EmployeeId); var leftWorkFa = workingDays.hasLeftWorkInMonth ? employeeData.LeftWorkDateGr.ToFarsi() : ""; var startWorkFa = employeeData.StartWorkDateGr.ToFarsi(); + var workshop = _workShopRepository.GetDetails(workshopId); //آیا کارفرما است bool isManager = employeeData.JobId is 10 or 16 or 17 or 18 or 3498; @@ -1432,9 +1453,22 @@ public class InsuranceListApplication: IInsuranceListApplication // محاسبه بیمه بیکاری var unEmploymentInsurance = (employeeData.BenefitsIncludedContinuous * 3) / 100; + + + //آیا در کارگاه تیک محاسبه اضافه کار یا حق اولاد زده شده است؟ + bool hasWorkshopOverTimeOrFamilyAllowance = + workshop.InsuranceCheckoutFamilyAllowance || workshop.InsuranceCheckoutOvertime; + + bool employeeHasCheckout = true; + if (hasWorkshopOverTimeOrFamilyAllowance && (leftDate >= startDateGr || employeeData.LeftWorkDateGr == null)) + { + employeeHasCheckout = _checkoutRepository.HasCheckout(workshopId, employeeData.EmployeeId, + searchModel.Year, searchModel.Month); + } return new EmployeeDetailsForInsuranceListViewModel { - #region EmployeeInfo + #region EmployeeInfo + EmployeeHasCheckout = employeeHasCheckout, EmployeeInsurancListDataId = employeeData.EmployeeInsurancListDataId, InsuranceEmployeeInformationId = employeeData.InsuranceEmployeeInformationId, diff --git a/CompanyManagment.Application/InsuranceWorkshopInfoApplication.cs b/CompanyManagment.Application/InsuranceWorkshopInfoApplication.cs index f63f741a..d551e9ec 100644 --- a/CompanyManagment.Application/InsuranceWorkshopInfoApplication.cs +++ b/CompanyManagment.Application/InsuranceWorkshopInfoApplication.cs @@ -44,6 +44,8 @@ public class InsuranceWorkshopInfoApplication: IInsuranceWorkshopInfoApplication workshop.InsuranceJobId = workshopObj.InsuranceJobId; workshop.InsuranceCode = workshopObj.InsuranceCode; workshop.AgreementNumber = workshopObj.AgreementNumber; + workshop.InsuranceCheckoutOvertime = workshopObj.InsuranceCheckoutOvertime; + workshop.InsuranceCheckoutFamilyAllowance = workshopObj.InsuranceCheckoutFamilyAllowance; return workshop; } else @@ -60,6 +62,8 @@ public class InsuranceWorkshopInfoApplication: IInsuranceWorkshopInfoApplication workshop.FixedSalary = workshopObj.FixedSalary; workshop.Population = workshopObj.Population; workshop.InsuranceJobId = workshopObj.InsuranceJobId; + workshop.InsuranceCheckoutOvertime = workshopObj.InsuranceCheckoutOvertime; + workshop.InsuranceCheckoutFamilyAllowance = workshopObj.InsuranceCheckoutFamilyAllowance; return workshop; } } diff --git a/CompanyManagment.EFCore/Repository/CheckoutRepository.cs b/CompanyManagment.EFCore/Repository/CheckoutRepository.cs index 472fbddb..64d57f17 100644 --- a/CompanyManagment.EFCore/Repository/CheckoutRepository.cs +++ b/CompanyManagment.EFCore/Repository/CheckoutRepository.cs @@ -47,6 +47,23 @@ public class CheckoutRepository : RepositoryBase, ICheckoutRepos _rollCallRepository = rollCallRepository; } + /// + /// چیک میکند که آیا پرسنل در سال و ماه درخواستی در این کارگاه فیش حقوقی دارد یا خیر + /// + /// + /// + /// + /// + /// + public bool HasCheckout(long workshopId, long employeId, string year, string month) + { + var farisMonthName = Tools.ToFarsiMonthByNumber(month); + + return _context.CheckoutSet.Any(x => + x.WorkshopId == workshopId && x.EmployeeId == employeId && x.Year == year && x.Month == farisMonthName && + x.IsActiveString == "true"); + } + public EditCheckout GetDetails(long id) { return _context.CheckoutSet.Select(x => new EditCheckout() diff --git a/ServiceHost/Areas/Admin/Pages/Company/InsuranceList/EmployeeDatatable.cshtml b/ServiceHost/Areas/Admin/Pages/Company/InsuranceList/EmployeeDatatable.cshtml index d8783edf..448d679c 100644 --- a/ServiceHost/Areas/Admin/Pages/Company/InsuranceList/EmployeeDatatable.cshtml +++ b/ServiceHost/Areas/Admin/Pages/Company/InsuranceList/EmployeeDatatable.cshtml @@ -32,7 +32,7 @@ { var index = 1; - if (Model.EmployeeDetailsForInsuranceList.Any(x => !x.IsMaritalStatusSet)) + if (Model.EmployeeDetailsForInsuranceList.Any(x => !x.IsMaritalStatusSet || !x.EmployeeHasCheckout)) { - - - + + + - + var loadClientRejectedDocumentWorkshopsForAdminUrl = `@Url.Page("./EmployeesDocuments", "ClientRejectedDocumentWorkshopsForAdmin")`; + var loadClientRejectedDocumentByWorkshopIdForAdminUrl = `@Url.Page("./EmployeesDocuments", "ClientRejectedDocumentByWorkshopIdForAdmin")`; + + var loadCreatedEmployeesWorkshopDocumentForAdminUrl = `@Url.Page("./EmployeesDocuments", "CreatedEmployeesWorkshopDocumentForAdmin")`; + var loadCreatedEmployeesDocumentByWorkshopIdForAdminUrl = `@Url.Page("./EmployeesDocuments", "CreatedEmployeesDocumentByWorkshopIdForAdmin")`; + + } diff --git a/ServiceHost/Areas/Client/Pages/Shared/_Menu.cshtml b/ServiceHost/Areas/Client/Pages/Shared/_Menu.cshtml index 02e9cf80..40911ddb 100644 --- a/ServiceHost/Areas/Client/Pages/Shared/_Menu.cshtml +++ b/ServiceHost/Areas/Client/Pages/Shared/_Menu.cshtml @@ -187,8 +187,8 @@
  • حضور و غیاب جاری
  • سوابق حضور و غیاب
  • گروه‌بندی
  • -
  • تنظیم ساعت فعالیت مجموعه
  • -
  • تنظیمات حساب کاربری دوربین
  • +
  • تنظیم ساعت فعالیت مجموعه
  • +
  • تنظیمات حساب کاربری دوربین
  • @@ -223,7 +223,7 @@
    @@ -1523,7 +1529,7 @@ function loadMore() {
    ${response.printPermission === "true" ? ` - ` : ``} - +
    @@ -1708,6 +1714,7 @@ function downloadExcelAll() { return } + var idlist = ""; $('.foo').each(function () { if ($(this).is(":checked")) { diff --git a/ServiceHost/wwwroot/AssetsClient/pages/Employees/js/CreateEmployeeForm.js b/ServiceHost/wwwroot/AssetsClient/pages/Employees/js/CreateEmployeeForm.js index e3f99787..15fea561 100644 --- a/ServiceHost/wwwroot/AssetsClient/pages/Employees/js/CreateEmployeeForm.js +++ b/ServiceHost/wwwroot/AssetsClient/pages/Employees/js/CreateEmployeeForm.js @@ -54,10 +54,15 @@ $(document).ready(function () { }); new Cleave(this, { - date: true, - delimiter: '/', - datePattern: ['Y', 'm', 'd'] + delimiters: ['/', '/'], + blocks: [4, 2, 2], + numericOnly: true }); + //new Cleave(this, { + // date: true, + // delimiter: '/', + // datePattern: ['Y', 'm', 'd'] + //}); }); }); diff --git a/ServiceHost/wwwroot/AssetsClient/pages/Employees/js/IdentityInformationModal.js b/ServiceHost/wwwroot/AssetsClient/pages/Employees/js/IdentityInformationModal.js index 59453d6c..6efa24cd 100644 --- a/ServiceHost/wwwroot/AssetsClient/pages/Employees/js/IdentityInformationModal.js +++ b/ServiceHost/wwwroot/AssetsClient/pages/Employees/js/IdentityInformationModal.js @@ -15,10 +15,15 @@ $(document).ready(function () { }); new Cleave(this, { - date: true, - delimiter: '/', - datePattern: ['Y', 'm', 'd'] + delimiters: ['/', '/'], + blocks: [4, 2, 2], + numericOnly: true }); + // new Cleave(this, { + // date: true, + // delimiter: '/', + // datePattern: ['Y', 'm', 'd'] + // }); }); $(".checkNationalCodeAndBirthDate").click(function () { diff --git a/ServiceHost/wwwroot/AssetsClient/pages/Fine/js/Index.js b/ServiceHost/wwwroot/AssetsClient/pages/Fine/js/Index.js index e5757496..324dbdb0 100644 --- a/ServiceHost/wwwroot/AssetsClient/pages/Fine/js/Index.js +++ b/ServiceHost/wwwroot/AssetsClient/pages/Fine/js/Index.js @@ -43,10 +43,15 @@ $(document).ready(function () { }); new Cleave(this, { - date: true, - delimiter: '/', - datePattern: ['Y', 'm', 'd'] + delimiters: ['/', '/'], + blocks: [4, 2, 2], + numericOnly: true }); + // new Cleave(this, { + // date: true, + // delimiter: '/', + // datePattern: ['Y', 'm', 'd'] + // }); }); //******************** انتخاب همه ی چک باکس ها ******************** $(".checkAll").change(function () { diff --git a/ServiceHost/wwwroot/AssetsClient/pages/Fine/js/ModalCreateNewFine.js b/ServiceHost/wwwroot/AssetsClient/pages/Fine/js/ModalCreateNewFine.js index e9ce8af4..36a159ff 100644 --- a/ServiceHost/wwwroot/AssetsClient/pages/Fine/js/ModalCreateNewFine.js +++ b/ServiceHost/wwwroot/AssetsClient/pages/Fine/js/ModalCreateNewFine.js @@ -96,10 +96,15 @@ $(document).ready(function () { }); new Cleave(this, { - date: true, - delimiter: '/', - datePattern: ['Y', 'm', 'd'] + delimiters: ['/', '/'], + blocks: [4, 2, 2], + numericOnly: true }); + // new Cleave(this, { + // date: true, + // delimiter: '/', + // datePattern: ['Y', 'm', 'd'] + // }); }); updateDateInput(0); diff --git a/ServiceHost/wwwroot/AssetsClient/pages/Fine/js/ModalEditFine.js b/ServiceHost/wwwroot/AssetsClient/pages/Fine/js/ModalEditFine.js index 04ed44a3..4d9391f9 100644 --- a/ServiceHost/wwwroot/AssetsClient/pages/Fine/js/ModalEditFine.js +++ b/ServiceHost/wwwroot/AssetsClient/pages/Fine/js/ModalEditFine.js @@ -1,4 +1,35 @@ -$(document).ready(function () { +document.querySelectorAll('.scroll-container-amount').forEach(container => { + let isDown = false; + let startX; + let scrollLeft; + + container.addEventListener('mousedown', (e) => { + isDown = true; + startX = e.pageX - container.offsetLeft; + scrollLeft = container.scrollLeft; + container.style.cursor = "grabbing"; + }); + + container.addEventListener('mouseleave', () => { + isDown = false; + container.style.cursor = "grab"; + }); + + container.addEventListener('mouseup', () => { + isDown = false; + container.style.cursor = "grab"; + }); + + container.addEventListener('mousemove', (e) => { + if (!isDown) return; + e.preventDefault(); + const x = e.pageX - container.offsetLeft; + const walk = (x - startX) * 2; + container.scrollLeft = scrollLeft - walk; + }); +}); + +$(document).ready(function () { $('.form-control-number').on('keydown', function (e) { const allowedKeys = [ 'Backspace', 'Tab', 'Escape', 'Enter', 'ArrowLeft', 'ArrowRight', @@ -49,10 +80,15 @@ }); new Cleave(this, { - date: true, - delimiter: '/', - datePattern: ['Y', 'm', 'd'] + delimiters: ['/', '/'], + blocks: [4, 2, 2], + numericOnly: true }); + //new Cleave(this, { + // date: true, + // delimiter: '/', + // datePattern: ['Y', 'm', 'd'] + // }); }); }); diff --git a/ServiceHost/wwwroot/AssetsClient/pages/Loan/js/Index.js b/ServiceHost/wwwroot/AssetsClient/pages/Loan/js/Index.js index 50e10cc2..217d4958 100644 --- a/ServiceHost/wwwroot/AssetsClient/pages/Loan/js/Index.js +++ b/ServiceHost/wwwroot/AssetsClient/pages/Loan/js/Index.js @@ -41,11 +41,16 @@ $(document).ready(function () { element.val(value); }); - new Cleave(this, { - date: true, - delimiter: '/', - datePattern: ['Y', 'm', 'd'] + new Cleave(this', { + delimiters: ['/', '/'], + blocks: [4, 2, 2], + numericOnly: true }); + // new Cleave(this, { + // date: true, + // delimiter: '/', + // datePattern: ['Y', 'm', 'd'] + // }); }); //******************** انتخاب همه ی چک باکس ها ******************** diff --git a/ServiceHost/wwwroot/AssetsClient/pages/Loan/js/ModalCreateNewLoan.js b/ServiceHost/wwwroot/AssetsClient/pages/Loan/js/ModalCreateNewLoan.js index 39c64a6b..75317b77 100644 --- a/ServiceHost/wwwroot/AssetsClient/pages/Loan/js/ModalCreateNewLoan.js +++ b/ServiceHost/wwwroot/AssetsClient/pages/Loan/js/ModalCreateNewLoan.js @@ -98,10 +98,15 @@ $(document).ready(function () { }); new Cleave(this, { - date: true, - delimiter: '/', - datePattern: ['Y', 'm', 'd'] + delimiters: ['/', '/'], + blocks: [4, 2, 2], + numericOnly: true }); + // new Cleave(this, { + // date: true, + // delimiter: '/', + // datePattern: ['Y', 'm', 'd'] + // }); }); updateDateInput(0); diff --git a/ServiceHost/wwwroot/AssetsClient/pages/Reward/js/Index.js b/ServiceHost/wwwroot/AssetsClient/pages/Reward/js/Index.js index 794466f3..c74124c2 100644 --- a/ServiceHost/wwwroot/AssetsClient/pages/Reward/js/Index.js +++ b/ServiceHost/wwwroot/AssetsClient/pages/Reward/js/Index.js @@ -43,11 +43,16 @@ $(document).ready(function () { element.val(value); }); - new Cleave(this, { - date: true, - delimiter: '/', - datePattern: ['Y', 'm', 'd'] + new Cleave('.dateInput', { + delimiters: ['/', '/'], + blocks: [4, 2, 2], + numericOnly: true }); + // new Cleave(this, { + // date: true, + // delimiter: '/', + // datePattern: ['Y', 'm', 'd'] + // }); }); //******************** انتخاب همه ی چک باکس ها ******************** @@ -614,14 +619,13 @@ function htmlLoadWithEmployeeDataByDate(loadRewardListData) {
    `; itemRewards.rewards.forEach(function (item) { - html += `
    @@ -663,7 +667,7 @@ function htmlLoadWithEmployeeDataByDate(loadRewardListData) { ${editPermission ? ` -
    - -
  • -
    - - آپلود مدارک پرسنل جدید - -
    -
    - Loading... + @if (StaticWorkshopAccounts.EmployeeDocumentWorkFlowRoleIds.Any(x => x == AuthHelper.GetUserTypeWithId().roleId)) + { +
  • + -
  • - -
  • -
  • +
  • + -
  • - + + }
    From 4b9d39f1e782058249f46d03756bb255b75e0935 Mon Sep 17 00:00:00 2001 From: SamSys Date: Tue, 6 May 2025 19:18:18 +0330 Subject: [PATCH 61/84] InsuranceJob Bug fix --- CompanyManagment.Application/InsuranceListApplication.cs | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/CompanyManagment.Application/InsuranceListApplication.cs b/CompanyManagment.Application/InsuranceListApplication.cs index ff63467e..60ad1fef 100644 --- a/CompanyManagment.Application/InsuranceListApplication.cs +++ b/CompanyManagment.Application/InsuranceListApplication.cs @@ -1633,7 +1633,8 @@ public class InsuranceListApplication: IInsuranceListApplication dateSaleryviewModel.StartDateGr = startDateGr; dateSaleryviewModel.EndDateGr = endDateGr; var _dateSalary = _dateSalaryRepository.GetDateSalaryViewModel(dateSaleryviewModel); - if (_dateSalary != null && _dateSalary.Id >0) + // && _dateSalary.Id >0 + if (_dateSalary != null) { var dateSaleryItemviewModel = new DateSalaryItemSearchModel(); dateSaleryItemviewModel.DateSalaryId = _dateSalary.Id; From fc18985334e82aef1af83b582c58c3afd1911c88 Mon Sep 17 00:00:00 2001 From: SamSys Date: Tue, 6 May 2025 20:16:32 +0330 Subject: [PATCH 62/84] change kabise 365 counter --- 0_Framework/Application/Tools.cs | 54 +++++++++---------- .../Repository/YearlySalaryRepository.cs | 6 ++- 2 files changed, 32 insertions(+), 28 deletions(-) diff --git a/0_Framework/Application/Tools.cs b/0_Framework/Application/Tools.cs index 4c8f4408..9347da24 100644 --- a/0_Framework/Application/Tools.cs +++ b/0_Framework/Application/Tools.cs @@ -598,90 +598,90 @@ public static class Tools /// public static int YearTotalDays(this string date) { - int y2 = 365; + int y2 = 366; var year = Convert.ToInt32(date.Substring(0, 4)); switch (year) { case 1346: - y2 = 366; + y2 = 367; break; case 1350: - y2 = 366; + y2 = 367; break; case 1354: - y2 = 366; + y2 = 367; break; case 1358: - y2 = 366; + y2 = 367; break; case 1362: - y2 = 366; + y2 = 367; break; case 1366: - y2 = 366; + y2 = 367; break; case 1370: - y2 = 366; + y2 = 367; break; case 1375: - y2 = 366; + y2 = 367; break; case 1379: - y2 = 366; + y2 = 367; break; case 1383: - y2 = 366; + y2 = 367; break; case 1387: - y2 = 366; + y2 = 367; break; case 1391: - y2 = 366; + y2 = 367; break; case 1395: - y2 = 366; + y2 = 367; break; case 1399: - y2 = 366; + y2 = 367; break; case 1403: - y2 = 366; + y2 = 367; break; case 1408: - y2 = 366; + y2 = 367; break; case 1412: - y2 = 366; + y2 = 367; break; case 1416: - y2 = 366; + y2 = 367; break; case 1420: - y2 = 366; + y2 = 367; break; case 1424: - y2 = 366; + y2 = 367; break; case 1428: - y2 = 366; + y2 = 367; break; case 1432: - y2 = 366; + y2 = 367; break; case 1436: - y2 = 366; + y2 = 367; break; case 1441: - y2 = 366; + y2 = 367; break; case 1445: - y2 = 366; + y2 = 367; break; default: - y2 = 365; + y2 = 366; break; } diff --git a/CompanyManagment.EFCore/Repository/YearlySalaryRepository.cs b/CompanyManagment.EFCore/Repository/YearlySalaryRepository.cs index 109075dd..44bb382d 100644 --- a/CompanyManagment.EFCore/Repository/YearlySalaryRepository.cs +++ b/CompanyManagment.EFCore/Repository/YearlySalaryRepository.cs @@ -791,7 +791,7 @@ public class YearlySalaryRepository : RepositoryBase, IYearl string finalResultMoney = string.Empty; double FinalResult = 0; int DayCounter = 0; - int Max365 = 365; + int Max365 = 366; double Basic = 0; double BaseResult = 0; DateTime periodStarter = new DateTime(); @@ -838,6 +838,8 @@ public class YearlySalaryRepository : RepositoryBase, IYearl //مقدار اولیه مزد روزانه var DayliSalaryStep1Fa = DayliSalaryStep1.ToMoney(); double firstDayliSalary = DayliSalaryStep1Fa.MoneyToDouble(); + + DateTime baseYearDate = new DateTime(); for (DateTime LoopDate = getWork; LoopDate <= endDateW; LoopDate = LoopDate.AddDays(1)) { @@ -867,6 +869,8 @@ public class YearlySalaryRepository : RepositoryBase, IYearl } + + //اگر تاریخ جاری بزرگتر یت مساوی تاریخ شروع ترک کار و کوچکتر یا مساوی تاریخ پایان ترک کار بود if (LoopDateGr >= startPeriod && LoopDateGr <= endtPeriod) { From 1e18fe1067d58a65b16b3465b0e0b39c6febac82 Mon Sep 17 00:00:00 2001 From: MahanCh Date: Wed, 7 May 2025 22:39:09 +0330 Subject: [PATCH 63/84] changes --- .../DomainService/IRollCallDomainService.cs | 111 ++++++++++-------- .../RollCallApplication.cs | 6 + .../Pages/Company/AndroidApk/Index.cshtml.cs | 25 ++-- 3 files changed, 83 insertions(+), 59 deletions(-) diff --git a/Company.Domain/RollCallAgg/DomainService/IRollCallDomainService.cs b/Company.Domain/RollCallAgg/DomainService/IRollCallDomainService.cs index 100af86d..6905fce8 100644 --- a/Company.Domain/RollCallAgg/DomainService/IRollCallDomainService.cs +++ b/Company.Domain/RollCallAgg/DomainService/IRollCallDomainService.cs @@ -15,6 +15,7 @@ using System.Threading.Tasks; using _0_Framework.Application; using OfficeOpenXml; using OfficeOpenXml.Drawing.Chart; +using System.Collections; namespace Company.Domain.RollCallAgg.DomainService; @@ -25,7 +26,7 @@ public interface IRollCallDomainService long workshopId); TimeOnly GetEmployeeOffSetForRegularSettings(long employeeId, long workshopId); - DateTime GetEmployeeShiftDateByRollCallStartDate(long workshopId, long employeeId, DateTime rollCallStartDate,DateTime rollCallEndDate); + DateTime GetEmployeeShiftDateByRollCallStartDate(long workshopId, long employeeId, DateTime rollCallStartDate, DateTime rollCallEndDate); void CalculateTimeDifferences(RollCall rollCall); @@ -173,16 +174,16 @@ public class RollCallDomainService : IRollCallDomainService } public DateTime GetEmployeeShiftDateByRollCallStartDate(long workshopId, long employeeId, - DateTime rollCallStartDate,DateTime rollCallEndDate) + DateTime rollCallStartDate, DateTime rollCallEndDate) { var shiftDetails = GetEmployeeShiftDetails(employeeId, workshopId); - + var offset = GetEmployeeOffSetForRegularSettings(employeeId, workshopId); return shiftDetails.shiftType switch { WorkshopShiftStatus.Regular => CalculateRegularShiftDate(rollCallStartDate, offset), - WorkshopShiftStatus.Rotating => FindRotatingShift(rollCallStartDate,rollCallEndDate,shiftDetails.rotatingShifts).start.Date, + WorkshopShiftStatus.Rotating => FindRotatingShift(rollCallStartDate, rollCallEndDate, shiftDetails.rotatingShifts).start.Date, WorkshopShiftStatus.Irregular => rollCallStartDate.Date, _ => throw new ArgumentOutOfRangeException() }; @@ -256,7 +257,7 @@ public class RollCallDomainService : IRollCallDomainService var lateEntryRollCall = rollCallsInShift.OrderBy(x => x.StartDate).FirstOrDefault(x => x.StartDate > employeeShift.start); - + var previousShift = employeeShifts.OrderByDescending(x => x.start) .FirstOrDefault(x => x.end < employeeShift.start); @@ -299,7 +300,7 @@ public class RollCallDomainService : IRollCallDomainService var lateExitRollCall = rollCallsInShift.OrderBy(x => x.EndDate).FirstOrDefault(x => x.EndDate > employeeShift.end); - + // تعجیل در خروج - زود رفتن var nextShift = employeeShifts.OrderBy(x => x.start) @@ -374,7 +375,7 @@ public class RollCallDomainService : IRollCallDomainService var lateEntryRollCallRotating = rollCallsInRotatingShift.OrderBy(x => x.StartDate).FirstOrDefault(x => x.StartDate > shift.start); - + if (earlyEntryRollCallRotating != null) { @@ -405,7 +406,7 @@ public class RollCallDomainService : IRollCallDomainService var lateExitRollCallRotating = rollCallsInRotatingShift.OrderBy(x => x.EndDate).FirstOrDefault(x => x.EndDate > shift.end); - + if (earlyExitRollCallRotating != null && (rollCallsInRotatingShift.Any(x => x.StartDate < rotatingShiftEnd && x.StartDate > earlyExitRollCallRotating.EndDate) == false)) @@ -453,10 +454,10 @@ public class RollCallDomainService : IRollCallDomainService DateTime startEntryWithDate = startDate.Add(startRollCall.TimeOfDay); DateTime endEntryWithDate = endDate.Add(endRollCall.TimeOfDay); - DateTime oneHourBeforeStart = startEntryWithDate.AddHours(-1); - DateTime oneHourAfterStart = startEntryWithDate.AddHours(1); - DateTime oneHourBeforeEnd = endEntryWithDate.AddHours(-1); - DateTime oneHourAfterEnd = endEntryWithDate.AddHours(1); + DateTime twoHourBeforeStart = startEntryWithDate.AddHours(-2); + DateTime twoHourAfterStart = startEntryWithDate.AddHours(2); + DateTime twoHourBeforeEnd = endEntryWithDate.AddHours(-2); + DateTime twoHourAfterEnd = endEntryWithDate.AddHours(2); var shiftDateTimes = rotatingShifts.SelectMany(shift => @@ -477,56 +478,68 @@ public class RollCallDomainService : IRollCallDomainService #region مقایسه شروع حضور غیاب با شیفت - var startFilteredTimes = shiftDateTimes.Where(shift => - (oneHourBeforeStart <= shift.Start && oneHourAfterStart >= shift.Start) || - (oneHourBeforeStart <= shift.End && oneHourAfterStart >= shift.End)).ToList(); + //var startFilteredTimes = shiftDateTimes.Where(shift => + // (twoHourBeforeStart <= shift.Start && twoHourAfterStart >= shift.Start) || + // (twoHourBeforeStart <= shift.End && twoHourAfterStart >= shift.End)).ToList(); - if (startFilteredTimes.Count == 0) - { - startFilteredTimes = shiftDateTimes; - } - else if (startFilteredTimes.Count == 1) - { - var startChosenShift = startFilteredTimes.First(); + //if (startFilteredTimes.Count == 0) + //{ + // startFilteredTimes = shiftDateTimes; + //} + //else if (startFilteredTimes.Count == 1) + //{ + // var startChosenShift = startFilteredTimes.First(); - if (startChosenShift.End < startChosenShift.Start) - startChosenShift.End = startChosenShift.End.AddDays(1); + // if (startChosenShift.End < startChosenShift.Start) + // startChosenShift.End = startChosenShift.End.AddDays(1); - return startChosenShift; - } + // return startChosenShift; + //} - #endregion + //#endregion - #region مقایسه پایان حضورغیاب با شیفت - - var endFilteredTimes = shiftDateTimes.Where(shift => - (oneHourBeforeEnd <= shift.Start && oneHourAfterEnd >= shift.Start) || - (oneHourBeforeEnd <= shift.End && oneHourAfterEnd >= shift.End)).ToList(); - if (endFilteredTimes.Count == 0) - { - endFilteredTimes = startFilteredTimes; - } - else if (endFilteredTimes.Count == 1) - { - var endChosenShift = endFilteredTimes.First(); - return endChosenShift; - } + //#region مقایسه پایان حضورغیاب با شیفت + //var endFilteredTimes = shiftDateTimes.Where(shift => + // (twoHourBeforeEnd <= shift.Start && twoHourAfterEnd >= shift.Start) || + // (twoHourBeforeEnd <= shift.End && twoHourAfterEnd >= shift.End)).ToList(); + //if (endFilteredTimes.Count == 0) + //{ + // endFilteredTimes = startFilteredTimes; + //} + //else if (endFilteredTimes.Count == 1) + //{ + // var endChosenShift = endFilteredTimes.First(); + // return endChosenShift; + //} #endregion #region اشتراک حضور غیاب و شیفت - var overlapShifts = endFilteredTimes.Select(shift => new - { - Shift = shift, - Overlap = new TimeSpan(Math.Max(0, - Math.Min(shift.End.Ticks, oneHourAfterEnd.Ticks) - - Math.Max(shift.Start.Ticks, oneHourBeforeStart.Ticks))) - }); + var overlapShifts = shiftDateTimes + .Select(shift => new + { + Shift = shift, + Overlap = new TimeSpan(Math.Max(0, + Math.Min(shift.End.Ticks, endRollCall.Ticks) - + Math.Max(shift.Start.Ticks, startRollCall.Ticks))), + // زمان حضور فرد در شیفت (مجموع Overlap با شیفت) + TotalTimeInShift = new TimeSpan(Math.Max(0, + Math.Min(shift.End.Ticks, endRollCall.Ticks) - + Math.Max(shift.Start.Ticks, startRollCall.Ticks))), + StartDistance = Math.Abs((shift.Start - startRollCall).Ticks), + EndDistance = Math.Abs((shift.End - endRollCall).Ticks), + TotalDistance = Math.Abs((shift.Start - startRollCall).Ticks) + Math.Abs((shift.End - endRollCall).Ticks) + }) + .OrderByDescending(s => s.TotalTimeInShift) // 1. بیشترین زمان حضور فرد + .ThenByDescending(s => s.Overlap) // 2. بیشترین Overlap + .ThenBy(s=>s.TotalDistance) + .ThenBy(s => s.StartDistance) + .ThenBy(x=>x.EndDistance); // 3. اگر برابر بود، Start نزدیک‌تر - var overlapChosenShift = overlapShifts.MaxBy(s => s.Overlap); + var overlapChosenShift = overlapShifts.First(); var end = overlapChosenShift.Shift.End; if (overlapChosenShift.Shift.End < overlapChosenShift.Shift.Start) end = overlapChosenShift.Shift.End.AddDays(1); diff --git a/CompanyManagment.Application/RollCallApplication.cs b/CompanyManagment.Application/RollCallApplication.cs index 9b84101c..3206e47d 100644 --- a/CompanyManagment.Application/RollCallApplication.cs +++ b/CompanyManagment.Application/RollCallApplication.cs @@ -504,6 +504,12 @@ public class RollCallApplication : IRollCallApplication _rollCallRepository.AddRange(rollCallsAsEntityModels); _rollCallRepository.SaveChanges(); foreach (var rollCallsAsEntityModel in rollCallsAsEntityModels) + { + rollCallsAsEntityModel.ClearTimeDiff(); + rollCallsAsEntityModel.SetShiftDate(_rollCallDomainService); + } + _rollCallRepository.SaveChanges(); + foreach (var rollCallsAsEntityModel in rollCallsAsEntityModels) { rollCallsAsEntityModel.Edit(rollCallsAsEntityModel.StartDate.Value, rollCallsAsEntityModel.EndDate.Value, _rollCallDomainService); } diff --git a/ServiceHost/Areas/AdminNew/Pages/Company/AndroidApk/Index.cshtml.cs b/ServiceHost/Areas/AdminNew/Pages/Company/AndroidApk/Index.cshtml.cs index 289d337f..dbeced5e 100644 --- a/ServiceHost/Areas/AdminNew/Pages/Company/AndroidApk/Index.cshtml.cs +++ b/ServiceHost/Areas/AdminNew/Pages/Company/AndroidApk/Index.cshtml.cs @@ -59,9 +59,9 @@ namespace ServiceHost.Areas.AdminNew.Pages.Company.AndroidApk public IActionResult OnPostShiftDateNew() { - var startRollCall = new DateTime(2025, 3, 21); - var rollCalls = _context.RollCalls.Where(x => x.ShiftDate >= startRollCall && x.EndDate != null).ToList(); - var r1 = rollCalls.Take(10000).ToList(); + var startRollCall = new DateTime(2025, 4, 21); + var rollCalls = _context.RollCalls.Where(x => x.ShiftDate >= startRollCall && x.EndDate != null && x.WorkshopId == 344).ToList(); + var r1 = rollCalls.ToList(); Console.ForegroundColor = ConsoleColor.DarkRed; Console.WriteLine("endStep 1 ============"); @@ -82,9 +82,9 @@ namespace ServiceHost.Areas.AdminNew.Pages.Company.AndroidApk //Console.WriteLine("endStep 1 ============"); //SetRollCall(r1); - await RefactorEmployeeDocumentItem(); - await ChangeIsConfirmed(); - await RemoveEmployeeClientTemps(); + await RefactorEmployeeDocumentItem(); + await ChangeIsConfirmed(); + await RemoveEmployeeClientTemps(); ViewData["message"] = "تومام دو"; return Page(); @@ -96,7 +96,7 @@ namespace ServiceHost.Areas.AdminNew.Pages.Company.AndroidApk .Include(x => x.EmployeeDocumentItemCollection) .Where(x => x.IsConfirmed); - var employeeClientTemps = await _context.EmployeeClientTemps.Where(x=>employeeDocuments.Any(a=>a.WorkshopId == x.WorkshopId && a.EmployeeId == x.EmployeeId)).ToListAsync(); + var employeeClientTemps = await _context.EmployeeClientTemps.Where(x => employeeDocuments.Any(a => a.WorkshopId == x.WorkshopId && a.EmployeeId == x.EmployeeId)).ToListAsync(); foreach (var employeeClientTemp in employeeClientTemps) { @@ -108,7 +108,7 @@ namespace ServiceHost.Areas.AdminNew.Pages.Company.AndroidApk private async System.Threading.Tasks.Task ChangeIsConfirmed() { - var employeeDocuments = await _context.EmployeeDocuments.Include(x=>x.EmployeeDocumentItemCollection).ToListAsync(); + var employeeDocuments = await _context.EmployeeDocuments.Include(x => x.EmployeeDocumentItemCollection).ToListAsync(); foreach (var employeeDocument in employeeDocuments) { employeeDocument.UpdateRequiredItemsSubmittedByClient(); @@ -294,14 +294,19 @@ namespace ServiceHost.Areas.AdminNew.Pages.Company.AndroidApk var endedRollCalls2 = r1.Where(x => x.EndDate != null).ToList(); var countSetTDRollCall = endedRollCalls2.Count; var stepSetTDRollCal = 1; + foreach (var rollCall in endedRollCalls2) + { + rollCall.ClearTimeDiff(); + } + _context.SaveChanges(); foreach (var endedRollCall in endedRollCalls2) { - endedRollCall.SetShiftDate(_rollCallDomainService); + endedRollCall.Edit(endedRollCall.StartDate.Value, endedRollCall.EndDate.Value, _rollCallDomainService); Console.WriteLine($"{stepSetTDRollCal} - {countSetTDRollCall} ended Set Time Differences{endedRollCall.id}"); stepSetTDRollCal += 1; } - _context.SaveChanges(); + } From 8e8e9ef5de82adc43782a083943f48b020ffe945 Mon Sep 17 00:00:00 2001 From: MahanCh Date: Wed, 7 May 2025 22:39:25 +0330 Subject: [PATCH 64/84] Revert "changes" This reverts commit 1e18fe1067d58a65b16b3465b0e0b39c6febac82. --- .../DomainService/IRollCallDomainService.cs | 111 ++++++++---------- .../RollCallApplication.cs | 6 - .../Pages/Company/AndroidApk/Index.cshtml.cs | 25 ++-- 3 files changed, 59 insertions(+), 83 deletions(-) diff --git a/Company.Domain/RollCallAgg/DomainService/IRollCallDomainService.cs b/Company.Domain/RollCallAgg/DomainService/IRollCallDomainService.cs index 6905fce8..100af86d 100644 --- a/Company.Domain/RollCallAgg/DomainService/IRollCallDomainService.cs +++ b/Company.Domain/RollCallAgg/DomainService/IRollCallDomainService.cs @@ -15,7 +15,6 @@ using System.Threading.Tasks; using _0_Framework.Application; using OfficeOpenXml; using OfficeOpenXml.Drawing.Chart; -using System.Collections; namespace Company.Domain.RollCallAgg.DomainService; @@ -26,7 +25,7 @@ public interface IRollCallDomainService long workshopId); TimeOnly GetEmployeeOffSetForRegularSettings(long employeeId, long workshopId); - DateTime GetEmployeeShiftDateByRollCallStartDate(long workshopId, long employeeId, DateTime rollCallStartDate, DateTime rollCallEndDate); + DateTime GetEmployeeShiftDateByRollCallStartDate(long workshopId, long employeeId, DateTime rollCallStartDate,DateTime rollCallEndDate); void CalculateTimeDifferences(RollCall rollCall); @@ -174,16 +173,16 @@ public class RollCallDomainService : IRollCallDomainService } public DateTime GetEmployeeShiftDateByRollCallStartDate(long workshopId, long employeeId, - DateTime rollCallStartDate, DateTime rollCallEndDate) + DateTime rollCallStartDate,DateTime rollCallEndDate) { var shiftDetails = GetEmployeeShiftDetails(employeeId, workshopId); - + var offset = GetEmployeeOffSetForRegularSettings(employeeId, workshopId); return shiftDetails.shiftType switch { WorkshopShiftStatus.Regular => CalculateRegularShiftDate(rollCallStartDate, offset), - WorkshopShiftStatus.Rotating => FindRotatingShift(rollCallStartDate, rollCallEndDate, shiftDetails.rotatingShifts).start.Date, + WorkshopShiftStatus.Rotating => FindRotatingShift(rollCallStartDate,rollCallEndDate,shiftDetails.rotatingShifts).start.Date, WorkshopShiftStatus.Irregular => rollCallStartDate.Date, _ => throw new ArgumentOutOfRangeException() }; @@ -257,7 +256,7 @@ public class RollCallDomainService : IRollCallDomainService var lateEntryRollCall = rollCallsInShift.OrderBy(x => x.StartDate).FirstOrDefault(x => x.StartDate > employeeShift.start); - + var previousShift = employeeShifts.OrderByDescending(x => x.start) .FirstOrDefault(x => x.end < employeeShift.start); @@ -300,7 +299,7 @@ public class RollCallDomainService : IRollCallDomainService var lateExitRollCall = rollCallsInShift.OrderBy(x => x.EndDate).FirstOrDefault(x => x.EndDate > employeeShift.end); - + // تعجیل در خروج - زود رفتن var nextShift = employeeShifts.OrderBy(x => x.start) @@ -375,7 +374,7 @@ public class RollCallDomainService : IRollCallDomainService var lateEntryRollCallRotating = rollCallsInRotatingShift.OrderBy(x => x.StartDate).FirstOrDefault(x => x.StartDate > shift.start); - + if (earlyEntryRollCallRotating != null) { @@ -406,7 +405,7 @@ public class RollCallDomainService : IRollCallDomainService var lateExitRollCallRotating = rollCallsInRotatingShift.OrderBy(x => x.EndDate).FirstOrDefault(x => x.EndDate > shift.end); - + if (earlyExitRollCallRotating != null && (rollCallsInRotatingShift.Any(x => x.StartDate < rotatingShiftEnd && x.StartDate > earlyExitRollCallRotating.EndDate) == false)) @@ -454,10 +453,10 @@ public class RollCallDomainService : IRollCallDomainService DateTime startEntryWithDate = startDate.Add(startRollCall.TimeOfDay); DateTime endEntryWithDate = endDate.Add(endRollCall.TimeOfDay); - DateTime twoHourBeforeStart = startEntryWithDate.AddHours(-2); - DateTime twoHourAfterStart = startEntryWithDate.AddHours(2); - DateTime twoHourBeforeEnd = endEntryWithDate.AddHours(-2); - DateTime twoHourAfterEnd = endEntryWithDate.AddHours(2); + DateTime oneHourBeforeStart = startEntryWithDate.AddHours(-1); + DateTime oneHourAfterStart = startEntryWithDate.AddHours(1); + DateTime oneHourBeforeEnd = endEntryWithDate.AddHours(-1); + DateTime oneHourAfterEnd = endEntryWithDate.AddHours(1); var shiftDateTimes = rotatingShifts.SelectMany(shift => @@ -478,68 +477,56 @@ public class RollCallDomainService : IRollCallDomainService #region مقایسه شروع حضور غیاب با شیفت - //var startFilteredTimes = shiftDateTimes.Where(shift => - // (twoHourBeforeStart <= shift.Start && twoHourAfterStart >= shift.Start) || - // (twoHourBeforeStart <= shift.End && twoHourAfterStart >= shift.End)).ToList(); + var startFilteredTimes = shiftDateTimes.Where(shift => + (oneHourBeforeStart <= shift.Start && oneHourAfterStart >= shift.Start) || + (oneHourBeforeStart <= shift.End && oneHourAfterStart >= shift.End)).ToList(); - //if (startFilteredTimes.Count == 0) - //{ - // startFilteredTimes = shiftDateTimes; - //} - //else if (startFilteredTimes.Count == 1) - //{ - // var startChosenShift = startFilteredTimes.First(); + if (startFilteredTimes.Count == 0) + { + startFilteredTimes = shiftDateTimes; + } + else if (startFilteredTimes.Count == 1) + { + var startChosenShift = startFilteredTimes.First(); - // if (startChosenShift.End < startChosenShift.Start) - // startChosenShift.End = startChosenShift.End.AddDays(1); + if (startChosenShift.End < startChosenShift.Start) + startChosenShift.End = startChosenShift.End.AddDays(1); - // return startChosenShift; - //} + return startChosenShift; + } - //#endregion + #endregion - //#region مقایسه پایان حضورغیاب با شیفت + #region مقایسه پایان حضورغیاب با شیفت + + var endFilteredTimes = shiftDateTimes.Where(shift => + (oneHourBeforeEnd <= shift.Start && oneHourAfterEnd >= shift.Start) || + (oneHourBeforeEnd <= shift.End && oneHourAfterEnd >= shift.End)).ToList(); + if (endFilteredTimes.Count == 0) + { + endFilteredTimes = startFilteredTimes; + } + else if (endFilteredTimes.Count == 1) + { + var endChosenShift = endFilteredTimes.First(); + return endChosenShift; + } - //var endFilteredTimes = shiftDateTimes.Where(shift => - // (twoHourBeforeEnd <= shift.Start && twoHourAfterEnd >= shift.Start) || - // (twoHourBeforeEnd <= shift.End && twoHourAfterEnd >= shift.End)).ToList(); - //if (endFilteredTimes.Count == 0) - //{ - // endFilteredTimes = startFilteredTimes; - //} - //else if (endFilteredTimes.Count == 1) - //{ - // var endChosenShift = endFilteredTimes.First(); - // return endChosenShift; - //} #endregion #region اشتراک حضور غیاب و شیفت - var overlapShifts = shiftDateTimes - .Select(shift => new - { - Shift = shift, - Overlap = new TimeSpan(Math.Max(0, - Math.Min(shift.End.Ticks, endRollCall.Ticks) - - Math.Max(shift.Start.Ticks, startRollCall.Ticks))), - // زمان حضور فرد در شیفت (مجموع Overlap با شیفت) - TotalTimeInShift = new TimeSpan(Math.Max(0, - Math.Min(shift.End.Ticks, endRollCall.Ticks) - - Math.Max(shift.Start.Ticks, startRollCall.Ticks))), - StartDistance = Math.Abs((shift.Start - startRollCall).Ticks), - EndDistance = Math.Abs((shift.End - endRollCall).Ticks), - TotalDistance = Math.Abs((shift.Start - startRollCall).Ticks) + Math.Abs((shift.End - endRollCall).Ticks) - }) - .OrderByDescending(s => s.TotalTimeInShift) // 1. بیشترین زمان حضور فرد - .ThenByDescending(s => s.Overlap) // 2. بیشترین Overlap - .ThenBy(s=>s.TotalDistance) - .ThenBy(s => s.StartDistance) - .ThenBy(x=>x.EndDistance); // 3. اگر برابر بود، Start نزدیک‌تر + var overlapShifts = endFilteredTimes.Select(shift => new + { + Shift = shift, + Overlap = new TimeSpan(Math.Max(0, + Math.Min(shift.End.Ticks, oneHourAfterEnd.Ticks) - + Math.Max(shift.Start.Ticks, oneHourBeforeStart.Ticks))) + }); - var overlapChosenShift = overlapShifts.First(); + var overlapChosenShift = overlapShifts.MaxBy(s => s.Overlap); var end = overlapChosenShift.Shift.End; if (overlapChosenShift.Shift.End < overlapChosenShift.Shift.Start) end = overlapChosenShift.Shift.End.AddDays(1); diff --git a/CompanyManagment.Application/RollCallApplication.cs b/CompanyManagment.Application/RollCallApplication.cs index 3206e47d..9b84101c 100644 --- a/CompanyManagment.Application/RollCallApplication.cs +++ b/CompanyManagment.Application/RollCallApplication.cs @@ -504,12 +504,6 @@ public class RollCallApplication : IRollCallApplication _rollCallRepository.AddRange(rollCallsAsEntityModels); _rollCallRepository.SaveChanges(); foreach (var rollCallsAsEntityModel in rollCallsAsEntityModels) - { - rollCallsAsEntityModel.ClearTimeDiff(); - rollCallsAsEntityModel.SetShiftDate(_rollCallDomainService); - } - _rollCallRepository.SaveChanges(); - foreach (var rollCallsAsEntityModel in rollCallsAsEntityModels) { rollCallsAsEntityModel.Edit(rollCallsAsEntityModel.StartDate.Value, rollCallsAsEntityModel.EndDate.Value, _rollCallDomainService); } diff --git a/ServiceHost/Areas/AdminNew/Pages/Company/AndroidApk/Index.cshtml.cs b/ServiceHost/Areas/AdminNew/Pages/Company/AndroidApk/Index.cshtml.cs index dbeced5e..289d337f 100644 --- a/ServiceHost/Areas/AdminNew/Pages/Company/AndroidApk/Index.cshtml.cs +++ b/ServiceHost/Areas/AdminNew/Pages/Company/AndroidApk/Index.cshtml.cs @@ -59,9 +59,9 @@ namespace ServiceHost.Areas.AdminNew.Pages.Company.AndroidApk public IActionResult OnPostShiftDateNew() { - var startRollCall = new DateTime(2025, 4, 21); - var rollCalls = _context.RollCalls.Where(x => x.ShiftDate >= startRollCall && x.EndDate != null && x.WorkshopId == 344).ToList(); - var r1 = rollCalls.ToList(); + var startRollCall = new DateTime(2025, 3, 21); + var rollCalls = _context.RollCalls.Where(x => x.ShiftDate >= startRollCall && x.EndDate != null).ToList(); + var r1 = rollCalls.Take(10000).ToList(); Console.ForegroundColor = ConsoleColor.DarkRed; Console.WriteLine("endStep 1 ============"); @@ -82,9 +82,9 @@ namespace ServiceHost.Areas.AdminNew.Pages.Company.AndroidApk //Console.WriteLine("endStep 1 ============"); //SetRollCall(r1); - await RefactorEmployeeDocumentItem(); - await ChangeIsConfirmed(); - await RemoveEmployeeClientTemps(); + await RefactorEmployeeDocumentItem(); + await ChangeIsConfirmed(); + await RemoveEmployeeClientTemps(); ViewData["message"] = "تومام دو"; return Page(); @@ -96,7 +96,7 @@ namespace ServiceHost.Areas.AdminNew.Pages.Company.AndroidApk .Include(x => x.EmployeeDocumentItemCollection) .Where(x => x.IsConfirmed); - var employeeClientTemps = await _context.EmployeeClientTemps.Where(x => employeeDocuments.Any(a => a.WorkshopId == x.WorkshopId && a.EmployeeId == x.EmployeeId)).ToListAsync(); + var employeeClientTemps = await _context.EmployeeClientTemps.Where(x=>employeeDocuments.Any(a=>a.WorkshopId == x.WorkshopId && a.EmployeeId == x.EmployeeId)).ToListAsync(); foreach (var employeeClientTemp in employeeClientTemps) { @@ -108,7 +108,7 @@ namespace ServiceHost.Areas.AdminNew.Pages.Company.AndroidApk private async System.Threading.Tasks.Task ChangeIsConfirmed() { - var employeeDocuments = await _context.EmployeeDocuments.Include(x => x.EmployeeDocumentItemCollection).ToListAsync(); + var employeeDocuments = await _context.EmployeeDocuments.Include(x=>x.EmployeeDocumentItemCollection).ToListAsync(); foreach (var employeeDocument in employeeDocuments) { employeeDocument.UpdateRequiredItemsSubmittedByClient(); @@ -294,19 +294,14 @@ namespace ServiceHost.Areas.AdminNew.Pages.Company.AndroidApk var endedRollCalls2 = r1.Where(x => x.EndDate != null).ToList(); var countSetTDRollCall = endedRollCalls2.Count; var stepSetTDRollCal = 1; - foreach (var rollCall in endedRollCalls2) - { - rollCall.ClearTimeDiff(); - } - _context.SaveChanges(); foreach (var endedRollCall in endedRollCalls2) { - endedRollCall.Edit(endedRollCall.StartDate.Value, endedRollCall.EndDate.Value, _rollCallDomainService); + endedRollCall.SetShiftDate(_rollCallDomainService); Console.WriteLine($"{stepSetTDRollCal} - {countSetTDRollCall} ended Set Time Differences{endedRollCall.id}"); stepSetTDRollCal += 1; } - _context.SaveChanges(); + _context.SaveChanges(); } From fbf367677ce7f0cfa9016a013358781f445bb69e Mon Sep 17 00:00:00 2001 From: MahanCh Date: Thu, 8 May 2025 12:16:26 +0330 Subject: [PATCH 65/84] Change rollcall rotating shift TimeDifferences --- .../DomainService/IRollCallDomainService.cs | 116 ++++++++++-------- .../RollCallApplication.cs | 12 ++ .../Repository/RollCallMandatoryRepository.cs | 96 ++++++++------- .../Pages/Company/AndroidApk/Index.cshtml.cs | 14 ++- 4 files changed, 141 insertions(+), 97 deletions(-) diff --git a/Company.Domain/RollCallAgg/DomainService/IRollCallDomainService.cs b/Company.Domain/RollCallAgg/DomainService/IRollCallDomainService.cs index 100af86d..9c13b981 100644 --- a/Company.Domain/RollCallAgg/DomainService/IRollCallDomainService.cs +++ b/Company.Domain/RollCallAgg/DomainService/IRollCallDomainService.cs @@ -15,6 +15,7 @@ using System.Threading.Tasks; using _0_Framework.Application; using OfficeOpenXml; using OfficeOpenXml.Drawing.Chart; +using System.Collections; namespace Company.Domain.RollCallAgg.DomainService; @@ -25,7 +26,7 @@ public interface IRollCallDomainService long workshopId); TimeOnly GetEmployeeOffSetForRegularSettings(long employeeId, long workshopId); - DateTime GetEmployeeShiftDateByRollCallStartDate(long workshopId, long employeeId, DateTime rollCallStartDate,DateTime rollCallEndDate); + DateTime GetEmployeeShiftDateByRollCallStartDate(long workshopId, long employeeId, DateTime rollCallStartDate, DateTime rollCallEndDate); void CalculateTimeDifferences(RollCall rollCall); @@ -173,16 +174,16 @@ public class RollCallDomainService : IRollCallDomainService } public DateTime GetEmployeeShiftDateByRollCallStartDate(long workshopId, long employeeId, - DateTime rollCallStartDate,DateTime rollCallEndDate) + DateTime rollCallStartDate, DateTime rollCallEndDate) { var shiftDetails = GetEmployeeShiftDetails(employeeId, workshopId); - + var offset = GetEmployeeOffSetForRegularSettings(employeeId, workshopId); return shiftDetails.shiftType switch { WorkshopShiftStatus.Regular => CalculateRegularShiftDate(rollCallStartDate, offset), - WorkshopShiftStatus.Rotating => FindRotatingShift(rollCallStartDate,rollCallEndDate,shiftDetails.rotatingShifts).start.Date, + WorkshopShiftStatus.Rotating => FindRotatingShift(rollCallStartDate, rollCallEndDate, shiftDetails.rotatingShifts).start.Date, WorkshopShiftStatus.Irregular => rollCallStartDate.Date, _ => throw new ArgumentOutOfRangeException() }; @@ -216,6 +217,7 @@ public class RollCallDomainService : IRollCallDomainService rollCalls.Remove(deletedRollCall); rollCalls.Add(rollCall); + rollCall.ClearTimeDiff(); switch (shiftDetails.shiftType) { case WorkshopShiftStatus.Regular: @@ -255,8 +257,9 @@ public class RollCallDomainService : IRollCallDomainService var earlyEntryRollCall = rollCallsInShift.OrderBy(x => x.StartDate).FirstOrDefault(x => x.StartDate < employeeShift.start); var lateEntryRollCall = rollCallsInShift.OrderBy(x => x.StartDate).FirstOrDefault(x => x.StartDate > employeeShift.start); + + - var previousShift = employeeShifts.OrderByDescending(x => x.start) .FirstOrDefault(x => x.end < employeeShift.start); @@ -299,8 +302,6 @@ public class RollCallDomainService : IRollCallDomainService var lateExitRollCall = rollCallsInShift.OrderBy(x => x.EndDate).FirstOrDefault(x => x.EndDate > employeeShift.end); - - // تعجیل در خروج - زود رفتن var nextShift = employeeShifts.OrderBy(x => x.start) .FirstOrDefault(x => x.start > employeeShift.end); @@ -373,8 +374,8 @@ public class RollCallDomainService : IRollCallDomainService var earlyEntryRollCallRotating = rollCallsInRotatingShift.OrderBy(x => x.StartDate).FirstOrDefault(x => x.StartDate < shift.start); var lateEntryRollCallRotating = rollCallsInRotatingShift.OrderBy(x => x.StartDate).FirstOrDefault(x => x.StartDate > shift.start); - - + earlyEntryRollCallRotating?.ClearTimeDiff(); + lateEntryRollCallRotating?.ClearTimeDiff(); if (earlyEntryRollCallRotating != null) { @@ -403,9 +404,10 @@ public class RollCallDomainService : IRollCallDomainService var earlyExitRollCallRotating = rollCallsInRotatingShift.OrderByDescending(x => x.EndDate).FirstOrDefault(x => x.EndDate < shift.end); var lateExitRollCallRotating = rollCallsInRotatingShift.OrderBy(x => x.EndDate).FirstOrDefault(x => x.EndDate > shift.end); + earlyExitRollCallRotating?.ClearTimeDiff(); + lateExitRollCallRotating?.ClearTimeDiff(); - if (earlyExitRollCallRotating != null && (rollCallsInRotatingShift.Any(x => x.StartDate < rotatingShiftEnd && x.StartDate > earlyExitRollCallRotating.EndDate) == false)) @@ -453,10 +455,10 @@ public class RollCallDomainService : IRollCallDomainService DateTime startEntryWithDate = startDate.Add(startRollCall.TimeOfDay); DateTime endEntryWithDate = endDate.Add(endRollCall.TimeOfDay); - DateTime oneHourBeforeStart = startEntryWithDate.AddHours(-1); - DateTime oneHourAfterStart = startEntryWithDate.AddHours(1); - DateTime oneHourBeforeEnd = endEntryWithDate.AddHours(-1); - DateTime oneHourAfterEnd = endEntryWithDate.AddHours(1); + DateTime twoHourBeforeStart = startEntryWithDate.AddHours(-2); + DateTime twoHourAfterStart = startEntryWithDate.AddHours(2); + DateTime twoHourBeforeEnd = endEntryWithDate.AddHours(-2); + DateTime twoHourAfterEnd = endEntryWithDate.AddHours(2); var shiftDateTimes = rotatingShifts.SelectMany(shift => @@ -477,56 +479,68 @@ public class RollCallDomainService : IRollCallDomainService #region مقایسه شروع حضور غیاب با شیفت - var startFilteredTimes = shiftDateTimes.Where(shift => - (oneHourBeforeStart <= shift.Start && oneHourAfterStart >= shift.Start) || - (oneHourBeforeStart <= shift.End && oneHourAfterStart >= shift.End)).ToList(); + //var startFilteredTimes = shiftDateTimes.Where(shift => + // (twoHourBeforeStart <= shift.Start && twoHourAfterStart >= shift.Start) || + // (twoHourBeforeStart <= shift.End && twoHourAfterStart >= shift.End)).ToList(); - if (startFilteredTimes.Count == 0) - { - startFilteredTimes = shiftDateTimes; - } - else if (startFilteredTimes.Count == 1) - { - var startChosenShift = startFilteredTimes.First(); + //if (startFilteredTimes.Count == 0) + //{ + // startFilteredTimes = shiftDateTimes; + //} + //else if (startFilteredTimes.Count == 1) + //{ + // var startChosenShift = startFilteredTimes.First(); - if (startChosenShift.End < startChosenShift.Start) - startChosenShift.End = startChosenShift.End.AddDays(1); + // if (startChosenShift.End < startChosenShift.Start) + // startChosenShift.End = startChosenShift.End.AddDays(1); - return startChosenShift; - } + // return startChosenShift; + //} - #endregion + //#endregion - #region مقایسه پایان حضورغیاب با شیفت - - var endFilteredTimes = shiftDateTimes.Where(shift => - (oneHourBeforeEnd <= shift.Start && oneHourAfterEnd >= shift.Start) || - (oneHourBeforeEnd <= shift.End && oneHourAfterEnd >= shift.End)).ToList(); - if (endFilteredTimes.Count == 0) - { - endFilteredTimes = startFilteredTimes; - } - else if (endFilteredTimes.Count == 1) - { - var endChosenShift = endFilteredTimes.First(); - return endChosenShift; - } + //#region مقایسه پایان حضورغیاب با شیفت + //var endFilteredTimes = shiftDateTimes.Where(shift => + // (twoHourBeforeEnd <= shift.Start && twoHourAfterEnd >= shift.Start) || + // (twoHourBeforeEnd <= shift.End && twoHourAfterEnd >= shift.End)).ToList(); + //if (endFilteredTimes.Count == 0) + //{ + // endFilteredTimes = startFilteredTimes; + //} + //else if (endFilteredTimes.Count == 1) + //{ + // var endChosenShift = endFilteredTimes.First(); + // return endChosenShift; + //} #endregion #region اشتراک حضور غیاب و شیفت - var overlapShifts = endFilteredTimes.Select(shift => new - { - Shift = shift, - Overlap = new TimeSpan(Math.Max(0, - Math.Min(shift.End.Ticks, oneHourAfterEnd.Ticks) - - Math.Max(shift.Start.Ticks, oneHourBeforeStart.Ticks))) - }); + var overlapShifts = shiftDateTimes + .Select(shift => new + { + Shift = shift, + Overlap = new TimeSpan(Math.Max(0, + Math.Min(shift.End.Ticks, endRollCall.Ticks) - + Math.Max(shift.Start.Ticks, startRollCall.Ticks))), + // زمان حضور فرد در شیفت (مجموع Overlap با شیفت) + TotalTimeInShift = new TimeSpan(Math.Max(0, + Math.Min(shift.End.Ticks, endRollCall.Ticks) - + Math.Max(shift.Start.Ticks, startRollCall.Ticks))), + StartDistance = Math.Abs((shift.Start - startRollCall).Ticks), + EndDistance = Math.Abs((shift.End - endRollCall).Ticks), + TotalDistance = Math.Abs((shift.Start - startRollCall).Ticks) + Math.Abs((shift.End - endRollCall).Ticks) + }) + .OrderByDescending(s => s.TotalTimeInShift) // 1. بیشترین زمان حضور فرد + .ThenByDescending(s => s.Overlap) // 2. بیشترین Overlap + .ThenBy(s => s.TotalDistance) + .ThenBy(s => s.StartDistance) + .ThenBy(x => x.EndDistance); // 3. اگر برابر بود، Start نزدیک‌تر - var overlapChosenShift = overlapShifts.MaxBy(s => s.Overlap); + var overlapChosenShift = overlapShifts.First(); var end = overlapChosenShift.Shift.End; if (overlapChosenShift.Shift.End < overlapChosenShift.Shift.Start) end = overlapChosenShift.Shift.End.AddDays(1); diff --git a/CompanyManagment.Application/RollCallApplication.cs b/CompanyManagment.Application/RollCallApplication.cs index 9b84101c..e97a8282 100644 --- a/CompanyManagment.Application/RollCallApplication.cs +++ b/CompanyManagment.Application/RollCallApplication.cs @@ -504,6 +504,12 @@ public class RollCallApplication : IRollCallApplication _rollCallRepository.AddRange(rollCallsAsEntityModels); _rollCallRepository.SaveChanges(); foreach (var rollCallsAsEntityModel in rollCallsAsEntityModels) + { + rollCallsAsEntityModel.ClearTimeDiff(); + rollCallsAsEntityModel.SetShiftDate(_rollCallDomainService); + } + _rollCallRepository.SaveChanges(); + foreach (var rollCallsAsEntityModel in rollCallsAsEntityModels) { rollCallsAsEntityModel.Edit(rollCallsAsEntityModel.StartDate.Value, rollCallsAsEntityModel.EndDate.Value, _rollCallDomainService); } @@ -673,6 +679,12 @@ public class RollCallApplication : IRollCallApplication _rollCallRepository.AddRange(rollCallsAsEntityModels); _rollCallRepository.SaveChanges(); + foreach (var rollCallsAsEntityModel in rollCallsAsEntityModels) + { + rollCallsAsEntityModel.ClearTimeDiff(); + rollCallsAsEntityModel.SetShiftDate(_rollCallDomainService); + } + _rollCallRepository.SaveChanges(); foreach (var rollCallsAsEntityModel in rollCallsAsEntityModels) { diff --git a/CompanyManagment.EFCore/Repository/RollCallMandatoryRepository.cs b/CompanyManagment.EFCore/Repository/RollCallMandatoryRepository.cs index 42131f83..44e58ff4 100644 --- a/CompanyManagment.EFCore/Repository/RollCallMandatoryRepository.cs +++ b/CompanyManagment.EFCore/Repository/RollCallMandatoryRepository.cs @@ -3815,7 +3815,7 @@ CreateWorkingHoursTemp command, bool holidayWorking) public static (DateTime start, DateTime end) FindRotatingShift(DateTime startRollCall, DateTime endRollCall, - ICollection rotatingShifts) + ICollection rotatingShifts) { DateTime startDate = startRollCall.Date; DateTime endDate = endRollCall.Date; @@ -3825,10 +3825,10 @@ CreateWorkingHoursTemp command, bool holidayWorking) DateTime startEntryWithDate = startDate.Add(startRollCall.TimeOfDay); DateTime endEntryWithDate = endDate.Add(endRollCall.TimeOfDay); - DateTime oneHourBeforeStart = startEntryWithDate.AddHours(-1); - DateTime oneHourAfterStart = startEntryWithDate.AddHours(1); - DateTime oneHourBeforeEnd = endEntryWithDate.AddHours(-1); - DateTime oneHourAfterEnd = endEntryWithDate.AddHours(1); + DateTime twoHourBeforeStart = startEntryWithDate.AddHours(-2); + DateTime twoHourAfterStart = startEntryWithDate.AddHours(2); + DateTime twoHourBeforeEnd = endEntryWithDate.AddHours(-2); + DateTime twoHourAfterEnd = endEntryWithDate.AddHours(2); var shiftDateTimes = rotatingShifts.SelectMany(shift => @@ -3849,56 +3849,68 @@ CreateWorkingHoursTemp command, bool holidayWorking) #region مقایسه شروع حضور غیاب با شیفت - var startFilteredTimes = shiftDateTimes.Where(shift => - (oneHourBeforeStart <= shift.Start && oneHourAfterStart >= shift.Start) || - (oneHourBeforeStart <= shift.End && oneHourAfterStart >= shift.End)).ToList(); + //var startFilteredTimes = shiftDateTimes.Where(shift => + // (twoHourBeforeStart <= shift.Start && twoHourAfterStart >= shift.Start) || + // (twoHourBeforeStart <= shift.End && twoHourAfterStart >= shift.End)).ToList(); - if (startFilteredTimes.Count == 0) - { - startFilteredTimes = shiftDateTimes; - } - else if (startFilteredTimes.Count == 1) - { - var startChosenShift = startFilteredTimes.First(); + //if (startFilteredTimes.Count == 0) + //{ + // startFilteredTimes = shiftDateTimes; + //} + //else if (startFilteredTimes.Count == 1) + //{ + // var startChosenShift = startFilteredTimes.First(); - if (startChosenShift.End < startChosenShift.Start) - startChosenShift.End = startChosenShift.End.AddDays(1); + // if (startChosenShift.End < startChosenShift.Start) + // startChosenShift.End = startChosenShift.End.AddDays(1); - return startChosenShift; - } + // return startChosenShift; + //} - #endregion + //#endregion - #region مقایسه پایان حضورغیاب با شیفت - - var endFilteredTimes = shiftDateTimes.Where(shift => - (oneHourBeforeEnd <= shift.Start && oneHourAfterEnd >= shift.Start) || - (oneHourBeforeEnd <= shift.End && oneHourAfterEnd >= shift.End)).ToList(); - if (endFilteredTimes.Count == 0) - { - endFilteredTimes = startFilteredTimes; - } - else if (endFilteredTimes.Count == 1) - { - var endChosenShift = endFilteredTimes.First(); - return endChosenShift; - } + //#region مقایسه پایان حضورغیاب با شیفت + //var endFilteredTimes = shiftDateTimes.Where(shift => + // (twoHourBeforeEnd <= shift.Start && twoHourAfterEnd >= shift.Start) || + // (twoHourBeforeEnd <= shift.End && twoHourAfterEnd >= shift.End)).ToList(); + //if (endFilteredTimes.Count == 0) + //{ + // endFilteredTimes = startFilteredTimes; + //} + //else if (endFilteredTimes.Count == 1) + //{ + // var endChosenShift = endFilteredTimes.First(); + // return endChosenShift; + //} #endregion #region اشتراک حضور غیاب و شیفت - var overlapShifts = endFilteredTimes.Select(shift => new - { - Shift = shift, - Overlap = new TimeSpan(Math.Max(0, - Math.Min(shift.End.Ticks, oneHourAfterEnd.Ticks) - - Math.Max(shift.Start.Ticks, oneHourBeforeStart.Ticks))) - }); + var overlapShifts = shiftDateTimes + .Select(shift => new + { + Shift = shift, + Overlap = new TimeSpan(Math.Max(0, + Math.Min(shift.End.Ticks, endRollCall.Ticks) - + Math.Max(shift.Start.Ticks, startRollCall.Ticks))), + // زمان حضور فرد در شیفت (مجموع Overlap با شیفت) + TotalTimeInShift = new TimeSpan(Math.Max(0, + Math.Min(shift.End.Ticks, endRollCall.Ticks) - + Math.Max(shift.Start.Ticks, startRollCall.Ticks))), + StartDistance = Math.Abs((shift.Start - startRollCall).Ticks), + EndDistance = Math.Abs((shift.End - endRollCall).Ticks), + TotalDistance = Math.Abs((shift.Start - startRollCall).Ticks) + Math.Abs((shift.End - endRollCall).Ticks) + }) + .OrderByDescending(s => s.TotalTimeInShift) // 1. بیشترین زمان حضور فرد + .ThenByDescending(s => s.Overlap) // 2. بیشترین Overlap + .ThenBy(s => s.TotalDistance) + .ThenBy(s => s.StartDistance) + .ThenBy(x => x.EndDistance); // 3. اگر برابر بود، Start نزدیک‌تر - var overlapChosenShift = overlapShifts.MaxBy(s => s.Overlap); + var overlapChosenShift = overlapShifts.First(); var end = overlapChosenShift.Shift.End; if (overlapChosenShift.Shift.End < overlapChosenShift.Shift.Start) end = overlapChosenShift.Shift.End.AddDays(1); diff --git a/ServiceHost/Areas/AdminNew/Pages/Company/AndroidApk/Index.cshtml.cs b/ServiceHost/Areas/AdminNew/Pages/Company/AndroidApk/Index.cshtml.cs index 289d337f..c5ba8e2d 100644 --- a/ServiceHost/Areas/AdminNew/Pages/Company/AndroidApk/Index.cshtml.cs +++ b/ServiceHost/Areas/AdminNew/Pages/Company/AndroidApk/Index.cshtml.cs @@ -59,9 +59,9 @@ namespace ServiceHost.Areas.AdminNew.Pages.Company.AndroidApk public IActionResult OnPostShiftDateNew() { - var startRollCall = new DateTime(2025, 3, 21); - var rollCalls = _context.RollCalls.Where(x => x.ShiftDate >= startRollCall && x.EndDate != null).ToList(); - var r1 = rollCalls.Take(10000).ToList(); + var startRollCall = new DateTime(2025, 4, 21); + var rollCalls = _context.RollCalls.Where(x => x.ShiftDate >= startRollCall && x.EndDate != null ).ToList(); + var r1 = rollCalls.ToList(); Console.ForegroundColor = ConsoleColor.DarkRed; Console.WriteLine("endStep 1 ============"); @@ -294,9 +294,15 @@ namespace ServiceHost.Areas.AdminNew.Pages.Company.AndroidApk var endedRollCalls2 = r1.Where(x => x.EndDate != null).ToList(); var countSetTDRollCall = endedRollCalls2.Count; var stepSetTDRollCal = 1; + + foreach (var rollCall in endedRollCalls2) + { + rollCall.ClearTimeDiff(); + } + _context.SaveChanges(); foreach (var endedRollCall in endedRollCalls2) { - endedRollCall.SetShiftDate(_rollCallDomainService); + endedRollCall.Edit(endedRollCall.StartDate.Value, endedRollCall.EndDate.Value, _rollCallDomainService); Console.WriteLine($"{stepSetTDRollCal} - {countSetTDRollCall} ended Set Time Differences{endedRollCall.id}"); stepSetTDRollCal += 1; } From d1e5adf96f27bf43616d20487f33951022db4c5a Mon Sep 17 00:00:00 2001 From: MahanCh Date: Thu, 8 May 2025 14:08:28 +0330 Subject: [PATCH 66/84] add salaryAid calculation Date and edit checkout on cahnge salary & ... --- 0_Framework/Application/Tools.cs | 13 +- .../CustomizeCheckoutAgg/CustomizeCheckout.cs | 125 +- .../ICustomizeCheckoutRepository.cs | 9 +- .../ValueObjects/CustomizeCheckoutFine.cs | 4 +- .../CustomizeCheckoutLoanInstallments.cs | 5 +- .../ValueObjects/CustomizeCheckoutReward.cs | 5 +- .../CustomizeCheckoutSalaryAid.cs | 11 +- .../CustomizeCheckoutTemp.cs | 74 +- .../ICustomizeCheckoutTempRepository.cs | 3 + .../CustomizeCheckoutSalaryAid.cs | 11 +- .../ValueObjects/CustomizeCheckoutTempFine.cs | 6 +- .../CustomizeCheckoutTempLoanInstallments.cs | 5 +- .../CustomizeCheckoutTempReward.cs | 5 +- Company.Domain/SalaryAidAgg/SalaryAid.cs | 25 +- .../SalaryAid/SalaryAidImportExcel.cs | 102 +- .../ICustomizeCheckoutApplication.cs | 7 +- .../Loan/LoanInstallmentViewModel.cs | 3 +- .../Reward/IRewardApplication.cs | 3 +- .../SalaryAid/CreateSalaryAidViewModel.cs | 4 +- .../SalaryAid/ISalaryAidApplication.cs | 2 +- .../SalaryAid/SalaryAidViewModel.cs | 22 +- .../CustomizeCheckoutApplication.cs | 71 +- .../CustomizeCheckoutTempApplication.cs | 22 +- .../FineApplication.cs | 174 +- .../LoanApplication.cs | 103 +- .../RewardApplication.cs | 181 +- .../SalaryAidApplication.cs | 255 +- .../Mapping/CustomizeCheckoutMapping.cs | 2 + .../Mapping/CustomizeCheckoutTempMapping.cs | 2 + ...stomize checkout value objects.Designer.cs | 9521 +++++++++++++++++ ... id to customize checkout value objects.cs | 184 + .../Migrations/CompanyContextModelSnapshot.cs | 47 + .../Repository/CustomizeCheckoutRepository.cs | 580 +- .../CustomizeCheckoutTempRepository.cs | 656 +- .../Repository/RollCallMandatoryRepository.cs | 226 +- .../Repository/SalaryAidRepository.cs | 4 +- .../Pages/Company/AndroidApk/Index.cshtml.cs | 138 + .../Client/Pages/Company/Fine/Index.cshtml.cs | 25 +- .../Company/Fine/ModalCreateNewFine.cshtml | 7 +- .../Pages/Company/Fine/ModalEditFine.cshtml | 7 +- .../Pages/Company/Reward/Index.cshtml.cs | 20 +- .../Reward/ModalCreateNewReward.cshtml | 5 +- .../Company/Reward/ModalEditReward.cshtml | 6 +- .../Pages/Company/SalaryAid/Index.cshtml.cs | 93 +- .../SalaryAid/ModalCreateNewSalaryAid.cshtml | 56 +- .../SalaryAid/ModalEditSalaryAid.cshtml | 37 +- .../Company/SalaryAid/ModalImportExcel.cshtml | 3 +- .../pages/Fine/js/ModalCreateNewFine.js | 103 +- .../pages/Fine/js/ModalEditFine.js | 94 +- .../AssetsClient/pages/Reward/js/Index.js | 103 +- .../pages/Reward/js/ModalCreateNewReward.js | 92 +- .../pages/Reward/js/ModalEditReward.js | 109 +- .../SalaryAid/css/ModalCreateNewSalaryAid.css | 185 +- .../pages/SalaryAid/css/ModalImportExcel.css | 4 + .../AssetsClient/pages/SalaryAid/js/Index.js | 18 +- .../SalaryAid/js/ModalCreateNewSalaryAid.js | 251 +- .../pages/SalaryAid/js/ModalEditSalaryAid.js | 246 +- .../pages/SalaryAid/js/ModalImportExcel.js | 97 +- .../Templates/SalaryAid/SA-Template.xlsx | Bin 10937 -> 11054 bytes 59 files changed, 13114 insertions(+), 1057 deletions(-) create mode 100644 CompanyManagment.EFCore/Migrations/20250508101244_add calculation date to salary aid and add entity id to customize checkout value objects.Designer.cs create mode 100644 CompanyManagment.EFCore/Migrations/20250508101244_add calculation date to salary aid and add entity id to customize checkout value objects.cs diff --git a/0_Framework/Application/Tools.cs b/0_Framework/Application/Tools.cs index 9347da24..6937303e 100644 --- a/0_Framework/Application/Tools.cs +++ b/0_Framework/Application/Tools.cs @@ -458,25 +458,30 @@ public static class Tools public static double MoneyToDouble(this string myMoney) { string bb = string.Empty; + bool isNegative = false; for (int x = 0; x < myMoney.Length; x++) { if (char.IsDigit(myMoney[x])) + { bb += myMoney[x]; + } + else if (myMoney[x] == '-' && bb.Length == 0) + { + // اگر علامت منفی قبل از اولین عدد آمد، در نظر بگیر + isNegative = true; + } } if (bb.Length > 0) { double res = double.Parse(bb); - return res; + return isNegative ? -res : res; } else { return 0; } - - - } public static string ToFileName(this DateTime date) { diff --git a/Company.Domain/CustomizeCheckoutAgg/CustomizeCheckout.cs b/Company.Domain/CustomizeCheckoutAgg/CustomizeCheckout.cs index 9c6efe6f..a5a5b953 100644 --- a/Company.Domain/CustomizeCheckoutAgg/CustomizeCheckout.cs +++ b/Company.Domain/CustomizeCheckoutAgg/CustomizeCheckout.cs @@ -1,5 +1,6 @@ using System; using System.Collections.Generic; +using System.Linq; using _0_Framework.Application; using _0_Framework.Domain; using _0_Framework.Domain.CustomizeCheckoutShared.Enums; @@ -18,20 +19,20 @@ public class CustomizeCheckout : EntityBase private CustomizeCheckout() { } public CustomizeCheckout(DateTime contractStart, DateTime contractEnd, long employeeId, string employeeFName, - string employeeLName, DateTime employeeDateOfBirth, - string employeeNationalCode, string workshopFullName, long workshopId, long? contractId, - double monthlySalary, double fridayPay, double overTimePay, double baseYearsPay, double bonusesPay, - double nightWorkPay, - double marriedAllowance, double shiftPay, double familyAllowance, double leavePay, double insuranceDeduction, - double fineAbsenceDeduction, - double lateToWorkDeduction, double earlyExitDeduction, double rewardPay, double salaryAidDeduction, - double installmentDeduction, - double fineDeduction, double taxDeduction, string sumOfWorkingDays, string totalClaims, string totalDeductions, - double totalPayment, string contractNo, ICollection checkoutFines, - ICollection customizeCheckoutLoanInstallments, - ICollection customizeCheckoutSalaryAids, - ICollection customizeCheckoutRewards, TimeSpan lateToWorkValue, double settingSalary, - double dailyWage, WorkshopShiftStatus shiftStatus, IrregularShift irregularShift, + string employeeLName, DateTime employeeDateOfBirth, + string employeeNationalCode, string workshopFullName, long workshopId, long? contractId, + double monthlySalary, double fridayPay, double overTimePay, double baseYearsPay, double bonusesPay, + double nightWorkPay, + double marriedAllowance, double shiftPay, double familyAllowance, double leavePay, double insuranceDeduction, + double fineAbsenceDeduction, + double lateToWorkDeduction, double earlyExitDeduction, double rewardPay, double salaryAidDeduction, + double installmentDeduction, + double fineDeduction, double taxDeduction, string sumOfWorkingDays, string totalClaims, string totalDeductions, + double totalPayment, string contractNo, ICollection checkoutFines, + ICollection customizeCheckoutLoanInstallments, + ICollection customizeCheckoutSalaryAids, + ICollection customizeCheckoutRewards, TimeSpan lateToWorkValue, double settingSalary, + double dailyWage, WorkshopShiftStatus shiftStatus, IrregularShift irregularShift, ICollection customizeRotatingShifts, ICollection employeeSettingsShifts) { YearInt = Convert.ToInt32(contractStart.ToFarsi().Substring(0, 4)); @@ -77,8 +78,8 @@ public class CustomizeCheckout : EntityBase LateToWorkValue = lateToWorkValue; SettingSalary = settingSalary; - DailyWage = dailyWage; - ShiftStatus = shiftStatus; + DailyWage = dailyWage; + ShiftStatus = shiftStatus; IrregularShift = irregularShift; CustomizeRotatingShifts = customizeRotatingShifts; RegularShifts = employeeSettingsShifts; @@ -257,17 +258,17 @@ public class CustomizeCheckout : EntityBase /// public double TotalPayment { get; private set; } - /// - /// مزد روزانه - /// - public double DailyWage { get; private set; } + /// + /// مزد روزانه + /// + public double DailyWage { get; private set; } - /// - /// حقوق تعیین شده - /// - public double SettingSalary { get; private set; } + /// + /// حقوق تعیین شده + /// + public double SettingSalary { get; private set; } - public WorkshopShiftStatus ShiftStatus { get; set; } + public WorkshopShiftStatus ShiftStatus { get; set; } #region Values @@ -301,4 +302,78 @@ public class CustomizeCheckout : EntityBase #endregion + public void SetValueObjects(ICollection checkoutFines, + ICollection customizeCheckoutLoanInstallments, + ICollection customizeCheckoutSalaryAids, + ICollection customizeCheckoutRewards) + { + CheckoutFines = checkoutFines; + CustomizeCheckoutLoanInstallments = customizeCheckoutLoanInstallments; + CustomizeCheckoutSalaryAids = customizeCheckoutSalaryAids; + CustomizeCheckoutRewards = customizeCheckoutRewards; + } + + public void SetRewards(ICollection rewards) + { + var previousTotalAmount = CustomizeCheckoutRewards.Sum(x => x.Amount.MoneyToDouble()); + var newTotalAmount = rewards.Sum(x => x.Amount.MoneyToDouble()); + RewardPay = newTotalAmount; + IncreaseTotalPayment(previousTotalAmount, newTotalAmount); + RecalculateTotalClaims(previousTotalAmount, newTotalAmount); + CustomizeCheckoutRewards = rewards; + } + + public void SetSalaryAids(ICollection salaryAids) + { + var previousTotalAmount = CustomizeCheckoutSalaryAids.Sum(x => x.Amount.MoneyToDouble()); + var newTotalAmount = salaryAids.Sum(x => x.Amount.MoneyToDouble()); + SalaryAidDeduction = newTotalAmount; + ReduceTotalPayment(previousTotalAmount, newTotalAmount); + RecalculateTotalDeduction(previousTotalAmount, newTotalAmount); + CustomizeCheckoutSalaryAids = salaryAids; + } + + public void SetFines(ICollection fines) + { + var previousTotalAmount = CheckoutFines.Sum(x => x.Amount.MoneyToDouble()); + var newTotalAmount = fines.Sum(x => x.Amount.MoneyToDouble()); + FineDeduction = newTotalAmount; + ReduceTotalPayment(previousTotalAmount, newTotalAmount); + RecalculateTotalDeduction(previousTotalAmount, newTotalAmount); + CheckoutFines = fines; + } + + public void SetLoanInstallment(ICollection installments) + { + var previousTotalAmount = CustomizeCheckoutLoanInstallments.Sum(x => x.AmountForMonth.MoneyToDouble()); + var newTotalAmount = installments.Sum(x => x.AmountForMonth.MoneyToDouble()); + InstallmentDeduction = newTotalAmount; + ReduceTotalPayment(previousTotalAmount, newTotalAmount); + RecalculateTotalDeduction(previousTotalAmount, newTotalAmount); + CustomizeCheckoutLoanInstallments = installments; + } + + + private void RecalculateTotalClaims(double previousTotalAmount, double newTotalAmount) + { + TotalClaims = (TotalClaims.MoneyToDouble() - previousTotalAmount + newTotalAmount).ToMoney(); + } + + + private void RecalculateTotalDeduction(double previousTotalAmount, double newTotalAmount) + { + TotalDeductions = (TotalDeductions.MoneyToDouble() - previousTotalAmount + newTotalAmount).ToMoney(); + } + + private void ReduceTotalPayment(double previousAmount, double newAmount) + { + TotalPayment = TotalPayment + previousAmount - newAmount; + } + private void IncreaseTotalPayment(double previousAmount, double newAmount) + { + TotalPayment = TotalPayment - previousAmount + newAmount; + } + + + } \ No newline at end of file diff --git a/Company.Domain/CustomizeCheckoutAgg/ICustomizeCheckoutRepository.cs b/Company.Domain/CustomizeCheckoutAgg/ICustomizeCheckoutRepository.cs index a0bb28ed..21b12310 100644 --- a/Company.Domain/CustomizeCheckoutAgg/ICustomizeCheckoutRepository.cs +++ b/Company.Domain/CustomizeCheckoutAgg/ICustomizeCheckoutRepository.cs @@ -3,7 +3,7 @@ using _0_Framework.Domain; using CompanyManagment.App.Contracts.CustomizeCheckout; using System; using System.Collections.Generic; -using _0_Framework.Application; +using System.Threading.Tasks; namespace Company.Domain.CustomizeCheckoutAgg { @@ -15,5 +15,12 @@ namespace Company.Domain.CustomizeCheckoutAgg void RemoveEmployeeCustomizeCheckoutInDates(long workshopId, long employeeId, DateTime startOfMonth, DateTime endOfMonth); IEnumerable GetRange(long workshopId, List ids); void RemoveRange(IEnumerable entities); + List GetByWorkshopIdEmployeeIdInDates(long workshopId, long employeeId, DateTime startDate, DateTime endDate); + + Task GetByWorkshopIdEmployeeIdMonthYear(long workshopId, long employeeId, int year, + int month); + + (bool Checkout, bool CustomizeCheckout, bool CustomizeCheckoutTemp) ValidateExistsCheckouts( + DateTime startDate, DateTime endDate, long workshopId, List employeeId); } } diff --git a/Company.Domain/CustomizeCheckoutAgg/ValueObjects/CustomizeCheckoutFine.cs b/Company.Domain/CustomizeCheckoutAgg/ValueObjects/CustomizeCheckoutFine.cs index 7bf8ee17..2b4f1bab 100644 --- a/Company.Domain/CustomizeCheckoutAgg/ValueObjects/CustomizeCheckoutFine.cs +++ b/Company.Domain/CustomizeCheckoutAgg/ValueObjects/CustomizeCheckoutFine.cs @@ -5,7 +5,7 @@ namespace Company.Domain.CustomizeCheckoutAgg.ValueObjects; public record CustomizeCheckoutFine { - public CustomizeCheckoutFine(string title, string amount, string fineDateFa, DateTime fineDateGr, IsActive isActive, DateTime creationDate) + public CustomizeCheckoutFine(string title, string amount, string fineDateFa, DateTime fineDateGr, IsActive isActive, DateTime creationDate, long entityId) { Title = title; Amount = amount; @@ -13,6 +13,7 @@ public record CustomizeCheckoutFine FineDateGr = fineDateGr; IsActive = isActive; CreationDate = creationDate; + EntityId = entityId; } public string Title { get; private set; } @@ -21,4 +22,5 @@ public record CustomizeCheckoutFine public DateTime FineDateGr { get; private set; } public IsActive IsActive { get; private set; } public DateTime CreationDate { get; private set; } + public long EntityId { get; set; } } \ No newline at end of file diff --git a/Company.Domain/CustomizeCheckoutAgg/ValueObjects/CustomizeCheckoutLoanInstallments.cs b/Company.Domain/CustomizeCheckoutAgg/ValueObjects/CustomizeCheckoutLoanInstallments.cs index a82348a8..d65d63ca 100644 --- a/Company.Domain/CustomizeCheckoutAgg/ValueObjects/CustomizeCheckoutLoanInstallments.cs +++ b/Company.Domain/CustomizeCheckoutAgg/ValueObjects/CustomizeCheckoutLoanInstallments.cs @@ -5,7 +5,7 @@ namespace Company.Domain.CustomizeCheckoutAgg.ValueObjects; public class CustomizeCheckoutLoanInstallments { - public CustomizeCheckoutLoanInstallments(string amountForMonth, string month, string year, IsActive isActive, string loanRemaining, string loanAmount) + public CustomizeCheckoutLoanInstallments(string amountForMonth, string month, string year, IsActive isActive, string loanRemaining, string loanAmount, long entityId) { AmountForMonth = amountForMonth; Month = month; @@ -13,6 +13,7 @@ public class CustomizeCheckoutLoanInstallments IsActive = isActive; LoanRemaining = loanRemaining; LoanAmount = loanAmount; + EntityId = entityId; } public string AmountForMonth { get; private set; } @@ -21,5 +22,7 @@ public class CustomizeCheckoutLoanInstallments public string LoanRemaining { get; set; } public IsActive IsActive { get; private set; } public string LoanAmount { get; set; } + public long EntityId { get; set; } + } \ No newline at end of file diff --git a/Company.Domain/CustomizeCheckoutAgg/ValueObjects/CustomizeCheckoutReward.cs b/Company.Domain/CustomizeCheckoutAgg/ValueObjects/CustomizeCheckoutReward.cs index 76addead..2abc68d1 100644 --- a/Company.Domain/CustomizeCheckoutAgg/ValueObjects/CustomizeCheckoutReward.cs +++ b/Company.Domain/CustomizeCheckoutAgg/ValueObjects/CustomizeCheckoutReward.cs @@ -5,7 +5,7 @@ namespace Company.Domain.CustomizeCheckoutAgg.ValueObjects; public class CustomizeCheckoutReward { - public CustomizeCheckoutReward(string amount, string description, DateTime grantDate, string grantDateFa, IsActive isActive, string title) + public CustomizeCheckoutReward(string amount, string description, DateTime grantDate, string grantDateFa, IsActive isActive, string title, long entityId) { Amount = amount; Description = description; @@ -13,6 +13,7 @@ public class CustomizeCheckoutReward GrantDateFa = grantDateFa; IsActive = isActive; Title = title; + EntityId = entityId; } /// @@ -39,5 +40,7 @@ public class CustomizeCheckoutReward public IsActive IsActive { get; private set; } + public long EntityId { get; set; } + } \ No newline at end of file diff --git a/Company.Domain/CustomizeCheckoutAgg/ValueObjects/CustomizeCheckoutSalaryAid.cs b/Company.Domain/CustomizeCheckoutAgg/ValueObjects/CustomizeCheckoutSalaryAid.cs index ea2f473f..1b804bf7 100644 --- a/Company.Domain/CustomizeCheckoutAgg/ValueObjects/CustomizeCheckoutSalaryAid.cs +++ b/Company.Domain/CustomizeCheckoutAgg/ValueObjects/CustomizeCheckoutSalaryAid.cs @@ -4,14 +4,23 @@ namespace Company.Domain.CustomizeCheckoutAgg.ValueObjects; public class CustomizeCheckoutSalaryAid { - public CustomizeCheckoutSalaryAid(string amount, DateTime salaryAidDateTime, string salaryAidDateTimeFa) + public CustomizeCheckoutSalaryAid(string amount, DateTime salaryAidDateTime, string salaryAidDateTimeFa,DateTime calculationDateTime,string calculationDateTimeFa, long entityId) { Amount = amount; SalaryAidDateTime = salaryAidDateTime; SalaryAidDateTimeFa = salaryAidDateTimeFa; + CalculationDateTime = calculationDateTime; + CalculationDateTimeFa = calculationDateTimeFa; + EntityId = entityId; } public string Amount { get; private set; } public DateTime SalaryAidDateTime { get; private set; } public string SalaryAidDateTimeFa { get; private set; } + + public DateTime CalculationDateTime { get; private set; } + public string CalculationDateTimeFa { get; private set; } + + public long EntityId { get; set; } + } \ No newline at end of file diff --git a/Company.Domain/CustomizeCheckoutTempAgg/CustomizeCheckoutTemp.cs b/Company.Domain/CustomizeCheckoutTempAgg/CustomizeCheckoutTemp.cs index 7aa7384b..8a3cb9f2 100644 --- a/Company.Domain/CustomizeCheckoutTempAgg/CustomizeCheckoutTemp.cs +++ b/Company.Domain/CustomizeCheckoutTempAgg/CustomizeCheckoutTemp.cs @@ -8,6 +8,7 @@ using System.Collections.Generic; using Company.Domain.CustomizeCheckoutTempAgg.ValueObjects; using _0_Framework.Domain.CustomizeCheckoutShared.Enums; using _0_Framework.Domain.CustomizeCheckoutShared.ValueObjects; +using System.Linq; namespace Company.Domain.CustomizeCheckoutTempAgg; @@ -303,6 +304,77 @@ public class CustomizeCheckoutTemp : EntityBase public Workshop Workshop { get; set; } public Employee Employee { get; set; } - #endregion + #endregion + public void SetValueObjects(ICollection checkoutFines, + ICollection customizeCheckoutLoanInstallments, + ICollection customizeCheckoutSalaryAids, + ICollection customizeCheckoutRewards) + { + CheckoutFines = checkoutFines; + CustomizeCheckoutLoanInstallments = customizeCheckoutLoanInstallments; + CustomizeCheckoutSalaryAids = customizeCheckoutSalaryAids; + CustomizeCheckoutRewards = customizeCheckoutRewards; + } + + public void SetRewards(ICollection rewards) + { + var previousTotalAmount = CustomizeCheckoutRewards.Sum(x => x.Amount.MoneyToDouble()); + var newTotalAmount = rewards.Sum(x => x.Amount.MoneyToDouble()); + RewardPay = newTotalAmount; + IncreaseTotalPayment(previousTotalAmount,newTotalAmount); + RecalculateTotalClaims(previousTotalAmount, newTotalAmount); + CustomizeCheckoutRewards = rewards; + } + + public void SetSalaryAids(ICollection salaryAids) + { + var previousTotalAmount = CustomizeCheckoutSalaryAids.Sum(x => x.Amount.MoneyToDouble()); + var newTotalAmount = salaryAids.Sum(x => x.Amount.MoneyToDouble()); + SalaryAidDeduction = newTotalAmount; + ReduceTotalPayment(previousTotalAmount,newTotalAmount); + RecalculateTotalDeduction(previousTotalAmount, newTotalAmount); + CustomizeCheckoutSalaryAids = salaryAids; + } + + public void SetFines(ICollection fines) + { + var previousTotalAmount = CheckoutFines.Sum(x => x.Amount.MoneyToDouble()); + var newTotalAmount = fines.Sum(x => x.Amount.MoneyToDouble()); + FineDeduction = newTotalAmount; + ReduceTotalPayment(previousTotalAmount,newTotalAmount); + RecalculateTotalDeduction(previousTotalAmount, newTotalAmount); + CheckoutFines = fines; + } + + public void SetLoanInstallment(ICollection installments) + { + var previousTotalAmount = CustomizeCheckoutLoanInstallments.Sum(x => x.AmountForMonth.MoneyToDouble()); + var newTotalAmount = installments.Sum(x => x.AmountForMonth.MoneyToDouble()); + InstallmentDeduction = newTotalAmount; + ReduceTotalPayment(previousTotalAmount,newTotalAmount); + RecalculateTotalDeduction(previousTotalAmount, newTotalAmount); + CustomizeCheckoutLoanInstallments = installments; + } + + + private void RecalculateTotalClaims(double previousTotalAmount, double newTotalAmount) + { + TotalClaims = (TotalClaims.MoneyToDouble() - previousTotalAmount + newTotalAmount).ToMoney(); + } + + + private void RecalculateTotalDeduction(double previousTotalAmount, double newTotalAmount) + { + TotalDeductions = (TotalDeductions.MoneyToDouble() - previousTotalAmount + newTotalAmount).ToMoney(); + } + + private void ReduceTotalPayment(double previousAmount, double newAmount) + { + TotalPayment = TotalPayment + previousAmount - newAmount; + } + private void IncreaseTotalPayment(double previousAmount, double newAmount) + { + TotalPayment = TotalPayment - previousAmount + newAmount; + } } \ No newline at end of file diff --git a/Company.Domain/CustomizeCheckoutTempAgg/ICustomizeCheckoutTempRepository.cs b/Company.Domain/CustomizeCheckoutTempAgg/ICustomizeCheckoutTempRepository.cs index bff89769..f293d54f 100644 --- a/Company.Domain/CustomizeCheckoutTempAgg/ICustomizeCheckoutTempRepository.cs +++ b/Company.Domain/CustomizeCheckoutTempAgg/ICustomizeCheckoutTempRepository.cs @@ -4,6 +4,7 @@ using Company.Domain.CustomizeCheckoutAgg; using CompanyManagment.App.Contracts.CustomizeCheckout; using System; using System.Collections.Generic; +using System.Threading.Tasks; namespace Company.Domain.CustomizeCheckoutTempAgg { @@ -19,5 +20,7 @@ namespace Company.Domain.CustomizeCheckoutTempAgg IEnumerable GetRange(long workshopId, List ids); void RemoveRange(IEnumerable entities); + List GetByWorkshopIdEmployeeIdInDates(long workshopId, long employeeId, DateTime startDate, DateTime endDate); + Task GetByWorkshopIdEmployeeIdInDate(long workshopId, long employeeId, DateTime inDate); } } diff --git a/Company.Domain/CustomizeCheckoutTempAgg/ValueObjects/CustomizeCheckoutSalaryAid.cs b/Company.Domain/CustomizeCheckoutTempAgg/ValueObjects/CustomizeCheckoutSalaryAid.cs index ef4eeb49..1a4a9e40 100644 --- a/Company.Domain/CustomizeCheckoutTempAgg/ValueObjects/CustomizeCheckoutSalaryAid.cs +++ b/Company.Domain/CustomizeCheckoutTempAgg/ValueObjects/CustomizeCheckoutSalaryAid.cs @@ -4,14 +4,23 @@ namespace Company.Domain.CustomizeCheckoutTempAgg.ValueObjects; public class CustomizeCheckoutTempSalaryAid { - public CustomizeCheckoutTempSalaryAid(string amount, DateTime salaryAidDateTime, string salaryAidDateTimeFa) + public CustomizeCheckoutTempSalaryAid(string amount, DateTime salaryAidDateTime, string salaryAidDateTimeFa, + DateTime calculationDateTime, string calculationDateTimeFa, long entityId) { Amount = amount; SalaryAidDateTime = salaryAidDateTime; SalaryAidDateTimeFa = salaryAidDateTimeFa; + CalculationDateTime = calculationDateTime; + CalculationDateTimeFa = calculationDateTimeFa; + EntityId = entityId; } public string Amount { get; private set; } public DateTime SalaryAidDateTime { get; private set; } public string SalaryAidDateTimeFa { get; private set; } + + public DateTime CalculationDateTime { get; private set; } + public string CalculationDateTimeFa { get; private set; } + public long EntityId { get; set; } + } \ No newline at end of file diff --git a/Company.Domain/CustomizeCheckoutTempAgg/ValueObjects/CustomizeCheckoutTempFine.cs b/Company.Domain/CustomizeCheckoutTempAgg/ValueObjects/CustomizeCheckoutTempFine.cs index 293e3ac7..f8c96f1c 100644 --- a/Company.Domain/CustomizeCheckoutTempAgg/ValueObjects/CustomizeCheckoutTempFine.cs +++ b/Company.Domain/CustomizeCheckoutTempAgg/ValueObjects/CustomizeCheckoutTempFine.cs @@ -6,7 +6,7 @@ namespace Company.Domain.CustomizeCheckoutTempAgg.ValueObjects; public record CustomizeCheckoutTempFine { - public CustomizeCheckoutTempFine(string title, string amount, string fineDateFa, DateTime fineDateGr, IsActive isActive, DateTime creationDate) + public CustomizeCheckoutTempFine(string title, string amount, string fineDateFa, DateTime fineDateGr, IsActive isActive, DateTime creationDate, long entityId) { Title = title; Amount = amount; @@ -14,7 +14,7 @@ public record CustomizeCheckoutTempFine FineDateGr = fineDateGr; IsActive = isActive; CreationDate = creationDate; - + EntityId = entityId; } public string Title { get; private set; } public string Amount { get; private set; } @@ -22,4 +22,6 @@ public record CustomizeCheckoutTempFine public DateTime FineDateGr { get; private set; } public IsActive IsActive { get; private set; } public DateTime CreationDate { get; private set; } + public long EntityId { get; set; } + } \ No newline at end of file diff --git a/Company.Domain/CustomizeCheckoutTempAgg/ValueObjects/CustomizeCheckoutTempLoanInstallments.cs b/Company.Domain/CustomizeCheckoutTempAgg/ValueObjects/CustomizeCheckoutTempLoanInstallments.cs index 00d1113d..12fe90a6 100644 --- a/Company.Domain/CustomizeCheckoutTempAgg/ValueObjects/CustomizeCheckoutTempLoanInstallments.cs +++ b/Company.Domain/CustomizeCheckoutTempAgg/ValueObjects/CustomizeCheckoutTempLoanInstallments.cs @@ -4,7 +4,7 @@ namespace Company.Domain.CustomizeCheckoutTempAgg.ValueObjects; public class CustomizeCheckoutTempLoanInstallments { - public CustomizeCheckoutTempLoanInstallments(string amountForMonth, string month, string year, IsActive isActive, string loanRemaining, string loanAmount) + public CustomizeCheckoutTempLoanInstallments(string amountForMonth, string month, string year, IsActive isActive, string loanRemaining, string loanAmount, long entityId) { AmountForMonth = amountForMonth; Month = month; @@ -12,6 +12,7 @@ public class CustomizeCheckoutTempLoanInstallments IsActive = isActive; LoanRemaining = loanRemaining; LoanAmount = loanAmount; + EntityId = entityId; } public string AmountForMonth { get; private set; } @@ -20,5 +21,7 @@ public class CustomizeCheckoutTempLoanInstallments public IsActive IsActive { get; private set; } public string LoanRemaining { get; set; } public string LoanAmount { get; set; } + public long EntityId { get; set; } + } \ No newline at end of file diff --git a/Company.Domain/CustomizeCheckoutTempAgg/ValueObjects/CustomizeCheckoutTempReward.cs b/Company.Domain/CustomizeCheckoutTempAgg/ValueObjects/CustomizeCheckoutTempReward.cs index 9164406f..9b3740f5 100644 --- a/Company.Domain/CustomizeCheckoutTempAgg/ValueObjects/CustomizeCheckoutTempReward.cs +++ b/Company.Domain/CustomizeCheckoutTempAgg/ValueObjects/CustomizeCheckoutTempReward.cs @@ -5,7 +5,7 @@ namespace Company.Domain.CustomizeCheckoutTempAgg.ValueObjects; public class CustomizeCheckoutTempReward { - public CustomizeCheckoutTempReward(string amount, string description, DateTime grantDate, string grantDateFa, IsActive isActive, string title) + public CustomizeCheckoutTempReward(string amount, string description, DateTime grantDate, string grantDateFa, IsActive isActive, string title, long entityId) { Amount = amount; Description = description; @@ -13,6 +13,7 @@ public class CustomizeCheckoutTempReward GrantDateFa = grantDateFa; IsActive = isActive; Title = title; + EntityId = entityId; } /// @@ -37,4 +38,6 @@ public class CustomizeCheckoutTempReward public IsActive IsActive { get; private set; } public string Title { get; set; } + public long EntityId { get; set; } + } \ No newline at end of file diff --git a/Company.Domain/SalaryAidAgg/SalaryAid.cs b/Company.Domain/SalaryAidAgg/SalaryAid.cs index 5fc7fea1..f84a3836 100644 --- a/Company.Domain/SalaryAidAgg/SalaryAid.cs +++ b/Company.Domain/SalaryAidAgg/SalaryAid.cs @@ -5,13 +5,13 @@ using Hangfire.Annotations; namespace Company.Domain.SalaryAidAgg; -public class SalaryAid:EntityBase +public class SalaryAid : EntityBase { private SalaryAid() { - + } - public SalaryAid(long employeeId, long workshopId, double amount, DateTime salaryAidDateTime, long createdByAccountId, UserType createdByUserType) + public SalaryAid(long employeeId, long workshopId, double amount, DateTime salaryAidDateTime, long createdByAccountId, UserType createdByUserType, int calculationMonth, int calculationYear) { EmployeeId = employeeId; WorkshopId = workshopId; @@ -19,12 +19,26 @@ public class SalaryAid:EntityBase SalaryAidDateTime = salaryAidDateTime; CreatedByUserType = createdByUserType; CreatedByAccountId = createdByAccountId; + CalculationDate = $"{calculationYear:0000}/{calculationMonth:00}/01".ToGeorgianDateTime(); + CalculationMonth = calculationMonth; + CalculationYear = calculationYear; } public long EmployeeId { get; private set; } public long WorkshopId { get; private set; } public double Amount { get; private set; } + /// + /// تاریخ پرداخت + /// public DateTime SalaryAidDateTime { get; private set; } + /// + /// تاریخ محاسبه + /// + public DateTime CalculationDate { get; private set; } + + public int CalculationMonth { get; set; } + public int CalculationYear { get; set; } + public long CreatedByAccountId { get; private set; } @@ -36,11 +50,14 @@ public class SalaryAid:EntityBase public UserType LastModifiedByUserType { get; private set; } - public void Edit(double amount, DateTime salaryAidTime, long modifiedByAccountId, UserType modifiedByUserType) + public void Edit(double amount, DateTime salaryAidTime, long modifiedByAccountId, UserType modifiedByUserType, int calculationMonth, int calculationYear) { Amount = amount; SalaryAidDateTime = salaryAidTime; LastModifiedByAccountId = modifiedByAccountId; LastModifiedByUserType = modifiedByUserType; + CalculationDate = $"{calculationYear:0000}/{calculationMonth:00}/01".ToGeorgianDateTime(); + CalculationMonth = calculationMonth; + CalculationYear = calculationYear; } } \ No newline at end of file diff --git a/CompanyManagement.Infrastructure.Excel/SalaryAid/SalaryAidImportExcel.cs b/CompanyManagement.Infrastructure.Excel/SalaryAid/SalaryAidImportExcel.cs index 7963cadf..2504e958 100644 --- a/CompanyManagement.Infrastructure.Excel/SalaryAid/SalaryAidImportExcel.cs +++ b/CompanyManagement.Infrastructure.Excel/SalaryAid/SalaryAidImportExcel.cs @@ -6,7 +6,7 @@ using LicenseContext = OfficeOpenXml.LicenseContext; namespace CompanyManagement.Infrastructure.Excel.SalaryAid; -public record SalaryAidImportData(long EmployeeId, long WorkshopId, string FullName, double Amount, string AccountNumber, string NationalCode, string SalaryAidDateTime, int Row, bool Duplicated); +public record SalaryAidImportData(long EmployeeId, long WorkshopId, string FullName, double Amount, string AccountNumber, string NationalCode, string SalaryAidDateTime, int calculationMonth, int calculationYear, int Row, bool Duplicated); public class ExcelValidation { @@ -80,35 +80,59 @@ public class SalaryAidImportExcel // بررسی اینکه هدرها همان چیزی هستند که ما انتظار داریم - if (worksheet.Cells[2, 1].Text != "نام و نام خانوادگی" || - worksheet.Cells[2, 2].Text != "کد ملی" || - worksheet.Cells[2, 3].Text != "شماره حساب" || - worksheet.Cells[2, 4].Text != "مبلغ قابل پرداخت" || - worksheet.Cells[1, 1].Text != "تاریخ پرداخت") + if (worksheet.Cells[3, 1].Text != "نام و نام خانوادگی" || + worksheet.Cells[3, 2].Text != "کد ملی" || + worksheet.Cells[3, 3].Text != "شماره حساب" || + worksheet.Cells[3, 4].Text != "مبلغ قابل پرداخت" || + worksheet.Cells[1, 3].Text != "تاریخ پرداخت" || + worksheet.Cells[1, 1].Text != "سال محاسبه" || + worksheet.Cells[1, 2].Text != "ماه محسابه") { result.Errors.Add(new SalaryAidImportExcelError("ساختار فایل اکسل اشتباه است.", 0, SalaryAidExcelColumns.None.ToString())); return result; } - var salaryDateFa = worksheet.Cells[1, 4].Text; + var salaryDateFa = worksheet.Cells[2, 3].Text; + + var calculationMonth = Convert.ToInt32(string.IsNullOrWhiteSpace(worksheet.Cells[2, 2].Text) ? "0" : worksheet.Cells[2, 2].Text); + var calculationYear = Convert.ToInt32(string.IsNullOrWhiteSpace(worksheet.Cells[2, 1].Text) ? "0" : worksheet.Cells[2, 1].Text); + if (string.IsNullOrWhiteSpace(salaryDateFa)) { result.Errors.Add(new SalaryAidImportExcelError("لطفا در سلول زرد رنگ تاریخ پرداخت را وارد کنید", 0, SalaryAidExcelColumns.None.ToString())); return result; } + if (calculationMonth == 0) + { + result.Errors.Add(new SalaryAidImportExcelError("لطفا در سلول آبی رنگ ماه محاسبه را وارد کنید", 0, SalaryAidExcelColumns.None.ToString())); + return result; + } + if (calculationYear == 0) + { + result.Errors.Add(new SalaryAidImportExcelError("لطفا در سلول آبی رنگ سال محاسبه را وارد کنید", 0, SalaryAidExcelColumns.None.ToString())); + return result; + } + + var calculationDate = $"{calculationYear:0000}/{calculationMonth:00}/01"; if (salaryDateFa.TryToGeorgianDateTime(out var salaryDateTime) == false) { result.Errors.Add(new SalaryAidImportExcelError("تاریخ وارد شده نامعتبر است", 0, SalaryAidExcelColumns.None.ToString())); } + + if (calculationDate.TryToGeorgianDateTime(out var calculationDateTime) == false) + { + result.Errors.Add(new SalaryAidImportExcelError("تاریخ محاسبه وارد شده نامعتبر است", 0, SalaryAidExcelColumns.None.ToString())); + } + if (salaryDateTime > DateTime.Now) { result.Errors.Add(new SalaryAidImportExcelError("تاریخ پرداخت مساعده می بایست تاریخ امروز یا قبل تر باشد", 0, SalaryAidExcelColumns.None.ToString())); } int rowCount = worksheet.Dimension.Rows; - int rowStart = 3; + int rowStart = 4; if (rowCount < rowStart) { @@ -127,11 +151,11 @@ public class SalaryAidImportExcel if (!double.TryParse(amountText, out double amount) || amount <= 0) { result.Errors.Add(new SalaryAidImportExcelError("مبلغ خالی یا نامعتبر است", row, SalaryAidExcelColumns.Amount.ToString())); - - } - result.RawData.Add(new SalaryAidImportData(0, workshopId, fullName, amount, accountNumber, nationalCode, salaryDateFa, row, false)); - if (string.IsNullOrWhiteSpace(fullName)) + } + result.RawData.Add(new SalaryAidImportData(0, workshopId, fullName, amount, accountNumber, nationalCode, salaryDateFa, calculationMonth, calculationYear, row, false)); + + if (string.IsNullOrWhiteSpace(fullName)) { result.Errors.Add(new SalaryAidImportExcelError(" نام و نام خانوادگی خالی است", row, SalaryAidExcelColumns.FullName.ToString())); @@ -204,25 +228,61 @@ public class SalaryAidImportExcel var year = Convert.ToInt32(salaryDateFa.Substring(0, 4)); - if (_companyContext.CustomizeCheckouts.Any(x => x.WorkshopId == workshopId && x.EmployeeId == employee.id && x.YearInt == year && x.MonthInt == month)) + //if (_companyContext.CustomizeCheckouts.Any(x => x.WorkshopId == workshopId && x.EmployeeId == employee.id && x.YearInt == year && x.MonthInt == month)) + //{ + // result.Errors.Add(new SalaryAidImportExcelError($" پرسنل {fullName} در تاریخ {salaryDateFa} دارای فیش حقوقی غیررسمی است.", row, SalaryAidExcelColumns.None.ToString())); + //} + + + _ = DateTime.Now.Date.AddMonthsFa(-1, out var oneMonthAgoGr); + + if (oneMonthAgoGr > calculationDateTime) { - result.Errors.Add(new SalaryAidImportExcelError($" پرسنل {fullName} در تاریخ {salaryDateFa} دارای فیش حقوقی غیررسمی است.", row, SalaryAidExcelColumns.None.ToString())); + bool customizeCheckout = false; + bool customizeCheckoutTemp = false; + bool checkout = false; + if (_companyContext.CustomizeCheckouts.Any(x => x.WorkshopId == workshopId && employee.id == x.EmployeeId && + x.ContractStart <= oneMonthAgoGr && x.ContractEnd >= calculationDateTime)) + { + customizeCheckout = true; + } + + if (_companyContext.CustomizeCheckoutTemps.Any(x => x.WorkshopId == workshopId && employee.id == x.EmployeeId && + x.ContractStart <= calculationDateTime && x.ContractEnd >= oneMonthAgoGr)) + { + customizeCheckoutTemp = true; + } + + if (_companyContext.CheckoutSet.Any(x => x.WorkshopId == workshopId && employee.id == x.EmployeeId && + x.ContractStart <= calculationDateTime && x.ContractEnd >= oneMonthAgoGr)) + { + checkout = true; + } + if (customizeCheckout || customizeCheckoutTemp) + { + result.Errors.Add(new SalaryAidImportExcelError($"شما نمیتوانید به پرسنل {fullName} در تاریخ قبل از یک ماه گذشته که فیش صادر شده باشد مساعده دهید", row, SalaryAidExcelColumns.None.ToString())); + } } + //if(_companyContext.CheckoutSet.Any(x => x.WorkshopId == workshopId && employee.id == x.EmployeeId && + // x.ContractStart <= calculationDateTime && x.ContractEnd >= calculationDateTime)) + // result.Errors.Add(new SalaryAidImportExcelError($"پرسنل {fullName} در تاریخ {calculationDate} دارای فیش رسمی میباشد", row, SalaryAidExcelColumns.None.ToString())); + + if (_companyContext.SalaryAids.Any(x => x.Amount == amount && x.EmployeeId == employee.id && x.WorkshopId == workshopId && x.SalaryAidDateTime == salaryDateTime)) { // TODO MAHAN: Vafa Add this Code! Please Check it! - result.RawData.Add(new SalaryAidImportData(employee.id, workshopId, fullName, amount, accountNumber, nationalCode, salaryDateFa, row, true)); - continue; + result.RawData.Add(new SalaryAidImportData(employee.id, workshopId, fullName, amount, accountNumber, nationalCode, salaryDateFa, calculationMonth, calculationYear, row, true)); + continue; } - result.ValidData.Add(new SalaryAidImportData(employee.id, workshopId, fullName, amount, accountNumber, nationalCode, salaryDateFa, row, false)); + result.ValidData.Add(new SalaryAidImportData(employee.id, workshopId, fullName, amount, accountNumber, nationalCode, salaryDateFa, calculationMonth, calculationYear, row, false)); } - result.RawData = result.RawData.GroupBy(x => x.Row).Select(x => new SalaryAidImportData(x.First().EmployeeId, - x.First().WorkshopId, x.First().FullName, - x.First().Amount, x.First().AccountNumber, x.First().NationalCode, x.First().SalaryAidDateTime, x.Key, - x.Any(s => s.Duplicated))).ToList(); + result.RawData = result.RawData.GroupBy(x => x.Row).Select(x => new SalaryAidImportData(x.Last().EmployeeId, + x.First().WorkshopId, x.First().FullName, + x.First().Amount, x.First().AccountNumber, x.First().NationalCode, x.First().SalaryAidDateTime, x.First().calculationMonth, x.First().calculationYear, x.Key, + x.Any(s => s.Duplicated))).ToList(); //result.Errors.GroupBy(x => x.Row).Select(x => new diff --git a/CompanyManagment.App.Contracts/CustomizeCheckout/ICustomizeCheckoutApplication.cs b/CompanyManagment.App.Contracts/CustomizeCheckout/ICustomizeCheckoutApplication.cs index 33645584..cfc1fa04 100644 --- a/CompanyManagment.App.Contracts/CustomizeCheckout/ICustomizeCheckoutApplication.cs +++ b/CompanyManagment.App.Contracts/CustomizeCheckout/ICustomizeCheckoutApplication.cs @@ -1,5 +1,6 @@  +using System; using _0_Framework.Application; using System.Collections.Generic; @@ -17,5 +18,9 @@ namespace CompanyManagment.App.Contracts.CustomizeCheckout OperationResult GroupRemove(long workshopId,List idList); OperationResult Create(CreateCustomizeCheckout command); - } + (bool Checkout, bool CustomizeCheckout, bool CustomizeCheckoutTemp) ValidateExistsCheckouts( + DateTime startDate, DateTime endDate, long workshopId, List employeeId); + + + } } diff --git a/CompanyManagment.App.Contracts/Loan/LoanInstallmentViewModel.cs b/CompanyManagment.App.Contracts/Loan/LoanInstallmentViewModel.cs index d60c1067..0ca39284 100644 --- a/CompanyManagment.App.Contracts/Loan/LoanInstallmentViewModel.cs +++ b/CompanyManagment.App.Contracts/Loan/LoanInstallmentViewModel.cs @@ -6,7 +6,8 @@ namespace CompanyManagment.App.Contracts.Loan; public class LoanInstallmentViewModel { - public string Year { get; set; } + public long Id { get; set; } + public string Year { get; set; } public string Month { get; set; } public string Amount { get; set; } public double AmountDouble { get; set; } diff --git a/CompanyManagment.App.Contracts/Reward/IRewardApplication.cs b/CompanyManagment.App.Contracts/Reward/IRewardApplication.cs index 657f8935..4269c557 100644 --- a/CompanyManagment.App.Contracts/Reward/IRewardApplication.cs +++ b/CompanyManagment.App.Contracts/Reward/IRewardApplication.cs @@ -1,4 +1,5 @@ using System.Collections.Generic; +using System.Threading.Tasks; using _0_Framework.Application; namespace CompanyManagment.App.Contracts.Reward; @@ -6,7 +7,7 @@ namespace CompanyManagment.App.Contracts.Reward; public interface IRewardApplication { OperationResult Create(CreateRewardViewModel command); - OperationResult Edit(EditRewardViewModel command); + OperationResult Edit(EditRewardViewModel command); List GetSearchList(RewardSearchModel searchViewModel); EditRewardViewModel GetDetails(long id); OperationResult Remove(long id); diff --git a/CompanyManagment.App.Contracts/SalaryAid/CreateSalaryAidViewModel.cs b/CompanyManagment.App.Contracts/SalaryAid/CreateSalaryAidViewModel.cs index 9c3ff4c3..32112ff5 100644 --- a/CompanyManagment.App.Contracts/SalaryAid/CreateSalaryAidViewModel.cs +++ b/CompanyManagment.App.Contracts/SalaryAid/CreateSalaryAidViewModel.cs @@ -9,4 +9,6 @@ public class CreateSalaryAidViewModel public string Amount { get; set; } public string SalaryDateTime { get; set; } public string NationalCode { get; set; } -} \ No newline at end of file + public int CalculationMonth { get; set; } + public int CalculationYear { get; set; } +} diff --git a/CompanyManagment.App.Contracts/SalaryAid/ISalaryAidApplication.cs b/CompanyManagment.App.Contracts/SalaryAid/ISalaryAidApplication.cs index 9e8fd182..ebaccead 100644 --- a/CompanyManagment.App.Contracts/SalaryAid/ISalaryAidApplication.cs +++ b/CompanyManagment.App.Contracts/SalaryAid/ISalaryAidApplication.cs @@ -22,5 +22,5 @@ public interface ISalaryAidApplication SalaryAidsGroupedViewModel GetSearchListAsGrouped(SalaryAidSearchViewModel searchModel); #endregion - Task CreateRange(List commands); + OperationResult CreateRange(List commands); } \ No newline at end of file diff --git a/CompanyManagment.App.Contracts/SalaryAid/SalaryAidViewModel.cs b/CompanyManagment.App.Contracts/SalaryAid/SalaryAidViewModel.cs index e415954c..d8ca7715 100644 --- a/CompanyManagment.App.Contracts/SalaryAid/SalaryAidViewModel.cs +++ b/CompanyManagment.App.Contracts/SalaryAid/SalaryAidViewModel.cs @@ -4,17 +4,21 @@ namespace CompanyManagment.App.Contracts.SalaryAid; public class SalaryAidViewModel { - public long Id { get; set; } - public long EmployeeId { get; set; } - public string Amount { get; set; } + public long Id { get; set; } + public long EmployeeId { get; set; } + public string Amount { get; set; } public double AmountDouble { get; set; } - public long WorkshopId { get; set; } - public string CreationDate { get; set; } - public string SalaryAidDateTimeFa { get; set; } - public DateTime SalaryAidDateTimeGe { get; set; } + public long WorkshopId { get; set; } + public string CreationDate { get; set; } + public string SalaryAidDateTimeFa { get; set; } + public DateTime SalaryAidDateTimeGe { get; set; } + public string CalculationDateTimeFa { get; set; } + public DateTime CalculationDateTimeGe { get; set; } - public string EmployeeFullName { get; set; } - public string PersonnelCode { get; set; } + + + public string EmployeeFullName { get; set; } + public string PersonnelCode { get; set; } public string MonthFa { get; set; } public string YearFa { get; set; } } \ No newline at end of file diff --git a/CompanyManagment.Application/CustomizeCheckoutApplication.cs b/CompanyManagment.Application/CustomizeCheckoutApplication.cs index d617a01e..7e325e2c 100644 --- a/CompanyManagment.Application/CustomizeCheckoutApplication.cs +++ b/CompanyManagment.Application/CustomizeCheckoutApplication.cs @@ -16,10 +16,12 @@ using System; using System.Collections.Generic; using System.Globalization; using System.Linq; +using Company.Domain.CheckoutAgg; using Company.Domain.CustomizeCheckoutAgg.ValueObjects; -using Company.Domain.CustomizeWorkshopGroupSettingsAgg; +using Company.Domain.CustomizeCheckoutTempAgg; using Company.Domain.PersonnelCodeAgg; using CompanyManagment.App.Contracts.PersonnleCode; +using Company.Domain.CustomizeWorkshopGroupSettingsAgg; namespace CompanyManagment.Application { @@ -34,10 +36,14 @@ namespace CompanyManagment.Application private readonly IContractRepository _contractRepository; private readonly IWorkshopRepository _workshopRepository; private readonly ICustomizeWorkshopSettingsRepository _customizeWorkshopSettingsRepository; + private readonly ICustomizeCheckoutTempRepository _customizeCheckoutTempRepository; + private readonly ICheckoutRepository _checkoutRepository; + private readonly ICustomizeWorkshopGroupSettingsRepository _customizeWorkshopGroupSettingsRepository; + public CustomizeCheckoutApplication(ICustomizeCheckoutRepository customizeCheckoutRepository, IRollCallEmployeeStatusRepository rollCallEmployeeStatusRepository, ILeftWorkRepository leftWorkRepository, IEmployeeRepository employeeRepository, - IRollCallMandatoryRepository rollCallMandatoryRepository, IContractRepository contractRepository, IWorkshopRepository workshopRepository, ICustomizeWorkshopSettingsRepository customizeWorkshopSettingsRepository, IPersonnelCodeRepository personnelCodeRepository, ICustomizeWorkshopGroupSettingsRepository customizeWorkshopGroupSettingsRepository) + IRollCallMandatoryRepository rollCallMandatoryRepository, IContractRepository contractRepository, IWorkshopRepository workshopRepository, ICustomizeWorkshopSettingsRepository customizeWorkshopSettingsRepository, IPersonnelCodeRepository personnelCodeRepository, ICustomizeCheckoutTempRepository customizeCheckoutTempRepository, ICheckoutRepository checkoutRepository, ICustomizeWorkshopGroupSettingsRepository customizeWorkshopGroupSettingsRepository) { _customizeCheckoutRepository = customizeCheckoutRepository; _rollCallEmployeeStatusRepository = rollCallEmployeeStatusRepository; @@ -48,6 +54,8 @@ namespace CompanyManagment.Application _workshopRepository = workshopRepository; _customizeWorkshopSettingsRepository = customizeWorkshopSettingsRepository; _personnelCodeRepository = personnelCodeRepository; + _customizeCheckoutTempRepository = customizeCheckoutTempRepository; + _checkoutRepository = checkoutRepository; _customizeWorkshopGroupSettingsRepository = customizeWorkshopGroupSettingsRepository; } @@ -89,18 +97,19 @@ namespace CompanyManagment.Application x.Amount, x.FineDate, x.FineDate.ToGeorgianDateTime(), - x.IsActive, x.CreationDate.ToGeorgianDateTime()) + x.IsActive, x.CreationDate.ToGeorgianDateTime(), + x.Id) ).ToList(); var rewards = result.RewardViewModels.Select(x => new CustomizeCheckoutReward(x.Amount, x.Description, x.GrantDateGr, x.GrantDateFa, - x.IsActive,x.Title)).ToList(); + x.IsActive, x.Title,x.Id)).ToList(); var loanInstallments = result.InstallmentViewModels.Select(x => - new CustomizeCheckoutLoanInstallments(x.Amount, x.Month, x.Year, x.IsActive,x.RemainingAmount,x.LoanAmount)).ToList(); + new CustomizeCheckoutLoanInstallments(x.Amount, x.Month, x.Year, x.IsActive, x.RemainingAmount, x.LoanAmount,x.Id)).ToList(); var salaryAids = result.SalaryAidViewModels.Select(x => - new CustomizeCheckoutSalaryAid(x.Amount, x.SalaryAidDateTimeGe, x.SalaryAidDateTimeFa)).ToList(); + new CustomizeCheckoutSalaryAid(x.Amount, x.SalaryAidDateTimeGe, x.SalaryAidDateTimeFa, x.CalculationDateTimeGe, x.CalculationDateTimeFa,x.Id)).ToList(); var regularShift = result.EmployeeSettingsShifts.Select(x => @@ -113,15 +122,23 @@ namespace CompanyManagment.Application result.FamilyAllowance, result.LeavePay, result.InsuranceDeduction, result.FineAbsenceDeduction, result.LateToWorkDeduction, result.EarlyExitDeduction, result.RewardPay, result.SalaryAidDeduction, result.InstallmentDeduction, result.FineDeduction, result.TaxDeduction, result.SumOfWorkingDays, result.TotalClaimsStr, result.TotalDeductionsStr, result.TotalPayment, contract?.ContractNo ?? "-", - fines,loanInstallments,salaryAids,rewards, result.LateToWorkValue, result.SettingSalary, result.DailyWage, result.ShiftStatus,result.IrregularShift,result.CustomizeRotatingShifts, + fines, loanInstallments, salaryAids, rewards, result.LateToWorkValue, result.SettingSalary, result.DailyWage, result.ShiftStatus, result.IrregularShift, result.CustomizeRotatingShifts, regularShift); - _customizeCheckoutRepository.Create(entity); + _customizeCheckoutRepository.Create(entity); _customizeCheckoutRepository.RemoveEmployeeCustomizeCheckoutInDates(command.WorkshopId, employee.id, command.ContractStart, command.ContractEnd); _customizeCheckoutRepository.SaveChanges(); return op.Succcedded(); } + + public (bool Checkout, bool CustomizeCheckout, bool CustomizeCheckoutTemp) ValidateExistsCheckouts(DateTime startDate, + DateTime endDate, long workshopId, List employeeId) + { + return _customizeCheckoutRepository.ValidateExistsCheckouts(startDate, endDate, workshopId, employeeId); + } + + public OperationResult GroupCreate(CreateCustomizeCheckoutGroup command) { OperationResult op = new(); @@ -146,18 +163,18 @@ namespace CompanyManagment.Application x.Amount, x.FineDate, x.FineDate.ToGeorgianDateTime(), - x.IsActive, x.CreationDate.ToGeorgianDateTime()) + x.IsActive, x.CreationDate.ToGeorgianDateTime(), x.Id) ).ToList(); var rewards = computations.RewardViewModels.Select(x => new CustomizeCheckoutReward(x.Amount, x.Description, x.GrantDateGr, x.GrantDateFa, - x.IsActive,x.Title)).ToList(); + x.IsActive, x.Title,x.Id)).ToList(); var loanInstallments = computations.InstallmentViewModels.Select(x => - new CustomizeCheckoutLoanInstallments(x.Amount, x.Month, x.Year, x.IsActive,x.RemainingAmount, x.LoanAmount)).ToList(); + new CustomizeCheckoutLoanInstallments(x.Amount, x.Month, x.Year, x.IsActive, x.RemainingAmount, x.LoanAmount, x.Id)).ToList(); var salaryAids = computations.SalaryAidViewModels.Select(x => - new CustomizeCheckoutSalaryAid(x.Amount, x.SalaryAidDateTimeGe, x.SalaryAidDateTimeFa)).ToList(); + new CustomizeCheckoutSalaryAid(x.Amount, x.SalaryAidDateTimeGe, x.SalaryAidDateTimeFa, x.CalculationDateTimeGe, x.CalculationDateTimeFa,x.Id)).ToList(); var regularShift = computations.EmployeeSettingsShifts.Select(x => new CustomizeCheckoutRegularShift(x.StartTime, x.EndTime, x.Placement)).ToList(); @@ -169,20 +186,20 @@ namespace CompanyManagment.Application computations.FamilyAllowance, computations.LeavePay, computations.InsuranceDeduction, computations.FineAbsenceDeduction, computations.LateToWorkDeduction, computations.EarlyExitDeduction, computations.RewardPay, computations.SalaryAidDeduction, computations.InstallmentDeduction, computations.FineDeduction, computations.TaxDeduction, computations.SumOfWorkingDays, computations.TotalClaimsStr, computations.TotalDeductionsStr, computations.TotalPayment, contract?.ContractNo ?? "-", - fines,loanInstallments,salaryAids,rewards, computations.LateToWorkValue, computations.SettingSalary, computations.DailyWage, computations.ShiftStatus,computations.IrregularShift, + fines, loanInstallments, salaryAids, rewards, computations.LateToWorkValue, computations.SettingSalary, computations.DailyWage, computations.ShiftStatus, computations.IrregularShift, computations.CustomizeRotatingShifts, regularShift); - _customizeCheckoutRepository.Create(entity); + _customizeCheckoutRepository.Create(entity); _customizeCheckoutRepository.RemoveEmployeeCustomizeCheckoutInDates(command.WorkshopId, employeeId, command.ContractStart, command.ContractEnd); } _customizeCheckoutRepository.SaveChanges(); return op.Succcedded(); } - public OperationResult GroupRemove(long workshopId,List idList) + public OperationResult GroupRemove(long workshopId, List idList) { OperationResult op = new(); - var entities = _customizeCheckoutRepository.GetRange(workshopId,idList); + var entities = _customizeCheckoutRepository.GetRange(workshopId, idList); if (entities == null) return op.Succcedded(); _customizeCheckoutRepository.RemoveRange(entities); @@ -218,12 +235,12 @@ namespace CompanyManagment.Application return op.Failed("خطای سیستمی"); var pc = new PersianCalendar(); - var checkoutDate = new DateTime(yearFa, monthFa, 1,pc); + var checkoutDate = new DateTime(yearFa, monthFa, 1, pc); var nextMonth = checkoutDate.AddMonthsFa(1, out _).ToGeorgianDateTime().Date; var today = DateTime.Today; if (nextMonth > today) - return op.Failed("امکان ایجاد فیش برای ماه جاری یا آینده وجود ندارد"); + return op.Failed("امکان ایجاد فیش برای ماه جاری یا آینده وجود ندارد"); //validate parsed datetime var startOfMonth = new DateTime(yearFa, monthFa, 1, new PersianCalendar()).Date; @@ -261,7 +278,7 @@ namespace CompanyManagment.Application WorkshopId = workshopId }); var workshopGroups = _customizeWorkshopSettingsRepository - .GetWorkshopIncludeGroupsByWorkshopId(workshopId)? + .GetWorkshopIncludeGroupsByWorkshopId(workshopId)? .GroupSettings.Where(x => x.MainGroup == false); var employeeSettings = _customizeWorkshopSettingsRepository.GetEmployeeSettingsByWorkshopId(workshopId); @@ -302,7 +319,7 @@ namespace CompanyManagment.Application if (workshopId == 170) { - var exceptionEmployeeIds =_customizeWorkshopGroupSettingsRepository.GetEmployeeSettingsByGroupSettingsId(117).Select(x=>x.EmployeeId).ToList(); + var exceptionEmployeeIds = _customizeWorkshopGroupSettingsRepository.GetEmployeeSettingsByGroupSettingsId(117).Select(x => x.EmployeeId).ToList(); foreach (var employeesId in exceptionEmployeeIds) { @@ -334,16 +351,16 @@ namespace CompanyManagment.Application } color = reason switch { - "فاقد تعیین حقوق" => "orange", + "فاقد تعیین حقوق" => "orange", - "فاقد گروهبندی" => "red", + "فاقد گروهبندی" => "red", - "خطای سیستمی" => "black", + "خطای سیستمی" => "black", - "دارای فیش غیر رسمی" =>"green", + "دارای فیش غیر رسمی" => "green", - _ => "white" - }; + _ => "white" + }; return new EligibleEmployeesForCustomizeCheckoutViewModel() { Id = x.Id, @@ -353,7 +370,7 @@ namespace CompanyManagment.Application Color = color, PersonnelCode = personnelCodes.FirstOrDefault(y => x.Id == y.EmployeeId)?.PersonnelCode.ToString() ?? "-" }; - }).OrderByDescending(x=>x.IsEligible).ThenByDescending(x=>x.Reason).ToList(); + }).OrderByDescending(x => x.IsEligible).ThenByDescending(x => x.Reason).ToList(); return op.Succcedded(employees); } } diff --git a/CompanyManagment.Application/CustomizeCheckoutTempApplication.cs b/CompanyManagment.Application/CustomizeCheckoutTempApplication.cs index 161d542e..a6fb6511 100644 --- a/CompanyManagment.Application/CustomizeCheckoutTempApplication.cs +++ b/CompanyManagment.Application/CustomizeCheckoutTempApplication.cs @@ -74,18 +74,18 @@ namespace CompanyManagment.Application x.Amount, x.FineDate, x.FineDate.ToGeorgianDateTime(), - x.IsActive, x.CreationDate.ToGeorgianDateTime()) + x.IsActive, x.CreationDate.ToGeorgianDateTime(), x.Id) ).ToList(); var rewards = result.RewardViewModels.Select(x => new CustomizeCheckoutTempReward(x.Amount, x.Description, x.GrantDateGr, x.GrantDateFa, - x.IsActive,x.Title)).ToList(); + x.IsActive, x.Title, x.Id)).ToList(); var loanInstallments = result.InstallmentViewModels.Select(x => - new CustomizeCheckoutTempLoanInstallments(x.Amount, x.Month, x.Year, x.IsActive, x.RemainingAmount,x.LoanAmount)).ToList(); + new CustomizeCheckoutTempLoanInstallments(x.Amount, x.Month, x.Year, x.IsActive, x.RemainingAmount, x.LoanAmount, x.Id)).ToList(); var salaryAids = result.SalaryAidViewModels.Select(x => - new CustomizeCheckoutTempSalaryAid(x.Amount, x.SalaryAidDateTimeGe, x.SalaryAidDateTimeFa)).ToList(); + new CustomizeCheckoutTempSalaryAid(x.Amount, x.SalaryAidDateTimeGe, x.SalaryAidDateTimeFa, x.CalculationDateTimeGe, x.CalculationDateTimeFa, x.Id)).ToList(); var regularShift = result.EmployeeSettingsShifts.Select(x => new CustomizeCheckoutRegularShift(x.StartTime, x.EndTime, x.Placement)).ToList(); @@ -97,11 +97,11 @@ namespace CompanyManagment.Application result.FamilyAllowance, result.LeavePay, result.InsuranceDeduction, result.FineAbsenceDeduction, result.LateToWorkDeduction, result.EarlyExitDeduction, result.RewardPay, result.SalaryAidDeduction, result.InstallmentDeduction, result.FineDeduction, result.TaxDeduction, result.SumOfWorkingDays, result.TotalClaimsStr, result.TotalDeductionsStr, result.TotalPayment, contract?.ContractNo ?? "-", - fines, loanInstallments, salaryAids, rewards,result.LateToWorkValue, result.SettingSalary,result.DailyWage, result.ShiftStatus, result.IrregularShift, result.CustomizeRotatingShifts, + fines, loanInstallments, salaryAids, rewards, result.LateToWorkValue, result.SettingSalary, result.DailyWage, result.ShiftStatus, result.IrregularShift, result.CustomizeRotatingShifts, regularShift); - _customizeCheckoutTempRepository.Create(entity); + _customizeCheckoutTempRepository.Create(entity); _customizeCheckoutTempRepository.RemoveEmployeeTemporaryCheckoutInDates(command.WorkshopId, employee.id, command.ContractStart, command.ContractEnd); _customizeCheckoutTempRepository.SaveChanges(); return op.Succcedded(); @@ -127,18 +127,18 @@ namespace CompanyManagment.Application x.Amount, x.FineDate, x.FineDate.ToGeorgianDateTime(), - x.IsActive, x.CreationDate.ToGeorgianDateTime()) + x.IsActive, x.CreationDate.ToGeorgianDateTime(), x.Id) ).ToList(); var rewards = computations.RewardViewModels.Select(x => new CustomizeCheckoutTempReward(x.Amount, x.Description, x.GrantDateGr, x.GrantDateFa, - x.IsActive,x.Title)).ToList(); + x.IsActive, x.Title, x.Id)).ToList(); var loanInstallments = computations.InstallmentViewModels.Select(x => - new CustomizeCheckoutTempLoanInstallments(x.Amount, x.Month, x.Year, x.IsActive, x.RemainingAmount,x.LoanAmount)).ToList(); + new CustomizeCheckoutTempLoanInstallments(x.Amount, x.Month, x.Year, x.IsActive, x.RemainingAmount, x.LoanAmount, x.Id)).ToList(); var salaryAids = computations.SalaryAidViewModels.Select(x => - new CustomizeCheckoutTempSalaryAid(x.Amount, x.SalaryAidDateTimeGe, x.SalaryAidDateTimeFa)).ToList(); + new CustomizeCheckoutTempSalaryAid(x.Amount, x.SalaryAidDateTimeGe, x.SalaryAidDateTimeFa, x.CalculationDateTimeGe, x.CalculationDateTimeFa, x.Id)).ToList(); var contract = contracts.Where(x => x.IsActiveString == "true").FirstOrDefault(x => x.EmployeeId == employeeId); @@ -154,7 +154,7 @@ namespace CompanyManagment.Application computations.FamilyAllowance, computations.LeavePay, computations.InsuranceDeduction, computations.FineAbsenceDeduction, computations.LateToWorkDeduction, computations.EarlyExitDeduction, computations.RewardPay, computations.SalaryAidDeduction, computations.InstallmentDeduction, computations.FineDeduction, computations.TaxDeduction, computations.SumOfWorkingDays, computations.TotalClaimsStr, computations.TotalDeductionsStr, computations.TotalPayment, contract?.ContractNo ?? "-", - fines, loanInstallments, salaryAids, rewards,computations.LateToWorkValue, computations.SettingSalary, computations.DailyWage, computations.ShiftStatus, computations.IrregularShift, + fines, loanInstallments, salaryAids, rewards, computations.LateToWorkValue, computations.SettingSalary, computations.DailyWage, computations.ShiftStatus, computations.IrregularShift, computations.CustomizeRotatingShifts, regularShift); _customizeCheckoutTempRepository.Create(entity); _customizeCheckoutTempRepository.RemoveEmployeeTemporaryCheckoutInDates(command.WorkshopId, employeeId, command.ContractStart, command.ContractEnd); diff --git a/CompanyManagment.Application/FineApplication.cs b/CompanyManagment.Application/FineApplication.cs index ffb5908d..7bbbaf9e 100644 --- a/CompanyManagment.Application/FineApplication.cs +++ b/CompanyManagment.Application/FineApplication.cs @@ -1,6 +1,7 @@ using System; using System.Collections.Generic; using System.Linq; +using System.Transactions; using _0_Framework.Application; using Company.Domain.CheckoutAgg; using Company.Domain.CustomizeCheckoutAgg; @@ -9,7 +10,10 @@ using Company.Domain.EmployeeAgg; using Company.Domain.File1; using Company.Domain.FineAgg; using Company.Domain.WorkshopAgg; +using CompanyManagment.App.Contracts.CustomizeCheckout; using CompanyManagment.App.Contracts.Fine; +using CompanyManagment.EFCore.Repository; +using Microsoft.EntityFrameworkCore.Scaffolding.Metadata; using static Microsoft.EntityFrameworkCore.DbLoggerCategory.Database; namespace CompanyManagment.Application; @@ -22,18 +26,26 @@ public class FineApplication : IFineApplication private readonly ICustomizeCheckoutRepository _customizeCheckoutRepository; public readonly ICustomizeCheckoutTempRepository CustomizeCheckoutTempRepository; private readonly IAuthHelper _authHelper; + private readonly ICustomizeCheckoutApplication _customizeCheckoutApplication; + private readonly ICustomizeCheckoutTempRepository _customizeCheckoutTempRepository; + private readonly ICustomizeCheckoutTempApplication _customizeCheckoutTempApplication; + + public FineApplication(IFineRepository fineRepository, IEmployeeRepository employeeRepository, IWorkshopRepository workshopRepository, ICustomizeCheckoutRepository customizeCheckoutRepository, - IAuthHelper authHelper,ICustomizeCheckoutTempRepository customizeCheckoutTempRepository) + IAuthHelper authHelper, ICustomizeCheckoutTempRepository customizeCheckoutTempRepository, ICustomizeCheckoutApplication customizeCheckoutApplication, ICustomizeCheckoutTempApplication customizeCheckoutTempApplication) { _fineRepository = fineRepository; _employeeRepository = employeeRepository; _workshopRepository = workshopRepository; _customizeCheckoutRepository = customizeCheckoutRepository; _authHelper = authHelper; + _customizeCheckoutTempRepository = customizeCheckoutTempRepository; CustomizeCheckoutTempRepository = customizeCheckoutTempRepository; + _customizeCheckoutApplication = customizeCheckoutApplication; + _customizeCheckoutTempApplication = customizeCheckoutTempApplication; } public List GetSearchList(FineSearchViewModel searchModel) @@ -127,36 +139,94 @@ public class FineApplication : IFineApplication - if (_customizeCheckoutRepository.Exists(x => - x.WorkshopId == command.WorkshopId && command.EmployeeIds.Contains(x.EmployeeId) && x.YearInt == year && - x.MonthInt == month)) - { - return op.Failed("شما نمیتوانید برای پرسنلی در تاریخی که برای فیش حقوقی صادر شده است جریمه ای دهید"); + //if (_customizeCheckoutRepository.Exists(x => + // x.WorkshopId == command.WorkshopId && command.EmployeeIds.Contains(x.EmployeeId) && x.YearInt == year && + // x.MonthInt == month)) + //{ + // return op.Failed("شما نمیتوانید برای پرسنلی در تاریخی که برای فیش حقوقی صادر شده است جریمه ای دهید"); + //} + + //if (CustomizeCheckoutTempRepository.Exists(x => + // x.WorkshopId == command.WorkshopId && command.EmployeeIds.Contains(x.EmployeeId) && x.YearInt == year && + // x.MonthInt == month && + // x.ContractStart <= fineDate && x.ContractEnd >= fineDate)) + //{ + // return op.Failed("شما نمیتوانید برای پرسنلی در تاریخی که برای فیش حقوقی موقت صادر شده است جریمه ای دهید"); + + //} + + _ = DateTime.Now.Date.AddMonthsFa(-1, out var oneMonthAgoGr); + + if (oneMonthAgoGr > fineDate) + { + var prevCheckouts = _customizeCheckoutRepository.ValidateExistsCheckouts(fineDate, + oneMonthAgoGr, command.WorkshopId, command.EmployeeIds); + + if (prevCheckouts.CustomizeCheckout || prevCheckouts.CustomizeCheckoutTemp) + { + return op.Failed("شما نمیتوانید در تاریخ قبل از یک ماه گذشته که فیش صادر شده باشد جریمه ای دهید"); + } } - if (CustomizeCheckoutTempRepository.Exists(x => - x.WorkshopId == command.WorkshopId && command.EmployeeIds.Contains(x.EmployeeId) && x.YearInt == year && - x.MonthInt == month && - x.ContractStart <= fineDate && x.ContractEnd >= fineDate)) - { - return op.Failed("شما نمیتوانید برای پرسنلی در تاریخی که برای فیش حقوقی موقت صادر شده است جریمه ای دهید"); - } + var existsCheckouts = _customizeCheckoutRepository.ValidateExistsCheckouts(fineDate, + fineDate, command.WorkshopId, command.EmployeeIds); + + //if (existsCheckouts.Checkout) + // return op.Failed("شما نمیتوانید برای پرسنلی در تاریخی که برای فیش حقوقی رسمی صادر شده است جریمه ای دهید"); #endregion DateTime date = command.FineDate.ToGeorgianDateTime(); var (userId, userType,_) = _authHelper.GetUserTypeWithId(); + + using var transaction = new TransactionScope(); + foreach (var employeeId in command.EmployeeIds) { Fine entity = new Fine(employeeId, command.WorkshopId, command.Title, command.Amount.MoneyToDouble(), date, userId, userType); _fineRepository.Create(entity); + _fineRepository.SaveChanges(); + + if (existsCheckouts.CustomizeCheckout) + { + var customizeCheckouts = _customizeCheckoutRepository.GetByWorkshopIdEmployeeIdMonthYear( + command.WorkshopId, employeeId, + year, month).GetAwaiter().GetResult(); + + if (customizeCheckouts != null) + { + + var fines = customizeCheckouts.CheckoutFines.ToList(); + + fines.Add(new(entity.Title,entity.Amount.ToMoney(), + entity.FineDate.ToFarsi(),entity.FineDate,entity.IsActive,entity.CreationDate,entity.id)); + customizeCheckouts.SetFines(fines); + } + } + + if (existsCheckouts.CustomizeCheckoutTemp) + { + var customizeCheckoutTemp = _customizeCheckoutTempRepository.GetByWorkshopIdEmployeeIdInDate( + command.WorkshopId, employeeId, fineDate).GetAwaiter().GetResult(); + + if (customizeCheckoutTemp != null) + { + var fines = customizeCheckoutTemp.CheckoutFines.ToList(); + + + fines.Add(new(entity.Title, entity.Amount.ToMoney(), + entity.FineDate.ToFarsi(), entity.FineDate, entity.IsActive, entity.CreationDate, entity.id)); + customizeCheckoutTemp.SetFines(fines); + } + } + } - - _fineRepository.SaveChanges(); + _customizeCheckoutRepository.SaveChanges(); + transaction.Complete(); return op.Succcedded(); } @@ -196,20 +266,17 @@ public class FineApplication : IFineApplication } - if (_customizeCheckoutRepository.Exists(x => - x.WorkshopId == command.WorkshopId && command.EmployeeId == x.EmployeeId && x.YearInt == year && - x.MonthInt == month)) - { - return op.Failed("شما نمیتوانید برای پرسنلی در تاریخی که برای فیش حقوقی صادر شده است جریمه ای دهید"); + _ = DateTime.Now.Date.AddMonthsFa(-1, out var oneMonthAgoGr); - } - - if (CustomizeCheckoutTempRepository.Exists(x => - x.WorkshopId == command.WorkshopId && command.EmployeeId == x.EmployeeId && x.YearInt == year && - x.MonthInt == month && - x.ContractStart <= fineDate && x.ContractEnd >= fineDate)) + if (oneMonthAgoGr > fineDate) { - return op.Failed("شما نمیتوانید برای پرسنلی در تاریخی که برای فیش حقوقی موقت صادر شده است جریمه ای دهید"); + var prevCheckouts = _customizeCheckoutRepository.ValidateExistsCheckouts(fineDate, + oneMonthAgoGr, entity.WorkshopId, [entity.EmployeeId]); + + if (prevCheckouts.CustomizeCheckout || prevCheckouts.CustomizeCheckoutTemp) + { + return op.Failed("شما نمیتوانید در تاریخ قبل از یک ماه گذشته که فیش صادر شده باشد جریمه ای دهید"); + } } if (!_employeeRepository.Exists(x => x.id == command.EmployeeId)) @@ -217,14 +284,63 @@ public class FineApplication : IFineApplication return op.Failed("شخص وارد شده معتبر نمیباشد"); } + + var existsCheckouts = _customizeCheckoutRepository.ValidateExistsCheckouts(fineDate, + fineDate, entity.WorkshopId, [entity.EmployeeId]); + DateTime date = command.FineDate.ToGeorgianDateTime(); - var (userId, userType,_) = _authHelper.GetUserTypeWithId(); + var (userId, userType, _) = _authHelper.GetUserTypeWithId(); + + using var transaction = new TransactionScope(); + entity.Edit(command.EmployeeId, command.WorkshopId, command.Title, command.Amount.MoneyToDouble(), date, userId, userType); - _fineRepository.SaveChanges(); + + if (existsCheckouts.CustomizeCheckout) + { + var customizeCheckouts = _customizeCheckoutRepository.GetByWorkshopIdEmployeeIdMonthYear( + entity.WorkshopId, entity.EmployeeId, + year, month).GetAwaiter().GetResult(); + + var fines = customizeCheckouts.CheckoutFines.ToList(); + + var existsSalaryAid = fines.FirstOrDefault(x => x.EntityId == entity.id); + if (existsSalaryAid != null) + { + fines.Remove(existsSalaryAid); + } + + fines.Add(new(entity.Title, entity.Amount.ToMoney(), entity.FineDate.ToFarsi(), entity.FineDate, + entity.IsActive, entity.CreationDate, entity.id)); + + customizeCheckouts.SetFines(fines); + + } + if (existsCheckouts.CustomizeCheckoutTemp) + { + var customizeCheckoutTemp = _customizeCheckoutTempRepository.GetByWorkshopIdEmployeeIdInDate( + entity.WorkshopId, entity.EmployeeId, fineDate).GetAwaiter().GetResult(); + + var fines = customizeCheckoutTemp.CheckoutFines.ToList(); + + var existsFines = fines.FirstOrDefault(x => x.EntityId == entity.id); + if (existsFines!= null) + { + fines.Remove(existsFines); + } + + + fines.Add(new(entity.Title, entity.Amount.ToMoney(), entity.FineDate.ToFarsi(), entity.FineDate, + entity.IsActive, entity.CreationDate, entity.id)); + + customizeCheckoutTemp.SetFines(fines); + + } + _customizeCheckoutRepository.SaveChanges(); + transaction.Complete(); return op.Succcedded(entity.id); } diff --git a/CompanyManagment.Application/LoanApplication.cs b/CompanyManagment.Application/LoanApplication.cs index 10c1cfdc..62e131ed 100644 --- a/CompanyManagment.Application/LoanApplication.cs +++ b/CompanyManagment.Application/LoanApplication.cs @@ -4,12 +4,14 @@ using System.Globalization; using System.Linq; using System.Reflection.Metadata.Ecma335; using System.Threading.Tasks; +using System.Transactions; using _0_Framework.Application; using Company.Domain.CheckoutAgg; using Company.Domain.CustomizeCheckoutAgg; using Company.Domain.CustomizeCheckoutTempAgg; using Company.Domain.LoanAgg; using Company.Domain.LoanAgg.Entities; +using CompanyManagment.App.Contracts.CustomizeCheckout; using CompanyManagment.App.Contracts.Loan; using Hangfire.States; using Microsoft.AspNetCore.Mvc.Infrastructure; @@ -23,12 +25,16 @@ public class LoanApplication : ILoanApplication private readonly ICustomizeCheckoutRepository _customizeCheckoutRepository; private readonly IAuthHelper _authHelper; private readonly ICustomizeCheckoutTempRepository _customizeCheckoutTempRepository; + private readonly ICustomizeCheckoutApplication _customizeCheckoutApplication; + private readonly ICustomizeCheckoutTempApplication _customizeCheckoutTempApplication; - public LoanApplication(ILoanRepository loanRepository, ICustomizeCheckoutRepository customizeCheckoutRepository, ICustomizeCheckoutTempRepository customizeCheckoutTempRepository, IAuthHelper authHelper) + public LoanApplication(ILoanRepository loanRepository, ICustomizeCheckoutRepository customizeCheckoutRepository, ICustomizeCheckoutTempRepository customizeCheckoutTempRepository, IAuthHelper authHelper, ICustomizeCheckoutApplication customizeCheckoutApplication, ICustomizeCheckoutTempApplication customizeCheckoutTempApplication) { _loanRepository = loanRepository; _customizeCheckoutRepository = customizeCheckoutRepository; _authHelper = authHelper; + _customizeCheckoutApplication = customizeCheckoutApplication; + _customizeCheckoutTempApplication = customizeCheckoutTempApplication; _customizeCheckoutTempRepository = customizeCheckoutTempRepository; } @@ -63,11 +69,11 @@ public class LoanApplication : ILoanApplication return op.Failed("تاریخ شروع وام نمیتواند در گذشته باشد"); } - if (loanGrantDate>now) + if (loanGrantDate > now) { return op.Failed("تاریخ پرداخت وام می بایست تاریخ امروز یا قبل تر باشد"); } - + if (!command.LoanGrantDate.TryToGeorgianDateTime(out var grantDate)) { return op.Failed("تاریخ وارد شده نامعتبر است"); @@ -75,34 +81,87 @@ public class LoanApplication : ILoanApplication if (amountD < 1000000) return op.Failed("حداقل مبلغ وام 1.000.000 ریال میباشد"); - if (_customizeCheckoutRepository.Exists(x => - command.EmployeeIds.Contains(x.EmployeeId) && x.WorkshopId == command.WorkshopId && - (x.ContractStart > startInstallmentDate && x.ContractStart < lastInstallment))) - { - return op.Failed("شما نمیتوانید برای پرسنلی در تاریخی که برای فیش حقوقی صادر شده است وام دهید"); - } + var existsCheckouts = _customizeCheckoutRepository.ValidateExistsCheckouts(startInstallmentDate, lastInstallment, + command.WorkshopId, command.EmployeeIds); - if (_customizeCheckoutTempRepository.Exists(x => - command.EmployeeIds.Contains(x.EmployeeId) && x.WorkshopId == command.WorkshopId && - (x.ContractStart >= startInstallmentDate && x.ContractStart <= lastInstallment))) + if (existsCheckouts.Checkout) { - return op.Failed("پرسنل در بازه اقساط خود دارای فیش غیررسمی است"); + return op.Failed("پرسنل در این تاریخ دارای فیش حقوقی رسمی است"); } - #endregion - var (userId, userType, _) = _authHelper.GetUserTypeWithId(); - - foreach (var employeeId in command.EmployeeIds) + var (userId, userType,_) = _authHelper.GetUserTypeWithId(); + using var transaction = new TransactionScope(); + foreach (var employeeId in command.EmployeeIds) { + var entity = new Loan(employeeId, command.WorkshopId, startInstallmentDate, command.Count.ToString(), command.Amount.MoneyToDouble(), installment.First().Amount.MoneyToDouble(), installment.Select(x => new LoanInstallment(x.Amount.MoneyToDouble(), x.Month, x.Year, x.DateGr)).ToList() - , command.GetRounded, grantDate,userId,userType); + , command.GetRounded, grantDate, userId, userType); _loanRepository.Create(entity); + //var existInCheckout = _customizeCheckoutApplication.ValidateExistsCheckouts(startInstallmentDate, lastInstallment, + // command.WorkshopId, [employeeId]); + //if (existInCheckout.CustomizeCheckout) + //{ + // var customizeCheckouts = _customizeCheckoutRepository.GetByWorkshopIdEmployeeIdInDates(command.WorkshopId, employeeId, + // startInstallmentDate, lastInstallment); + + // var ccRemoveResult = _customizeCheckoutApplication.GroupRemove(command.WorkshopId, + // customizeCheckouts.Select(x => x.id).ToList()); + + // if (!ccRemoveResult.IsSuccedded) + // return op.Failed("خطا در حذف فیش غیررسمی نهایی:"+ccRemoveResult.Message); + + // var groupedCustomizeCheckouts= customizeCheckouts.GroupBy(x => new { x.Month, x.Year }).ToList(); + + // foreach (var groupedCustomizeCheckout in groupedCustomizeCheckouts) + // { + // var ccCreateResult = _customizeCheckoutApplication.GroupCreate(new CreateCustomizeCheckoutGroup() + // { + // WorkshopId = command.WorkshopId, + // EmployeeIds = groupedCustomizeCheckout.Select(x => x.EmployeeId).ToList(), + // MonthFa = groupedCustomizeCheckout.First().MonthInt, + // YearFa = groupedCustomizeCheckout.First().YearInt, + // }); + + // if (!ccCreateResult.IsSuccedded) + // return op.Failed("خطا در ایجاد فیش غیررسمی نهایی:" + ccCreateResult.Message); + // } + + //} + + //if (existInCheckout.CustomizeCheckoutTemp) + //{ + // var customizeCheckoutsTemp = _customizeCheckoutTempRepository.GetByWorkshopIdEmployeeIdInDates(command.WorkshopId, employeeId, + // startInstallmentDate, lastInstallment); + + // var groupedCustomizeCheckoutsTemp = customizeCheckoutsTemp.GroupBy(x => new { x.Month, x.Year}).ToList(); + + // foreach (var groupedCustomizeCheckout in groupedCustomizeCheckoutsTemp) + // { + // var ccCreateResult = _customizeCheckoutTempApplication.GroupCreate(new CreateCustomizeCheckoutTempGroup() + // { + // WorkshopId = command.WorkshopId, + // EmployeeIds = groupedCustomizeCheckout.Select(x=>x.EmployeeId).ToList(), + // MonthFa = groupedCustomizeCheckout.First().MonthInt, + // YearFa = + // }); + + // if (!ccCreateResult.IsSuccedded) + // return op.Failed("خطا در ایجاد فیش غیررسمی نهایی:" + ccCreateResult.Message); + // } + + // if (!ccRemoveResult.IsSuccedded) + // return op.Failed("خطا در حذف فیش غیررسمی نهایی:" + ccRemoveResult.Message); + + + + //} + } _loanRepository.SaveChanges(); @@ -117,7 +176,7 @@ public class LoanApplication : ILoanApplication var installments = new List(); - + bool endOfMonth = day == 31; double amountD = amount.MoneyToDouble(); @@ -171,7 +230,7 @@ public class LoanApplication : ILoanApplication Year = loanStartDate.Substring(0, 4), Day = loanStartDate.Substring(8, 2) - }; + }; installments.Add(lastInstallment); return installments; } @@ -224,7 +283,7 @@ public class LoanApplication : ILoanApplication Year = loanStartDate.Substring(0, 4), Day = loanStartDate.Substring(8, 2) - }; + }; installments.Add(lastInstallment); return installments; } @@ -273,6 +332,6 @@ public class LoanApplication : ILoanApplication public LoanGroupedViewModel GetSearchListAsGrouped(LoanSearchViewModel searchModel) { - return _loanRepository.GetSearchListAsGrouped(searchModel); + return _loanRepository.GetSearchListAsGrouped(searchModel); } } \ No newline at end of file diff --git a/CompanyManagment.Application/RewardApplication.cs b/CompanyManagment.Application/RewardApplication.cs index 97dec4e8..c081f0cf 100644 --- a/CompanyManagment.Application/RewardApplication.cs +++ b/CompanyManagment.Application/RewardApplication.cs @@ -1,15 +1,13 @@ using System; using System.Collections.Generic; -using System.IO; using System.Linq; +using System.Transactions; using _0_Framework.Application; -using Company.Domain.CheckoutAgg; using Company.Domain.CustomizeCheckoutAgg; using Company.Domain.CustomizeCheckoutTempAgg; using Company.Domain.RewardAgg; +using CompanyManagment.App.Contracts.CustomizeCheckout; using CompanyManagment.App.Contracts.Reward; -using Microsoft.AspNetCore.Components.Forms; -using static Microsoft.EntityFrameworkCore.DbLoggerCategory.Database; namespace CompanyManagment.Application; @@ -19,13 +17,17 @@ public class RewardApplication : IRewardApplication private readonly IAuthHelper _authHelper; private readonly ICustomizeCheckoutRepository _customizeCheckoutRepository; private readonly ICustomizeCheckoutTempRepository _customizeCheckoutTempRepository; + private readonly ICustomizeCheckoutApplication _customizeCheckoutApplication; + private readonly ICustomizeCheckoutTempApplication _customizeCheckoutTempApplication; - public RewardApplication(IRewardRepository rewardRepository, IAuthHelper authHelper, ICustomizeCheckoutRepository customizeCheckoutRepository, ICustomizeCheckoutTempRepository customizeCheckoutTempRepository) + public RewardApplication(IRewardRepository rewardRepository, IAuthHelper authHelper, ICustomizeCheckoutRepository customizeCheckoutRepository, ICustomizeCheckoutTempRepository customizeCheckoutTempRepository, ICustomizeCheckoutTempApplication customizeCheckoutTempApplication, ICustomizeCheckoutApplication customizeCheckoutApplication) { _rewardRepository = rewardRepository; _authHelper = authHelper; _customizeCheckoutRepository = customizeCheckoutRepository; _customizeCheckoutTempRepository = customizeCheckoutTempRepository; + _customizeCheckoutTempApplication = customizeCheckoutTempApplication; + _customizeCheckoutApplication = customizeCheckoutApplication; } public List GetSearchList(RewardSearchModel searchModel) @@ -34,10 +36,6 @@ public class RewardApplication : IRewardApplication } - - - - public EditRewardViewModel GetDetails(long id) { return _rewardRepository.GetDetails(id); @@ -65,6 +63,9 @@ public class RewardApplication : IRewardApplication } + + + _rewardRepository.Remove(entity); _rewardRepository.SaveChanges(); return op.Succcedded(); @@ -105,16 +106,37 @@ public class RewardApplication : IRewardApplication var month = Convert.ToInt32(command.GrantDate.Substring(5, 2)); var year = Convert.ToInt32(command.GrantDate.Substring(0, 4)); - if (_customizeCheckoutRepository.Exists(x => x.WorkshopId == command.WorkshopId && command.EmployeeIds.Contains(x.EmployeeId) && x.YearInt == year && x.MonthInt == month)) + //if (_customizeCheckoutRepository.Exists(x => x.WorkshopId == command.WorkshopId && command.EmployeeIds.Contains(x.EmployeeId) && x.YearInt == year && x.MonthInt == month)) + //{ + // return op.Failed("شما نمیتوانید برای پرسنلی در تاریخی که برای فیش حقوقی صادر شده است پاداشی دهید"); + //} + + //if (_customizeCheckoutTempRepository.Exists(x => x.WorkshopId == command.WorkshopId && command.EmployeeIds.Contains(x.EmployeeId) && + // x.YearInt == year && x.MonthInt == month && x.ContractStart <= grantDate && x.ContractEnd >= grantDate)) + //{ + // return op.Failed("شما نمیتوانید برای پرسنلی در تاریخی که برای فیش حقوقی موقت صادر شده است پاداشی دهید"); + //} + + + _ = DateTime.Now.Date.AddMonthsFa(-1, out var oneMonthAgoGr); + + if (oneMonthAgoGr > grantDate) { - return op.Failed("شما نمیتوانید برای پرسنلی در تاریخی که برای فیش حقوقی صادر شده است پاداشی دهید"); + var prevCheckouts = _customizeCheckoutRepository.ValidateExistsCheckouts(grantDate, + oneMonthAgoGr, command.WorkshopId, command.EmployeeIds); + + if (prevCheckouts.CustomizeCheckout || prevCheckouts.CustomizeCheckoutTemp) + { + return op.Failed("شما نمیتوانید در تاریخ قبل از یک ماه گذشته که فیش صادر شده باشد پاداشی دهید"); + } } - if (_customizeCheckoutTempRepository.Exists(x => x.WorkshopId == command.WorkshopId && command.EmployeeIds.Contains(x.EmployeeId) && - x.YearInt == year && x.MonthInt == month && x.ContractStart <= grantDate && x.ContractEnd >= grantDate)) - { - return op.Failed("شما نمیتوانید برای پرسنلی در تاریخی که برای فیش حقوقی موقت صادر شده است پاداشی دهید"); - } + + var existsCheckouts = _customizeCheckoutRepository.ValidateExistsCheckouts(grantDate, + grantDate, command.WorkshopId, command.EmployeeIds); + + //if (existsCheckouts.Checkout) + // return op.Failed("شما نمیتوانید برای پرسنلی در تاریخی که برای فیش حقوقی رسمی صادر شده است پاداشی دهید"); @@ -122,16 +144,50 @@ public class RewardApplication : IRewardApplication #endregion var (userId, userType, _) = _authHelper.GetUserTypeWithId(); + using var transaction = new TransactionScope(); + + foreach (var employeeId in command.EmployeeIds) { - var entity = new Reward(employeeId, command.WorkshopId, command.Amount.MoneyToDouble(), command.Description, - userId, userType,grantDate,command.Title); + var entity = new Reward(employeeId, command.WorkshopId, command.Amount.MoneyToDouble(), command.Description, + userId, userType, grantDate, command.Title); _rewardRepository.Create(entity); - } + _rewardRepository.SaveChanges(); + if (existsCheckouts.CustomizeCheckout) + { + var customizeCheckouts = _customizeCheckoutRepository.GetByWorkshopIdEmployeeIdMonthYear( + command.WorkshopId, employeeId, + year, month).GetAwaiter().GetResult(); + if (customizeCheckouts != null) + { - _rewardRepository.SaveChanges(); + var rewards = customizeCheckouts.CustomizeCheckoutRewards.ToList(); + + rewards.Add(new(entity.Amount.ToMoney(), entity.Description, entity.GrantDate, entity.GrantDate.ToFarsi(), entity.IsActive, entity.Title, entity.id)); + customizeCheckouts.SetRewards(rewards); + } + } + + if (existsCheckouts.CustomizeCheckoutTemp) + { + var customizeCheckoutTemp = _customizeCheckoutTempRepository.GetByWorkshopIdEmployeeIdInDate( + command.WorkshopId, employeeId, grantDate).GetAwaiter().GetResult(); + if (customizeCheckoutTemp != null) + { + var rewards = customizeCheckoutTemp.CustomizeCheckoutRewards.ToList(); + + rewards.Add(new(entity.Amount.ToMoney(), entity.Description, entity.GrantDate, entity.GrantDate.ToFarsi(), entity.IsActive, entity.Title, entity.id)); + customizeCheckoutTemp.SetRewards(rewards); + } + } + + } + _customizeCheckoutRepository.SaveChanges(); + + transaction.Complete(); return op.Succcedded(); + } public OperationResult Edit(EditRewardViewModel command) @@ -160,34 +216,85 @@ public class RewardApplication : IRewardApplication var month = Convert.ToInt32(command.GrantDate.Substring(5, 2)); var year = Convert.ToInt32(command.GrantDate.Substring(0, 4)); - if (_customizeCheckoutRepository.Exists(x => x.WorkshopId == command.WorkshopId && command.EmployeeId == x.EmployeeId && x.YearInt == year && x.MonthInt == month)) + + _ = DateTime.Now.Date.AddMonthsFa(-1, out var oneMonthAgoGr); + + if (oneMonthAgoGr > grantDate) { - return op.Failed("شما نمیتوانید برای پرسنلی در تاریخی که برای فیش حقوقی صادر شده است پاداشی دهید"); + var prevCheckouts = _customizeCheckoutRepository.ValidateExistsCheckouts(grantDate, + oneMonthAgoGr, entity.WorkshopId, [entity.EmployeeId]); + + if (prevCheckouts.CustomizeCheckout || prevCheckouts.CustomizeCheckoutTemp) + { + return op.Failed("شما نمیتوانید در تاریخ قبل از یک ماه گذشته که فیش صادر شده باشد پاداشی دهید"); + } } - var (userId, userType, _) = _authHelper.GetUserTypeWithId(); + var (userId, userType,_) = _authHelper.GetUserTypeWithId(); - if (_customizeCheckoutTempRepository.Exists(x => x.WorkshopId == command.WorkshopId && entity.EmployeeId == x.EmployeeId && - x.YearInt == year && x.MonthInt == month && x.ContractStart <= grantDate && x.ContractEnd >= grantDate)) - { - return op.Failed("شما نمیتوانید برای پرسنلی در تاریخی که برای فیش حقوقی موقت صادر شده است پاداشی دهید"); - } + var existsCheckouts = _customizeCheckoutRepository.ValidateExistsCheckouts(grantDate, + grantDate, entity.WorkshopId, [entity.EmployeeId]); - entity.Edit(command.Amount.MoneyToDouble(),command.Description,userId,userType, grantDate,command.Title); + using var transaction = new TransactionScope(); + + entity.Edit(command.Amount.MoneyToDouble(), command.Description, userId, userType, grantDate, command.Title); _rewardRepository.SaveChanges(); + + if (existsCheckouts.CustomizeCheckout) + { + var customizeCheckouts = _customizeCheckoutRepository.GetByWorkshopIdEmployeeIdMonthYear( + entity.WorkshopId, entity.EmployeeId, + year, month).GetAwaiter().GetResult(); + if (customizeCheckouts != null) + { + + var rewards = customizeCheckouts.CustomizeCheckoutRewards.ToList(); + + var existsReward = rewards.FirstOrDefault(x => x.EntityId == entity.id); + if (existsReward != null) + { + rewards.Remove(existsReward); + } + + rewards.Add(new(entity.Amount.ToMoney(), entity.Description, entity.GrantDate, entity.GrantDate.ToFarsi(), entity.IsActive, entity.Title, entity.id)); + customizeCheckouts.SetRewards(rewards); + } + } + + if (existsCheckouts.CustomizeCheckoutTemp) + { + var customizeCheckoutTemp = _customizeCheckoutTempRepository.GetByWorkshopIdEmployeeIdInDate( + command.WorkshopId, entity.EmployeeId, grantDate).GetAwaiter().GetResult(); + if (customizeCheckoutTemp != null) + { + + var rewards = customizeCheckoutTemp.CustomizeCheckoutRewards.ToList(); + + var existsReward = rewards.FirstOrDefault(x => x.EntityId == entity.id); + if (existsReward != null) + { + rewards.Remove(existsReward); + } + + rewards.Add(new(entity.Amount.ToMoney(), entity.Description, entity.GrantDate, entity.GrantDate.ToFarsi(), entity.IsActive, entity.Title, entity.id)); + customizeCheckoutTemp.SetRewards(rewards); + } + } + _customizeCheckoutRepository.SaveChanges(); + transaction.Complete(); return op.Succcedded(entity.id); } #region Pooya - /// - /// گروهبندی بر اساس ماه هنگام جستجو با انتخاب کارمند - /// - public RewardsGroupedViewModel GetSearchListAsGrouped(RewardSearchModel searchModel) - { - return _rewardRepository.GetSearchListAsGrouped(searchModel); - } - #endregion + /// + /// گروهبندی بر اساس ماه هنگام جستجو با انتخاب کارمند + /// + public RewardsGroupedViewModel GetSearchListAsGrouped(RewardSearchModel searchModel) + { + return _rewardRepository.GetSearchListAsGrouped(searchModel); + } + #endregion } \ No newline at end of file diff --git a/CompanyManagment.Application/SalaryAidApplication.cs b/CompanyManagment.Application/SalaryAidApplication.cs index 367f04eb..2aca9055 100644 --- a/CompanyManagment.Application/SalaryAidApplication.cs +++ b/CompanyManagment.Application/SalaryAidApplication.cs @@ -7,11 +7,14 @@ using Company.Domain.CheckoutAgg; using CompanyManagment.App.Contracts.Checkout; using System; using System.Threading.Tasks; +using System.Transactions; using Company.Domain.CustomizeCheckoutAgg; using Company.Domain.CustomizeCheckoutTempAgg; using Company.Domain.EmployeeAgg; +using CompanyManagment.App.Contracts.CustomizeCheckout; using CompanyManagment.App.Contracts.Reward; using OfficeOpenXml.Drawing.Chart; +using CompanyManagment.EFCore.Migrations; namespace CompanyManagment.Application; @@ -22,14 +25,18 @@ public class SalaryAidApplication : ISalaryAidApplication private readonly IEmployeeRepository _employeeRepository; private readonly ICustomizeCheckoutTempRepository _customizeCheckoutTempRepository; private readonly IAuthHelper _authHelper; - + private readonly ICustomizeCheckoutApplication _customizeCheckoutApplication; + private readonly ICustomizeCheckoutTempApplication _customizeCheckoutTempApplication; + public SalaryAidApplication(ISalaryAidRepository salaryAidRepository, ICustomizeCheckoutRepository customizeCheckoutRepository, - IEmployeeRepository employeeRepository, ICustomizeCheckoutTempRepository customizeCheckoutTempRepository, IAuthHelper authHelper) + IEmployeeRepository employeeRepository, ICustomizeCheckoutTempRepository customizeCheckoutTempRepository, IAuthHelper authHelper, ICustomizeCheckoutApplication customizeCheckoutApplication, ICustomizeCheckoutTempApplication customizeCheckoutTempApplication) { _salaryAidRepository = salaryAidRepository; _customizeCheckoutRepository = customizeCheckoutRepository; _authHelper = authHelper; + _customizeCheckoutApplication = customizeCheckoutApplication; + _customizeCheckoutTempApplication = customizeCheckoutTempApplication; _employeeRepository = employeeRepository; _customizeCheckoutTempRepository = customizeCheckoutTempRepository; } @@ -48,44 +55,95 @@ public class SalaryAidApplication : ISalaryAidApplication public OperationResult Create(CreateSalaryAidViewModel command) { var op = new OperationResult(); + if (!command.SalaryDateTime.TryToGeorgianDateTime(out var startDate)) { return op.Failed("تاریخ وارد شده نامعتبر است"); } + var calculationDate = $"{command.CalculationYear:0000}/{command.CalculationMonth:00}/01"; + if (!calculationDate.TryToGeorgianDateTime(out var calculationDateGr)) + { + return op.Failed("تاریخ محاسبه وارد شده نامعتبر است"); + } if (startDate > DateTime.Now) { return op.Failed("تاریخ پرداخت مساعده می بایست تاریخ امروز یا قبل تر باشد"); } + if (command.Amount.Length > 15) { return op.Failed("مبلغ وارد شده معتبر نیست"); } - var month = Convert.ToInt32(command.SalaryDateTime.Substring(5, 2)); - var year = Convert.ToInt32(command.SalaryDateTime.Substring(0, 4)); + var month = Convert.ToInt32(command.CalculationMonth); + var year = Convert.ToInt32(command.CalculationYear); - if (_customizeCheckoutRepository.Exists(x => x.WorkshopId == command.WorkshopId && command.EmployeeIds.Contains(x.EmployeeId) && x.YearInt == year && x.MonthInt == month)) + _ = DateTime.Now.Date.AddMonthsFa(-1, out var oneMonthAgoGr); + + if (oneMonthAgoGr > calculationDateGr) { - return op.Failed("شما نمیتوانید برای پرسنلی در تاریخی که برای فیش حقوقی صادر شده است مساعده ای دهید"); + var prevCheckouts = _customizeCheckoutRepository.ValidateExistsCheckouts(calculationDateGr, + oneMonthAgoGr, command.WorkshopId, command.EmployeeIds); + + if (prevCheckouts.CustomizeCheckout || prevCheckouts.CustomizeCheckoutTemp) + { + return op.Failed("شما نمیتوانید در تاریخ قبل از یک ماه گذشته که فیش صادر شده باشد مساعده دهید"); + } } - if (_customizeCheckoutTempRepository.Exists(x => x.WorkshopId == command.WorkshopId && command.EmployeeIds.Contains(x.EmployeeId) && - x.YearInt == year && x.MonthInt == month && x.ContractStart <= startDate && x.ContractEnd >= startDate)) - { - return op.Failed("شما نمیتوانید برای پرسنلی در تاریخی که برای فیش حقوقی موقت صادر شده است مساعده ای دهید"); - } - var (userId, userType, _) = _authHelper.GetUserTypeWithId(); - foreach (var employeeId in command.EmployeeIds) + var existsCheckouts = _customizeCheckoutRepository.ValidateExistsCheckouts(calculationDateGr, + calculationDateGr, command.WorkshopId, command.EmployeeIds); + + //if (existsCheckouts.Checkout) + // return op.Failed("شما نمیتوانید برای پرسنلی در تاریخی که برای فیش حقوقی رسمی صادر شده است مساعده ای دهید"); + + + var (userId, userType,_) = _authHelper.GetUserTypeWithId(); + using var transaction = new TransactionScope(); + foreach (var employeeId in command.EmployeeIds) { - var entity = new SalaryAid(employeeId, command.WorkshopId, command.Amount.MoneyToDouble(), startDate,userId,userType); + var entity = new SalaryAid(employeeId, command.WorkshopId, command.Amount.MoneyToDouble(), startDate,userId,userType,command.CalculationMonth,command.CalculationYear); _salaryAidRepository.Create(entity); + _salaryAidRepository.SaveChanges(); + if (existsCheckouts.CustomizeCheckout) + { + var customizeCheckouts = _customizeCheckoutRepository.GetByWorkshopIdEmployeeIdMonthYear( + command.WorkshopId, employeeId, + year, month).GetAwaiter().GetResult(); + + if (customizeCheckouts != null) + { + + var salaryAids = customizeCheckouts.CustomizeCheckoutSalaryAids.ToList(); + + salaryAids.Add(new(entity.Amount.ToMoney(), entity.SalaryAidDateTime, entity.SalaryAidDateTime.ToFarsi(), entity.CalculationDate, entity.CalculationDate.ToFarsi(), entity.id)); + customizeCheckouts.SetSalaryAids(salaryAids); + } + + } + + if (existsCheckouts.CustomizeCheckoutTemp) + { + var customizeCheckoutTemp = _customizeCheckoutTempRepository.GetByWorkshopIdEmployeeIdInDate( + command.WorkshopId, employeeId, calculationDateGr).GetAwaiter().GetResult(); + + if (customizeCheckoutTemp != null) + { + var salaryAids = customizeCheckoutTemp.CustomizeCheckoutSalaryAids.ToList(); + + salaryAids.Add(new(entity.Amount.ToMoney(), entity.SalaryAidDateTime, entity.SalaryAidDateTime.ToFarsi(), entity.CalculationDate, entity.CalculationDate.ToFarsi(), entity.id)); + customizeCheckoutTemp.SetSalaryAids(salaryAids); + } + } } - _salaryAidRepository.SaveChanges(); + + _customizeCheckoutRepository.SaveChanges(); + transaction.Complete(); return op.Succcedded(); } @@ -98,6 +156,12 @@ public class SalaryAidApplication : ISalaryAidApplication return op.Failed("تاریخ وارد شده نامعتبر است"); } + var calculationDate = $"{command.CalculationYear:0000}/{command.CalculationMonth:00}/01"; + if (!calculationDate.TryToGeorgianDateTime(out var calculationDateGr)) + { + return op.Failed("تاریخ محاسبه وارد شده نامعتبر است"); + } + if (startDate > DateTime.Now) { return op.Failed("تاریخ پرداخت مساعده می بایست تاریخ امروز یا قبل تر باشد"); @@ -111,21 +175,78 @@ public class SalaryAidApplication : ISalaryAidApplication if (entity == null) return op.Failed("چنین مساعده ای وجود ندارد"); - var month = Convert.ToInt32(command.SalaryDateTime.Substring(5, 2)); - var year = Convert.ToInt32(command.SalaryDateTime.Substring(0, 4)); - if (_customizeCheckoutRepository.Exists(x => x.WorkshopId == entity.WorkshopId && entity.EmployeeId == x.EmployeeId && x.YearInt == year && x.MonthInt == month)) - return op.Failed("شما نمیتوانید برای پرسنلی در تاریخی که برای فیش حقوقی صادر شده است مساعده ای دهید"); + var month = Convert.ToInt32(command.CalculationMonth); + var year = Convert.ToInt32(command.CalculationYear); - if (_customizeCheckoutTempRepository.Exists(x => x.WorkshopId == command.WorkshopId && command.EmployeeIds.Contains(x.EmployeeId) && - x.YearInt == year && x.MonthInt == month && x.ContractStart <= startDate && x.ContractEnd >= startDate)) + _ = DateTime.Now.Date.AddMonthsFa(-1, out var oneMonthAgoGr); + + if (oneMonthAgoGr > calculationDateGr) { - return op.Failed("شما نمیتوانید برای پرسنلی در تاریخی که برای فیش حقوقی موقت صادر شده است مساعده ای دهید"); - } - var (userId, userType, _) = _authHelper.GetUserTypeWithId(); + var prevCheckouts = _customizeCheckoutRepository.ValidateExistsCheckouts(calculationDateGr, + oneMonthAgoGr, entity.WorkshopId, [entity.EmployeeId]); - entity.Edit(Tools.MoneyToDouble(command.Amount),startDate,userId,userType); + if (prevCheckouts.CustomizeCheckout || prevCheckouts.CustomizeCheckoutTemp) + { + return op.Failed("شما نمیتوانید در تاریخ قبل از یک ماه گذشته که فیش صادر شده باشد مساعده ای دهید"); + } + } + + + var existsCheckouts = _customizeCheckoutRepository.ValidateExistsCheckouts(calculationDateGr, + calculationDateGr, entity.WorkshopId, [entity.EmployeeId]); + + //if (existsCheckouts.Checkout) + // return op.Failed("شما نمیتوانید برای پرسنلی در تاریخی که برای فیش حقوقی رسمی صادر شده است مساعده ای دهید"); + + + using var transaction = new TransactionScope(); + var (userId, userType,_) = _authHelper.GetUserTypeWithId(); + + entity.Edit(Tools.MoneyToDouble(command.Amount),startDate,userId,userType,command.CalculationMonth,command.CalculationYear); _salaryAidRepository.SaveChanges(); + + if (existsCheckouts.CustomizeCheckout) + { + var customizeCheckouts = _customizeCheckoutRepository.GetByWorkshopIdEmployeeIdMonthYear( + entity.WorkshopId, entity.EmployeeId, + year, month).GetAwaiter().GetResult(); + + var salaryAids = customizeCheckouts.CustomizeCheckoutSalaryAids.ToList(); + + var existsSalaryAid = salaryAids.FirstOrDefault(x => x.EntityId == entity.id); + if (existsSalaryAid != null) + { + salaryAids.Remove(existsSalaryAid); + } + + salaryAids.Add(new(entity.Amount.ToMoney(), entity.SalaryAidDateTime, entity.SalaryAidDateTime.ToFarsi(), + entity.CalculationDate, entity.CalculationDate.ToFarsi(), entity.id)); + + customizeCheckouts.SetSalaryAids(salaryAids); + + } + if (existsCheckouts.CustomizeCheckoutTemp) + { + var customizeCheckoutTemp = _customizeCheckoutTempRepository.GetByWorkshopIdEmployeeIdInDate( + entity.WorkshopId, entity.EmployeeId, calculationDateGr).GetAwaiter().GetResult(); + + var salaryAids = customizeCheckoutTemp.CustomizeCheckoutSalaryAids.ToList(); + + var existsSalaryAid = salaryAids.FirstOrDefault(x => x.EntityId == entity.id); + if (existsSalaryAid != null) + { + salaryAids.Remove(existsSalaryAid); + } + + salaryAids.Add(new(entity.Amount.ToMoney(), entity.SalaryAidDateTime, entity.SalaryAidDateTime.ToFarsi(), + entity.CalculationDate, entity.CalculationDate.ToFarsi(), entity.id)); + + customizeCheckoutTemp.SetSalaryAids(salaryAids); + + } + _customizeCheckoutRepository.SaveChanges(); + transaction.Complete(); return op.Succcedded(); } @@ -136,15 +257,15 @@ public class SalaryAidApplication : ISalaryAidApplication if (entity == null) return op.Failed("این آیتم وجود ندارد"); - var month = Convert.ToInt32(entity.SalaryAidDateTime.ToFarsi().Substring(5, 2)); - var year = Convert.ToInt32(entity.SalaryAidDateTime.ToFarsi().Substring(0, 4)); + var month = Convert.ToInt32(entity.CalculationDate.ToFarsi().Substring(5, 2)); + var year = Convert.ToInt32(entity.CalculationDate.ToFarsi().Substring(0, 4)); if (_customizeCheckoutRepository.Exists(x => x.WorkshopId == entity.WorkshopId && entity.EmployeeId == x.EmployeeId && x.YearInt == year && x.MonthInt == month)) return op.Failed("این پرسنل در این تاریخ دارای فیش حقوقی است"); if (_customizeCheckoutTempRepository.Exists(x => x.WorkshopId == entity.WorkshopId && entity.EmployeeId == x.EmployeeId && - x.YearInt == year && x.MonthInt == month && x.ContractStart <= entity.SalaryAidDateTime && x.ContractEnd >= entity.SalaryAidDateTime)) + x.YearInt == year && x.MonthInt == month && x.ContractStart <= entity.CalculationDate && x.ContractEnd >= entity.CalculationDate)) { return op.Failed("این پرسنل در این تاریخ دارای فیش حقوقی موقت است"); } @@ -164,9 +285,10 @@ public class SalaryAidApplication : ISalaryAidApplication } - public async Task CreateRange(List commands) + public OperationResult CreateRange(List commands) { var op = new OperationResult(); + using var transaction = new TransactionScope(); foreach (var command in commands) { @@ -174,6 +296,11 @@ public class SalaryAidApplication : ISalaryAidApplication { return op.Failed("تاریخ وارد شده نامعتبر است"); } + var calculationDate = $"{command.CalculationYear:0000}/{command.CalculationMonth:00}/01"; + if (!calculationDate.TryToGeorgianDateTime(out var calculationDateGr)) + { + return op.Failed("تاریخ محاسبه وارد شده نامعتبر است"); + } if (startDate > DateTime.Now) { @@ -184,17 +311,30 @@ public class SalaryAidApplication : ISalaryAidApplication { return op.Failed("مبلغ وارد شده معتبر نیست"); } + _ = DateTime.Now.Date.AddMonthsFa(-1, out var oneMonthAgoGr); - var month = Convert.ToInt32(command.SalaryDateTime.Substring(5, 2)); - var year = Convert.ToInt32(command.SalaryDateTime.Substring(0, 4)); - - - if (_customizeCheckoutRepository.Exists(x => x.WorkshopId == command.WorkshopId && command.EmployeeIds.Contains(x.EmployeeId) && x.YearInt == year && x.MonthInt == month)) + if (oneMonthAgoGr > calculationDateGr) { - return op.Failed("شما نمیتوانید برای پرسنلی در تاریخی که برای فیش حقوقی صادر شده است مساعده ای دهید"); + var prevCheckouts = _customizeCheckoutRepository.ValidateExistsCheckouts(calculationDateGr, + oneMonthAgoGr, command.WorkshopId, command.EmployeeIds); + + if (prevCheckouts.CustomizeCheckout || prevCheckouts.Checkout || prevCheckouts.CustomizeCheckoutTemp) + { + return op.Failed("شما نمیتوانید در تاریخ قبل از یک ماه گذشته که فیش صادر شده باشد مساعده دهید"); + } } - var (userId, userType, _) = _authHelper.GetUserTypeWithId(); - foreach (var employeeId in command.EmployeeIds) + + var existsCheckouts = _customizeCheckoutRepository.ValidateExistsCheckouts(calculationDateGr, + calculationDateGr, command.WorkshopId, command.EmployeeIds); + + var month = Convert.ToInt32(command.CalculationMonth); + var year = Convert.ToInt32(command.CalculationYear); + + + + var (userId, userType,_) = _authHelper.GetUserTypeWithId(); + + foreach (var employeeId in command.EmployeeIds) { var id = employeeId; if (employeeId == 0) @@ -203,11 +343,44 @@ public class SalaryAidApplication : ISalaryAidApplication id = employee.id; } - var entity = new SalaryAid(id, command.WorkshopId, command.Amount.MoneyToDouble(), startDate, userId, userType); - await _salaryAidRepository.CreateAsync(entity); + var entity = new SalaryAid(id, command.WorkshopId, command.Amount.MoneyToDouble(), startDate, userId, userType, command.CalculationMonth, command.CalculationYear); + _salaryAidRepository.Create(entity); + _salaryAidRepository.SaveChanges(); + + if (existsCheckouts.CustomizeCheckout) + { + var customizeCheckouts = _customizeCheckoutRepository.GetByWorkshopIdEmployeeIdMonthYear( + command.WorkshopId, employeeId, + year, month).GetAwaiter().GetResult(); + + if (customizeCheckouts != null) + { + + var salaryAids = customizeCheckouts.CustomizeCheckoutSalaryAids.ToList(); + + salaryAids.Add(new(entity.Amount.ToMoney(), entity.SalaryAidDateTime, entity.SalaryAidDateTime.ToFarsi(), entity.CalculationDate, entity.CalculationDate.ToFarsi(), entity.id)); + customizeCheckouts.SetSalaryAids(salaryAids); + } + + } + + if (existsCheckouts.CustomizeCheckoutTemp) + { + var customizeCheckoutTemp = _customizeCheckoutTempRepository.GetByWorkshopIdEmployeeIdInDate( + command.WorkshopId, employeeId, calculationDateGr).GetAwaiter().GetResult(); + + if (customizeCheckoutTemp != null) + { + var salaryAids = customizeCheckoutTemp.CustomizeCheckoutSalaryAids.ToList(); + + salaryAids.Add(new(entity.Amount.ToMoney(), entity.SalaryAidDateTime, entity.SalaryAidDateTime.ToFarsi(), entity.CalculationDate, entity.CalculationDate.ToFarsi(), entity.id)); + customizeCheckoutTemp.SetSalaryAids(salaryAids); + } + } } + _customizeCheckoutRepository.SaveChanges(); } - await _salaryAidRepository.SaveChangesAsync(); + transaction.Complete(); return op.Succcedded(); } #region Pooya @@ -219,6 +392,6 @@ public class SalaryAidApplication : ISalaryAidApplication return _salaryAidRepository.GetSearchListAsGrouped(searchModel); } - + #endregion } \ No newline at end of file diff --git a/CompanyManagment.EFCore/Mapping/CustomizeCheckoutMapping.cs b/CompanyManagment.EFCore/Mapping/CustomizeCheckoutMapping.cs index b189e2bb..7932daa3 100644 --- a/CompanyManagment.EFCore/Mapping/CustomizeCheckoutMapping.cs +++ b/CompanyManagment.EFCore/Mapping/CustomizeCheckoutMapping.cs @@ -85,6 +85,8 @@ public class CustomizeCheckoutMapping : IEntityTypeConfiguration x.SalaryAidDateTimeFa).HasMaxLength(15); salaryAid.Property(x => x.Amount).HasMaxLength(25); + salaryAid.Property(x => x.CalculationDateTimeFa).HasMaxLength(15); + }); builder.OwnsMany(x => x.CustomizeCheckoutRewards, rewards => diff --git a/CompanyManagment.EFCore/Mapping/CustomizeCheckoutTempMapping.cs b/CompanyManagment.EFCore/Mapping/CustomizeCheckoutTempMapping.cs index 1f2e7e37..354595a2 100644 --- a/CompanyManagment.EFCore/Mapping/CustomizeCheckoutTempMapping.cs +++ b/CompanyManagment.EFCore/Mapping/CustomizeCheckoutTempMapping.cs @@ -84,6 +84,8 @@ public class CustomizeCheckoutTempMapping : IEntityTypeConfiguration x.SalaryAidDateTimeFa).HasMaxLength(15); salaryAid.Property(x => x.Amount).HasMaxLength(25); + salaryAid.Property(x => x.CalculationDateTimeFa).HasMaxLength(15); + }); builder.OwnsMany(x => x.CustomizeCheckoutRewards, rewards => diff --git a/CompanyManagment.EFCore/Migrations/20250508101244_add calculation date to salary aid and add entity id to customize checkout value objects.Designer.cs b/CompanyManagment.EFCore/Migrations/20250508101244_add calculation date to salary aid and add entity id to customize checkout value objects.Designer.cs new file mode 100644 index 00000000..6e4ad3a1 --- /dev/null +++ b/CompanyManagment.EFCore/Migrations/20250508101244_add calculation date to salary aid and add entity id to customize checkout value objects.Designer.cs @@ -0,0 +1,9521 @@ +// +using System; +using CompanyManagment.EFCore; +using Microsoft.EntityFrameworkCore; +using Microsoft.EntityFrameworkCore.Infrastructure; +using Microsoft.EntityFrameworkCore.Metadata; +using Microsoft.EntityFrameworkCore.Migrations; +using Microsoft.EntityFrameworkCore.Storage.ValueConversion; + +#nullable disable + +namespace CompanyManagment.EFCore.Migrations +{ + [DbContext(typeof(CompanyContext))] + [Migration("20250508101244_add calculation date to salary aid and add entity id to customize checkout value objects")] + partial class addcalculationdatetosalaryaidandaddentityidtocustomizecheckoutvalueobjects + { + /// + protected override void BuildTargetModel(ModelBuilder modelBuilder) + { +#pragma warning disable 612, 618 + modelBuilder + .HasAnnotation("ProductVersion", "8.0.10") + .HasAnnotation("Relational:MaxIdentifierLength", 128); + + SqlServerModelBuilderExtensions.UseIdentityColumns(modelBuilder); + + modelBuilder.Entity("Company.Domain.AndroidApkVersionAgg.AndroidApkVersion", b => + { + b.Property("id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("id")); + + b.Property("CreationDate") + .HasColumnType("datetime2"); + + b.Property("IsActive") + .IsRequired() + .HasMaxLength(5) + .HasColumnType("nvarchar(5)"); + + b.Property("Path") + .HasMaxLength(255) + .HasColumnType("nvarchar(255)"); + + b.Property("Title") + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("VersionCode") + .HasMaxLength(20) + .HasColumnType("nvarchar(20)"); + + b.Property("VersionName") + .HasMaxLength(35) + .HasColumnType("nvarchar(35)"); + + b.HasKey("id"); + + b.ToTable("AndroidApkVersions", (string)null); + }); + + modelBuilder.Entity("Company.Domain.BankAgg.Bank", b => + { + b.Property("id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("id")); + + b.Property("BankLogoMediaId") + .HasColumnType("bigint"); + + b.Property("BankName") + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.HasKey("id"); + + b.ToTable("Banks", (string)null); + }); + + modelBuilder.Entity("Company.Domain.BillAgg.EntityBill", b => + { + b.Property("id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("id")); + + b.Property("Appointed") + .HasColumnType("nvarchar(max)"); + + b.Property("Contact") + .HasColumnType("nvarchar(max)"); + + b.Property("CreationDate") + .HasColumnType("datetime2"); + + b.Property("Description") + .HasColumnType("nvarchar(max)"); + + b.Property("IsActiveString") + .HasColumnType("nvarchar(max)"); + + b.Property("ProcessingStage") + .HasColumnType("nvarchar(max)"); + + b.Property("SubjectBill") + .IsRequired() + .HasMaxLength(500) + .HasColumnType("nvarchar(500)"); + + b.HasKey("id"); + + b.ToTable("TextManager_Bill", (string)null); + }); + + modelBuilder.Entity("Company.Domain.Board.Board", b => + { + b.Property("id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("id")); + + b.Property("BoardChairman") + .HasColumnType("nvarchar(max)"); + + b.Property("BoardType_Id") + .HasColumnType("int"); + + b.Property("Branch") + .HasColumnType("nvarchar(max)"); + + b.Property("CreationDate") + .HasColumnType("datetime2"); + + b.Property("DisputeResolutionPetitionDate") + .HasColumnType("datetime2"); + + b.Property("ExpertReport") + .HasColumnType("nvarchar(max)"); + + b.Property("File_Id") + .HasColumnType("bigint"); + + b.HasKey("id"); + + b.HasIndex("BoardType_Id"); + + b.HasIndex("File_Id"); + + b.ToTable("Boards", (string)null); + }); + + modelBuilder.Entity("Company.Domain.BoardType.BoardType", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("int"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id")); + + b.Property("Title") + .HasColumnType("nvarchar(max)"); + + b.HasKey("Id"); + + b.ToTable("BoardTypes", (string)null); + }); + + modelBuilder.Entity("Company.Domain.ChapterAgg.EntityChapter", b => + { + b.Property("id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("id")); + + b.Property("Chapter") + .IsRequired() + .HasMaxLength(60) + .HasColumnType("nvarchar(60)"); + + b.Property("CreationDate") + .HasColumnType("datetime2"); + + b.Property("IsActiveString") + .HasColumnType("nvarchar(max)"); + + b.Property("Subtitle_Id") + .HasColumnType("bigint"); + + b.HasKey("id"); + + b.HasIndex("Subtitle_Id"); + + b.ToTable("TextManager_Chapter", (string)null); + }); + + modelBuilder.Entity("Company.Domain.CheckoutAgg.Checkout", b => + { + b.Property("id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("id")); + + b.Property("AbsenceDeduction") + .HasColumnType("float"); + + b.Property("AbsencePeriod") + .HasColumnType("float"); + + b.Property("AbsenceValue") + .HasMaxLength(10) + .HasColumnType("nvarchar(10)"); + + b.Property("ArchiveCode") + .HasMaxLength(15) + .HasColumnType("nvarchar(15)"); + + b.Property("AverageHoursPerDay") + .HasColumnType("float"); + + b.Property("BaseYearsPay") + .HasColumnType("float"); + + b.Property("BonusesPay") + .HasColumnType("float"); + + b.Property("ConsumableItems") + .HasColumnType("float"); + + b.Property("ContractEnd") + .HasColumnType("datetime2"); + + b.Property("ContractId") + .HasColumnType("bigint"); + + b.Property("ContractNo") + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("ContractStart") + .HasColumnType("datetime2"); + + b.Property("CreationDate") + .HasColumnType("datetime2"); + + b.Property("CreditLeaves") + .HasColumnType("float"); + + b.Property("DateOfBirth") + .HasMaxLength(10) + .HasColumnType("nvarchar(10)"); + + b.Property("EmployeeFullName") + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("EmployeeId") + .HasColumnType("bigint"); + + b.Property("FamilyAllowance") + .HasColumnType("float"); + + b.Property("FathersName") + .HasMaxLength(20) + .HasColumnType("nvarchar(20)"); + + b.Property("FridayPay") + .HasColumnType("float"); + + b.Property("FridayWorkValue") + .HasMaxLength(10) + .HasColumnType("nvarchar(10)"); + + b.Property("HasRollCall") + .HasColumnType("bit"); + + b.Property("HousingAllowance") + .HasColumnType("float"); + + b.Property("InstallmentDeduction") + .HasColumnType("float"); + + b.Property("InsuranceDeduction") + .HasColumnType("float"); + + b.Property("IsActiveString") + .HasMaxLength(10) + .HasColumnType("nvarchar(10)"); + + b.Property("LeaveCheckout") + .HasColumnType("bit"); + + b.Property("LeavePay") + .HasColumnType("float"); + + b.Property("MarriedAllowance") + .HasColumnType("float"); + + b.Property("MissionPay") + .HasColumnType("float"); + + b.Property("Month") + .HasMaxLength(10) + .HasColumnType("nvarchar(10)"); + + b.Property("MonthlySalary") + .HasColumnType("float"); + + b.Property("NationalCode") + .HasMaxLength(10) + .HasColumnType("nvarchar(10)"); + + b.Property("NightworkPay") + .HasColumnType("float"); + + b.Property("OverNightWorkValue") + .HasMaxLength(10) + .HasColumnType("nvarchar(10)"); + + b.Property("OverTimeWorkValue") + .HasMaxLength(10) + .HasColumnType("nvarchar(10)"); + + b.Property("OvertimePay") + .HasColumnType("float"); + + b.Property("PersonnelCode") + .HasMaxLength(10) + .HasColumnType("nvarchar(10)"); + + b.Property("RewardPay") + .HasColumnType("float"); + + b.Property("RotatingShiftValue") + .HasMaxLength(10) + .HasColumnType("nvarchar(10)"); + + b.Property("SalaryAidDeduction") + .HasColumnType("float"); + + b.Property("ShiftPay") + .HasColumnType("float"); + + b.Property("Signature") + .HasMaxLength(20) + .HasColumnType("nvarchar(20)"); + + b.Property("SumOfWorkingDays") + .HasMaxLength(6) + .HasColumnType("nvarchar(6)"); + + b.Property("TaxDeducation") + .HasColumnType("float"); + + b.Property("TotalClaims") + .HasMaxLength(25) + .HasColumnType("nvarchar(25)"); + + b.Property("TotalDayOfBunosesCompute") + .HasMaxLength(10) + .HasColumnType("nvarchar(10)"); + + b.Property("TotalDayOfLeaveCompute") + .HasMaxLength(10) + .HasColumnType("nvarchar(10)"); + + b.Property("TotalDayOfYearsCompute") + .HasMaxLength(10) + .HasColumnType("nvarchar(10)"); + + b.Property("TotalDeductions") + .HasMaxLength(25) + .HasColumnType("nvarchar(25)"); + + b.Property("TotalPayment") + .HasColumnType("float"); + + b.Property("WorkingHoursId") + .HasColumnType("bigint"); + + b.Property("WorkshopId") + .HasColumnType("bigint"); + + b.Property("WorkshopName") + .HasMaxLength(70) + .HasColumnType("nvarchar(70)"); + + b.Property("Year") + .HasMaxLength(4) + .HasColumnType("nvarchar(4)"); + + b.Property("YearsPay") + .HasColumnType("float"); + + b.HasKey("id"); + + b.HasIndex("WorkshopId"); + + b.ToTable("Checkouts", (string)null); + }); + + modelBuilder.Entity("Company.Domain.ClassifiedSalaryAgg.ClassifiedSalary", b => + { + b.Property("id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("id")); + + b.Property("CreationDate") + .HasColumnType("datetime2"); + + b.Property("EndDate") + .HasColumnType("datetime2"); + + b.Property("Group1") + .HasColumnType("float"); + + b.Property("Group10") + .HasColumnType("float"); + + b.Property("Group11") + .HasColumnType("float"); + + b.Property("Group12") + .HasColumnType("float"); + + b.Property("Group13") + .HasColumnType("float"); + + b.Property("Group14") + .HasColumnType("float"); + + b.Property("Group15") + .HasColumnType("float"); + + b.Property("Group16") + .HasColumnType("float"); + + b.Property("Group17") + .HasColumnType("float"); + + b.Property("Group18") + .HasColumnType("float"); + + b.Property("Group19") + .HasColumnType("float"); + + b.Property("Group2") + .HasColumnType("float"); + + b.Property("Group20") + .HasColumnType("float"); + + b.Property("Group3") + .HasColumnType("float"); + + b.Property("Group4") + .HasColumnType("float"); + + b.Property("Group5") + .HasColumnType("float"); + + b.Property("Group6") + .HasColumnType("float"); + + b.Property("Group7") + .HasColumnType("float"); + + b.Property("Group8") + .HasColumnType("float"); + + b.Property("Group9") + .HasColumnType("float"); + + b.Property("StartDate") + .HasColumnType("datetime2"); + + b.Property("Year") + .HasColumnType("int"); + + b.HasKey("id"); + + b.ToTable("ClassifiedSalaries", (string)null); + }); + + modelBuilder.Entity("Company.Domain.ClientEmployeeWorkshopAgg.ClientEmployeeWorkshop", b => + { + b.Property("WorkshopId") + .HasColumnType("bigint"); + + b.Property("EmployeeId") + .HasColumnType("bigint"); + + b.HasKey("WorkshopId", "EmployeeId"); + + b.HasIndex("EmployeeId"); + + b.ToTable("ClientWorkshopEmployee", (string)null); + }); + + modelBuilder.Entity("Company.Domain.Contact2Agg.EntityContact", b => + { + b.Property("id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("id")); + + b.Property("CreationDate") + .HasColumnType("datetime2"); + + b.Property("IsActiveString") + .HasColumnType("nvarchar(max)"); + + b.Property("NameContact") + .HasColumnType("nvarchar(max)"); + + b.Property("Signature") + .HasColumnType("nvarchar(max)"); + + b.HasKey("id"); + + b.ToTable("TextManager_Contact", (string)null); + }); + + modelBuilder.Entity("Company.Domain.ContarctingPartyAgg.PersonalContractingParty", b => + { + b.Property("id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("id")); + + b.Property("Address") + .HasMaxLength(500) + .HasColumnType("nvarchar(500)"); + + b.Property("AgentPhone") + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("ArchiveCode") + .HasColumnType("int"); + + b.Property("BlockTimes") + .HasColumnType("int"); + + b.Property("City") + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("CreationDate") + .HasColumnType("datetime2"); + + b.Property("DateOfBirth") + .HasColumnType("datetime2"); + + b.Property("FName") + .IsRequired() + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("FatherName") + .HasMaxLength(20) + .HasColumnType("nvarchar(20)"); + + b.Property("Gender") + .IsRequired() + .HasMaxLength(6) + .HasColumnType("nvarchar(6)"); + + b.Property("IdNumber") + .HasMaxLength(20) + .HasColumnType("nvarchar(20)"); + + b.Property("IdNumberSeri") + .HasMaxLength(5) + .HasColumnType("nvarchar(5)"); + + b.Property("IdNumberSerial") + .HasMaxLength(15) + .HasColumnType("nvarchar(15)"); + + b.Property("IsActiveString") + .HasMaxLength(5) + .HasColumnType("nvarchar(5)"); + + b.Property("IsAuthenticated") + .HasColumnType("bit"); + + b.Property("IsBlock") + .HasMaxLength(5) + .HasColumnType("nvarchar(5)"); + + b.Property("IsLegal") + .IsRequired() + .HasMaxLength(10) + .HasColumnType("nvarchar(10)"); + + b.Property("LName") + .IsRequired() + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("NationalId") + .IsRequired() + .HasMaxLength(15) + .HasColumnType("nvarchar(15)"); + + b.Property("Nationalcode") + .IsRequired() + .HasMaxLength(10) + .HasColumnType("nvarchar(10)"); + + b.Property("Phone") + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("RegisterId") + .IsRequired() + .HasMaxLength(15) + .HasColumnType("nvarchar(15)"); + + b.Property("RepresentativeFullName") + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("RepresentativeId") + .HasColumnType("bigint"); + + b.Property("State") + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("SureName") + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("Zone") + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.HasKey("id"); + + b.HasIndex("RepresentativeId"); + + b.ToTable("PersonalContractingParties", (string)null); + }); + + modelBuilder.Entity("Company.Domain.ContractAgg.Contract", b => + { + b.Property("id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("id")); + + b.Property("AgreementSalary") + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("ArchiveCode") + .IsRequired() + .HasMaxLength(255) + .HasColumnType("nvarchar(255)"); + + b.Property("ConsumableItems") + .IsRequired() + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("ContarctStart") + .HasColumnType("datetime2"); + + b.Property("ContractEnd") + .HasColumnType("datetime2"); + + b.Property("ContractNo") + .IsRequired() + .HasMaxLength(255) + .HasColumnType("nvarchar(255)"); + + b.Property("ContractPeriod") + .HasMaxLength(2) + .HasColumnType("nvarchar(2)"); + + b.Property("ContractType") + .IsRequired() + .HasMaxLength(20) + .HasColumnType("nvarchar(20)"); + + b.Property("CreationDate") + .HasColumnType("datetime2"); + + b.Property("DayliWage") + .IsRequired() + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("EmployeeId") + .HasColumnType("bigint"); + + b.Property("EmployerId") + .HasColumnType("bigint"); + + b.Property("FamilyAllowance") + .IsRequired() + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b.Property("GetWorkDate") + .HasColumnType("datetime2"); + + b.Property("HousingAllowance") + .IsRequired() + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("IsActiveString") + .IsRequired() + .HasMaxLength(10) + .HasColumnType("nvarchar(10)"); + + b.Property("JobType") + .IsRequired() + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b.Property("JobTypeId") + .HasColumnType("bigint"); + + b.Property("MandatoryHoursid") + .HasColumnType("bigint"); + + b.Property("PersonnelCode") + .HasColumnType("bigint"); + + b.Property("SetContractDate") + .HasColumnType("datetime2"); + + b.Property("Signature") + .HasMaxLength(1) + .HasColumnType("nvarchar(1)"); + + b.Property("WorkingHoursWeekly") + .IsRequired() + .HasMaxLength(10) + .HasColumnType("nvarchar(10)"); + + b.Property("WorkshopAddress1") + .HasMaxLength(500) + .HasColumnType("nvarchar(500)"); + + b.Property("WorkshopAddress2") + .HasMaxLength(500) + .HasColumnType("nvarchar(500)"); + + b.Property("WorkshopIds") + .HasColumnType("bigint"); + + b.Property("YearlySalaryId") + .HasColumnType("bigint"); + + b.HasKey("id"); + + b.HasIndex("EmployeeId"); + + b.HasIndex("EmployerId"); + + b.HasIndex("JobTypeId"); + + b.HasIndex("MandatoryHoursid"); + + b.HasIndex("WorkshopIds"); + + b.HasIndex("YearlySalaryId"); + + b.ToTable("Contracts", (string)null); + }); + + modelBuilder.Entity("Company.Domain.ContractingPartyAccountAgg.ContractingPartyAccount", b => + { + b.Property("PersonalContractingPartyId") + .HasColumnType("bigint"); + + b.Property("AccountId") + .HasColumnType("bigint"); + + b.HasKey("PersonalContractingPartyId", "AccountId"); + + b.ToTable("ContractingPartyAccount", (string)null); + }); + + modelBuilder.Entity("Company.Domain.CrossJobAgg.CrossJob", b => + { + b.Property("id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("id")); + + b.Property("CreationDate") + .HasColumnType("datetime2"); + + b.Property("CrossJobGuildId") + .HasColumnType("bigint"); + + b.Property("EquivalentRialOver") + .HasColumnType("bigint"); + + b.Property("EquivalentRialUnder") + .HasColumnType("bigint"); + + b.Property("SalaryRatioOver") + .HasColumnType("float"); + + b.Property("SalaryRatioUnder") + .HasColumnType("float"); + + b.HasKey("id"); + + b.HasIndex("CrossJobGuildId"); + + b.ToTable("CrossJobs", (string)null); + }); + + modelBuilder.Entity("Company.Domain.CrossJobGuildAgg.CrossJobGuild", b => + { + b.Property("id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("id")); + + b.Property("CreationDate") + .HasColumnType("datetime2"); + + b.Property("EconomicCode") + .HasMaxLength(255) + .HasColumnType("nvarchar(255)"); + + b.Property("Title") + .IsRequired() + .HasMaxLength(255) + .HasColumnType("nvarchar(255)"); + + b.Property("Year") + .HasMaxLength(4) + .HasColumnType("int"); + + b.HasKey("id"); + + b.ToTable("CrossJobGuilds", (string)null); + }); + + modelBuilder.Entity("Company.Domain.CrossJobItemsAgg.CrossJobItems", b => + { + b.Property("id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("id")); + + b.Property("CreationDate") + .HasColumnType("datetime2"); + + b.Property("CrossJobId") + .HasColumnType("bigint"); + + b.Property("JobId") + .HasColumnType("bigint"); + + b.HasKey("id"); + + b.HasIndex("CrossJobId"); + + b.HasIndex("JobId"); + + b.ToTable("CrossJobItems", (string)null); + }); + + modelBuilder.Entity("Company.Domain.CustomizeCheckoutAgg.CustomizeCheckout", b => + { + b.Property("id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("id")); + + b.Property("BaseYearsPay") + .HasColumnType("float"); + + b.Property("BonusesPay") + .HasColumnType("float"); + + b.Property("ContractEnd") + .HasColumnType("datetime2"); + + b.Property("ContractId") + .HasColumnType("bigint"); + + b.Property("ContractNo") + .HasMaxLength(20) + .HasColumnType("nvarchar(20)"); + + b.Property("ContractStart") + .HasColumnType("datetime2"); + + b.Property("CreationDate") + .HasColumnType("datetime2"); + + b.Property("DailyWage") + .HasColumnType("float"); + + b.Property("DateOfBirth") + .HasColumnType("datetime2"); + + b.Property("EarlyExitDeduction") + .HasColumnType("float"); + + b.Property("EmployeeFName") + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b.Property("EmployeeId") + .HasColumnType("bigint"); + + b.Property("EmployeeLName") + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b.Property("FamilyAllowance") + .HasColumnType("float"); + + b.Property("FineAbsenceDeduction") + .HasColumnType("float"); + + b.Property("FineDeduction") + .HasColumnType("float"); + + b.Property("FridayPay") + .HasColumnType("float"); + + b.Property("InstallmentDeduction") + .HasColumnType("float"); + + b.Property("InsuranceDeduction") + .HasColumnType("float"); + + b.Property("LateToWorkDeduction") + .HasColumnType("float"); + + b.Property("LateToWorkValue") + .IsRequired() + .HasMaxLength(30) + .HasColumnType("nvarchar(30)"); + + b.Property("LeavePay") + .HasColumnType("float"); + + b.Property("MarriedAllowance") + .HasColumnType("float"); + + b.Property("MonthInt") + .HasColumnType("int"); + + b.Property("MonthlySalary") + .HasColumnType("float"); + + b.Property("NationalCode") + .HasMaxLength(10) + .HasColumnType("nvarchar(10)"); + + b.Property("NightWorkPay") + .HasColumnType("float"); + + b.Property("OverTimePay") + .HasColumnType("float"); + + b.Property("RewardPay") + .HasColumnType("float"); + + b.Property("SalaryAidDeduction") + .HasColumnType("float"); + + b.Property("SettingSalary") + .HasColumnType("float"); + + b.Property("ShiftPay") + .HasColumnType("float"); + + b.Property("ShiftStatus") + .IsRequired() + .HasMaxLength(10) + .HasColumnType("nvarchar(10)"); + + b.Property("SumOfWorkingDays") + .HasColumnType("nvarchar(max)"); + + b.Property("TaxDeduction") + .HasColumnType("float"); + + b.Property("TotalClaims") + .HasColumnType("nvarchar(max)"); + + b.Property("TotalDeductions") + .HasColumnType("nvarchar(max)"); + + b.Property("TotalPayment") + .HasColumnType("float"); + + b.Property("WorkshopFullName") + .HasMaxLength(255) + .HasColumnType("nvarchar(255)"); + + b.Property("WorkshopId") + .HasColumnType("bigint"); + + b.Property("YearInt") + .HasColumnType("int"); + + b.HasKey("id"); + + b.HasIndex("EmployeeId"); + + b.HasIndex("WorkshopId"); + + b.ToTable("CustomizeCheckouts", (string)null); + }); + + modelBuilder.Entity("Company.Domain.CustomizeCheckoutTempAgg.CustomizeCheckoutTemp", b => + { + b.Property("id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("id")); + + b.Property("BaseYearsPay") + .HasColumnType("float"); + + b.Property("BonusesPay") + .HasColumnType("float"); + + b.Property("ContractEnd") + .HasColumnType("datetime2"); + + b.Property("ContractId") + .HasColumnType("bigint"); + + b.Property("ContractNo") + .HasMaxLength(20) + .HasColumnType("nvarchar(20)"); + + b.Property("ContractStart") + .HasColumnType("datetime2"); + + b.Property("CreationDate") + .HasColumnType("datetime2"); + + b.Property("DailyWage") + .HasColumnType("float"); + + b.Property("DateOfBirth") + .HasColumnType("datetime2"); + + b.Property("EarlyExitDeduction") + .HasColumnType("float"); + + b.Property("EmployeeFName") + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b.Property("EmployeeId") + .HasColumnType("bigint"); + + b.Property("EmployeeLName") + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b.Property("FamilyAllowance") + .HasColumnType("float"); + + b.Property("FineAbsenceDeduction") + .HasColumnType("float"); + + b.Property("FineDeduction") + .HasColumnType("float"); + + b.Property("FridayPay") + .HasColumnType("float"); + + b.Property("InstallmentDeduction") + .HasColumnType("float"); + + b.Property("InsuranceDeduction") + .HasColumnType("float"); + + b.Property("LateToWorkDeduction") + .HasColumnType("float"); + + b.Property("LateToWorkValue") + .IsRequired() + .HasMaxLength(30) + .HasColumnType("nvarchar(30)"); + + b.Property("LeavePay") + .HasColumnType("float"); + + b.Property("MarriedAllowance") + .HasColumnType("float"); + + b.Property("MonthInt") + .HasColumnType("int"); + + b.Property("MonthlySalary") + .HasColumnType("float"); + + b.Property("NationalCode") + .HasMaxLength(10) + .HasColumnType("nvarchar(10)"); + + b.Property("NightWorkPay") + .HasColumnType("float"); + + b.Property("OverTimePay") + .HasColumnType("float"); + + b.Property("RewardPay") + .HasColumnType("float"); + + b.Property("SalaryAidDeduction") + .HasColumnType("float"); + + b.Property("SettingSalary") + .HasColumnType("float"); + + b.Property("ShiftPay") + .HasColumnType("float"); + + b.Property("ShiftStatus") + .IsRequired() + .HasMaxLength(10) + .HasColumnType("nvarchar(10)"); + + b.Property("SumOfWorkingDays") + .HasColumnType("nvarchar(max)"); + + b.Property("TaxDeduction") + .HasColumnType("float"); + + b.Property("TotalClaims") + .HasColumnType("nvarchar(max)"); + + b.Property("TotalDeductions") + .HasColumnType("nvarchar(max)"); + + b.Property("TotalPayment") + .HasColumnType("float"); + + b.Property("WorkshopFullName") + .HasMaxLength(255) + .HasColumnType("nvarchar(255)"); + + b.Property("WorkshopId") + .HasColumnType("bigint"); + + b.Property("YearInt") + .HasColumnType("int"); + + b.HasKey("id"); + + b.HasIndex("EmployeeId"); + + b.HasIndex("WorkshopId"); + + b.ToTable("CustomizeCheckoutTemps", (string)null); + }); + + modelBuilder.Entity("Company.Domain.CustomizeWorkshopEmployeeSettingsAgg.Entities.CustomizeWorkshopEmployeeSettings", b => + { + b.Property("id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("id")); + + b.Property("CreationDate") + .HasColumnType("datetime2"); + + b.Property("CustomizeWorkshopGroupSettingId") + .HasColumnType("bigint"); + + b.Property("EmployeeId") + .HasColumnType("bigint"); + + b.Property("FridayWork") + .IsRequired() + .HasMaxLength(1) + .HasColumnType("nvarchar(1)"); + + b.Property("HolidayWork") + .IsRequired() + .HasMaxLength(1) + .HasColumnType("nvarchar(1)"); + + b.Property("IsSettingChanged") + .HasColumnType("bit"); + + b.Property("IsShiftChanged") + .HasColumnType("bit"); + + b.Property("LeavePermittedDays") + .HasColumnType("int"); + + b.Property("Salary") + .HasColumnType("float"); + + b.Property("WorkshopId") + .HasColumnType("bigint"); + + b.Property("WorkshopShiftStatus") + .IsRequired() + .HasMaxLength(1) + .HasColumnType("nvarchar(1)"); + + b.HasKey("id"); + + b.HasIndex("CustomizeWorkshopGroupSettingId"); + + b.ToTable("CustomizeWorkshopEmployeeSettings", (string)null); + }); + + modelBuilder.Entity("Company.Domain.CustomizeWorkshopGroupSettingsAgg.Entities.CustomizeWorkshopGroupSettings", b => + { + b.Property("id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("id")); + + b.Property("CreationDate") + .HasColumnType("datetime2"); + + b.Property("CustomizeWorkshopSettingId") + .HasColumnType("bigint"); + + b.Property("FridayWork") + .IsRequired() + .HasMaxLength(1) + .HasColumnType("nvarchar(1)"); + + b.Property("GroupName") + .HasMaxLength(120) + .HasColumnType("nvarchar(120)"); + + b.Property("HolidayWork") + .IsRequired() + .HasMaxLength(1) + .HasColumnType("nvarchar(1)"); + + b.Property("IsSettingChange") + .HasColumnType("bit"); + + b.Property("IsShiftChange") + .HasColumnType("bit"); + + b.Property("LeavePermittedDays") + .HasColumnType("int"); + + b.Property("MainGroup") + .HasColumnType("bit"); + + b.Property("Salary") + .HasColumnType("float"); + + b.Property("WorkshopShiftStatus") + .IsRequired() + .HasMaxLength(1) + .HasColumnType("nvarchar(1)"); + + b.HasKey("id"); + + b.HasIndex("CustomizeWorkshopSettingId"); + + b.ToTable("CustomizeWorkshopGroupSettings", (string)null); + }); + + modelBuilder.Entity("Company.Domain.CustomizeWorkshopSettingsAgg.Entities.CustomizeWorkshopSettings", b => + { + b.Property("id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("id")); + + b.Property("BaseYearsPayInEndOfYear") + .IsRequired() + .HasMaxLength(1) + .HasColumnType("nvarchar(1)"); + + b.Property("BonusesPaysInEndOfMonth") + .IsRequired() + .HasMaxLength(1) + .HasColumnType("nvarchar(1)"); + + b.Property("CreationDate") + .HasColumnType("datetime2"); + + b.Property("Currency") + .HasColumnType("int"); + + b.Property("EndTimeOffSet") + .HasColumnType("time"); + + b.Property("FridayWork") + .IsRequired() + .HasMaxLength(1) + .HasColumnType("nvarchar(1)"); + + b.Property("HolidayWork") + .IsRequired() + .HasMaxLength(1) + .HasColumnType("nvarchar(1)"); + + b.Property("LeavePermittedDays") + .HasColumnType("int"); + + b.Property("MaxMonthDays") + .HasColumnType("int"); + + b.Property("OverTimeThresholdMinute") + .HasColumnType("int"); + + b.Property("WorkshopId") + .HasColumnType("bigint"); + + b.Property("WorkshopShiftStatus") + .IsRequired() + .HasMaxLength(1) + .HasColumnType("nvarchar(1)"); + + b.HasKey("id"); + + b.HasIndex("WorkshopId") + .IsUnique(); + + b.ToTable("CustomizeWorkshopSettings", (string)null); + }); + + modelBuilder.Entity("Company.Domain.DateSalaryAgg.DateSalary", b => + { + b.Property("id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("id")); + + b.Property("CreationDate") + .HasColumnType("datetime2"); + + b.Property("EndDateFa") + .HasMaxLength(10) + .HasColumnType("nvarchar(10)"); + + b.Property("EndDateGr") + .HasColumnType("datetime2"); + + b.Property("StartDateFa") + .HasMaxLength(10) + .HasColumnType("nvarchar(10)"); + + b.Property("StartDateGr") + .HasColumnType("datetime2"); + + b.Property("Year") + .HasMaxLength(4) + .HasColumnType("nvarchar(4)"); + + b.HasKey("id"); + + b.ToTable("DateSalaries", (string)null); + }); + + modelBuilder.Entity("Company.Domain.DateSalaryItemAgg.DateSalaryItem", b => + { + b.Property("id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("id")); + + b.Property("CreationDate") + .HasColumnType("datetime2"); + + b.Property("DateSalaryId") + .HasColumnType("bigint"); + + b.Property("Percent") + .HasColumnType("float"); + + b.Property("PercentageId") + .HasColumnType("bigint"); + + b.Property("Salary") + .HasColumnType("float"); + + b.HasKey("id"); + + b.HasIndex("DateSalaryId"); + + b.HasIndex("PercentageId"); + + b.ToTable("DateSalaryItems", (string)null); + }); + + modelBuilder.Entity("Company.Domain.EmployeeAccountAgg.EmployeeAccount", b => + { + b.Property("EmployeeId") + .HasColumnType("bigint"); + + b.Property("AccountId") + .HasColumnType("bigint"); + + b.HasKey("EmployeeId", "AccountId"); + + b.ToTable("EmployeeAccounts", (string)null); + }); + + modelBuilder.Entity("Company.Domain.EmployeeAgg.Employee", b => + { + b.Property("id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("id")); + + b.Property("Address") + .HasMaxLength(500) + .HasColumnType("nvarchar(500)"); + + b.Property("BankBranch") + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b.Property("BankCardNumber") + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("City") + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b.Property("CreationDate") + .HasColumnType("datetime2"); + + b.Property("DateOfBirth") + .HasColumnType("datetime2"); + + b.Property("DateOfIssue") + .HasColumnType("datetime2"); + + b.Property("EservicePassword") + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b.Property("EserviceUserName") + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b.Property("FName") + .IsRequired() + .HasMaxLength(255) + .HasColumnType("nvarchar(255)"); + + b.Property("FatherName") + .HasMaxLength(255) + .HasColumnType("nvarchar(255)"); + + b.Property("FieldOfStudy") + .HasMaxLength(255) + .HasColumnType("nvarchar(255)"); + + b.Property("Gender") + .HasMaxLength(10) + .HasColumnType("nvarchar(10)"); + + b.Property("IdNumber") + .HasMaxLength(20) + .HasColumnType("nvarchar(20)"); + + b.Property("IdNumberSeri") + .HasMaxLength(25) + .HasColumnType("nvarchar(25)"); + + b.Property("IdNumberSerial") + .HasMaxLength(25) + .HasColumnType("nvarchar(25)"); + + b.Property("InsuranceCode") + .HasMaxLength(10) + .HasColumnType("nvarchar(10)"); + + b.Property("InsuranceHistoryByMonth") + .HasMaxLength(10) + .HasColumnType("nvarchar(10)"); + + b.Property("InsuranceHistoryByYear") + .HasMaxLength(10) + .HasColumnType("nvarchar(10)"); + + b.Property("IsActive") + .HasColumnType("bit"); + + b.Property("IsActiveString") + .HasMaxLength(10) + .HasColumnType("nvarchar(10)"); + + b.Property("IsAuthorized") + .HasColumnType("bit"); + + b.Property("LName") + .IsRequired() + .HasMaxLength(255) + .HasColumnType("nvarchar(255)"); + + b.Property("LevelOfEducation") + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b.Property("MaritalStatus") + .HasMaxLength(10) + .HasColumnType("nvarchar(10)"); + + b.Property("MclsPassword") + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b.Property("MclsUserName") + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b.Property("MilitaryService") + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b.Property("NationalCode") + .HasMaxLength(10) + .HasColumnType("nvarchar(10)"); + + b.Property("Nationality") + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("NumberOfChildren") + .HasMaxLength(10) + .HasColumnType("nvarchar(10)"); + + b.Property("OfficePhone") + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("Phone") + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("PlaceOfIssue") + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("SanaPassword") + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b.Property("SanaUserName") + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b.Property("State") + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b.Property("TaxOfficeUserName") + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b.Property("TaxOfficepassword") + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b.HasKey("id"); + + b.ToTable("Employees", (string)null); + }); + + modelBuilder.Entity("Company.Domain.EmployeeAuthorizeTempAgg.EmployeeAuthorizeTemp", b => + { + b.Property("id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("id")); + + b.Property("BirthDate") + .HasColumnType("datetime2"); + + b.Property("CreationDate") + .HasColumnType("datetime2"); + + b.Property("FName") + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b.Property("FatherName") + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b.Property("Gender") + .IsRequired() + .HasMaxLength(15) + .HasColumnType("nvarchar(15)"); + + b.Property("IdNumber") + .HasMaxLength(15) + .HasColumnType("nvarchar(15)"); + + b.Property("IdNumberSeri") + .HasMaxLength(25) + .HasColumnType("nvarchar(25)"); + + b.Property("IdNumberSerial") + .HasMaxLength(25) + .HasColumnType("nvarchar(25)"); + + b.Property("LName") + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b.Property("NationalCode") + .HasMaxLength(15) + .HasColumnType("nvarchar(15)"); + + b.HasKey("id"); + + b.HasIndex("NationalCode") + .IsUnique() + .HasFilter("[NationalCode] IS NOT NULL"); + + b.ToTable("EmployeeAuthorizeTemps", (string)null); + }); + + modelBuilder.Entity("Company.Domain.EmployeeBankInformationAgg.EmployeeBankInformation", b => + { + b.Property("id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("id")); + + b.Property("BankAccountNumber") + .HasMaxLength(20) + .HasColumnType("nvarchar(20)"); + + b.Property("BankId") + .HasColumnType("bigint"); + + b.Property("CardNumber") + .HasMaxLength(16) + .HasColumnType("nvarchar(16)"); + + b.Property("CreationDate") + .HasColumnType("datetime2"); + + b.Property("EmployeeId") + .HasColumnType("bigint"); + + b.Property("IsDefault") + .HasColumnType("bit"); + + b.Property("ShebaNumber") + .HasMaxLength(26) + .HasColumnType("nvarchar(26)"); + + b.Property("WorkshopId") + .HasColumnType("bigint"); + + b.HasKey("id"); + + b.HasIndex("BankId"); + + b.HasIndex("EmployeeId"); + + b.ToTable("EmployeeBankInformationSet", (string)null); + }); + + modelBuilder.Entity("Company.Domain.EmployeeChildrenAgg.EmployeeChildren", b => + { + b.Property("id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("id")); + + b.Property("CreationDate") + .HasColumnType("datetime2"); + + b.Property("DateOfBirth") + .HasColumnType("datetime2"); + + b.Property("EmployeeId") + .HasColumnType("bigint"); + + b.Property("FName") + .HasMaxLength(255) + .HasColumnType("nvarchar(255)"); + + b.Property("ParentNationalCode") + .HasMaxLength(10) + .HasColumnType("nvarchar(10)"); + + b.HasKey("id"); + + b.HasIndex("EmployeeId"); + + b.ToTable("EmployeeChildren", (string)null); + }); + + modelBuilder.Entity("Company.Domain.EmployeeClientTempAgg.EmployeeClientTemp", b => + { + b.Property("id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("id")); + + b.Property("CreationDate") + .HasColumnType("datetime2"); + + b.Property("EmployeeFullName") + .HasColumnType("nvarchar(max)"); + + b.Property("EmployeeId") + .HasColumnType("bigint"); + + b.Property("MaritalStatus") + .HasColumnType("nvarchar(max)"); + + b.Property("StartWorkDate") + .HasColumnType("datetime2"); + + b.Property("WorkshopId") + .HasColumnType("bigint"); + + b.HasKey("id"); + + b.ToTable("EmployeeClientTemps"); + }); + + modelBuilder.Entity("Company.Domain.EmployeeComputeOptionsAgg.EmployeeComputeOptions", b => + { + b.Property("id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("id")); + + b.Property("BonusesOptions") + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("ComputeOptions") + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("CreationDate") + .HasColumnType("datetime2"); + + b.Property("EmployeeId") + .HasColumnType("bigint"); + + b.Property("WorkshopId") + .HasColumnType("bigint"); + + b.Property("YearsOptions") + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.HasKey("id"); + + b.ToTable("EmployeeComputeOptions", (string)null); + }); + + modelBuilder.Entity("Company.Domain.EmployeeDocumentItemAgg.EmployeeDocumentItem", b => + { + b.Property("id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("id")); + + b.Property("ConfirmationDateTime") + .HasColumnType("datetime2"); + + b.Property("CreationDate") + .HasColumnType("datetime2"); + + b.Property("DocumentLabel") + .IsRequired() + .HasMaxLength(31) + .HasColumnType("nvarchar(31)"); + + b.Property("DocumentStatus") + .IsRequired() + .HasMaxLength(20) + .HasColumnType("nvarchar(20)"); + + b.Property("EmployeeDocumentId") + .HasColumnType("bigint"); + + b.Property("EmployeeDocumentsAdminViewId") + .HasColumnType("bigint"); + + b.Property("EmployeeId") + .HasColumnType("bigint"); + + b.Property("MediaId") + .HasColumnType("bigint"); + + b.Property("RejectionReason") + .HasMaxLength(150) + .HasColumnType("nvarchar(150)"); + + b.Property("ReviewedById") + .HasMaxLength(120) + .HasColumnType("bigint"); + + b.Property("UploaderId") + .HasColumnType("bigint"); + + b.Property("UploaderRoleId") + .HasColumnType("bigint"); + + b.Property("UploaderType") + .IsRequired() + .HasMaxLength(20) + .HasColumnType("nvarchar(20)"); + + b.Property("WorkshopId") + .HasColumnType("bigint"); + + b.HasKey("id"); + + b.HasIndex("EmployeeDocumentId"); + + b.HasIndex("EmployeeDocumentsAdminViewId"); + + b.ToTable("EmployeeDocumentItems", (string)null); + }); + + modelBuilder.Entity("Company.Domain.EmployeeDocumentsAdminSelectionAgg.EmployeeDocumentsAdminSelection", b => + { + b.Property("id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("id")); + + b.Property("CreationDate") + .HasColumnType("datetime2"); + + b.Property("EmployeeId") + .HasColumnType("bigint"); + + b.HasKey("id"); + + b.HasIndex("EmployeeId") + .IsUnique(); + + b.ToTable("EmployeeDocumentsAdminSelection", (string)null); + }); + + modelBuilder.Entity("Company.Domain.EmployeeDocumentsAgg.EmployeeDocuments", b => + { + b.Property("id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("id")); + + b.Property("CreationDate") + .HasColumnType("datetime2"); + + b.Property("EmployeeId") + .HasColumnType("bigint"); + + b.Property("Gender") + .IsRequired() + .HasMaxLength(10) + .HasColumnType("nvarchar(10)"); + + b.Property("HasRejectedItems") + .HasColumnType("bit"); + + b.Property("IsConfirmed") + .HasColumnType("bit"); + + b.Property("IsSentToChecker") + .HasColumnType("bit"); + + b.Property("RequiredItemsSubmittedByClient") + .HasColumnType("bit"); + + b.Property("WorkshopId") + .HasColumnType("bigint"); + + b.HasKey("id"); + + b.HasIndex("EmployeeId"); + + b.HasIndex("WorkshopId"); + + b.ToTable("EmployeeDocuments", (string)null); + }); + + modelBuilder.Entity("Company.Domain.EmployeeInsurancListDataAgg.EmployeeInsurancListData", b => + { + b.Property("id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("id")); + + b.Property("BaseYears") + .HasColumnType("float"); + + b.Property("BenefitsIncludedContinuous") + .HasColumnType("float"); + + b.Property("BenefitsIncludedNonContinuous") + .HasColumnType("float"); + + b.Property("CreationDate") + .HasColumnType("datetime2"); + + b.Property("DailyWage") + .HasColumnType("float"); + + b.Property("DailyWagePlusBaseYears") + .HasColumnType("float"); + + b.Property("EmployeeId") + .HasColumnType("bigint"); + + b.Property("IncludeStatus") + .HasColumnType("bit"); + + b.Property("InsuranceListId") + .HasColumnType("bigint"); + + b.Property("InsuranceShare") + .HasColumnType("float"); + + b.Property("JobId") + .HasColumnType("bigint"); + + b.Property("LeftWorkDate") + .HasColumnType("datetime2(7)"); + + b.Property("MarriedAllowance") + .HasColumnType("float"); + + b.Property("MonthlyBenefits") + .HasColumnType("float"); + + b.Property("MonthlyBenefitsIncluded") + .HasColumnType("float"); + + b.Property("MonthlySalary") + .HasColumnType("float"); + + b.Property("StartWorkDate") + .HasColumnType("datetime2"); + + b.Property("WorkingDays") + .HasColumnType("int"); + + b.HasKey("id"); + + b.ToTable("EmployeeInsurancListData", (string)null); + }); + + modelBuilder.Entity("Company.Domain.EmployeeInsuranceRecordAgg.EmployeeInsuranceRecord", b => + { + b.Property("id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("id")); + + b.Property("CreationDate") + .HasColumnType("datetime2"); + + b.Property("DateOfEnd") + .HasColumnType("datetime2"); + + b.Property("DateOfStart") + .HasColumnType("datetime2"); + + b.Property("EmployeeId") + .HasColumnType("bigint"); + + b.Property("WorkShopId") + .HasColumnType("bigint"); + + b.HasKey("id"); + + b.HasIndex("EmployeeId"); + + b.HasIndex("WorkShopId"); + + b.ToTable("EmployeeInsuranceRecord", (string)null); + }); + + modelBuilder.Entity("Company.Domain.EmployerAccountAgg.EmployerAccount", b => + { + b.Property("EmployerId") + .HasColumnType("bigint"); + + b.Property("AccountId") + .HasColumnType("bigint"); + + b.HasKey("EmployerId", "AccountId"); + + b.ToTable("EmployerAccounts", (string)null); + }); + + modelBuilder.Entity("Company.Domain.Evidence.Evidence", b => + { + b.Property("id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("id")); + + b.Property("BoardType_Id") + .HasColumnType("int"); + + b.Property("CreationDate") + .HasColumnType("datetime2"); + + b.Property("Description") + .HasColumnType("nvarchar(max)"); + + b.Property("File_Id") + .HasColumnType("bigint"); + + b.HasKey("id"); + + b.HasIndex("BoardType_Id"); + + b.HasIndex("File_Id"); + + b.ToTable("Evidences", (string)null); + }); + + modelBuilder.Entity("Company.Domain.EvidenceDetail.EvidenceDetail", b => + { + b.Property("id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("id")); + + b.Property("CreationDate") + .HasColumnType("datetime2"); + + b.Property("Day") + .HasColumnType("nvarchar(max)"); + + b.Property("Description") + .HasColumnType("nvarchar(max)"); + + b.Property("Evidence_Id") + .HasColumnType("bigint"); + + b.Property("FromDate") + .HasColumnType("datetime2"); + + b.Property("Title") + .HasColumnType("nvarchar(max)"); + + b.Property("ToDate") + .HasColumnType("datetime2"); + + b.HasKey("id"); + + b.HasIndex("Evidence_Id"); + + b.ToTable("EvidenceDetails", (string)null); + }); + + modelBuilder.Entity("Company.Domain.File1.File1", b => + { + b.Property("id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("id")); + + b.Property("ArchiveNo") + .HasColumnType("bigint"); + + b.Property("Client") + .HasColumnType("int"); + + b.Property("ClientVisitDate") + .HasColumnType("datetime2"); + + b.Property("CreationDate") + .HasColumnType("datetime2"); + + b.Property("Description") + .HasColumnType("nvarchar(max)"); + + b.Property("FileClass") + .HasColumnType("nvarchar(max)"); + + b.Property("HasMandate") + .HasColumnType("int"); + + b.Property("ProceederReference") + .HasColumnType("nvarchar(max)"); + + b.Property("Reqester") + .HasColumnType("bigint"); + + b.Property("Status") + .HasColumnType("int"); + + b.Property("Summoned") + .HasColumnType("bigint"); + + b.HasKey("id"); + + b.ToTable("Files", (string)null); + }); + + modelBuilder.Entity("Company.Domain.FileAlert.FileAlert", b => + { + b.Property("id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("id")); + + b.Property("AdditionalDeadline") + .HasColumnType("int"); + + b.Property("CreationDate") + .HasColumnType("datetime2"); + + b.Property("FileState_Id") + .HasColumnType("bigint"); + + b.Property("File_Id") + .HasColumnType("bigint"); + + b.HasKey("id"); + + b.HasIndex("FileState_Id"); + + b.HasIndex("File_Id"); + + b.ToTable("File_Alerts", (string)null); + }); + + modelBuilder.Entity("Company.Domain.FileAndFileEmployerAgg.FileAndFileEmployer", b => + { + b.Property("FileId") + .HasColumnType("bigint"); + + b.Property("FileEmployerId") + .HasColumnType("bigint"); + + b.HasKey("FileId", "FileEmployerId"); + + b.HasIndex("FileEmployerId"); + + b.ToTable("FileAndFileEmployers", (string)null); + }); + + modelBuilder.Entity("Company.Domain.FileEmployeeAgg.FileEmployee", b => + { + b.Property("id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("id")); + + b.Property("CreationDate") + .HasColumnType("datetime2"); + + b.Property("DateOfBirth") + .HasColumnType("datetime2"); + + b.Property("EservicePassword") + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b.Property("EserviceUserName") + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b.Property("FName") + .HasMaxLength(25) + .HasColumnType("nvarchar(25)"); + + b.Property("FatherName") + .HasMaxLength(25) + .HasColumnType("nvarchar(25)"); + + b.Property("FieldOfStudy") + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b.Property("Gender") + .HasMaxLength(10) + .HasColumnType("nvarchar(10)"); + + b.Property("IdNumber") + .HasMaxLength(15) + .HasColumnType("nvarchar(15)"); + + b.Property("InsuranceCode") + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b.Property("IsActive") + .HasMaxLength(5) + .HasColumnType("nvarchar(5)"); + + b.Property("LName") + .HasMaxLength(25) + .HasColumnType("nvarchar(25)"); + + b.Property("LevelOfEducation") + .HasMaxLength(15) + .HasColumnType("nvarchar(15)"); + + b.Property("MaritalStatus") + .HasMaxLength(10) + .HasColumnType("nvarchar(10)"); + + b.Property("MclsPassword") + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b.Property("MclsUserName") + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b.Property("NationalCode") + .HasMaxLength(10) + .HasColumnType("nvarchar(10)"); + + b.Property("OfficePhone") + .HasMaxLength(30) + .HasColumnType("nvarchar(30)"); + + b.Property("Phone") + .HasMaxLength(30) + .HasColumnType("nvarchar(30)"); + + b.Property("RepresentativeFullName") + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("RepresentativeId") + .HasColumnType("bigint"); + + b.Property("SanaPassword") + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b.Property("SanaUserName") + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b.Property("TaxOfficeUserName") + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b.Property("TaxOfficepassword") + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b.HasKey("id"); + + b.HasIndex("RepresentativeId"); + + b.ToTable("FileEmployee", (string)null); + }); + + modelBuilder.Entity("Company.Domain.FileEmployerAgg.FileEmployer", b => + { + b.Property("id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("id")); + + b.Property("CreationDate") + .HasColumnType("datetime2"); + + b.Property("DateOfBirth") + .HasColumnType("datetime2"); + + b.Property("EservicePassword") + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b.Property("EserviceUserName") + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b.Property("FName") + .HasMaxLength(25) + .HasColumnType("nvarchar(25)"); + + b.Property("FieldOfStudy") + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b.Property("FullName") + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("Gender") + .HasMaxLength(10) + .HasColumnType("nvarchar(10)"); + + b.Property("IdNumber") + .HasMaxLength(15) + .HasColumnType("nvarchar(15)"); + + b.Property("InsuranceWorkshopCode") + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b.Property("IsActive") + .HasMaxLength(5) + .HasColumnType("nvarchar(5)"); + + b.Property("IsLegal") + .HasMaxLength(5) + .HasColumnType("nvarchar(5)"); + + b.Property("LName") + .HasMaxLength(25) + .HasColumnType("nvarchar(25)"); + + b.Property("LegalName") + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("LevelOfEducation") + .HasMaxLength(15) + .HasColumnType("nvarchar(15)"); + + b.Property("MaritalStatus") + .HasMaxLength(10) + .HasColumnType("nvarchar(10)"); + + b.Property("MclsPassword") + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b.Property("MclsUserName") + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b.Property("NationalCode") + .HasMaxLength(10) + .HasColumnType("nvarchar(10)"); + + b.Property("NationalId") + .HasMaxLength(10) + .HasColumnType("nvarchar(10)"); + + b.Property("OfficePhone") + .HasMaxLength(30) + .HasColumnType("nvarchar(30)"); + + b.Property("Phone") + .HasMaxLength(30) + .HasColumnType("nvarchar(30)"); + + b.Property("RegisterId") + .HasMaxLength(10) + .HasColumnType("nvarchar(10)"); + + b.Property("RepresentativeFullName") + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("RepresentativeId") + .HasColumnType("bigint"); + + b.Property("SanaPassword") + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b.Property("SanaUserName") + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b.Property("TaxOfficeUserName") + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b.Property("TaxOfficepassword") + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b.HasKey("id"); + + b.HasIndex("RepresentativeId"); + + b.ToTable("FileEmployer", (string)null); + }); + + modelBuilder.Entity("Company.Domain.FileState.FileState", b => + { + b.Property("id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("id")); + + b.Property("CreationDate") + .HasColumnType("datetime2"); + + b.Property("FileTiming_Id") + .HasColumnType("bigint"); + + b.Property("State") + .HasColumnType("int"); + + b.Property("Title") + .HasColumnType("nvarchar(max)"); + + b.HasKey("id"); + + b.HasIndex("FileTiming_Id"); + + b.ToTable("File_States", (string)null); + }); + + modelBuilder.Entity("Company.Domain.FileTiming.FileTiming", b => + { + b.Property("id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("id")); + + b.Property("CreationDate") + .HasColumnType("datetime2"); + + b.Property("Deadline") + .HasColumnType("int"); + + b.Property("Tips") + .HasColumnType("nvarchar(max)"); + + b.Property("Title") + .HasColumnType("nvarchar(max)"); + + b.HasKey("id"); + + b.ToTable("File_Timings", (string)null); + }); + + modelBuilder.Entity("Company.Domain.FileTitle.FileTitle", b => + { + b.Property("id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("id")); + + b.Property("CreationDate") + .HasColumnType("datetime2"); + + b.Property("Title") + .HasColumnType("nvarchar(max)"); + + b.Property("Type") + .HasColumnType("nvarchar(max)"); + + b.HasKey("id"); + + b.ToTable("File_Titles", (string)null); + }); + + modelBuilder.Entity("Company.Domain.FinancialStatmentAgg.FinancialStatment", b => + { + b.Property("id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("id")); + + b.Property("ContractingPartyId") + .HasColumnType("bigint"); + + b.Property("ContractingPartyName") + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b.Property("CreationDate") + .HasColumnType("datetime2"); + + b.HasKey("id"); + + b.ToTable("FinancialStatments", (string)null); + }); + + modelBuilder.Entity("Company.Domain.FinancialTransactionAgg.FinancialTransaction", b => + { + b.Property("id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("id")); + + b.Property("Balance") + .HasColumnType("float"); + + b.Property("CreationDate") + .HasColumnType("datetime2"); + + b.Property("Creditor") + .HasColumnType("float"); + + b.Property("Deptor") + .HasColumnType("float"); + + b.Property("Description") + .HasMaxLength(600) + .HasColumnType("nvarchar(600)"); + + b.Property("DescriptionOption") + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("FinancialStatementId") + .HasColumnType("bigint"); + + b.Property("MessageText") + .HasMaxLength(255) + .HasColumnType("nvarchar(255)"); + + b.Property("SentSms") + .HasColumnType("bit"); + + b.Property("SentSmsDateFa") + .HasMaxLength(10) + .HasColumnType("nvarchar(10)"); + + b.Property("TdateFa") + .HasMaxLength(10) + .HasColumnType("nvarchar(10)"); + + b.Property("TdateGr") + .HasColumnType("datetime2"); + + b.Property("TypeOfTransaction") + .HasMaxLength(10) + .HasColumnType("nvarchar(10)"); + + b.HasKey("id"); + + b.HasIndex("FinancialStatementId"); + + b.ToTable("FinancialTransactions", (string)null); + }); + + modelBuilder.Entity("Company.Domain.FineAgg.Fine", b => + { + b.Property("id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("id")); + + b.Property("Amount") + .HasColumnType("float"); + + b.Property("CreatedByAccountId") + .HasColumnType("bigint"); + + b.Property("CreatedByUserType") + .IsRequired() + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("CreationDate") + .HasColumnType("datetime2"); + + b.Property("EmployeeId") + .HasColumnType("bigint"); + + b.Property("FineDate") + .HasColumnType("datetime2"); + + b.Property("IsActive") + .IsRequired() + .HasMaxLength(5) + .HasColumnType("nvarchar(5)"); + + b.Property("LastModifiedByAccountId") + .HasColumnType("bigint"); + + b.Property("LastModifiedByUserType") + .IsRequired() + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("Title") + .HasMaxLength(255) + .HasColumnType("nvarchar(255)"); + + b.Property("WorkshopId") + .HasColumnType("bigint"); + + b.HasKey("id"); + + b.ToTable("Fines", (string)null); + }); + + modelBuilder.Entity("Company.Domain.FineSubjectAgg.FineSubject", b => + { + b.Property("id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("id")); + + b.Property("Amount") + .HasMaxLength(25) + .HasColumnType("nvarchar(25)"); + + b.Property("CreationDate") + .HasColumnType("datetime2"); + + b.Property("Title") + .HasMaxLength(255) + .HasColumnType("nvarchar(255)"); + + b.Property("WorkshopId") + .HasColumnType("bigint"); + + b.HasKey("id"); + + b.ToTable("FineSubjects", (string)null); + }); + + modelBuilder.Entity("Company.Domain.GroupPlanAgg.GroupPlan", b => + { + b.Property("id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("id")); + + b.Property("AnnualSalary") + .HasColumnType("float"); + + b.Property("BaseSalary") + .HasColumnType("float"); + + b.Property("CreationDate") + .HasColumnType("datetime2"); + + b.Property("GroupNo") + .HasMaxLength(2) + .HasColumnType("nvarchar(2)"); + + b.Property("JobSalary") + .HasColumnType("float"); + + b.Property("WorkshopId") + .HasColumnType("bigint"); + + b.Property("WorkshopPlanId") + .HasColumnType("bigint"); + + b.HasKey("id"); + + b.HasIndex("WorkshopPlanId"); + + b.ToTable("GroupPlans", (string)null); + }); + + modelBuilder.Entity("Company.Domain.GroupPlanJobItemAgg.GroupPlanJobItem", b => + { + b.Property("id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("id")); + + b.Property("CreationDate") + .HasColumnType("datetime2"); + + b.Property("GroupNo") + .HasMaxLength(2) + .HasColumnType("nvarchar(2)"); + + b.Property("GroupPlanId") + .HasColumnType("bigint"); + + b.Property("JobId") + .HasColumnType("bigint"); + + b.Property("JobName") + .HasMaxLength(150) + .HasColumnType("nvarchar(150)"); + + b.Property("WorkshopId") + .HasColumnType("bigint"); + + b.Property("WorkshopPlanId") + .HasColumnType("bigint"); + + b.HasKey("id"); + + b.HasIndex("GroupPlanId"); + + b.ToTable("GroupPlanJobItems", (string)null); + }); + + modelBuilder.Entity("Company.Domain.HolidayAgg.Holiday", b => + { + b.Property("id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("id")); + + b.Property("CreationDate") + .HasColumnType("datetime2"); + + b.Property("Year") + .HasMaxLength(4) + .HasColumnType("nvarchar(4)"); + + b.HasKey("id"); + + b.ToTable("Holidays", (string)null); + }); + + modelBuilder.Entity("Company.Domain.HolidayItemAgg.HolidayItem", b => + { + b.Property("id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("id")); + + b.Property("CreationDate") + .HasColumnType("datetime2"); + + b.Property("HolidayId") + .HasColumnType("bigint"); + + b.Property("HolidayYear") + .HasMaxLength(4) + .HasColumnType("nvarchar(4)"); + + b.Property("Holidaydate") + .HasColumnType("datetime2"); + + b.HasKey("id"); + + b.HasIndex("HolidayId"); + + b.ToTable("Holidayitems", (string)null); + }); + + modelBuilder.Entity("Company.Domain.InstitutionContractAgg.InstitutionContract", b => + { + b.Property("id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("id")); + + b.Property("Address") + .HasMaxLength(250) + .HasColumnType("nvarchar(250)"); + + b.Property("City") + .HasMaxLength(30) + .HasColumnType("nvarchar(30)"); + + b.Property("ContractAmount") + .HasColumnType("float"); + + b.Property("ContractDateFa") + .HasMaxLength(10) + .HasColumnType("nvarchar(10)"); + + b.Property("ContractDateGr") + .HasColumnType("datetime2"); + + b.Property("ContractEndFa") + .HasMaxLength(10) + .HasColumnType("nvarchar(10)"); + + b.Property("ContractEndGr") + .HasColumnType("datetime2"); + + b.Property("ContractNo") + .HasMaxLength(40) + .HasColumnType("nvarchar(40)"); + + b.Property("ContractStartFa") + .HasMaxLength(10) + .HasColumnType("nvarchar(10)"); + + b.Property("ContractStartGr") + .HasColumnType("datetime2"); + + b.Property("ContractingPartyId") + .HasColumnType("bigint"); + + b.Property("ContractingPartyName") + .HasMaxLength(80) + .HasColumnType("nvarchar(80)"); + + b.Property("CreationDate") + .HasColumnType("datetime2"); + + b.Property("DailyCompenseation") + .HasColumnType("float"); + + b.Property("Description") + .HasMaxLength(10000) + .HasColumnType("nvarchar(max)"); + + b.Property("EmployeeManualCount") + .HasMaxLength(10) + .HasColumnType("nvarchar(10)"); + + b.Property("ExtensionNo") + .HasColumnType("int"); + + b.Property("HasValueAddedTax") + .HasMaxLength(10) + .HasColumnType("nvarchar(10)"); + + b.Property("IsActiveString") + .HasMaxLength(5) + .HasColumnType("nvarchar(5)"); + + b.Property("Obligation") + .HasColumnType("float"); + + b.Property("OfficialCompany") + .HasMaxLength(12) + .HasColumnType("nvarchar(12)"); + + b.Property("RepresentativeId") + .HasColumnType("bigint"); + + b.Property("RepresentativeName") + .HasMaxLength(80) + .HasColumnType("nvarchar(80)"); + + b.Property("Signature") + .HasMaxLength(1) + .HasColumnType("nvarchar(1)"); + + b.Property("State") + .HasMaxLength(20) + .HasColumnType("nvarchar(20)"); + + b.Property("TotalAmount") + .HasColumnType("float"); + + b.Property("TypeOfContract") + .HasMaxLength(30) + .HasColumnType("nvarchar(30)"); + + b.Property("ValueAddedTax") + .HasColumnType("float"); + + b.Property("WorkshopManualCount") + .HasMaxLength(5) + .HasColumnType("nvarchar(5)"); + + b.HasKey("id"); + + b.ToTable("InstitutionContracts", (string)null); + }); + + modelBuilder.Entity("Company.Domain.InstitutionContractContactInfoAgg.InstitutionContractContactInfo", b => + { + b.Property("id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("id")); + + b.Property("CreationDate") + .HasColumnType("datetime2"); + + b.Property("FnameLname") + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("InstitutionContractId") + .HasColumnType("bigint"); + + b.Property("PhoneNumber") + .HasMaxLength(20) + .HasColumnType("nvarchar(20)"); + + b.Property("PhoneType") + .HasMaxLength(20) + .HasColumnType("nvarchar(20)"); + + b.Property("Position") + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("SendSms") + .HasColumnType("bit"); + + b.HasKey("id"); + + b.HasIndex("InstitutionContractId"); + + b.ToTable("InstitutinContractContactInfo", (string)null); + }); + + modelBuilder.Entity("Company.Domain.InstitutionPlanAgg.InstitutionPlan", b => + { + b.Property("id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("id")); + + b.Property("BaseContractAmont") + .HasColumnType("float"); + + b.Property("CountPerson") + .HasColumnType("int"); + + b.Property("FinalContractAmont") + .HasColumnType("float"); + + b.Property("IncreasePercentage") + .HasColumnType("float"); + + b.HasKey("id"); + + b.ToTable("InstitutionPlan", (string)null); + }); + + modelBuilder.Entity("Company.Domain.InstitutionPlanAgg.PlanPercentage", b => + { + b.Property("id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("id")); + + b.Property("ContractAndCheckoutInPersonPercent") + .HasColumnType("int"); + + b.Property("ContractAndCheckoutPercent") + .HasColumnType("int"); + + b.Property("CustomizeCheckoutPercent") + .HasColumnType("int"); + + b.Property("InsuranceInPersonPercent") + .HasColumnType("int"); + + b.Property("InsurancePercent") + .HasColumnType("int"); + + b.Property("RollCallPercent") + .HasColumnType("int"); + + b.HasKey("id"); + + b.ToTable("PlanPercentage", (string)null); + }); + + modelBuilder.Entity("Company.Domain.InsurancJobAgg.InsuranceJob", b => + { + b.Property("id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("id")); + + b.Property("CreationDate") + .HasColumnType("datetime2"); + + b.Property("EconomicCode") + .HasMaxLength(255) + .HasColumnType("nvarchar(255)"); + + b.Property("InsuranceJobTitle") + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b.Property("Year") + .HasMaxLength(4) + .HasColumnType("nvarchar(4)"); + + b.Property("YearlySalaryId") + .HasColumnType("bigint"); + + b.HasKey("id"); + + b.ToTable("InsuranceJobs", (string)null); + }); + + modelBuilder.Entity("Company.Domain.InsurancWorkshopInfoAgg.InsuranceWorkshopInfo", b => + { + b.Property("id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("id")); + + b.Property("Address") + .HasMaxLength(500) + .HasColumnType("nvarchar(500)"); + + b.Property("AgreementNumber") + .HasMaxLength(5) + .HasColumnType("nvarchar(5)"); + + b.Property("CreationDate") + .HasColumnType("datetime2"); + + b.Property("EmployerName") + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b.Property("InsuranceCode") + .HasMaxLength(10) + .HasColumnType("nvarchar(10)"); + + b.Property("ListNumber") + .HasMaxLength(30) + .HasColumnType("nvarchar(30)"); + + b.Property("WorkshopId") + .HasColumnType("bigint"); + + b.Property("WorkshopName") + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b.HasKey("id"); + + b.HasIndex("WorkshopId") + .IsUnique(); + + b.ToTable("InsuranceWorkshopInformation", (string)null); + }); + + modelBuilder.Entity("Company.Domain.InsuranceAgg.Insurance", b => + { + b.Property("id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("id")); + + b.Property("Address") + .HasMaxLength(255) + .HasColumnType("nvarchar(255)"); + + b.Property("CreationDate") + .HasColumnType("datetime2"); + + b.Property("EmployerStr") + .HasColumnType("nvarchar(max)"); + + b.Property("ListNumber") + .HasColumnType("nvarchar(max)"); + + b.Property("Month") + .HasMaxLength(2) + .HasColumnType("int"); + + b.Property("WorkShopId") + .HasColumnType("bigint"); + + b.Property("WorkShopStr") + .HasColumnType("nvarchar(max)"); + + b.Property("Year") + .HasMaxLength(4) + .HasColumnType("int"); + + b.HasKey("id"); + + b.HasIndex("WorkShopId"); + + b.ToTable("Insurances", (string)null); + }); + + modelBuilder.Entity("Company.Domain.InsuranceEmployeeInfoAgg.InsuranceEmployeeInfo", b => + { + b.Property("id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("id")); + + b.Property("CreationDate") + .HasColumnType("datetime2"); + + b.Property("DateOfBirth") + .HasColumnType("datetime2"); + + b.Property("DateOfIssue") + .HasColumnType("datetime2"); + + b.Property("EmployeeId") + .HasColumnType("bigint"); + + b.Property("FName") + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b.Property("FatherName") + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b.Property("Gender") + .HasMaxLength(5) + .HasColumnType("nvarchar(5)"); + + b.Property("IdNumber") + .HasMaxLength(15) + .HasColumnType("nvarchar(15)"); + + b.Property("InsuranceCode") + .HasMaxLength(10) + .HasColumnType("nvarchar(10)"); + + b.Property("LName") + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b.Property("NationalCode") + .HasMaxLength(10) + .HasColumnType("nvarchar(10)"); + + b.Property("PlaceOfIssue") + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b.HasKey("id"); + + b.HasIndex("EmployeeId") + .IsUnique(); + + b.ToTable("InsuranceEmployeeInformation", (string)null); + }); + + modelBuilder.Entity("Company.Domain.InsuranceJobAndJobsAgg.InsuranceJobAndJobs", b => + { + b.Property("JobId") + .HasColumnType("bigint"); + + b.Property("InsuranceJobItemId") + .HasColumnType("bigint"); + + b.HasKey("JobId", "InsuranceJobItemId"); + + b.HasIndex("InsuranceJobItemId"); + + b.ToTable("InsuranceJobAndJobs", (string)null); + }); + + modelBuilder.Entity("Company.Domain.InsuranceJobItemAgg.InsuranceJobItem", b => + { + b.Property("id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("id")); + + b.Property("CreationDate") + .HasColumnType("datetime2"); + + b.Property("InsuranceJobId") + .HasColumnType("bigint"); + + b.Property("PercentageLessThan") + .HasColumnType("float"); + + b.Property("PercentageMoreThan") + .HasColumnType("float"); + + b.Property("SalaeyLessThan") + .HasColumnType("float"); + + b.Property("SalaryMoreThan") + .HasColumnType("float"); + + b.HasKey("id"); + + b.HasIndex("InsuranceJobId"); + + b.ToTable("InsuranceJobItems", (string)null); + }); + + modelBuilder.Entity("Company.Domain.InsuranceListAgg.InsuranceList", b => + { + b.Property("id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("id")); + + b.Property("ConfirmSentlist") + .HasColumnType("bit"); + + b.Property("CreationDate") + .HasColumnType("datetime2"); + + b.Property("DifficultJobsInsuranc") + .HasColumnType("float"); + + b.Property("EmployerShare") + .HasColumnType("float"); + + b.Property("EndDate") + .HasColumnType("datetime2"); + + b.Property("Included") + .HasColumnType("float"); + + b.Property("IncludedAndNotIncluded") + .HasColumnType("float"); + + b.Property("InsuredShare") + .HasColumnType("float"); + + b.Property("Month") + .HasMaxLength(2) + .HasColumnType("nvarchar(2)"); + + b.Property("StartDate") + .HasColumnType("datetime2"); + + b.Property("SumOfBaseYears") + .HasColumnType("float"); + + b.Property("SumOfBenefitsIncluded") + .HasColumnType("float"); + + b.Property("SumOfDailyWage") + .HasColumnType("float"); + + b.Property("SumOfDailyWagePlusBaseYears") + .HasColumnType("float"); + + b.Property("SumOfEmployees") + .HasColumnType("int"); + + b.Property("SumOfMarriedAllowance") + .HasColumnType("float"); + + b.Property("SumOfSalaries") + .HasColumnType("float"); + + b.Property("SumOfWorkingDays") + .HasColumnType("int"); + + b.Property("UnEmploymentInsurance") + .HasColumnType("float"); + + b.Property("WorkshopId") + .HasColumnType("bigint"); + + b.Property("Year") + .HasMaxLength(4) + .HasColumnType("nvarchar(4)"); + + b.HasKey("id"); + + b.ToTable("InsuranceLists", (string)null); + }); + + modelBuilder.Entity("Company.Domain.InsuranceWorkshopAgg.InsuranceListWorkshop", b => + { + b.Property("InsurancListId") + .HasColumnType("bigint"); + + b.Property("WorkshopId") + .HasColumnType("bigint"); + + b.HasKey("InsurancListId", "WorkshopId"); + + b.HasIndex("WorkshopId"); + + b.ToTable("InsuranceListWorkshops", (string)null); + }); + + modelBuilder.Entity("Company.Domain.InsuranceYearlySalaryAgg.InsuranceYearlySalary", b => + { + b.Property("id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("id")); + + b.Property("CreationDate") + .HasColumnType("datetime2"); + + b.Property("EndDate") + .HasColumnType("datetime2"); + + b.Property("Group1") + .HasColumnType("float"); + + b.Property("Group10") + .HasColumnType("float"); + + b.Property("Group11") + .HasColumnType("float"); + + b.Property("Group12") + .HasColumnType("float"); + + b.Property("Group13") + .HasColumnType("float"); + + b.Property("Group14") + .HasColumnType("float"); + + b.Property("Group15") + .HasColumnType("float"); + + b.Property("Group16") + .HasColumnType("float"); + + b.Property("Group17") + .HasColumnType("float"); + + b.Property("Group18") + .HasColumnType("float"); + + b.Property("Group19") + .HasColumnType("float"); + + b.Property("Group2") + .HasColumnType("float"); + + b.Property("Group20") + .HasColumnType("float"); + + b.Property("Group21") + .HasColumnType("float"); + + b.Property("Group22") + .HasColumnType("float"); + + b.Property("Group23") + .HasColumnType("float"); + + b.Property("Group24") + .HasColumnType("float"); + + b.Property("Group25") + .HasColumnType("float"); + + b.Property("Group26") + .HasColumnType("float"); + + b.Property("Group27") + .HasColumnType("float"); + + b.Property("Group28") + .HasColumnType("float"); + + b.Property("Group29") + .HasColumnType("float"); + + b.Property("Group3") + .HasColumnType("float"); + + b.Property("Group30") + .HasColumnType("float"); + + b.Property("Group4") + .HasColumnType("float"); + + b.Property("Group5") + .HasColumnType("float"); + + b.Property("Group6") + .HasColumnType("float"); + + b.Property("Group7") + .HasColumnType("float"); + + b.Property("Group8") + .HasColumnType("float"); + + b.Property("Group9") + .HasColumnType("float"); + + b.Property("StartDate") + .HasColumnType("datetime2"); + + b.Property("Year") + .HasColumnType("int"); + + b.HasKey("id"); + + b.ToTable("InsuranceYearlySalaries", (string)null); + }); + + modelBuilder.Entity("Company.Domain.JobAgg.Job", b => + { + b.Property("id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("id")); + + b.Property("CreationDate") + .HasColumnType("datetime2"); + + b.Property("JobCode") + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b.Property("JobName") + .HasMaxLength(255) + .HasColumnType("nvarchar(255)"); + + b.HasKey("id"); + + b.ToTable("Jobs", (string)null); + }); + + modelBuilder.Entity("Company.Domain.LeaveAgg.Leave", b => + { + b.Property("id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("id")); + + b.Property("CreationDate") + .HasColumnType("datetime2"); + + b.Property("Decription") + .HasMaxLength(255) + .HasColumnType("nvarchar(255)"); + + b.Property("EmployeeFullName") + .HasMaxLength(255) + .HasColumnType("nvarchar(255)"); + + b.Property("EmployeeId") + .HasColumnType("bigint"); + + b.Property("EndLeave") + .HasColumnType("datetime2"); + + b.Property("HasShiftDuration") + .HasColumnType("bit"); + + b.Property("IsAccepted") + .HasColumnType("bit"); + + b.Property("LeaveHourses") + .HasMaxLength(5) + .HasColumnType("nvarchar(5)"); + + b.Property("LeaveType") + .HasMaxLength(25) + .HasColumnType("nvarchar(25)"); + + b.Property("Month") + .HasColumnType("int"); + + b.Property("PaidLeaveType") + .HasMaxLength(25) + .HasColumnType("nvarchar(25)"); + + b.Property("ShiftDuration") + .IsRequired() + .HasMaxLength(30) + .HasColumnType("nvarchar(30)"); + + b.Property("StartLeave") + .HasColumnType("datetime2"); + + b.Property("WorkshopId") + .HasColumnType("bigint"); + + b.Property("WorkshopName") + .HasMaxLength(255) + .HasColumnType("nvarchar(255)"); + + b.Property("Year") + .HasColumnType("int"); + + b.HasKey("id"); + + b.ToTable("Leave", (string)null); + }); + + modelBuilder.Entity("Company.Domain.LeftWorkAgg.LeftWork", b => + { + b.Property("id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("id")); + + b.Property("AddBonusesPay") + .HasColumnType("bit"); + + b.Property("AddLeavePay") + .HasColumnType("bit"); + + b.Property("AddYearsPay") + .HasColumnType("bit"); + + b.Property("BonusesOptions") + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("ComputeOptions") + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("CreationDate") + .HasColumnType("datetime2"); + + b.Property("EmployeeFullName") + .HasMaxLength(255) + .HasColumnType("nvarchar(255)"); + + b.Property("EmployeeId") + .HasColumnType("bigint"); + + b.Property("IncludeStatus") + .HasColumnType("bit"); + + b.Property("JobId") + .HasColumnType("bigint"); + + b.Property("LeftWorkDate") + .HasColumnType("datetime2"); + + b.Property("StartWorkDate") + .HasColumnType("datetime2"); + + b.Property("WorkshopId") + .HasColumnType("bigint"); + + b.Property("WorkshopName") + .HasMaxLength(255) + .HasColumnType("nvarchar(255)"); + + b.HasKey("id"); + + b.HasIndex("EmployeeId"); + + b.HasIndex("WorkshopId"); + + b.ToTable("LeftWork", (string)null); + }); + + modelBuilder.Entity("Company.Domain.LeftWorkInsuranceAgg.LeftWorkInsurance", b => + { + b.Property("id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("id")); + + b.Property("CreationDate") + .HasColumnType("datetime2"); + + b.Property("EmployeeFullName") + .HasMaxLength(255) + .HasColumnType("nvarchar(255)"); + + b.Property("EmployeeId") + .HasColumnType("bigint"); + + b.Property("IncludeStatus") + .HasColumnType("bit"); + + b.Property("JobId") + .HasColumnType("bigint"); + + b.Property("LeftWorkDate") + .HasColumnType("datetime2(7)"); + + b.Property("StartWorkDate") + .HasColumnType("datetime2"); + + b.Property("WorkshopId") + .HasColumnType("bigint"); + + b.Property("WorkshopName") + .HasMaxLength(255) + .HasColumnType("nvarchar(255)"); + + b.HasKey("id"); + + b.HasIndex("EmployeeId"); + + b.HasIndex("WorkshopId"); + + b.ToTable("LeftWorkInsurances", (string)null); + }); + + modelBuilder.Entity("Company.Domain.LeftWorkTempAgg.LeftWorkTemp", b => + { + b.Property("id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("id")); + + b.Property("CreationDate") + .HasColumnType("datetime2"); + + b.Property("EmployeeId") + .HasColumnType("bigint"); + + b.Property("JobId") + .HasColumnType("bigint"); + + b.Property("LastDayStanding") + .HasColumnType("datetime2"); + + b.Property("LeftWork") + .HasColumnType("datetime2"); + + b.Property("LeftWorkId") + .HasColumnType("bigint"); + + b.Property("LeftWorkType") + .HasColumnType("int"); + + b.Property("StartWork") + .HasColumnType("datetime2"); + + b.Property("WorkshopId") + .HasColumnType("bigint"); + + b.HasKey("id"); + + b.ToTable("LeftWorkTemps"); + }); + + modelBuilder.Entity("Company.Domain.LoanAgg.Entities.Loan", b => + { + b.Property("id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("id")); + + b.Property("Amount") + .HasColumnType("float"); + + b.Property("AmountPerMonth") + .HasColumnType("float"); + + b.Property("Count") + .HasMaxLength(3) + .HasColumnType("nvarchar(3)"); + + b.Property("CreatedByAccountId") + .HasColumnType("bigint"); + + b.Property("CreatedByUserType") + .IsRequired() + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("CreationDate") + .HasColumnType("datetime2"); + + b.Property("EmployeeId") + .HasColumnType("bigint"); + + b.Property("GetRounded") + .HasColumnType("bit"); + + b.Property("LoanGrantDate") + .HasColumnType("datetime2"); + + b.Property("StartInstallmentPayment") + .HasColumnType("datetime2"); + + b.Property("WorkshopId") + .HasColumnType("bigint"); + + b.HasKey("id"); + + b.ToTable("Loan", (string)null); + }); + + modelBuilder.Entity("Company.Domain.MandatoryHoursAgg.MandatoryHours", b => + { + b.Property("id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("id")); + + b.Property("Aban") + .HasColumnType("float"); + + b.Property("AbanFridays") + .HasColumnType("int"); + + b.Property("AbanHolidays") + .HasColumnType("int"); + + b.Property("AbanMonadatoryDays") + .HasColumnType("int"); + + b.Property("Azar") + .HasColumnType("float"); + + b.Property("AzarFridays") + .HasColumnType("int"); + + b.Property("AzarHolidays") + .HasColumnType("int"); + + b.Property("AzarMonadatoryDays") + .HasColumnType("int"); + + b.Property("Bahman") + .HasColumnType("float"); + + b.Property("BahmanFridays") + .HasColumnType("int"); + + b.Property("BahmanHolidays") + .HasColumnType("int"); + + b.Property("BahmanMonadatoryDays") + .HasColumnType("int"); + + b.Property("CreationDate") + .HasColumnType("datetime2"); + + b.Property("Dey") + .HasColumnType("float"); + + b.Property("DeyFridays") + .HasColumnType("int"); + + b.Property("DeyHolidays") + .HasColumnType("int"); + + b.Property("DeyMonadatoryDays") + .HasColumnType("int"); + + b.Property("Esfand") + .HasColumnType("float"); + + b.Property("EsfandFridays") + .HasColumnType("int"); + + b.Property("EsfandHolidays") + .HasColumnType("int"); + + b.Property("EsfandMonadatoryDays") + .HasColumnType("int"); + + b.Property("Farvardin") + .HasColumnType("float"); + + b.Property("FarvardinFridays") + .HasColumnType("int"); + + b.Property("FarvardinHolidays") + .HasColumnType("int"); + + b.Property("FarvardinMonadatoryDays") + .HasColumnType("int"); + + b.Property("Khordad") + .HasColumnType("float"); + + b.Property("KhordadFridays") + .HasColumnType("int"); + + b.Property("KhordadHolidays") + .HasColumnType("int"); + + b.Property("KhordadMonadatoryDays") + .HasColumnType("int"); + + b.Property("Mehr") + .HasColumnType("float"); + + b.Property("MehrFridays") + .HasColumnType("int"); + + b.Property("MehrHolidays") + .HasColumnType("int"); + + b.Property("MehrMonadatoryDays") + .HasColumnType("int"); + + b.Property("Mordad") + .HasColumnType("float"); + + b.Property("MordadFridays") + .HasColumnType("int"); + + b.Property("MordadHolidays") + .HasColumnType("int"); + + b.Property("MordadMonadatoryDays") + .HasColumnType("int"); + + b.Property("Ordibehesht") + .HasColumnType("float"); + + b.Property("OrdibeheshtFridays") + .HasColumnType("int"); + + b.Property("OrdibeheshtHolidays") + .HasColumnType("int"); + + b.Property("OrdibeheshtMonadatoryDays") + .HasColumnType("int"); + + b.Property("Shahrivar") + .HasColumnType("float"); + + b.Property("ShahrivarFridays") + .HasColumnType("int"); + + b.Property("ShahrivarHolidays") + .HasColumnType("int"); + + b.Property("ShahrivarMonadatoryDays") + .HasColumnType("int"); + + b.Property("Tir") + .HasColumnType("float"); + + b.Property("TirFridays") + .HasColumnType("int"); + + b.Property("TirHolidays") + .HasColumnType("int"); + + b.Property("TirMonadatoryDays") + .HasColumnType("int"); + + b.Property("Year") + .HasMaxLength(4) + .HasColumnType("int"); + + b.HasKey("id"); + + b.ToTable("MandatoryHours", (string)null); + }); + + modelBuilder.Entity("Company.Domain.MasterPenaltyTitle.MasterPenaltyTitle", b => + { + b.Property("id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("id")); + + b.Property("CreationDate") + .HasColumnType("datetime2"); + + b.Property("Day") + .HasColumnType("nvarchar(max)"); + + b.Property("FromDate") + .HasColumnType("datetime2"); + + b.Property("MasterPetition_Id") + .HasColumnType("bigint"); + + b.Property("PaidAmount") + .HasColumnType("nvarchar(max)"); + + b.Property("RemainingAmount") + .HasColumnType("nvarchar(max)"); + + b.Property("Title") + .HasColumnType("nvarchar(max)"); + + b.Property("ToDate") + .HasColumnType("datetime2"); + + b.HasKey("id"); + + b.HasIndex("MasterPetition_Id"); + + b.ToTable("Master_PenaltyTitles", (string)null); + }); + + modelBuilder.Entity("Company.Domain.MasterPetition.MasterPetition", b => + { + b.Property("id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("id")); + + b.Property("BoardType_Id") + .HasColumnType("int"); + + b.Property("CreationDate") + .HasColumnType("datetime2"); + + b.Property("Description") + .HasColumnType("nvarchar(max)"); + + b.Property("File_Id") + .HasColumnType("bigint"); + + b.Property("MasterName") + .HasColumnType("nvarchar(max)"); + + b.Property("WorkHistoryDescreption") + .HasColumnType("nvarchar(max)"); + + b.HasKey("id"); + + b.HasIndex("BoardType_Id"); + + b.HasIndex("File_Id"); + + b.ToTable("Master_Petitions", (string)null); + }); + + modelBuilder.Entity("Company.Domain.MasterWorkHistory.MasterWorkHistory", b => + { + b.Property("id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("id")); + + b.Property("CreationDate") + .HasColumnType("datetime2"); + + b.Property("Description") + .HasColumnType("nvarchar(max)"); + + b.Property("FromDate") + .HasColumnType("datetime2"); + + b.Property("MasterPetition_Id") + .HasColumnType("bigint"); + + b.Property("ToDate") + .HasColumnType("datetime2"); + + b.Property("WorkingHoursPerDay") + .HasColumnType("int"); + + b.Property("WorkingHoursPerWeek") + .HasColumnType("int"); + + b.HasKey("id"); + + b.HasIndex("MasterPetition_Id"); + + b.ToTable("Master_WorkHistories", (string)null); + }); + + modelBuilder.Entity("Company.Domain.ModuleAgg.EntityModule", b => + { + b.Property("id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("id")); + + b.Property("CreationDate") + .HasColumnType("datetime2"); + + b.Property("IsActiveString") + .HasColumnType("nvarchar(max)"); + + b.Property("NameSubModule") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.HasKey("id"); + + b.ToTable("TextManager_Module", (string)null); + }); + + modelBuilder.Entity("Company.Domain.ModuleTextManagerAgg.EntityModuleTextManager", b => + { + b.Property("TextManagerId") + .HasColumnType("bigint"); + + b.Property("ModuleId") + .HasColumnType("bigint"); + + b.HasKey("TextManagerId", "ModuleId"); + + b.HasIndex("ModuleId"); + + b.ToTable("TextManager_ModuleTextManager", (string)null); + }); + + modelBuilder.Entity("Company.Domain.OriginalTitleAgg.EntityOriginalTitle", b => + { + b.Property("id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("id")); + + b.Property("CreationDate") + .HasColumnType("datetime2"); + + b.Property("IsActiveString") + .HasColumnType("nvarchar(max)"); + + b.Property("Title") + .IsRequired() + .HasMaxLength(60) + .HasColumnType("nvarchar(60)"); + + b.HasKey("id"); + + b.ToTable("TextManager_OriginalTitle", (string)null); + }); + + modelBuilder.Entity("Company.Domain.PaymentToEmployeeAgg.PaymentToEmployee", b => + { + b.Property("id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("id")); + + b.Property("CreationDate") + .HasColumnType("datetime2"); + + b.Property("EmployeeId") + .HasColumnType("bigint"); + + b.Property("Month") + .HasMaxLength(10) + .HasColumnType("nvarchar(10)"); + + b.Property("WorkshopId") + .HasColumnType("bigint"); + + b.Property("Year") + .HasMaxLength(4) + .HasColumnType("nvarchar(4)"); + + b.HasKey("id"); + + b.ToTable("PaymentToEmployees", (string)null); + }); + + modelBuilder.Entity("Company.Domain.PaymentToEmployeeItemAgg.PaymentToEmployeeItem", b => + { + b.Property("id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("id")); + + b.Property("BankCheckNumber") + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("CashDescription") + .HasMaxLength(500) + .HasColumnType("nvarchar(500)"); + + b.Property("CreationDate") + .HasColumnType("datetime2"); + + b.Property("DestinationBankAccountNumber") + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("DestinationBankName") + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("EmployeeId") + .HasColumnType("bigint"); + + b.Property("PayDate") + .HasColumnType("datetime2"); + + b.Property("Payment") + .HasColumnType("float"); + + b.Property("PaymentMetod") + .HasMaxLength(25) + .HasColumnType("nvarchar(25)"); + + b.Property("PaymentTitle") + .HasMaxLength(150) + .HasColumnType("nvarchar(150)"); + + b.Property("PaymentToEmployeeId") + .HasColumnType("bigint"); + + b.Property("SourceBankAccountNumber") + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("SourceBankName") + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("TypeDestinationBankNumber") + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("TypeSourceBankNumber") + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("WorkshopId") + .HasColumnType("bigint"); + + b.HasKey("id"); + + b.HasIndex("PaymentToEmployeeId"); + + b.ToTable("PaymentToEmployeeItems", (string)null); + }); + + modelBuilder.Entity("Company.Domain.PenaltyTitle.PenaltyTitle", b => + { + b.Property("id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("id")); + + b.Property("CreationDate") + .HasColumnType("datetime2"); + + b.Property("Day") + .HasColumnType("nvarchar(max)"); + + b.Property("FromDate") + .HasColumnType("datetime2(7)"); + + b.Property("PaidAmount") + .HasColumnType("nvarchar(max)"); + + b.Property("Petition_Id") + .HasColumnType("bigint"); + + b.Property("RemainingAmount") + .HasColumnType("nvarchar(max)"); + + b.Property("Title") + .HasColumnType("nvarchar(max)"); + + b.Property("ToDate") + .HasColumnType("datetime2(7)"); + + b.HasKey("id"); + + b.HasIndex("Petition_Id"); + + b.ToTable("PenaltyTitles", (string)null); + }); + + modelBuilder.Entity("Company.Domain.PercentageAgg.Percentage", b => + { + b.Property("id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("id")); + + b.Property("CreationDate") + .HasColumnType("datetime2"); + + b.Property("Percent") + .HasColumnType("float"); + + b.HasKey("id"); + + b.ToTable("Percentages", (string)null); + }); + + modelBuilder.Entity("Company.Domain.PersonnelCodeAgg.PersonnelCodeDomain", b => + { + b.Property("id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("id")); + + b.Property("CreationDate") + .HasColumnType("datetime2"); + + b.Property("EmployeeId") + .HasColumnType("bigint"); + + b.Property("PersonnelCode") + .HasColumnType("bigint"); + + b.Property("WorkshopId") + .HasColumnType("bigint"); + + b.HasKey("id"); + + b.HasIndex("EmployeeId"); + + b.HasIndex("WorkshopId"); + + b.ToTable("PersonnelCodes", (string)null); + }); + + modelBuilder.Entity("Company.Domain.Petition.Petition", b => + { + b.Property("id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("id")); + + b.Property("BoardType_Id") + .HasColumnType("int"); + + b.Property("CreationDate") + .HasColumnType("datetime2"); + + b.Property("Description") + .HasColumnType("nvarchar(max)"); + + b.Property("File_Id") + .HasColumnType("bigint"); + + b.Property("NotificationPetitionDate") + .HasColumnType("datetime2"); + + b.Property("PetitionIssuanceDate") + .HasColumnType("datetime2"); + + b.Property("PetitionNo") + .HasColumnType("nvarchar(max)"); + + b.Property("TotalPenalty") + .HasColumnType("nvarchar(max)"); + + b.Property("TotalPenaltyTitles") + .HasColumnType("nvarchar(max)"); + + b.Property("WorkHistoryDescreption") + .HasColumnType("nvarchar(max)"); + + b.HasKey("id"); + + b.HasIndex("BoardType_Id"); + + b.HasIndex("File_Id"); + + b.ToTable("Petitions", (string)null); + }); + + modelBuilder.Entity("Company.Domain.ProceedingSession.ProceedingSession", b => + { + b.Property("id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("id")); + + b.Property("Board_Id") + .HasColumnType("bigint"); + + b.Property("CreationDate") + .HasColumnType("datetime2"); + + b.Property("Date") + .HasColumnType("datetime2"); + + b.Property("Status") + .HasColumnType("int"); + + b.Property("Time") + .HasColumnType("nvarchar(max)"); + + b.HasKey("id"); + + b.HasIndex("Board_Id"); + + b.ToTable("ProceedingSessions", (string)null); + }); + + modelBuilder.Entity("Company.Domain.RepresentativeAgg.Representative", b => + { + b.Property("id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("id")); + + b.Property("Address") + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("AgentPhone") + .HasMaxLength(20) + .HasColumnType("nvarchar(20)"); + + b.Property("CreationDate") + .HasColumnType("datetime2"); + + b.Property("FName") + .HasMaxLength(20) + .HasColumnType("nvarchar(20)"); + + b.Property("FullName") + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("IdNumber") + .HasMaxLength(20) + .HasColumnType("nvarchar(20)"); + + b.Property("IsActive") + .HasMaxLength(5) + .HasColumnType("nvarchar(5)"); + + b.Property("IsLegal") + .HasMaxLength(5) + .HasColumnType("nvarchar(5)"); + + b.Property("LName") + .HasMaxLength(20) + .HasColumnType("nvarchar(20)"); + + b.Property("LegalName") + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("NationalId") + .HasMaxLength(20) + .HasColumnType("nvarchar(20)"); + + b.Property("Nationalcode") + .HasMaxLength(10) + .HasColumnType("nvarchar(10)"); + + b.Property("Phone") + .HasMaxLength(20) + .HasColumnType("nvarchar(20)"); + + b.Property("RegisterId") + .HasMaxLength(20) + .HasColumnType("nvarchar(20)"); + + b.HasKey("id"); + + b.ToTable("Representative", (string)null); + }); + + modelBuilder.Entity("Company.Domain.RewardAgg.Reward", b => + { + b.Property("id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("id")); + + b.Property("Amount") + .HasColumnType("float"); + + b.Property("CreatedByAccountId") + .HasColumnType("bigint"); + + b.Property("CreatedByUserType") + .IsRequired() + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("CreationDate") + .HasColumnType("datetime2"); + + b.Property("Description") + .HasColumnType("ntext"); + + b.Property("EmployeeId") + .HasColumnType("bigint"); + + b.Property("GrantDate") + .HasColumnType("datetime2"); + + b.Property("IsActive") + .IsRequired() + .HasMaxLength(5) + .HasColumnType("nvarchar(5)"); + + b.Property("LastModifiedByAccountId") + .HasColumnType("bigint"); + + b.Property("LastModifiedByUserType") + .IsRequired() + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("RewardType") + .IsRequired() + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("Title") + .HasMaxLength(255) + .HasColumnType("nvarchar(255)"); + + b.Property("WorkshopId") + .HasColumnType("bigint"); + + b.HasKey("id"); + + b.ToTable("Rewards", (string)null); + }); + + modelBuilder.Entity("Company.Domain.RollCallAgg.RollCall", b => + { + b.Property("id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("id")); + + b.Property("BreakTimeSpan") + .IsRequired() + .HasMaxLength(30) + .HasColumnType("nvarchar(30)"); + + b.Property("CreationDate") + .HasColumnType("datetime2"); + + b.Property("EarlyEntryDuration") + .IsRequired() + .HasMaxLength(30) + .HasColumnType("nvarchar(30)"); + + b.Property("EarlyExitDuration") + .IsRequired() + .HasMaxLength(30) + .HasColumnType("nvarchar(30)"); + + b.Property("EmployeeFullName") + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b.Property("EmployeeId") + .HasColumnType("bigint"); + + b.Property("EndDate") + .HasColumnType("datetime2"); + + b.Property("FridayWorkTimeSpan") + .IsRequired() + .HasMaxLength(30) + .HasColumnType("nvarchar(30)"); + + b.Property("LateEntryDuration") + .IsRequired() + .HasMaxLength(30) + .HasColumnType("nvarchar(30)"); + + b.Property("LateExitDuration") + .IsRequired() + .HasMaxLength(30) + .HasColumnType("nvarchar(30)"); + + b.Property("Month") + .HasColumnType("int"); + + b.Property("NightWorkTimeSpan") + .IsRequired() + .HasMaxLength(30) + .HasColumnType("nvarchar(30)"); + + b.Property("RollCallModifyType") + .IsRequired() + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("ShiftDate") + .HasColumnType("datetime2"); + + b.Property("ShiftDurationTimeSpan") + .IsRequired() + .HasMaxLength(30) + .HasColumnType("nvarchar(30)"); + + b.Property("ShiftType") + .IsRequired() + .HasMaxLength(22) + .HasColumnType("nvarchar(22)"); + + b.Property("StartDate") + .HasColumnType("datetime2"); + + b.Property("WorkshopId") + .HasColumnType("bigint"); + + b.Property("Year") + .HasColumnType("int"); + + b.HasKey("id"); + + b.ToTable("RollCall", (string)null); + }); + + modelBuilder.Entity("Company.Domain.RollCallEmployeeAgg.RollCallEmployee", b => + { + b.Property("id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("id")); + + b.Property("EmployeeFullName") + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b.Property("EmployeeId") + .HasColumnType("bigint"); + + b.Property("FName") + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("HasChangedName") + .HasColumnType("bit"); + + b.Property("HasUploadedImage") + .HasMaxLength(5) + .HasColumnType("nvarchar(5)"); + + b.Property("IsActiveString") + .HasMaxLength(5) + .HasColumnType("nvarchar(5)"); + + b.Property("LName") + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("WorkshopId") + .HasColumnType("bigint"); + + b.HasKey("id"); + + b.ToTable("RollCallEmployees", (string)null); + }); + + modelBuilder.Entity("Company.Domain.RollCallEmployeeStatusAgg.RollCallEmployeeStatus", b => + { + b.Property("id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("id")); + + b.Property("EndDate") + .HasColumnType("datetime2"); + + b.Property("RollCallEmployeeId") + .HasColumnType("bigint"); + + b.Property("StartDate") + .HasColumnType("datetime2"); + + b.HasKey("id"); + + b.HasIndex("RollCallEmployeeId"); + + b.ToTable("RollCallEmployeesStatus"); + }); + + modelBuilder.Entity("Company.Domain.RollCallPlanAgg.RollCallPlan", b => + { + b.Property("id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("id")); + + b.Property("BaseAmont") + .HasColumnType("float"); + + b.Property("FinalAmont") + .HasColumnType("float"); + + b.Property("IncreasePercentage") + .HasColumnType("float"); + + b.Property("MaxPersonValid") + .HasColumnType("int"); + + b.HasKey("id"); + + b.ToTable("RollCallPlans", (string)null); + }); + + modelBuilder.Entity("Company.Domain.RollCallServiceAgg.RollCallService", b => + { + b.Property("id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("id")); + + b.Property("AccountId") + .HasColumnType("bigint"); + + b.Property("Amount") + .HasColumnType("float"); + + b.Property("CreationDate") + .HasColumnType("datetime2"); + + b.Property("CustomizeCheckoutAmount") + .HasColumnType("float"); + + b.Property("CustomizeCheckoutServiceEnd") + .HasColumnType("datetime2"); + + b.Property("CustomizeCheckoutServiceStart") + .HasColumnType("datetime2"); + + b.Property("Duration") + .HasMaxLength(2) + .HasColumnType("nvarchar(2)"); + + b.Property("EndService") + .HasColumnType("datetime2"); + + b.Property("HasCustomizeCheckoutService") + .HasMaxLength(5) + .HasColumnType("nvarchar(5)"); + + b.Property("IsActiveString") + .HasMaxLength(5) + .HasColumnType("nvarchar(5)"); + + b.Property("MaxPersonValid") + .HasColumnType("int"); + + b.Property("ServiceType") + .HasMaxLength(20) + .HasColumnType("nvarchar(20)"); + + b.Property("StartService") + .HasColumnType("datetime2"); + + b.Property("WorkshopId") + .HasColumnType("bigint"); + + b.HasKey("id"); + + b.HasIndex("WorkshopId"); + + b.ToTable("RollCallServices", (string)null); + }); + + modelBuilder.Entity("Company.Domain.SalaryAidAgg.SalaryAid", b => + { + b.Property("id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("id")); + + b.Property("Amount") + .HasColumnType("float"); + + b.Property("CalculationDate") + .HasColumnType("datetime2"); + + b.Property("CalculationMonth") + .HasColumnType("int"); + + b.Property("CalculationYear") + .HasColumnType("int"); + + b.Property("CreatedByAccountId") + .HasColumnType("bigint"); + + b.Property("CreatedByUserType") + .IsRequired() + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("CreationDate") + .HasColumnType("datetime2"); + + b.Property("EmployeeId") + .HasColumnType("bigint"); + + b.Property("LastModifiedByAccountId") + .HasColumnType("bigint"); + + b.Property("LastModifiedByUserType") + .IsRequired() + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("SalaryAidDateTime") + .HasColumnType("datetime2"); + + b.Property("WorkshopId") + .HasColumnType("bigint"); + + b.HasKey("id"); + + b.ToTable("SalaryAids", (string)null); + }); + + modelBuilder.Entity("Company.Domain.SmsResultAgg.SmsResult", b => + { + b.Property("id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("id")); + + b.Property("ContractingPartyName") + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("ContractingPatyId") + .HasColumnType("bigint"); + + b.Property("CreationDate") + .HasColumnType("datetime2"); + + b.Property("InstitutionContractId") + .HasColumnType("bigint"); + + b.Property("MessageId") + .HasColumnType("int"); + + b.Property("Mobile") + .HasMaxLength(12) + .HasColumnType("nvarchar(12)"); + + b.Property("Status") + .HasMaxLength(30) + .HasColumnType("nvarchar(30)"); + + b.Property("TypeOfSms") + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.HasKey("id"); + + b.ToTable("SmsResults", (string)null); + }); + + modelBuilder.Entity("Company.Domain.SubtitleAgg.EntitySubtitle", b => + { + b.Property("id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("id")); + + b.Property("CreationDate") + .HasColumnType("datetime2"); + + b.Property("EntitySubtitleid") + .HasColumnType("bigint"); + + b.Property("IsActiveString") + .HasColumnType("nvarchar(max)"); + + b.Property("OriginalTitle_Id") + .HasColumnType("bigint"); + + b.Property("Subtitle") + .IsRequired() + .HasMaxLength(60) + .HasColumnType("nvarchar(60)"); + + b.HasKey("id"); + + b.HasIndex("EntitySubtitleid"); + + b.HasIndex("OriginalTitle_Id"); + + b.ToTable("TextManager_Subtitle", (string)null); + }); + + modelBuilder.Entity("Company.Domain.TaxJobCategoryAgg.TaxJobCategory", b => + { + b.Property("id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("id")); + + b.Property("JobCategoryCode") + .HasMaxLength(5) + .HasColumnType("nvarchar(5)"); + + b.Property("JobCategoryName") + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b.HasKey("id"); + + b.ToTable("TaxJobCategory", (string)null); + }); + + modelBuilder.Entity("Company.Domain.TaxLeftWorkCategoryAgg.TaxLeftWorkCategory", b => + { + b.Property("id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("id")); + + b.Property("BudgetLawExceptions") + .HasMaxLength(3) + .HasColumnType("nvarchar(3)"); + + b.Property("Country") + .HasMaxLength(3) + .HasColumnType("nvarchar(3)"); + + b.Property("CreationDate") + .HasColumnType("datetime2"); + + b.Property("CurrencyType") + .HasMaxLength(3) + .HasColumnType("nvarchar(3)"); + + b.Property("EmployeeId") + .HasColumnType("bigint"); + + b.Property("EmployeeName") + .HasMaxLength(150) + .HasColumnType("nvarchar(150)"); + + b.Property("EmploymentLocationStatus") + .HasMaxLength(3) + .HasColumnType("nvarchar(3)"); + + b.Property("ExchangeRate") + .HasMaxLength(3) + .HasColumnType("nvarchar(3)"); + + b.Property("InsuranceBranch") + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b.Property("InsuranceName") + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b.Property("JobCategoryCode") + .HasMaxLength(3) + .HasColumnType("nvarchar(3)"); + + b.Property("JobCategoryId") + .HasColumnType("bigint"); + + b.Property("JobTitle") + .HasMaxLength(150) + .HasColumnType("nvarchar(150)"); + + b.Property("PaymentType") + .HasMaxLength(3) + .HasColumnType("nvarchar(3)"); + + b.Property("RetirementDate") + .HasMaxLength(10) + .HasColumnType("nvarchar(10)"); + + b.Property("TaxExempt") + .HasMaxLength(3) + .HasColumnType("nvarchar(3)"); + + b.Property("TypeOfEmployment") + .HasMaxLength(3) + .HasColumnType("nvarchar(3)"); + + b.Property("TypeOfInsurance") + .HasMaxLength(3) + .HasColumnType("nvarchar(3)"); + + b.Property("WorkshopId") + .HasColumnType("bigint"); + + b.Property("WorkshopName") + .HasMaxLength(150) + .HasColumnType("nvarchar(150)"); + + b.HasKey("id"); + + b.HasIndex("WorkshopId"); + + b.ToTable("TaxLeftWorkCategory", (string)null); + }); + + modelBuilder.Entity("Company.Domain.TaxLeftWorkItemAgg.TaxLeftWorkItem", b => + { + b.Property("id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("id")); + + b.Property("CreationDate") + .HasColumnType("datetime2"); + + b.Property("LeftWork") + .HasColumnType("datetime2"); + + b.Property("StartWork") + .HasColumnType("datetime2"); + + b.Property("TaxLeftWorkCategoryId") + .HasColumnType("bigint"); + + b.HasKey("id"); + + b.HasIndex("TaxLeftWorkCategoryId"); + + b.ToTable("TaxLeftWorkItem", (string)null); + }); + + modelBuilder.Entity("Company.Domain.TemporaryClientRegistrationAgg.ContractingPartyTemp", b => + { + b.Property("id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("id")); + + b.Property("Address") + .HasMaxLength(500) + .HasColumnType("nvarchar(500)"); + + b.Property("City") + .HasMaxLength(35) + .HasColumnType("nvarchar(35)"); + + b.Property("CreationDate") + .HasColumnType("datetime2"); + + b.Property("DateOfBirth") + .HasColumnType("datetime2"); + + b.Property("FName") + .IsRequired() + .HasMaxLength(25) + .HasColumnType("nvarchar(25)"); + + b.Property("FatherName") + .HasMaxLength(25) + .HasColumnType("nvarchar(25)"); + + b.Property("Gender") + .IsRequired() + .HasMaxLength(6) + .HasColumnType("nvarchar(6)"); + + b.Property("IdNumber") + .HasMaxLength(10) + .HasColumnType("nvarchar(10)"); + + b.Property("IdNumberSeri") + .HasMaxLength(5) + .HasColumnType("nvarchar(5)"); + + b.Property("IdNumberSerial") + .HasMaxLength(15) + .HasColumnType("nvarchar(15)"); + + b.Property("LName") + .IsRequired() + .HasMaxLength(25) + .HasColumnType("nvarchar(25)"); + + b.Property("NationalCode") + .IsRequired() + .HasMaxLength(10) + .HasColumnType("nvarchar(10)"); + + b.Property("Phone") + .HasMaxLength(12) + .HasColumnType("nvarchar(12)"); + + b.Property("State") + .HasMaxLength(35) + .HasColumnType("nvarchar(35)"); + + b.HasKey("id"); + + b.ToTable("ContractingPartyTemp", (string)null); + }); + + modelBuilder.Entity("Company.Domain.TemporaryClientRegistrationAgg.InstitutionContractTemp", b => + { + b.Property("id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("id")); + + b.Property("ContractEndGr") + .HasColumnType("datetime2"); + + b.Property("ContractStartGr") + .HasColumnType("datetime2"); + + b.Property("ContractingPartyTempId") + .HasColumnType("bigint"); + + b.Property("CreationDate") + .HasColumnType("datetime2"); + + b.Property("MessageId") + .HasColumnType("int"); + + b.Property("OfficialCompany") + .HasMaxLength(30) + .HasColumnType("nvarchar(30)"); + + b.Property("PaymentModel") + .HasMaxLength(30) + .HasColumnType("nvarchar(30)"); + + b.Property("PeriodModel") + .HasMaxLength(3) + .HasColumnType("nvarchar(3)"); + + b.Property("RegistrationStatus") + .HasMaxLength(30) + .HasColumnType("nvarchar(30)"); + + b.Property("SendVerifyCodeTime") + .HasColumnType("datetime2"); + + b.Property("TotalPayment") + .HasColumnType("float"); + + b.Property("ValueAddedTax") + .HasColumnType("float"); + + b.Property("VerifyCode") + .HasMaxLength(6) + .HasColumnType("nvarchar(6)"); + + b.Property("VerifyCodeEndTime") + .HasColumnType("datetime2"); + + b.HasKey("id"); + + b.ToTable("InstitutionContractTemps", (string)null); + }); + + modelBuilder.Entity("Company.Domain.TemporaryClientRegistrationAgg.WorkshopServicesTemp", b => + { + b.Property("id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("id")); + + b.Property("CountPerson") + .HasColumnType("int"); + + b.Property("CreationDate") + .HasColumnType("datetime2"); + + b.Property("ServiceName") + .HasMaxLength(40) + .HasColumnType("nvarchar(40)"); + + b.Property("WorkshopTempId") + .HasColumnType("bigint"); + + b.HasKey("id"); + + b.HasIndex("WorkshopTempId"); + + b.ToTable("WorkshopServicesTemps", (string)null); + }); + + modelBuilder.Entity("Company.Domain.TemporaryClientRegistrationAgg.WorkshopTemp", b => + { + b.Property("id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("id")); + + b.Property("ContractingPartyTempId") + .HasColumnType("bigint"); + + b.Property("CountPerson") + .HasColumnType("int"); + + b.Property("CreationDate") + .HasColumnType("datetime2"); + + b.Property("WorkshopName") + .HasMaxLength(255) + .HasColumnType("nvarchar(255)"); + + b.Property("WorkshopServicesAmount") + .HasColumnType("float"); + + b.HasKey("id"); + + b.ToTable("WorkshopTemps", (string)null); + }); + + modelBuilder.Entity("Company.Domain.TextManagerAgg.EntityTextManager", b => + { + b.Property("id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("id")); + + b.Property("Chapter_Id") + .HasColumnType("bigint"); + + b.Property("CreationDate") + .HasColumnType("datetime2"); + + b.Property("DateTextManager") + .HasColumnType("nvarchar(max)"); + + b.Property("Description") + .HasColumnType("nvarchar(max)"); + + b.Property("IsActiveString") + .HasColumnType("nvarchar(max)"); + + b.Property("NoteNumber") + .HasColumnType("nvarchar(max)"); + + b.Property("NumberTextManager") + .HasColumnType("nvarchar(max)"); + + b.Property("OriginalTitle_Id") + .HasColumnType("bigint"); + + b.Property("Paragraph") + .HasColumnType("nvarchar(max)"); + + b.Property("SubjectTextManager") + .HasColumnType("nvarchar(max)"); + + b.Property("Subtitle_Id") + .HasColumnType("bigint"); + + b.HasKey("id"); + + b.ToTable("TextManager_TextManager", (string)null); + }); + + modelBuilder.Entity("Company.Domain.WorkHistory.WorkHistory", b => + { + b.Property("id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("id")); + + b.Property("CreationDate") + .HasColumnType("datetime2"); + + b.Property("Description") + .HasColumnType("nvarchar(max)"); + + b.Property("FromDate") + .HasColumnType("datetime2"); + + b.Property("Petition_Id") + .HasColumnType("bigint"); + + b.Property("ToDate") + .HasColumnType("datetime2"); + + b.Property("WorkingHoursPerDay") + .HasColumnType("int"); + + b.Property("WorkingHoursPerWeek") + .HasColumnType("int"); + + b.HasKey("id"); + + b.HasIndex("Petition_Id"); + + b.ToTable("WorkHistories", (string)null); + }); + + modelBuilder.Entity("Company.Domain.WorkingHoursAgg.WorkingHours", b => + { + b.Property("id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("id")); + + b.Property("ContractId") + .HasColumnType("bigint"); + + b.Property("ContractNo") + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b.Property("CreationDate") + .HasColumnType("datetime2"); + + b.Property("NumberOfFriday") + .HasMaxLength(15) + .HasColumnType("nvarchar(15)"); + + b.Property("NumberOfWorkingDays") + .HasMaxLength(15) + .HasColumnType("nvarchar(15)"); + + b.Property("OverNightWorkH") + .HasMaxLength(10) + .HasColumnType("nvarchar(10)"); + + b.Property("OverNightWorkM") + .HasMaxLength(2) + .HasColumnType("nvarchar(2)"); + + b.Property("OverTimeWorkH") + .HasMaxLength(15) + .HasColumnType("nvarchar(15)"); + + b.Property("OverTimeWorkM") + .HasMaxLength(2) + .HasColumnType("nvarchar(2)"); + + b.Property("ShiftWork") + .HasMaxLength(2) + .HasColumnType("nvarchar(2)"); + + b.Property("TotalHoursesH") + .HasMaxLength(15) + .HasColumnType("nvarchar(15)"); + + b.Property("TotalHoursesM") + .HasMaxLength(2) + .HasColumnType("nvarchar(2)"); + + b.Property("WeeklyWorkingTime") + .HasMaxLength(10) + .HasColumnType("nvarchar(10)"); + + b.HasKey("id"); + + b.HasIndex("ContractId"); + + b.ToTable("WorkingHours", (string)null); + }); + + modelBuilder.Entity("Company.Domain.WorkingHoursItemsAgg.WorkingHoursItems", b => + { + b.Property("id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("id")); + + b.Property("ComplexEnd") + .HasMaxLength(5) + .HasColumnType("nvarchar(5)"); + + b.Property("ComplexStart") + .HasMaxLength(5) + .HasColumnType("nvarchar(5)"); + + b.Property("CreationDate") + .HasColumnType("datetime2"); + + b.Property("DayOfWork") + .HasMaxLength(1) + .HasColumnType("nvarchar(1)"); + + b.Property("End1") + .HasMaxLength(5) + .HasColumnType("nvarchar(5)"); + + b.Property("End2") + .HasMaxLength(5) + .HasColumnType("nvarchar(5)"); + + b.Property("End3") + .HasMaxLength(5) + .HasColumnType("nvarchar(5)"); + + b.Property("RestTime") + .HasMaxLength(5) + .HasColumnType("nvarchar(5)"); + + b.Property("Start1") + .HasMaxLength(5) + .HasColumnType("nvarchar(5)"); + + b.Property("Start2") + .HasMaxLength(5) + .HasColumnType("nvarchar(5)"); + + b.Property("Start3") + .HasMaxLength(5) + .HasColumnType("nvarchar(5)"); + + b.Property("WeekNumber") + .HasMaxLength(10) + .HasColumnType("nvarchar(10)"); + + b.Property("WorkingHoursId") + .HasColumnType("bigint"); + + b.HasKey("id"); + + b.HasIndex("WorkingHoursId"); + + b.ToTable("WorkingHoursItems", (string)null); + }); + + modelBuilder.Entity("Company.Domain.WorkingHoursTempAgg.WorkingHoursTemp", b => + { + b.Property("id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("id")); + + b.Property("CreationDate") + .HasColumnType("datetime2"); + + b.Property("EmployeeId") + .HasColumnType("bigint"); + + b.Property("ShiftWork") + .HasMaxLength(2) + .HasColumnType("nvarchar(2)"); + + b.Property("WorkShopAddress2") + .HasMaxLength(500) + .HasColumnType("nvarchar(500)"); + + b.Property("WorkshopId") + .HasColumnType("bigint"); + + b.HasKey("id"); + + b.ToTable("WorkingHoursTemp", (string)null); + }); + + modelBuilder.Entity("Company.Domain.WorkingHoursTempItemAgg.WorkingHoursTempItem", b => + { + b.Property("id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("id")); + + b.Property("ComplexEnd") + .HasMaxLength(5) + .HasColumnType("nvarchar(5)"); + + b.Property("ComplexStart") + .HasMaxLength(5) + .HasColumnType("nvarchar(5)"); + + b.Property("CreationDate") + .HasColumnType("datetime2"); + + b.Property("DayOfWork") + .HasMaxLength(1) + .HasColumnType("nvarchar(1)"); + + b.Property("End1") + .HasMaxLength(5) + .HasColumnType("nvarchar(5)"); + + b.Property("End2") + .HasMaxLength(5) + .HasColumnType("nvarchar(5)"); + + b.Property("RestTime") + .HasMaxLength(5) + .HasColumnType("nvarchar(5)"); + + b.Property("Start1") + .HasMaxLength(5) + .HasColumnType("nvarchar(5)"); + + b.Property("Start2") + .HasMaxLength(5) + .HasColumnType("nvarchar(5)"); + + b.Property("WeekNumber") + .HasMaxLength(10) + .HasColumnType("nvarchar(10)"); + + b.Property("WorkingHoursTempId") + .HasColumnType("bigint"); + + b.HasKey("id"); + + b.HasIndex("WorkingHoursTempId"); + + b.ToTable("WorkingHoursTempItem", (string)null); + }); + + modelBuilder.Entity("Company.Domain.WorkshopAccountAgg.WorkshopAccount", b => + { + b.Property("WorkshopId") + .HasColumnType("bigint"); + + b.Property("AccountId") + .HasColumnType("bigint"); + + b.Property("ContractAndCheckout") + .HasMaxLength(5) + .HasColumnType("nvarchar(5)"); + + b.Property("Insurance") + .HasMaxLength(5) + .HasColumnType("nvarchar(5)"); + + b.Property("IsActiveSting") + .HasMaxLength(5) + .HasColumnType("nvarchar(5)"); + + b.Property("Tax") + .HasMaxLength(5) + .HasColumnType("nvarchar(5)"); + + b.HasKey("WorkshopId", "AccountId"); + + b.ToTable("WorkshopeAccounts", (string)null); + }); + + modelBuilder.Entity("Company.Domain.WorkshopAgg.Workshop", b => + { + b.Property("id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("id")); + + b.Property("AddBonusesPay") + .HasColumnType("bit"); + + b.Property("AddLeavePay") + .HasColumnType("bit"); + + b.Property("AddYearsPay") + .HasColumnType("bit"); + + b.Property("Address") + .HasMaxLength(500) + .HasColumnType("nvarchar(500)"); + + b.Property("AgentName") + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b.Property("AgentPhone") + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("AgreementNumber") + .HasMaxLength(10) + .HasColumnType("nvarchar(10)"); + + b.Property("ArchiveCode") + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b.Property("BonusesOptions") + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("City") + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b.Property("ComputeOptions") + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("ContractTerm") + .HasMaxLength(10) + .HasColumnType("nvarchar(10)"); + + b.Property("CreationDate") + .HasColumnType("datetime2"); + + b.Property("FixedSalary") + .HasColumnType("bit"); + + b.Property("HasRollCallFreeVip") + .HasMaxLength(5) + .HasColumnType("nvarchar(5)"); + + b.Property("InsuranceCode") + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b.Property("InsuranceJobId") + .HasColumnType("bigint"); + + b.Property("IsActive") + .HasColumnType("bit"); + + b.Property("IsActiveString") + .HasMaxLength(10) + .HasColumnType("nvarchar(10)"); + + b.Property("IsClassified") + .HasColumnType("bit"); + + b.Property("IsOldContract") + .HasColumnType("bit"); + + b.Property("Population") + .HasMaxLength(25) + .HasColumnType("nvarchar(25)"); + + b.Property("State") + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b.Property("TotalPaymentHide") + .HasColumnType("bit"); + + b.Property("TypeOfContract") + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b.Property("TypeOfInsuranceSend") + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b.Property("TypeOfOwnership") + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b.Property("WorkshopFullName") + .HasMaxLength(255) + .HasColumnType("nvarchar(255)"); + + b.Property("WorkshopHolidayWorking") + .HasColumnType("bit"); + + b.Property("WorkshopName") + .IsRequired() + .HasMaxLength(255) + .HasColumnType("nvarchar(255)"); + + b.Property("WorkshopSureName") + .HasMaxLength(255) + .HasColumnType("nvarchar(255)"); + + b.Property("YearsOptions") + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("ZoneName") + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.HasKey("id"); + + b.ToTable("Workshops", (string)null); + }); + + modelBuilder.Entity("Company.Domain.WorkshopEmployerAgg.WorkshopEmployer", b => + { + b.Property("WorkshopId") + .HasColumnType("bigint"); + + b.Property("EmployerId") + .HasColumnType("bigint"); + + b.HasKey("WorkshopId", "EmployerId"); + + b.HasIndex("EmployerId"); + + b.ToTable("WorkshopeEmployers", (string)null); + }); + + modelBuilder.Entity("Company.Domain.WorkshopPlanAgg.WorkshopPlan", b => + { + b.Property("id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("id")); + + b.Property("CreationDate") + .HasColumnType("datetime2"); + + b.Property("Designer") + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b.Property("DesignerPhone") + .HasMaxLength(20) + .HasColumnType("nvarchar(20)"); + + b.Property("ExecutionDateFa") + .HasMaxLength(10) + .HasColumnType("nvarchar(10)"); + + b.Property("ExecutionDateGr") + .HasColumnType("datetime2"); + + b.Property("IncludingDateFa") + .HasMaxLength(10) + .HasColumnType("nvarchar(10)"); + + b.Property("IncludingDateGr") + .HasColumnType("datetime2"); + + b.Property("WorkshopId") + .HasColumnType("bigint"); + + b.HasKey("id"); + + b.ToTable("WorkshopPlan", (string)null); + }); + + modelBuilder.Entity("Company.Domain.WorkshopPlanEmployeeAgg.WorkshopPlanEmployee", b => + { + b.Property("id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("id")); + + b.Property("CreationDate") + .HasColumnType("datetime2"); + + b.Property("EmployeeFullName") + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b.Property("EmployeeId") + .HasColumnType("bigint"); + + b.Property("WorkshopId") + .HasColumnType("bigint"); + + b.Property("WorkshopPlanId") + .HasColumnType("bigint"); + + b.HasKey("id"); + + b.HasIndex("WorkshopPlanId"); + + b.ToTable("WorkshopPlanEmployees", (string)null); + }); + + modelBuilder.Entity("Company.Domain.WorkshopSubAccountAgg.WorkshopSubAccount", b => + { + b.Property("SubAccountId") + .HasColumnType("bigint"); + + b.Property("WorkshopId") + .HasColumnType("bigint"); + + b.Property("IsActive") + .HasMaxLength(5) + .HasColumnType("int"); + + b.HasKey("SubAccountId", "WorkshopId"); + + b.HasIndex("WorkshopId"); + + b.ToTable("WorkshopSubAccounts", (string)null); + }); + + modelBuilder.Entity("Company.Domain.YearlySalaryAgg.YearlySalary", b => + { + b.Property("id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("id")); + + b.Property("ConnectionId") + .HasColumnType("int"); + + b.Property("CreationDate") + .HasColumnType("datetime2"); + + b.Property("EndDate") + .HasColumnType("datetime2"); + + b.Property("StartDate") + .HasColumnType("datetime2"); + + b.Property("Year") + .HasMaxLength(10) + .HasColumnType("nvarchar(10)"); + + b.HasKey("id"); + + b.ToTable("YearlySalariess", (string)null); + }); + + modelBuilder.Entity("Company.Domain.YearlySalaryItemsAgg.YearlySalaryItem", b => + { + b.Property("id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("id")); + + b.Property("CreationDate") + .HasColumnType("datetime2"); + + b.Property("ItemName") + .HasMaxLength(255) + .HasColumnType("nvarchar(255)"); + + b.Property("ItemValue") + .HasColumnType("float"); + + b.Property("ParentConnectionId") + .HasColumnType("int"); + + b.Property("ValueType") + .HasMaxLength(10) + .HasColumnType("nvarchar(10)"); + + b.Property("YearlySalaryId") + .HasColumnType("bigint"); + + b.HasKey("id"); + + b.HasIndex("YearlySalaryId"); + + b.ToTable("YearlyItems", (string)null); + }); + + modelBuilder.Entity("Company.Domain.YearlysSalaryTitleAgg.YearlySalaryTitle", b => + { + b.Property("id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("id")); + + b.Property("CreationDate") + .HasColumnType("datetime2"); + + b.Property("Title1") + .HasMaxLength(255) + .HasColumnType("nvarchar(255)"); + + b.Property("Title10") + .HasMaxLength(255) + .HasColumnType("nvarchar(255)"); + + b.Property("Title2") + .HasMaxLength(255) + .HasColumnType("nvarchar(255)"); + + b.Property("Title3") + .HasMaxLength(255) + .HasColumnType("nvarchar(255)"); + + b.Property("Title4") + .HasMaxLength(255) + .HasColumnType("nvarchar(255)"); + + b.Property("Title5") + .HasMaxLength(255) + .HasColumnType("nvarchar(255)"); + + b.Property("Title6") + .HasMaxLength(255) + .HasColumnType("nvarchar(255)"); + + b.Property("Title7") + .HasMaxLength(255) + .HasColumnType("nvarchar(255)"); + + b.Property("Title8") + .HasMaxLength(255) + .HasColumnType("nvarchar(255)"); + + b.Property("Title9") + .HasMaxLength(255) + .HasColumnType("nvarchar(255)"); + + b.HasKey("id"); + + b.ToTable("YearlySalaryTitles", (string)null); + }); + + modelBuilder.Entity("Company.Domain.ZoneAgg.Zone", b => + { + b.Property("id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("id")); + + b.Property("CityId") + .HasColumnType("int"); + + b.Property("CreationDate") + .HasColumnType("datetime2"); + + b.Property("ZoneName") + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.HasKey("id"); + + b.ToTable("Zones", (string)null); + }); + + modelBuilder.Entity("Company.Domain.empolyerAgg.Employer", b => + { + b.Property("id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("id")); + + b.Property("Address") + .HasMaxLength(500) + .HasColumnType("nvarchar(500)"); + + b.Property("AgentPhone") + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("ContractingPartyId") + .HasColumnType("bigint"); + + b.Property("CreationDate") + .HasColumnType("datetime2"); + + b.Property("DateOfBirth") + .HasColumnType("datetime2"); + + b.Property("DateOfIssue") + .HasColumnType("datetime2"); + + b.Property("EmployerLName") + .IsRequired() + .HasMaxLength(255) + .HasColumnType("nvarchar(255)"); + + b.Property("EmployerNo") + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b.Property("EservicePassword") + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b.Property("EserviceUserName") + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b.Property("FName") + .HasMaxLength(255) + .HasColumnType("nvarchar(255)"); + + b.Property("FatherName") + .HasMaxLength(255) + .HasColumnType("nvarchar(255)"); + + b.Property("FullName") + .HasMaxLength(255) + .HasColumnType("nvarchar(255)"); + + b.Property("Gender") + .HasMaxLength(10) + .HasColumnType("nvarchar(10)"); + + b.Property("IdNumber") + .HasMaxLength(20) + .HasColumnType("nvarchar(20)"); + + b.Property("IsActive") + .HasColumnType("bit"); + + b.Property("IsLegal") + .HasMaxLength(10) + .HasColumnType("nvarchar(10)"); + + b.Property("LName") + .IsRequired() + .HasMaxLength(255) + .HasColumnType("nvarchar(255)"); + + b.Property("MclsPassword") + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b.Property("MclsUserName") + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b.Property("NationalId") + .HasMaxLength(15) + .HasColumnType("nvarchar(15)"); + + b.Property("Nationalcode") + .HasMaxLength(10) + .HasColumnType("nvarchar(10)"); + + b.Property("Nationality") + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("Phone") + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("PlaceOfIssue") + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("RegisterId") + .HasMaxLength(15) + .HasColumnType("nvarchar(15)"); + + b.Property("SanaPassword") + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b.Property("SanaUserName") + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b.Property("TaxOfficeUserName") + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b.Property("TaxOfficepassword") + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b.HasKey("id"); + + b.HasIndex("ContractingPartyId"); + + b.ToTable("Employers", (string)null); + }); + + modelBuilder.Entity("EmployerWorkshop", b => + { + b.Property("EmployersListid") + .HasColumnType("bigint"); + + b.Property("WorkshopsListid") + .HasColumnType("bigint"); + + b.HasKey("EmployersListid", "WorkshopsListid"); + + b.HasIndex("WorkshopsListid"); + + b.ToTable("EmployerWorkshop"); + }); + + modelBuilder.Entity("Company.Domain.Board.Board", b => + { + b.HasOne("Company.Domain.BoardType.BoardType", "BoardType") + .WithMany("BoardsList") + .HasForeignKey("BoardType_Id") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("Company.Domain.File1.File1", "File1") + .WithMany("BoardsList") + .HasForeignKey("File_Id") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("BoardType"); + + b.Navigation("File1"); + }); + + modelBuilder.Entity("Company.Domain.ChapterAgg.EntityChapter", b => + { + b.HasOne("Company.Domain.SubtitleAgg.EntitySubtitle", "EntitySubtitle") + .WithMany("Chapters") + .HasForeignKey("Subtitle_Id") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("EntitySubtitle"); + }); + + modelBuilder.Entity("Company.Domain.CheckoutAgg.Checkout", b => + { + b.HasOne("Company.Domain.WorkshopAgg.Workshop", "Workshop") + .WithMany("Checkouts") + .HasForeignKey("WorkshopId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Workshop"); + }); + + modelBuilder.Entity("Company.Domain.ClientEmployeeWorkshopAgg.ClientEmployeeWorkshop", b => + { + b.HasOne("Company.Domain.EmployeeAgg.Employee", "Employee") + .WithMany("ClientEmployeeWorkshopList") + .HasForeignKey("EmployeeId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("Company.Domain.WorkshopAgg.Workshop", "Workshop") + .WithMany("ClientEmployeeWorkshopList") + .HasForeignKey("WorkshopId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Employee"); + + b.Navigation("Workshop"); + }); + + modelBuilder.Entity("Company.Domain.ContarctingPartyAgg.PersonalContractingParty", b => + { + b.HasOne("Company.Domain.RepresentativeAgg.Representative", "Representative") + .WithMany("ContractingParties") + .HasForeignKey("RepresentativeId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Representative"); + }); + + modelBuilder.Entity("Company.Domain.ContractAgg.Contract", b => + { + b.HasOne("Company.Domain.EmployeeAgg.Employee", "Employee") + .WithMany("Contracts") + .HasForeignKey("EmployeeId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("Company.Domain.empolyerAgg.Employer", "Employer") + .WithMany("Contracts") + .HasForeignKey("EmployerId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("Company.Domain.JobAgg.Job", "Job") + .WithMany("ContractsList") + .HasForeignKey("JobTypeId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("Company.Domain.MandatoryHoursAgg.MandatoryHours", null) + .WithMany("Contracts") + .HasForeignKey("MandatoryHoursid"); + + b.HasOne("Company.Domain.WorkshopAgg.Workshop", "Workshop") + .WithMany("Contracts2") + .HasForeignKey("WorkshopIds") + .OnDelete(DeleteBehavior.NoAction) + .IsRequired(); + + b.HasOne("Company.Domain.YearlySalaryAgg.YearlySalary", "YearlySalary") + .WithMany("Contracts") + .HasForeignKey("YearlySalaryId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Employee"); + + b.Navigation("Employer"); + + b.Navigation("Job"); + + b.Navigation("Workshop"); + + b.Navigation("YearlySalary"); + }); + + modelBuilder.Entity("Company.Domain.ContractingPartyAccountAgg.ContractingPartyAccount", b => + { + b.HasOne("Company.Domain.ContarctingPartyAgg.PersonalContractingParty", "PersonalContractingParty") + .WithMany() + .HasForeignKey("PersonalContractingPartyId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("PersonalContractingParty"); + }); + + modelBuilder.Entity("Company.Domain.CrossJobAgg.CrossJob", b => + { + b.HasOne("Company.Domain.CrossJobGuildAgg.CrossJobGuild", "CrossJobGuild") + .WithMany("CrossJobList") + .HasForeignKey("CrossJobGuildId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("CrossJobGuild"); + }); + + modelBuilder.Entity("Company.Domain.CrossJobItemsAgg.CrossJobItems", b => + { + b.HasOne("Company.Domain.CrossJobAgg.CrossJob", "CrossJob") + .WithMany("CrossJobItemsList") + .HasForeignKey("CrossJobId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("Company.Domain.JobAgg.Job", "Job") + .WithMany("CrossJobItemsList") + .HasForeignKey("JobId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("CrossJob"); + + b.Navigation("Job"); + }); + + modelBuilder.Entity("Company.Domain.CustomizeCheckoutAgg.CustomizeCheckout", b => + { + b.HasOne("Company.Domain.EmployeeAgg.Employee", "Employee") + .WithMany("CustomizeCheckouts") + .HasForeignKey("EmployeeId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("Company.Domain.WorkshopAgg.Workshop", "Workshop") + .WithMany("CustomizeCheckouts") + .HasForeignKey("WorkshopId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.OwnsMany("_0_Framework.Domain.CustomizeCheckoutShared.ValueObjects.CustomizeRotatingShift", "CustomizeRotatingShifts", b1 => + { + b1.Property("CustomizeCheckoutid") + .HasColumnType("bigint"); + + b1.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("int"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b1.Property("Id")); + + b1.Property("EndTime") + .HasColumnType("time"); + + b1.Property("StartTime") + .HasColumnType("time"); + + b1.HasKey("CustomizeCheckoutid", "Id"); + + b1.ToTable("CustomizeCheckouts_CustomizeRotatingShifts"); + + b1.WithOwner() + .HasForeignKey("CustomizeCheckoutid"); + }); + + b.OwnsOne("_0_Framework.Domain.CustomizeCheckoutShared.ValueObjects.IrregularShift", "IrregularShift", b1 => + { + b1.Property("CustomizeCheckoutid") + .HasColumnType("bigint"); + + b1.Property("EndTime") + .HasColumnType("time"); + + b1.Property("StartTime") + .HasColumnType("time"); + + b1.Property("WorkshopIrregularShifts") + .IsRequired() + .HasMaxLength(30) + .HasColumnType("nvarchar(30)"); + + b1.HasKey("CustomizeCheckoutid"); + + b1.ToTable("CustomizeCheckouts"); + + b1.WithOwner() + .HasForeignKey("CustomizeCheckoutid"); + }); + + b.OwnsMany("Company.Domain.CustomizeCheckoutAgg.ValueObjects.CustomizeCheckoutRegularShift", "RegularShifts", b1 => + { + b1.Property("id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b1.Property("id")); + + b1.Property("CreationDate") + .HasColumnType("datetime2"); + + b1.Property("CustomizeCheckoutid") + .HasColumnType("bigint"); + + b1.Property("EndTime") + .HasColumnType("time"); + + b1.Property("Placement") + .IsRequired() + .HasMaxLength(20) + .HasColumnType("nvarchar(20)"); + + b1.Property("StartTime") + .HasColumnType("time"); + + b1.HasKey("id"); + + b1.HasIndex("CustomizeCheckoutid"); + + b1.ToTable("CustomizeCheckouts_RegularShifts"); + + b1.WithOwner() + .HasForeignKey("CustomizeCheckoutid"); + }); + + b.OwnsMany("Company.Domain.CustomizeCheckoutAgg.ValueObjects.CustomizeCheckoutFine", "CheckoutFines", b1 => + { + b1.Property("CustomizeCheckoutid") + .HasColumnType("bigint"); + + b1.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("int"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b1.Property("Id")); + + b1.Property("Amount") + .HasMaxLength(20) + .HasColumnType("nvarchar(20)"); + + b1.Property("CreationDate") + .HasColumnType("datetime2"); + + b1.Property("EntityId") + .HasColumnType("bigint"); + + b1.Property("FineDateFa") + .HasMaxLength(12) + .HasColumnType("nvarchar(12)"); + + b1.Property("FineDateGr") + .HasColumnType("datetime2"); + + b1.Property("IsActive") + .IsRequired() + .HasMaxLength(5) + .HasColumnType("nvarchar(5)"); + + b1.Property("Title") + .HasMaxLength(255) + .HasColumnType("nvarchar(255)"); + + b1.HasKey("CustomizeCheckoutid", "Id"); + + b1.ToTable("CustomizeCheckoutFine"); + + b1.WithOwner() + .HasForeignKey("CustomizeCheckoutid"); + }); + + b.OwnsMany("Company.Domain.CustomizeCheckoutAgg.ValueObjects.CustomizeCheckoutLoanInstallments", "CustomizeCheckoutLoanInstallments", b1 => + { + b1.Property("CustomizeCheckoutid") + .HasColumnType("bigint"); + + b1.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("int"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b1.Property("Id")); + + b1.Property("AmountForMonth") + .HasMaxLength(25) + .HasColumnType("nvarchar(25)"); + + b1.Property("EntityId") + .HasColumnType("bigint"); + + b1.Property("IsActive") + .IsRequired() + .HasMaxLength(5) + .HasColumnType("nvarchar(5)"); + + b1.Property("LoanAmount") + .HasMaxLength(30) + .HasColumnType("nvarchar(30)"); + + b1.Property("LoanRemaining") + .HasMaxLength(25) + .HasColumnType("nvarchar(25)"); + + b1.Property("Month") + .HasMaxLength(2) + .HasColumnType("nvarchar(2)"); + + b1.Property("Year") + .HasMaxLength(4) + .HasColumnType("nvarchar(4)"); + + b1.HasKey("CustomizeCheckoutid", "Id"); + + b1.ToTable("CustomizeCheckoutLoanInstallments"); + + b1.WithOwner() + .HasForeignKey("CustomizeCheckoutid"); + }); + + b.OwnsMany("Company.Domain.CustomizeCheckoutAgg.ValueObjects.CustomizeCheckoutReward", "CustomizeCheckoutRewards", b1 => + { + b1.Property("CustomizeCheckoutid") + .HasColumnType("bigint"); + + b1.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("int"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b1.Property("Id")); + + b1.Property("Amount") + .HasMaxLength(25) + .HasColumnType("nvarchar(25)"); + + b1.Property("Description") + .HasColumnType("ntext"); + + b1.Property("EntityId") + .HasColumnType("bigint"); + + b1.Property("GrantDate") + .HasColumnType("datetime2"); + + b1.Property("GrantDateFa") + .HasMaxLength(15) + .HasColumnType("nvarchar(15)"); + + b1.Property("IsActive") + .IsRequired() + .HasMaxLength(5) + .HasColumnType("nvarchar(5)"); + + b1.Property("Title") + .HasMaxLength(255) + .HasColumnType("nvarchar(255)"); + + b1.HasKey("CustomizeCheckoutid", "Id"); + + b1.ToTable("CustomizeCheckoutReward"); + + b1.WithOwner() + .HasForeignKey("CustomizeCheckoutid"); + }); + + b.OwnsMany("Company.Domain.CustomizeCheckoutAgg.ValueObjects.CustomizeCheckoutSalaryAid", "CustomizeCheckoutSalaryAids", b1 => + { + b1.Property("CustomizeCheckoutid") + .HasColumnType("bigint"); + + b1.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("int"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b1.Property("Id")); + + b1.Property("Amount") + .HasMaxLength(25) + .HasColumnType("nvarchar(25)"); + + b1.Property("CalculationDateTime") + .HasColumnType("datetime2"); + + b1.Property("CalculationDateTimeFa") + .HasMaxLength(15) + .HasColumnType("nvarchar(15)"); + + b1.Property("EntityId") + .HasColumnType("bigint"); + + b1.Property("SalaryAidDateTime") + .HasColumnType("datetime2"); + + b1.Property("SalaryAidDateTimeFa") + .HasMaxLength(15) + .HasColumnType("nvarchar(15)"); + + b1.HasKey("CustomizeCheckoutid", "Id"); + + b1.ToTable("CustomizeCheckoutSalaryAid"); + + b1.WithOwner() + .HasForeignKey("CustomizeCheckoutid"); + }); + + b.Navigation("CheckoutFines"); + + b.Navigation("CustomizeCheckoutLoanInstallments"); + + b.Navigation("CustomizeCheckoutRewards"); + + b.Navigation("CustomizeCheckoutSalaryAids"); + + b.Navigation("CustomizeRotatingShifts"); + + b.Navigation("Employee"); + + b.Navigation("IrregularShift"); + + b.Navigation("RegularShifts"); + + b.Navigation("Workshop"); + }); + + modelBuilder.Entity("Company.Domain.CustomizeCheckoutTempAgg.CustomizeCheckoutTemp", b => + { + b.HasOne("Company.Domain.EmployeeAgg.Employee", "Employee") + .WithMany() + .HasForeignKey("EmployeeId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("Company.Domain.WorkshopAgg.Workshop", "Workshop") + .WithMany() + .HasForeignKey("WorkshopId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.OwnsMany("_0_Framework.Domain.CustomizeCheckoutShared.ValueObjects.CustomizeRotatingShift", "CustomizeRotatingShifts", b1 => + { + b1.Property("CustomizeCheckoutTempid") + .HasColumnType("bigint"); + + b1.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("int"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b1.Property("Id")); + + b1.Property("EndTime") + .HasColumnType("time"); + + b1.Property("StartTime") + .HasColumnType("time"); + + b1.HasKey("CustomizeCheckoutTempid", "Id"); + + b1.ToTable("CustomizeCheckoutTemps_CustomizeRotatingShifts"); + + b1.WithOwner() + .HasForeignKey("CustomizeCheckoutTempid"); + }); + + b.OwnsOne("_0_Framework.Domain.CustomizeCheckoutShared.ValueObjects.IrregularShift", "IrregularShift", b1 => + { + b1.Property("CustomizeCheckoutTempid") + .HasColumnType("bigint"); + + b1.Property("EndTime") + .HasColumnType("time"); + + b1.Property("StartTime") + .HasColumnType("time"); + + b1.Property("WorkshopIrregularShifts") + .IsRequired() + .HasMaxLength(30) + .HasColumnType("nvarchar(30)"); + + b1.HasKey("CustomizeCheckoutTempid"); + + b1.ToTable("CustomizeCheckoutTemps"); + + b1.WithOwner() + .HasForeignKey("CustomizeCheckoutTempid"); + }); + + b.OwnsMany("Company.Domain.CustomizeCheckoutAgg.ValueObjects.CustomizeCheckoutRegularShift", "RegularShifts", b1 => + { + b1.Property("id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b1.Property("id")); + + b1.Property("CreationDate") + .HasColumnType("datetime2"); + + b1.Property("CustomizeCheckoutTempid") + .HasColumnType("bigint"); + + b1.Property("EndTime") + .HasColumnType("time"); + + b1.Property("Placement") + .IsRequired() + .HasMaxLength(20) + .HasColumnType("nvarchar(20)"); + + b1.Property("StartTime") + .HasColumnType("time"); + + b1.HasKey("id"); + + b1.HasIndex("CustomizeCheckoutTempid"); + + b1.ToTable("CustomizeCheckoutTemps_RegularShifts"); + + b1.WithOwner() + .HasForeignKey("CustomizeCheckoutTempid"); + }); + + b.OwnsMany("Company.Domain.CustomizeCheckoutTempAgg.ValueObjects.CustomizeCheckoutTempFine", "CheckoutFines", b1 => + { + b1.Property("CustomizeCheckoutTempid") + .HasColumnType("bigint"); + + b1.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("int"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b1.Property("Id")); + + b1.Property("Amount") + .HasMaxLength(20) + .HasColumnType("nvarchar(20)"); + + b1.Property("CreationDate") + .HasColumnType("datetime2"); + + b1.Property("EntityId") + .HasColumnType("bigint"); + + b1.Property("FineDateFa") + .HasMaxLength(12) + .HasColumnType("nvarchar(12)"); + + b1.Property("FineDateGr") + .HasColumnType("datetime2"); + + b1.Property("IsActive") + .IsRequired() + .HasMaxLength(5) + .HasColumnType("nvarchar(5)"); + + b1.Property("Title") + .HasMaxLength(255) + .HasColumnType("nvarchar(255)"); + + b1.HasKey("CustomizeCheckoutTempid", "Id"); + + b1.ToTable("CustomizeCheckoutTempFine"); + + b1.WithOwner() + .HasForeignKey("CustomizeCheckoutTempid"); + }); + + b.OwnsMany("Company.Domain.CustomizeCheckoutTempAgg.ValueObjects.CustomizeCheckoutTempLoanInstallments", "CustomizeCheckoutLoanInstallments", b1 => + { + b1.Property("CustomizeCheckoutTempid") + .HasColumnType("bigint"); + + b1.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("int"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b1.Property("Id")); + + b1.Property("AmountForMonth") + .HasMaxLength(25) + .HasColumnType("nvarchar(25)"); + + b1.Property("EntityId") + .HasColumnType("bigint"); + + b1.Property("IsActive") + .IsRequired() + .HasMaxLength(5) + .HasColumnType("nvarchar(5)"); + + b1.Property("LoanAmount") + .HasMaxLength(30) + .HasColumnType("nvarchar(30)"); + + b1.Property("LoanRemaining") + .HasMaxLength(25) + .HasColumnType("nvarchar(25)"); + + b1.Property("Month") + .HasMaxLength(2) + .HasColumnType("nvarchar(2)"); + + b1.Property("Year") + .HasMaxLength(4) + .HasColumnType("nvarchar(4)"); + + b1.HasKey("CustomizeCheckoutTempid", "Id"); + + b1.ToTable("CustomizeCheckoutTempLoanInstallments"); + + b1.WithOwner() + .HasForeignKey("CustomizeCheckoutTempid"); + }); + + b.OwnsMany("Company.Domain.CustomizeCheckoutTempAgg.ValueObjects.CustomizeCheckoutTempReward", "CustomizeCheckoutRewards", b1 => + { + b1.Property("CustomizeCheckoutTempid") + .HasColumnType("bigint"); + + b1.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("int"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b1.Property("Id")); + + b1.Property("Amount") + .HasMaxLength(25) + .HasColumnType("nvarchar(25)"); + + b1.Property("Description") + .HasColumnType("ntext"); + + b1.Property("EntityId") + .HasColumnType("bigint"); + + b1.Property("GrantDate") + .HasColumnType("datetime2"); + + b1.Property("GrantDateFa") + .HasMaxLength(15) + .HasColumnType("nvarchar(15)"); + + b1.Property("IsActive") + .IsRequired() + .HasMaxLength(5) + .HasColumnType("nvarchar(5)"); + + b1.Property("Title") + .HasMaxLength(255) + .HasColumnType("nvarchar(255)"); + + b1.HasKey("CustomizeCheckoutTempid", "Id"); + + b1.ToTable("CustomizeCheckoutTempReward"); + + b1.WithOwner() + .HasForeignKey("CustomizeCheckoutTempid"); + }); + + b.OwnsMany("Company.Domain.CustomizeCheckoutTempAgg.ValueObjects.CustomizeCheckoutTempSalaryAid", "CustomizeCheckoutSalaryAids", b1 => + { + b1.Property("CustomizeCheckoutTempid") + .HasColumnType("bigint"); + + b1.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("int"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b1.Property("Id")); + + b1.Property("Amount") + .HasMaxLength(25) + .HasColumnType("nvarchar(25)"); + + b1.Property("CalculationDateTime") + .HasColumnType("datetime2"); + + b1.Property("CalculationDateTimeFa") + .HasMaxLength(15) + .HasColumnType("nvarchar(15)"); + + b1.Property("EntityId") + .HasColumnType("bigint"); + + b1.Property("SalaryAidDateTime") + .HasColumnType("datetime2"); + + b1.Property("SalaryAidDateTimeFa") + .HasMaxLength(15) + .HasColumnType("nvarchar(15)"); + + b1.HasKey("CustomizeCheckoutTempid", "Id"); + + b1.ToTable("CustomizeCheckoutTempSalaryAid"); + + b1.WithOwner() + .HasForeignKey("CustomizeCheckoutTempid"); + }); + + b.Navigation("CheckoutFines"); + + b.Navigation("CustomizeCheckoutLoanInstallments"); + + b.Navigation("CustomizeCheckoutRewards"); + + b.Navigation("CustomizeCheckoutSalaryAids"); + + b.Navigation("CustomizeRotatingShifts"); + + b.Navigation("Employee"); + + b.Navigation("IrregularShift"); + + b.Navigation("RegularShifts"); + + b.Navigation("Workshop"); + }); + + modelBuilder.Entity("Company.Domain.CustomizeWorkshopEmployeeSettingsAgg.Entities.CustomizeWorkshopEmployeeSettings", b => + { + b.HasOne("Company.Domain.CustomizeWorkshopGroupSettingsAgg.Entities.CustomizeWorkshopGroupSettings", "CustomizeWorkshopGroupSettings") + .WithMany("CustomizeWorkshopEmployeeSettingsCollection") + .HasForeignKey("CustomizeWorkshopGroupSettingId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.OwnsMany("Company.Domain.CustomizeWorkshopEmployeeSettingsAgg.Entities.CustomizeWorkshopEmployeeSettingsShift", "CustomizeWorkshopEmployeeSettingsShifts", b1 => + { + b1.Property("id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b1.Property("id")); + + b1.Property("CreationDate") + .HasColumnType("datetime2"); + + b1.Property("CustomizeWorkshopEmployeeSettingsId") + .HasColumnType("bigint"); + + b1.Property("EndTime") + .HasColumnType("time"); + + b1.Property("Placement") + .IsRequired() + .HasMaxLength(20) + .HasColumnType("nvarchar(20)"); + + b1.Property("PreviousShiftThreshold") + .HasColumnType("time"); + + b1.Property("StartTime") + .HasColumnType("time"); + + b1.HasKey("id"); + + b1.HasIndex("CustomizeWorkshopEmployeeSettingsId"); + + b1.ToTable("CustomizeWorkshopEmployeeSettingsShifts", (string)null); + + b1.WithOwner("CustomizeWorkshopEmployeeSettings") + .HasForeignKey("CustomizeWorkshopEmployeeSettingsId"); + + b1.Navigation("CustomizeWorkshopEmployeeSettings"); + }); + + b.OwnsOne("_0_Framework.Domain.CustomizeCheckoutShared.ValueObjects.BaseYearsPay", "BaseYearsPay", b1 => + { + b1.Property("CustomizeWorkshopEmployeeSettingsid") + .HasColumnType("bigint"); + + b1.Property("BaseYearsPayType") + .IsRequired() + .HasMaxLength(1) + .HasColumnType("nvarchar(1)") + .HasColumnName("BaseYearsPay_BaseYearsPayType"); + + b1.Property("PaymentType") + .IsRequired() + .HasMaxLength(1) + .HasColumnType("nvarchar(1)") + .HasColumnName("BaseYearsPay_PaymentType"); + + b1.Property("Value") + .HasColumnType("float") + .HasColumnName("BaseYearsPay_Value"); + + b1.HasKey("CustomizeWorkshopEmployeeSettingsid"); + + b1.ToTable("CustomizeWorkshopEmployeeSettings"); + + b1.WithOwner() + .HasForeignKey("CustomizeWorkshopEmployeeSettingsid"); + }); + + b.OwnsOne("_0_Framework.Domain.CustomizeCheckoutShared.ValueObjects.BonusesPay", "BonusesPay", b1 => + { + b1.Property("CustomizeWorkshopEmployeeSettingsid") + .HasColumnType("bigint"); + + b1.Property("BonusesPayType") + .IsRequired() + .HasMaxLength(1) + .HasColumnType("nvarchar(1)") + .HasColumnName("BonusesPay_BonusesPayType"); + + b1.Property("PaymentType") + .IsRequired() + .HasMaxLength(1) + .HasColumnType("nvarchar(1)") + .HasColumnName("BonusesPay_PaymentType"); + + b1.Property("Value") + .HasColumnType("float") + .HasColumnName("BonusesPay_Value"); + + b1.HasKey("CustomizeWorkshopEmployeeSettingsid"); + + b1.ToTable("CustomizeWorkshopEmployeeSettings"); + + b1.WithOwner() + .HasForeignKey("CustomizeWorkshopEmployeeSettingsid"); + }); + + b.OwnsOne("_0_Framework.Domain.CustomizeCheckoutShared.ValueObjects.BreakTime", "BreakTime", b1 => + { + b1.Property("CustomizeWorkshopEmployeeSettingsid") + .HasColumnType("bigint"); + + b1.Property("BreakTimeType") + .IsRequired() + .HasMaxLength(1) + .HasColumnType("nvarchar(1)"); + + b1.Property("BreakTimeValue") + .HasColumnType("time"); + + b1.Property("HasBreakTimeValue") + .HasColumnType("bit"); + + b1.HasKey("CustomizeWorkshopEmployeeSettingsid"); + + b1.ToTable("CustomizeWorkshopEmployeeSettings"); + + b1.WithOwner() + .HasForeignKey("CustomizeWorkshopEmployeeSettingsid"); + }); + + b.OwnsMany("_0_Framework.Domain.CustomizeCheckoutShared.ValueObjects.CustomizeRotatingShift", "CustomizeRotatingShifts", b1 => + { + b1.Property("CustomizeWorkshopEmployeeSettingsid") + .HasColumnType("bigint"); + + b1.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("int"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b1.Property("Id")); + + b1.Property("EndTime") + .HasColumnType("time"); + + b1.Property("StartTime") + .HasColumnType("time"); + + b1.HasKey("CustomizeWorkshopEmployeeSettingsid", "Id"); + + b1.ToTable("CustomizeWorkshopEmployeeSettings_CustomizeRotatingShifts"); + + b1.WithOwner() + .HasForeignKey("CustomizeWorkshopEmployeeSettingsid"); + }); + + b.OwnsOne("_0_Framework.Domain.CustomizeCheckoutShared.ValueObjects.EarlyExit", "EarlyExit", b1 => + { + b1.Property("CustomizeWorkshopEmployeeSettingsid") + .HasColumnType("bigint"); + + b1.Property("EarlyExitType") + .IsRequired() + .HasMaxLength(1) + .HasColumnType("nvarchar(1)") + .HasColumnName("EarlyExit_EarlyExitType"); + + b1.Property("Value") + .HasColumnType("float") + .HasColumnName("EarlyExitTimeFines_Value"); + + b1.HasKey("CustomizeWorkshopEmployeeSettingsid"); + + b1.ToTable("CustomizeWorkshopEmployeeSettings"); + + b1.WithOwner() + .HasForeignKey("CustomizeWorkshopEmployeeSettingsid"); + + b1.OwnsMany("_0_Framework.Domain.CustomizeCheckoutShared.ValueObjects.EarlyExitTimeFine", "EarlyExitTimeFines", b2 => + { + b2.Property("CustomizeWorkshopEmployeeSettingsId") + .HasColumnType("bigint"); + + b2.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("int"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b2.Property("Id")); + + b2.Property("FineMoney") + .HasColumnType("float") + .HasColumnName("EarlyExitTimeFines_FineMoney"); + + b2.Property("Minute") + .HasMaxLength(4) + .HasColumnType("nvarchar(4)") + .HasColumnName("EarlyExitTimeFines_Minute"); + + b2.HasKey("CustomizeWorkshopEmployeeSettingsId", "Id"); + + b2.ToTable("CustomizeWorkshopEmployeeSettings_EarlyExitTimeFines"); + + b2.WithOwner() + .HasForeignKey("CustomizeWorkshopEmployeeSettingsId"); + }); + + b1.Navigation("EarlyExitTimeFines"); + }); + + b.OwnsOne("_0_Framework.Domain.CustomizeCheckoutShared.ValueObjects.FamilyAllowance", "FamilyAllowance", b1 => + { + b1.Property("CustomizeWorkshopEmployeeSettingsid") + .HasColumnType("bigint"); + + b1.Property("FamilyAllowanceType") + .IsRequired() + .HasMaxLength(1) + .HasColumnType("nvarchar(1)") + .HasColumnName("FamilyAllowance_FamilyAllowanceType"); + + b1.Property("Value") + .HasColumnType("float") + .HasColumnName("FamilyAllowance_Value"); + + b1.HasKey("CustomizeWorkshopEmployeeSettingsid"); + + b1.ToTable("CustomizeWorkshopEmployeeSettings"); + + b1.WithOwner() + .HasForeignKey("CustomizeWorkshopEmployeeSettingsid"); + }); + + b.OwnsOne("_0_Framework.Domain.CustomizeCheckoutShared.ValueObjects.FineAbsenceDeduction", "FineAbsenceDeduction", b1 => + { + b1.Property("CustomizeWorkshopEmployeeSettingsid") + .HasColumnType("bigint"); + + b1.Property("FineAbsenceDeductionType") + .IsRequired() + .HasMaxLength(1) + .HasColumnType("nvarchar(1)") + .HasColumnName("FineAbsenceDeduction_FineAbsenceDeductionType"); + + b1.Property("Value") + .HasColumnType("float") + .HasColumnName("FineAbsenceDeduction_Value"); + + b1.HasKey("CustomizeWorkshopEmployeeSettingsid"); + + b1.ToTable("CustomizeWorkshopEmployeeSettings"); + + b1.WithOwner() + .HasForeignKey("CustomizeWorkshopEmployeeSettingsid"); + + b1.OwnsMany("_0_Framework.Domain.CustomizeCheckoutShared.ValueObjects.FineAbsenceDayOfWeek", "FineAbsenceDayOfWeekCollection", b2 => + { + b2.Property("CustomizeWorkshopEmployeeSettingsId") + .HasColumnType("bigint"); + + b2.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("int"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b2.Property("Id")); + + b2.Property("DayOfWeek") + .IsRequired() + .HasMaxLength(1) + .HasColumnType("nvarchar(1)") + .HasColumnName("FineAbsenceDayOfWeekCollection_DayOfWeek"); + + b2.HasKey("CustomizeWorkshopEmployeeSettingsId", "Id"); + + b2.ToTable("CustomizeWorkshopEmployeeSettings_FineAbsenceDayOfWeekCollection"); + + b2.WithOwner() + .HasForeignKey("CustomizeWorkshopEmployeeSettingsId"); + }); + + b1.Navigation("FineAbsenceDayOfWeekCollection"); + }); + + b.OwnsOne("_0_Framework.Domain.CustomizeCheckoutShared.ValueObjects.FridayPay", "FridayPay", b1 => + { + b1.Property("CustomizeWorkshopEmployeeSettingsid") + .HasColumnType("bigint"); + + b1.Property("FridayPayType") + .IsRequired() + .HasMaxLength(1) + .HasColumnType("nvarchar(1)"); + + b1.Property("Value") + .HasColumnType("float") + .HasColumnName("FridayPay_Value"); + + b1.HasKey("CustomizeWorkshopEmployeeSettingsid"); + + b1.ToTable("CustomizeWorkshopEmployeeSettings"); + + b1.WithOwner() + .HasForeignKey("CustomizeWorkshopEmployeeSettingsid"); + }); + + b.OwnsOne("_0_Framework.Domain.CustomizeCheckoutShared.ValueObjects.InsuranceDeduction", "InsuranceDeduction", b1 => + { + b1.Property("CustomizeWorkshopEmployeeSettingsid") + .HasColumnType("bigint"); + + b1.Property("InsuranceDeductionType") + .IsRequired() + .HasMaxLength(1) + .HasColumnType("nvarchar(1)") + .HasColumnName("InsuranceDeduction_InsuranceDeductionType"); + + b1.Property("Value") + .HasColumnType("float") + .HasColumnName("InsuranceDeduction_Value"); + + b1.HasKey("CustomizeWorkshopEmployeeSettingsid"); + + b1.ToTable("CustomizeWorkshopEmployeeSettings"); + + b1.WithOwner() + .HasForeignKey("CustomizeWorkshopEmployeeSettingsid"); + }); + + b.OwnsOne("_0_Framework.Domain.CustomizeCheckoutShared.ValueObjects.IrregularShift", "IrregularShift", b1 => + { + b1.Property("CustomizeWorkshopEmployeeSettingsid") + .HasColumnType("bigint"); + + b1.Property("EndTime") + .HasColumnType("time"); + + b1.Property("StartTime") + .HasColumnType("time"); + + b1.Property("WorkshopIrregularShifts") + .IsRequired() + .HasMaxLength(1) + .HasColumnType("nvarchar(1)"); + + b1.HasKey("CustomizeWorkshopEmployeeSettingsid"); + + b1.ToTable("CustomizeWorkshopEmployeeSettings"); + + b1.WithOwner() + .HasForeignKey("CustomizeWorkshopEmployeeSettingsid"); + }); + + b.OwnsOne("_0_Framework.Domain.CustomizeCheckoutShared.ValueObjects.LateToWork", "LateToWork", b1 => + { + b1.Property("CustomizeWorkshopEmployeeSettingsid") + .HasColumnType("bigint"); + + b1.Property("LateToWorkType") + .IsRequired() + .HasMaxLength(1) + .HasColumnType("nvarchar(1)") + .HasColumnName("LateToWork_LateToWorkType"); + + b1.Property("Value") + .HasColumnType("float") + .HasColumnName("LateToWork_Value"); + + b1.HasKey("CustomizeWorkshopEmployeeSettingsid"); + + b1.ToTable("CustomizeWorkshopEmployeeSettings"); + + b1.WithOwner() + .HasForeignKey("CustomizeWorkshopEmployeeSettingsid"); + + b1.OwnsMany("_0_Framework.Domain.CustomizeCheckoutShared.ValueObjects.LateToWorkTimeFine", "LateToWorkTimeFines", b2 => + { + b2.Property("CustomizeWorkshopEmployeeSettingsId") + .HasColumnType("bigint"); + + b2.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("int"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b2.Property("Id")); + + b2.Property("FineMoney") + .HasColumnType("float") + .HasColumnName("LateToWorkTimeFines_FineMoney"); + + b2.Property("Minute") + .HasMaxLength(4) + .HasColumnType("nvarchar(4)") + .HasColumnName("LateToWorkTimeFines_Minute"); + + b2.HasKey("CustomizeWorkshopEmployeeSettingsId", "Id"); + + b2.ToTable("CustomizeWorkshopEmployeeSettings_LateToWorkTimeFines"); + + b2.WithOwner() + .HasForeignKey("CustomizeWorkshopEmployeeSettingsId"); + }); + + b1.Navigation("LateToWorkTimeFines"); + }); + + b.OwnsOne("_0_Framework.Domain.CustomizeCheckoutShared.ValueObjects.LeavePay", "LeavePay", b1 => + { + b1.Property("CustomizeWorkshopEmployeeSettingsid") + .HasColumnType("bigint"); + + b1.Property("LeavePayType") + .IsRequired() + .HasMaxLength(1) + .HasColumnType("nvarchar(1)") + .HasColumnName("LeavePay_LeavePayType"); + + b1.Property("Value") + .HasColumnType("float") + .HasColumnName("LeavePay_Value"); + + b1.HasKey("CustomizeWorkshopEmployeeSettingsid"); + + b1.ToTable("CustomizeWorkshopEmployeeSettings"); + + b1.WithOwner() + .HasForeignKey("CustomizeWorkshopEmployeeSettingsid"); + }); + + b.OwnsOne("_0_Framework.Domain.CustomizeCheckoutShared.ValueObjects.MarriedAllowance", "MarriedAllowance", b1 => + { + b1.Property("CustomizeWorkshopEmployeeSettingsid") + .HasColumnType("bigint"); + + b1.Property("MarriedAllowanceType") + .IsRequired() + .HasMaxLength(1) + .HasColumnType("nvarchar(1)") + .HasColumnName("MarriedAllowance_MarriedAllowanceType"); + + b1.Property("Value") + .HasColumnType("float") + .HasColumnName("MarriedAllowance_Value"); + + b1.HasKey("CustomizeWorkshopEmployeeSettingsid"); + + b1.ToTable("CustomizeWorkshopEmployeeSettings"); + + b1.WithOwner() + .HasForeignKey("CustomizeWorkshopEmployeeSettingsid"); + }); + + b.OwnsOne("_0_Framework.Domain.CustomizeCheckoutShared.ValueObjects.NightWorkPay", "NightWorkPay", b1 => + { + b1.Property("CustomizeWorkshopEmployeeSettingsid") + .HasColumnType("bigint"); + + b1.Property("NightWorkingType") + .IsRequired() + .HasMaxLength(1) + .HasColumnType("nvarchar(1)") + .HasColumnName("NightWorkPay_NightWorkingType"); + + b1.Property("Value") + .HasColumnType("float") + .HasColumnName("NightWorkPay_Value"); + + b1.HasKey("CustomizeWorkshopEmployeeSettingsid"); + + b1.ToTable("CustomizeWorkshopEmployeeSettings"); + + b1.WithOwner() + .HasForeignKey("CustomizeWorkshopEmployeeSettingsid"); + }); + + b.OwnsOne("_0_Framework.Domain.CustomizeCheckoutShared.ValueObjects.OverTimePay", "OverTimePay", b1 => + { + b1.Property("CustomizeWorkshopEmployeeSettingsid") + .HasColumnType("bigint"); + + b1.Property("OverTimePayType") + .IsRequired() + .HasMaxLength(1) + .HasColumnType("nvarchar(1)") + .HasColumnName("OverTimePay_OverTimePayType"); + + b1.Property("Value") + .HasColumnType("float") + .HasColumnName("OverTimePay_Value"); + + b1.HasKey("CustomizeWorkshopEmployeeSettingsid"); + + b1.ToTable("CustomizeWorkshopEmployeeSettings"); + + b1.WithOwner() + .HasForeignKey("CustomizeWorkshopEmployeeSettingsid"); + }); + + b.OwnsOne("_0_Framework.Domain.CustomizeCheckoutShared.ValueObjects.ShiftPay", "ShiftPay", b1 => + { + b1.Property("CustomizeWorkshopEmployeeSettingsid") + .HasColumnType("bigint"); + + b1.Property("ShiftPayType") + .IsRequired() + .HasMaxLength(1) + .HasColumnType("nvarchar(1)") + .HasColumnName("ShiftPay_ShiftPayType"); + + b1.Property("ShiftType") + .IsRequired() + .HasMaxLength(1) + .HasColumnType("nvarchar(1)") + .HasColumnName("ShiftPay_ShiftType"); + + b1.Property("Value") + .HasColumnType("float") + .HasColumnName("ShiftPay_Value"); + + b1.HasKey("CustomizeWorkshopEmployeeSettingsid"); + + b1.ToTable("CustomizeWorkshopEmployeeSettings"); + + b1.WithOwner() + .HasForeignKey("CustomizeWorkshopEmployeeSettingsid"); + }); + + b.Navigation("BaseYearsPay"); + + b.Navigation("BonusesPay"); + + b.Navigation("BreakTime"); + + b.Navigation("CustomizeRotatingShifts"); + + b.Navigation("CustomizeWorkshopEmployeeSettingsShifts"); + + b.Navigation("CustomizeWorkshopGroupSettings"); + + b.Navigation("EarlyExit"); + + b.Navigation("FamilyAllowance"); + + b.Navigation("FineAbsenceDeduction"); + + b.Navigation("FridayPay"); + + b.Navigation("InsuranceDeduction"); + + b.Navigation("IrregularShift"); + + b.Navigation("LateToWork"); + + b.Navigation("LeavePay"); + + b.Navigation("MarriedAllowance"); + + b.Navigation("NightWorkPay"); + + b.Navigation("OverTimePay"); + + b.Navigation("ShiftPay"); + }); + + modelBuilder.Entity("Company.Domain.CustomizeWorkshopGroupSettingsAgg.Entities.CustomizeWorkshopGroupSettings", b => + { + b.HasOne("Company.Domain.CustomizeWorkshopSettingsAgg.Entities.CustomizeWorkshopSettings", "CustomizeWorkshopSettings") + .WithMany("CustomizeWorkshopGroupSettingsCollection") + .HasForeignKey("CustomizeWorkshopSettingId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.OwnsMany("Company.Domain.CustomizeWorkshopGroupSettingsAgg.Entities.CustomizeWorkshopGroupSettingsShift", "CustomizeWorkshopGroupSettingsShifts", b1 => + { + b1.Property("id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b1.Property("id")); + + b1.Property("CreationDate") + .HasColumnType("datetime2"); + + b1.Property("CustomizeWorkshopGroupSettingsId") + .HasColumnType("bigint"); + + b1.Property("EndTime") + .HasColumnType("time"); + + b1.Property("Placement") + .IsRequired() + .HasMaxLength(20) + .HasColumnType("nvarchar(20)"); + + b1.Property("StartTime") + .HasColumnType("time"); + + b1.HasKey("id"); + + b1.HasIndex("CustomizeWorkshopGroupSettingsId"); + + b1.ToTable("CustomizeWorkshopGroupSettingsShifts", (string)null); + + b1.WithOwner("CustomizeWorkshopGroupSettings") + .HasForeignKey("CustomizeWorkshopGroupSettingsId"); + + b1.Navigation("CustomizeWorkshopGroupSettings"); + }); + + b.OwnsOne("_0_Framework.Domain.CustomizeCheckoutShared.ValueObjects.BaseYearsPay", "BaseYearsPay", b1 => + { + b1.Property("CustomizeWorkshopGroupSettingsid") + .HasColumnType("bigint"); + + b1.Property("BaseYearsPayType") + .IsRequired() + .HasMaxLength(1) + .HasColumnType("nvarchar(1)") + .HasColumnName("BaseYearsPay_BaseYearsPayType"); + + b1.Property("PaymentType") + .IsRequired() + .HasMaxLength(1) + .HasColumnType("nvarchar(1)") + .HasColumnName("BaseYearsPay_PaymentType"); + + b1.Property("Value") + .HasColumnType("float") + .HasColumnName("BaseYearsPay_Value"); + + b1.HasKey("CustomizeWorkshopGroupSettingsid"); + + b1.ToTable("CustomizeWorkshopGroupSettings"); + + b1.WithOwner() + .HasForeignKey("CustomizeWorkshopGroupSettingsid"); + }); + + b.OwnsOne("_0_Framework.Domain.CustomizeCheckoutShared.ValueObjects.BonusesPay", "BonusesPay", b1 => + { + b1.Property("CustomizeWorkshopGroupSettingsid") + .HasColumnType("bigint"); + + b1.Property("BonusesPayType") + .IsRequired() + .HasMaxLength(1) + .HasColumnType("nvarchar(1)") + .HasColumnName("BonusesPay_BonusesPayType"); + + b1.Property("PaymentType") + .IsRequired() + .HasMaxLength(1) + .HasColumnType("nvarchar(1)") + .HasColumnName("BonusesPay_PaymentType"); + + b1.Property("Value") + .HasColumnType("float") + .HasColumnName("BonusesPay_Value"); + + b1.HasKey("CustomizeWorkshopGroupSettingsid"); + + b1.ToTable("CustomizeWorkshopGroupSettings"); + + b1.WithOwner() + .HasForeignKey("CustomizeWorkshopGroupSettingsid"); + }); + + b.OwnsOne("_0_Framework.Domain.CustomizeCheckoutShared.ValueObjects.BreakTime", "BreakTime", b1 => + { + b1.Property("CustomizeWorkshopGroupSettingsid") + .HasColumnType("bigint"); + + b1.Property("BreakTimeType") + .IsRequired() + .HasMaxLength(1) + .HasColumnType("nvarchar(1)"); + + b1.Property("BreakTimeValue") + .HasColumnType("time"); + + b1.Property("HasBreakTimeValue") + .HasColumnType("bit"); + + b1.HasKey("CustomizeWorkshopGroupSettingsid"); + + b1.ToTable("CustomizeWorkshopGroupSettings"); + + b1.WithOwner() + .HasForeignKey("CustomizeWorkshopGroupSettingsid"); + }); + + b.OwnsMany("_0_Framework.Domain.CustomizeCheckoutShared.ValueObjects.CustomizeRotatingShift", "CustomizeRotatingShifts", b1 => + { + b1.Property("CustomizeWorkshopGroupSettingsid") + .HasColumnType("bigint"); + + b1.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("int"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b1.Property("Id")); + + b1.Property("EndTime") + .HasColumnType("time"); + + b1.Property("StartTime") + .HasColumnType("time"); + + b1.HasKey("CustomizeWorkshopGroupSettingsid", "Id"); + + b1.ToTable("CustomizeWorkshopGroupSettings_CustomizeRotatingShifts"); + + b1.WithOwner() + .HasForeignKey("CustomizeWorkshopGroupSettingsid"); + }); + + b.OwnsOne("_0_Framework.Domain.CustomizeCheckoutShared.ValueObjects.EarlyExit", "EarlyExit", b1 => + { + b1.Property("CustomizeWorkshopGroupSettingsid") + .HasColumnType("bigint"); + + b1.Property("EarlyExitType") + .IsRequired() + .HasMaxLength(1) + .HasColumnType("nvarchar(1)") + .HasColumnName("EarlyExit_EarlyExitType"); + + b1.Property("Value") + .HasColumnType("float") + .HasColumnName("EarlyExitTimeFines_Value"); + + b1.HasKey("CustomizeWorkshopGroupSettingsid"); + + b1.ToTable("CustomizeWorkshopGroupSettings"); + + b1.WithOwner() + .HasForeignKey("CustomizeWorkshopGroupSettingsid"); + + b1.OwnsMany("_0_Framework.Domain.CustomizeCheckoutShared.ValueObjects.EarlyExitTimeFine", "EarlyExitTimeFines", b2 => + { + b2.Property("CustomizeWorkshopGroupSettingsId") + .HasColumnType("bigint"); + + b2.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("int"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b2.Property("Id")); + + b2.Property("FineMoney") + .HasColumnType("float") + .HasColumnName("EarlyExitTimeFines_FineMoney"); + + b2.Property("Minute") + .HasMaxLength(4) + .HasColumnType("nvarchar(4)") + .HasColumnName("EarlyExitTimeFines_Minute"); + + b2.HasKey("CustomizeWorkshopGroupSettingsId", "Id"); + + b2.ToTable("CustomizeWorkshopGroupSettings_EarlyExitTimeFines"); + + b2.WithOwner() + .HasForeignKey("CustomizeWorkshopGroupSettingsId"); + }); + + b1.Navigation("EarlyExitTimeFines"); + }); + + b.OwnsOne("_0_Framework.Domain.CustomizeCheckoutShared.ValueObjects.FamilyAllowance", "FamilyAllowance", b1 => + { + b1.Property("CustomizeWorkshopGroupSettingsid") + .HasColumnType("bigint"); + + b1.Property("FamilyAllowanceType") + .IsRequired() + .HasMaxLength(1) + .HasColumnType("nvarchar(1)") + .HasColumnName("FamilyAllowance_FamilyAllowanceType"); + + b1.Property("Value") + .HasColumnType("float") + .HasColumnName("FamilyAllowance_Value"); + + b1.HasKey("CustomizeWorkshopGroupSettingsid"); + + b1.ToTable("CustomizeWorkshopGroupSettings"); + + b1.WithOwner() + .HasForeignKey("CustomizeWorkshopGroupSettingsid"); + }); + + b.OwnsOne("_0_Framework.Domain.CustomizeCheckoutShared.ValueObjects.FineAbsenceDeduction", "FineAbsenceDeduction", b1 => + { + b1.Property("CustomizeWorkshopGroupSettingsid") + .HasColumnType("bigint"); + + b1.Property("FineAbsenceDeductionType") + .IsRequired() + .HasMaxLength(1) + .HasColumnType("nvarchar(1)") + .HasColumnName("FineAbsenceDeduction_FineAbsenceDeductionType"); + + b1.Property("Value") + .HasColumnType("float") + .HasColumnName("FineAbsenceDeduction_Value"); + + b1.HasKey("CustomizeWorkshopGroupSettingsid"); + + b1.ToTable("CustomizeWorkshopGroupSettings"); + + b1.WithOwner() + .HasForeignKey("CustomizeWorkshopGroupSettingsid"); + + b1.OwnsMany("_0_Framework.Domain.CustomizeCheckoutShared.ValueObjects.FineAbsenceDayOfWeek", "FineAbsenceDayOfWeekCollection", b2 => + { + b2.Property("CustomizeWorkshopGroupSettingsId") + .HasColumnType("bigint"); + + b2.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("int"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b2.Property("Id")); + + b2.Property("DayOfWeek") + .IsRequired() + .HasMaxLength(1) + .HasColumnType("nvarchar(1)") + .HasColumnName("FineAbsenceDayOfWeekCollection_DayOfWeek"); + + b2.HasKey("CustomizeWorkshopGroupSettingsId", "Id"); + + b2.ToTable("CustomizeWorkshopGroupSettings_FineAbsenceDayOfWeekCollection"); + + b2.WithOwner() + .HasForeignKey("CustomizeWorkshopGroupSettingsId"); + }); + + b1.Navigation("FineAbsenceDayOfWeekCollection"); + }); + + b.OwnsOne("_0_Framework.Domain.CustomizeCheckoutShared.ValueObjects.FridayPay", "FridayPay", b1 => + { + b1.Property("CustomizeWorkshopGroupSettingsid") + .HasColumnType("bigint"); + + b1.Property("FridayPayType") + .IsRequired() + .HasMaxLength(1) + .HasColumnType("nvarchar(1)"); + + b1.Property("Value") + .HasColumnType("float") + .HasColumnName("FridayPay_Value"); + + b1.HasKey("CustomizeWorkshopGroupSettingsid"); + + b1.ToTable("CustomizeWorkshopGroupSettings"); + + b1.WithOwner() + .HasForeignKey("CustomizeWorkshopGroupSettingsid"); + }); + + b.OwnsOne("_0_Framework.Domain.CustomizeCheckoutShared.ValueObjects.InsuranceDeduction", "InsuranceDeduction", b1 => + { + b1.Property("CustomizeWorkshopGroupSettingsid") + .HasColumnType("bigint"); + + b1.Property("InsuranceDeductionType") + .IsRequired() + .HasMaxLength(1) + .HasColumnType("nvarchar(1)") + .HasColumnName("InsuranceDeduction_InsuranceDeductionType"); + + b1.Property("Value") + .HasColumnType("float") + .HasColumnName("InsuranceDeduction_Value"); + + b1.HasKey("CustomizeWorkshopGroupSettingsid"); + + b1.ToTable("CustomizeWorkshopGroupSettings"); + + b1.WithOwner() + .HasForeignKey("CustomizeWorkshopGroupSettingsid"); + }); + + b.OwnsOne("_0_Framework.Domain.CustomizeCheckoutShared.ValueObjects.IrregularShift", "IrregularShift", b1 => + { + b1.Property("CustomizeWorkshopGroupSettingsid") + .HasColumnType("bigint"); + + b1.Property("EndTime") + .HasColumnType("time"); + + b1.Property("StartTime") + .HasColumnType("time"); + + b1.Property("WorkshopIrregularShifts") + .IsRequired() + .HasMaxLength(1) + .HasColumnType("nvarchar(1)"); + + b1.HasKey("CustomizeWorkshopGroupSettingsid"); + + b1.ToTable("CustomizeWorkshopGroupSettings"); + + b1.WithOwner() + .HasForeignKey("CustomizeWorkshopGroupSettingsid"); + }); + + b.OwnsOne("_0_Framework.Domain.CustomizeCheckoutShared.ValueObjects.LateToWork", "LateToWork", b1 => + { + b1.Property("CustomizeWorkshopGroupSettingsid") + .HasColumnType("bigint"); + + b1.Property("LateToWorkType") + .IsRequired() + .HasMaxLength(1) + .HasColumnType("nvarchar(1)") + .HasColumnName("LateToWork_LateToWorkType"); + + b1.Property("Value") + .HasColumnType("float") + .HasColumnName("LateToWork_Value"); + + b1.HasKey("CustomizeWorkshopGroupSettingsid"); + + b1.ToTable("CustomizeWorkshopGroupSettings"); + + b1.WithOwner() + .HasForeignKey("CustomizeWorkshopGroupSettingsid"); + + b1.OwnsMany("_0_Framework.Domain.CustomizeCheckoutShared.ValueObjects.LateToWorkTimeFine", "LateToWorkTimeFines", b2 => + { + b2.Property("CustomizeWorkshopGroupSettingsId") + .HasColumnType("bigint"); + + b2.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("int"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b2.Property("Id")); + + b2.Property("FineMoney") + .HasColumnType("float") + .HasColumnName("LateToWorkTimeFines_FineMoney"); + + b2.Property("Minute") + .HasMaxLength(4) + .HasColumnType("nvarchar(4)") + .HasColumnName("LateToWorkTimeFines_Minute"); + + b2.HasKey("CustomizeWorkshopGroupSettingsId", "Id"); + + b2.ToTable("CustomizeWorkshopGroupSettings_LateToWorkTimeFines"); + + b2.WithOwner() + .HasForeignKey("CustomizeWorkshopGroupSettingsId"); + }); + + b1.Navigation("LateToWorkTimeFines"); + }); + + b.OwnsOne("_0_Framework.Domain.CustomizeCheckoutShared.ValueObjects.LeavePay", "LeavePay", b1 => + { + b1.Property("CustomizeWorkshopGroupSettingsid") + .HasColumnType("bigint"); + + b1.Property("LeavePayType") + .IsRequired() + .HasMaxLength(1) + .HasColumnType("nvarchar(1)") + .HasColumnName("LeavePay_LeavePayType"); + + b1.Property("Value") + .HasColumnType("float") + .HasColumnName("LeavePay_Value"); + + b1.HasKey("CustomizeWorkshopGroupSettingsid"); + + b1.ToTable("CustomizeWorkshopGroupSettings"); + + b1.WithOwner() + .HasForeignKey("CustomizeWorkshopGroupSettingsid"); + }); + + b.OwnsOne("_0_Framework.Domain.CustomizeCheckoutShared.ValueObjects.MarriedAllowance", "MarriedAllowance", b1 => + { + b1.Property("CustomizeWorkshopGroupSettingsid") + .HasColumnType("bigint"); + + b1.Property("MarriedAllowanceType") + .IsRequired() + .HasMaxLength(1) + .HasColumnType("nvarchar(1)") + .HasColumnName("MarriedAllowance_MarriedAllowanceType"); + + b1.Property("Value") + .HasColumnType("float") + .HasColumnName("MarriedAllowance_Value"); + + b1.HasKey("CustomizeWorkshopGroupSettingsid"); + + b1.ToTable("CustomizeWorkshopGroupSettings"); + + b1.WithOwner() + .HasForeignKey("CustomizeWorkshopGroupSettingsid"); + }); + + b.OwnsOne("_0_Framework.Domain.CustomizeCheckoutShared.ValueObjects.NightWorkPay", "NightWorkPay", b1 => + { + b1.Property("CustomizeWorkshopGroupSettingsid") + .HasColumnType("bigint"); + + b1.Property("NightWorkingType") + .IsRequired() + .HasMaxLength(1) + .HasColumnType("nvarchar(1)") + .HasColumnName("NightWorkPay_NightWorkingType"); + + b1.Property("Value") + .HasColumnType("float") + .HasColumnName("NightWorkPay_Value"); + + b1.HasKey("CustomizeWorkshopGroupSettingsid"); + + b1.ToTable("CustomizeWorkshopGroupSettings"); + + b1.WithOwner() + .HasForeignKey("CustomizeWorkshopGroupSettingsid"); + }); + + b.OwnsOne("_0_Framework.Domain.CustomizeCheckoutShared.ValueObjects.OverTimePay", "OverTimePay", b1 => + { + b1.Property("CustomizeWorkshopGroupSettingsid") + .HasColumnType("bigint"); + + b1.Property("OverTimePayType") + .IsRequired() + .HasMaxLength(1) + .HasColumnType("nvarchar(1)") + .HasColumnName("OverTimePay_OverTimePayType"); + + b1.Property("Value") + .HasColumnType("float") + .HasColumnName("OverTimePay_Value"); + + b1.HasKey("CustomizeWorkshopGroupSettingsid"); + + b1.ToTable("CustomizeWorkshopGroupSettings"); + + b1.WithOwner() + .HasForeignKey("CustomizeWorkshopGroupSettingsid"); + }); + + b.OwnsOne("_0_Framework.Domain.CustomizeCheckoutShared.ValueObjects.ShiftPay", "ShiftPay", b1 => + { + b1.Property("CustomizeWorkshopGroupSettingsid") + .HasColumnType("bigint"); + + b1.Property("ShiftPayType") + .IsRequired() + .HasMaxLength(1) + .HasColumnType("nvarchar(1)") + .HasColumnName("ShiftPay_ShiftPayType"); + + b1.Property("ShiftType") + .IsRequired() + .HasMaxLength(1) + .HasColumnType("nvarchar(1)") + .HasColumnName("ShiftPay_ShiftType"); + + b1.Property("Value") + .HasColumnType("float") + .HasColumnName("ShiftPay_Value"); + + b1.HasKey("CustomizeWorkshopGroupSettingsid"); + + b1.ToTable("CustomizeWorkshopGroupSettings"); + + b1.WithOwner() + .HasForeignKey("CustomizeWorkshopGroupSettingsid"); + }); + + b.Navigation("BaseYearsPay"); + + b.Navigation("BonusesPay"); + + b.Navigation("BreakTime"); + + b.Navigation("CustomizeRotatingShifts"); + + b.Navigation("CustomizeWorkshopGroupSettingsShifts"); + + b.Navigation("CustomizeWorkshopSettings"); + + b.Navigation("EarlyExit"); + + b.Navigation("FamilyAllowance"); + + b.Navigation("FineAbsenceDeduction"); + + b.Navigation("FridayPay"); + + b.Navigation("InsuranceDeduction"); + + b.Navigation("IrregularShift"); + + b.Navigation("LateToWork"); + + b.Navigation("LeavePay"); + + b.Navigation("MarriedAllowance"); + + b.Navigation("NightWorkPay"); + + b.Navigation("OverTimePay"); + + b.Navigation("ShiftPay"); + }); + + modelBuilder.Entity("Company.Domain.CustomizeWorkshopSettingsAgg.Entities.CustomizeWorkshopSettings", b => + { + b.HasOne("Company.Domain.WorkshopAgg.Workshop", "Workshop") + .WithOne("CustomizeWorkshopSettings") + .HasForeignKey("Company.Domain.CustomizeWorkshopSettingsAgg.Entities.CustomizeWorkshopSettings", "WorkshopId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.OwnsMany("Company.Domain.CustomizeWorkshopSettingsAgg.Entities.CustomizeWorkshopSettingsShift", "CustomizeWorkshopSettingsShifts", b1 => + { + b1.Property("id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b1.Property("id")); + + b1.Property("CreationDate") + .HasColumnType("datetime2"); + + b1.Property("CustomizeWorkshopSettingsId") + .HasColumnType("bigint"); + + b1.Property("EndTime") + .HasColumnType("time"); + + b1.Property("Placement") + .IsRequired() + .HasMaxLength(20) + .HasColumnType("nvarchar(20)"); + + b1.Property("StartTime") + .HasColumnType("time"); + + b1.HasKey("id"); + + b1.HasIndex("CustomizeWorkshopSettingsId"); + + b1.ToTable("CustomizeWorkshopSettingsShifts", (string)null); + + b1.WithOwner("CustomizeWorkshopSettings") + .HasForeignKey("CustomizeWorkshopSettingsId"); + + b1.Navigation("CustomizeWorkshopSettings"); + }); + + b.OwnsOne("_0_Framework.Domain.CustomizeCheckoutShared.ValueObjects.BaseYearsPay", "BaseYearsPay", b1 => + { + b1.Property("CustomizeWorkshopSettingsid") + .HasColumnType("bigint"); + + b1.Property("BaseYearsPayType") + .IsRequired() + .HasMaxLength(1) + .HasColumnType("nvarchar(1)") + .HasColumnName("BaseYearsPay_BaseYearsPayType"); + + b1.Property("PaymentType") + .IsRequired() + .HasMaxLength(1) + .HasColumnType("nvarchar(1)") + .HasColumnName("BaseYearsPay_PaymentType"); + + b1.Property("Value") + .HasColumnType("float") + .HasColumnName("BaseYearsPay_Value"); + + b1.HasKey("CustomizeWorkshopSettingsid"); + + b1.ToTable("CustomizeWorkshopSettings"); + + b1.WithOwner() + .HasForeignKey("CustomizeWorkshopSettingsid"); + }); + + b.OwnsOne("_0_Framework.Domain.CustomizeCheckoutShared.ValueObjects.BonusesPay", "BonusesPay", b1 => + { + b1.Property("CustomizeWorkshopSettingsid") + .HasColumnType("bigint"); + + b1.Property("BonusesPayType") + .IsRequired() + .HasMaxLength(1) + .HasColumnType("nvarchar(1)") + .HasColumnName("BonusesPay_BonusesPayType"); + + b1.Property("PaymentType") + .IsRequired() + .HasMaxLength(1) + .HasColumnType("nvarchar(1)") + .HasColumnName("BonusesPay_PaymentType"); + + b1.Property("Value") + .HasColumnType("float") + .HasColumnName("BonusesPay_Value"); + + b1.HasKey("CustomizeWorkshopSettingsid"); + + b1.ToTable("CustomizeWorkshopSettings"); + + b1.WithOwner() + .HasForeignKey("CustomizeWorkshopSettingsid"); + }); + + b.OwnsOne("_0_Framework.Domain.CustomizeCheckoutShared.ValueObjects.EarlyExit", "EarlyExit", b1 => + { + b1.Property("CustomizeWorkshopSettingsid") + .HasColumnType("bigint"); + + b1.Property("EarlyExitType") + .IsRequired() + .HasMaxLength(1) + .HasColumnType("nvarchar(1)") + .HasColumnName("EarlyExit_EarlyExitType"); + + b1.Property("Value") + .HasColumnType("float") + .HasColumnName("EarlyExitTimeFines_Value"); + + b1.HasKey("CustomizeWorkshopSettingsid"); + + b1.ToTable("CustomizeWorkshopSettings"); + + b1.WithOwner() + .HasForeignKey("CustomizeWorkshopSettingsid"); + + b1.OwnsMany("_0_Framework.Domain.CustomizeCheckoutShared.ValueObjects.EarlyExitTimeFine", "EarlyExitTimeFines", b2 => + { + b2.Property("CustomizeWorkshopSettingsId") + .HasColumnType("bigint"); + + b2.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("int"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b2.Property("Id")); + + b2.Property("FineMoney") + .HasColumnType("float") + .HasColumnName("EarlyExitTimeFines_FineMoney"); + + b2.Property("Minute") + .HasMaxLength(4) + .HasColumnType("nvarchar(4)") + .HasColumnName("EarlyExitTimeFines_Minute"); + + b2.HasKey("CustomizeWorkshopSettingsId", "Id"); + + b2.ToTable("CustomizeWorkshopSettings_EarlyExitTimeFines"); + + b2.WithOwner() + .HasForeignKey("CustomizeWorkshopSettingsId"); + }); + + b1.Navigation("EarlyExitTimeFines"); + }); + + b.OwnsOne("_0_Framework.Domain.CustomizeCheckoutShared.ValueObjects.FamilyAllowance", "FamilyAllowance", b1 => + { + b1.Property("CustomizeWorkshopSettingsid") + .HasColumnType("bigint"); + + b1.Property("FamilyAllowanceType") + .IsRequired() + .HasMaxLength(1) + .HasColumnType("nvarchar(1)") + .HasColumnName("FamilyAllowance_FamilyAllowanceType"); + + b1.Property("Value") + .HasColumnType("float") + .HasColumnName("FamilyAllowance_Value"); + + b1.HasKey("CustomizeWorkshopSettingsid"); + + b1.ToTable("CustomizeWorkshopSettings"); + + b1.WithOwner() + .HasForeignKey("CustomizeWorkshopSettingsid"); + }); + + b.OwnsOne("_0_Framework.Domain.CustomizeCheckoutShared.ValueObjects.FineAbsenceDeduction", "FineAbsenceDeduction", b1 => + { + b1.Property("CustomizeWorkshopSettingsid") + .HasColumnType("bigint"); + + b1.Property("FineAbsenceDeductionType") + .IsRequired() + .HasMaxLength(1) + .HasColumnType("nvarchar(1)") + .HasColumnName("FineAbsenceDeduction_FineAbsenceDeductionType"); + + b1.Property("Value") + .HasColumnType("float") + .HasColumnName("FineAbsenceDeduction_Value"); + + b1.HasKey("CustomizeWorkshopSettingsid"); + + b1.ToTable("CustomizeWorkshopSettings"); + + b1.WithOwner() + .HasForeignKey("CustomizeWorkshopSettingsid"); + + b1.OwnsMany("_0_Framework.Domain.CustomizeCheckoutShared.ValueObjects.FineAbsenceDayOfWeek", "FineAbsenceDayOfWeekCollection", b2 => + { + b2.Property("CustomizeWorkshopSettingsId") + .HasColumnType("bigint"); + + b2.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("int"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b2.Property("Id")); + + b2.Property("DayOfWeek") + .IsRequired() + .HasMaxLength(1) + .HasColumnType("nvarchar(1)") + .HasColumnName("FineAbsenceDayOfWeekCollection_DayOfWeek"); + + b2.HasKey("CustomizeWorkshopSettingsId", "Id"); + + b2.ToTable("CustomizeWorkshopSettings_FineAbsenceDayOfWeekCollection"); + + b2.WithOwner() + .HasForeignKey("CustomizeWorkshopSettingsId"); + }); + + b1.Navigation("FineAbsenceDayOfWeekCollection"); + }); + + b.OwnsOne("_0_Framework.Domain.CustomizeCheckoutShared.ValueObjects.FridayPay", "FridayPay", b1 => + { + b1.Property("CustomizeWorkshopSettingsid") + .HasColumnType("bigint"); + + b1.Property("FridayPayType") + .IsRequired() + .HasMaxLength(1) + .HasColumnType("nvarchar(1)"); + + b1.Property("Value") + .HasColumnType("float") + .HasColumnName("FridayPay_Value"); + + b1.HasKey("CustomizeWorkshopSettingsid"); + + b1.ToTable("CustomizeWorkshopSettings"); + + b1.WithOwner() + .HasForeignKey("CustomizeWorkshopSettingsid"); + }); + + b.OwnsOne("_0_Framework.Domain.CustomizeCheckoutShared.ValueObjects.InsuranceDeduction", "InsuranceDeduction", b1 => + { + b1.Property("CustomizeWorkshopSettingsid") + .HasColumnType("bigint"); + + b1.Property("InsuranceDeductionType") + .IsRequired() + .HasMaxLength(1) + .HasColumnType("nvarchar(1)") + .HasColumnName("InsuranceDeduction_InsuranceDeductionType"); + + b1.Property("Value") + .HasColumnType("float") + .HasColumnName("InsuranceDeduction_Value"); + + b1.HasKey("CustomizeWorkshopSettingsid"); + + b1.ToTable("CustomizeWorkshopSettings"); + + b1.WithOwner() + .HasForeignKey("CustomizeWorkshopSettingsid"); + }); + + b.OwnsOne("_0_Framework.Domain.CustomizeCheckoutShared.ValueObjects.LateToWork", "LateToWork", b1 => + { + b1.Property("CustomizeWorkshopSettingsid") + .HasColumnType("bigint"); + + b1.Property("LateToWorkType") + .IsRequired() + .HasMaxLength(1) + .HasColumnType("nvarchar(1)") + .HasColumnName("LateToWork_LateToWorkType"); + + b1.Property("Value") + .HasColumnType("float") + .HasColumnName("LateToWork_Value"); + + b1.HasKey("CustomizeWorkshopSettingsid"); + + b1.ToTable("CustomizeWorkshopSettings"); + + b1.WithOwner() + .HasForeignKey("CustomizeWorkshopSettingsid"); + + b1.OwnsMany("_0_Framework.Domain.CustomizeCheckoutShared.ValueObjects.LateToWorkTimeFine", "LateToWorkTimeFines", b2 => + { + b2.Property("CustomizeWorkshopSettingsId") + .HasColumnType("bigint"); + + b2.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("int"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b2.Property("Id")); + + b2.Property("FineMoney") + .HasColumnType("float") + .HasColumnName("LateToWorkTimeFines_FineMoney"); + + b2.Property("Minute") + .HasMaxLength(4) + .HasColumnType("nvarchar(4)") + .HasColumnName("LateToWorkTimeFines_Minute"); + + b2.HasKey("CustomizeWorkshopSettingsId", "Id"); + + b2.ToTable("CustomizeWorkshopSettings_LateToWorkTimeFines"); + + b2.WithOwner() + .HasForeignKey("CustomizeWorkshopSettingsId"); + }); + + b1.Navigation("LateToWorkTimeFines"); + }); + + b.OwnsOne("_0_Framework.Domain.CustomizeCheckoutShared.ValueObjects.LeavePay", "LeavePay", b1 => + { + b1.Property("CustomizeWorkshopSettingsid") + .HasColumnType("bigint"); + + b1.Property("LeavePayType") + .IsRequired() + .HasMaxLength(1) + .HasColumnType("nvarchar(1)") + .HasColumnName("LeavePay_LeavePayType"); + + b1.Property("Value") + .HasColumnType("float") + .HasColumnName("LeavePay_Value"); + + b1.HasKey("CustomizeWorkshopSettingsid"); + + b1.ToTable("CustomizeWorkshopSettings"); + + b1.WithOwner() + .HasForeignKey("CustomizeWorkshopSettingsid"); + }); + + b.OwnsOne("_0_Framework.Domain.CustomizeCheckoutShared.ValueObjects.MarriedAllowance", "MarriedAllowance", b1 => + { + b1.Property("CustomizeWorkshopSettingsid") + .HasColumnType("bigint"); + + b1.Property("MarriedAllowanceType") + .IsRequired() + .HasMaxLength(1) + .HasColumnType("nvarchar(1)") + .HasColumnName("MarriedAllowance_MarriedAllowanceType"); + + b1.Property("Value") + .HasColumnType("float") + .HasColumnName("MarriedAllowance_Value"); + + b1.HasKey("CustomizeWorkshopSettingsid"); + + b1.ToTable("CustomizeWorkshopSettings"); + + b1.WithOwner() + .HasForeignKey("CustomizeWorkshopSettingsid"); + }); + + b.OwnsOne("_0_Framework.Domain.CustomizeCheckoutShared.ValueObjects.NightWorkPay", "NightWorkPay", b1 => + { + b1.Property("CustomizeWorkshopSettingsid") + .HasColumnType("bigint"); + + b1.Property("NightWorkingType") + .IsRequired() + .HasMaxLength(1) + .HasColumnType("nvarchar(1)") + .HasColumnName("NightWorkPay_NightWorkingType"); + + b1.Property("Value") + .HasColumnType("float") + .HasColumnName("NightWorkPay_Value"); + + b1.HasKey("CustomizeWorkshopSettingsid"); + + b1.ToTable("CustomizeWorkshopSettings"); + + b1.WithOwner() + .HasForeignKey("CustomizeWorkshopSettingsid"); + }); + + b.OwnsOne("_0_Framework.Domain.CustomizeCheckoutShared.ValueObjects.OverTimePay", "OverTimePay", b1 => + { + b1.Property("CustomizeWorkshopSettingsid") + .HasColumnType("bigint"); + + b1.Property("OverTimePayType") + .IsRequired() + .HasMaxLength(1) + .HasColumnType("nvarchar(1)") + .HasColumnName("OverTimePay_OverTimePayType"); + + b1.Property("Value") + .HasColumnType("float") + .HasColumnName("OverTimePay_Value"); + + b1.HasKey("CustomizeWorkshopSettingsid"); + + b1.ToTable("CustomizeWorkshopSettings"); + + b1.WithOwner() + .HasForeignKey("CustomizeWorkshopSettingsid"); + }); + + b.OwnsOne("_0_Framework.Domain.CustomizeCheckoutShared.ValueObjects.ShiftPay", "ShiftPay", b1 => + { + b1.Property("CustomizeWorkshopSettingsid") + .HasColumnType("bigint"); + + b1.Property("ShiftPayType") + .IsRequired() + .HasMaxLength(1) + .HasColumnType("nvarchar(1)") + .HasColumnName("ShiftPay_ShiftPayType"); + + b1.Property("ShiftType") + .IsRequired() + .HasMaxLength(1) + .HasColumnType("nvarchar(1)") + .HasColumnName("ShiftPay_ShiftType"); + + b1.Property("Value") + .HasColumnType("float") + .HasColumnName("ShiftPay_Value"); + + b1.HasKey("CustomizeWorkshopSettingsid"); + + b1.ToTable("CustomizeWorkshopSettings"); + + b1.WithOwner() + .HasForeignKey("CustomizeWorkshopSettingsid"); + }); + + b.Navigation("BaseYearsPay"); + + b.Navigation("BonusesPay"); + + b.Navigation("CustomizeWorkshopSettingsShifts"); + + b.Navigation("EarlyExit"); + + b.Navigation("FamilyAllowance"); + + b.Navigation("FineAbsenceDeduction"); + + b.Navigation("FridayPay"); + + b.Navigation("InsuranceDeduction"); + + b.Navigation("LateToWork"); + + b.Navigation("LeavePay"); + + b.Navigation("MarriedAllowance"); + + b.Navigation("NightWorkPay"); + + b.Navigation("OverTimePay"); + + b.Navigation("ShiftPay"); + + b.Navigation("Workshop"); + }); + + modelBuilder.Entity("Company.Domain.DateSalaryItemAgg.DateSalaryItem", b => + { + b.HasOne("Company.Domain.DateSalaryAgg.DateSalary", "DateSalary") + .WithMany("DateSalaryItemList") + .HasForeignKey("DateSalaryId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("Company.Domain.PercentageAgg.Percentage", "Percentage") + .WithMany("DateSalaryItemList") + .HasForeignKey("PercentageId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("DateSalary"); + + b.Navigation("Percentage"); + }); + + modelBuilder.Entity("Company.Domain.EmployeeAccountAgg.EmployeeAccount", b => + { + b.HasOne("Company.Domain.EmployeeAgg.Employee", "Employee") + .WithMany() + .HasForeignKey("EmployeeId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Employee"); + }); + + modelBuilder.Entity("Company.Domain.EmployeeBankInformationAgg.EmployeeBankInformation", b => + { + b.HasOne("Company.Domain.BankAgg.Bank", "Bank") + .WithMany() + .HasForeignKey("BankId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("Company.Domain.EmployeeAgg.Employee", "Employee") + .WithMany("EmployeeBankInformationList") + .HasForeignKey("EmployeeId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Bank"); + + b.Navigation("Employee"); + }); + + modelBuilder.Entity("Company.Domain.EmployeeChildrenAgg.EmployeeChildren", b => + { + b.HasOne("Company.Domain.EmployeeAgg.Employee", "Employee") + .WithMany("EmployeeChildrenList") + .HasForeignKey("EmployeeId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Employee"); + }); + + modelBuilder.Entity("Company.Domain.EmployeeDocumentItemAgg.EmployeeDocumentItem", b => + { + b.HasOne("Company.Domain.EmployeeDocumentsAgg.EmployeeDocuments", "EmployeeDocuments") + .WithMany("EmployeeDocumentItemCollection") + .HasForeignKey("EmployeeDocumentId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("Company.Domain.EmployeeDocumentsAdminSelectionAgg.EmployeeDocumentsAdminSelection", "EmployeeDocumentsAdminSelection") + .WithMany("SelectedEmployeeDocumentItems") + .HasForeignKey("EmployeeDocumentsAdminViewId"); + + b.OwnsMany("Company.Domain.EmployeeDocumentItemAgg.EmployeeDocumentItemLog", "ItemLogs", b1 => + { + b1.Property("id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b1.Property("id")); + + b1.Property("AdminMessage") + .HasMaxLength(500) + .HasColumnType("nvarchar(500)"); + + b1.Property("CreationDate") + .HasColumnType("datetime2"); + + b1.Property("EmployeeDocumentItemId") + .HasColumnType("bigint"); + + b1.Property("OperationType") + .IsRequired() + .HasMaxLength(25) + .HasColumnType("nvarchar(25)"); + + b1.Property("OperatorId") + .HasColumnType("bigint"); + + b1.Property("OperatorType") + .IsRequired() + .HasMaxLength(20) + .HasColumnType("nvarchar(20)"); + + b1.HasKey("id"); + + b1.HasIndex("EmployeeDocumentItemId"); + + b1.ToTable("EmployeeDocumentItemLogs", (string)null); + + b1.WithOwner("EmployeeDocumentItem") + .HasForeignKey("EmployeeDocumentItemId"); + + b1.Navigation("EmployeeDocumentItem"); + }); + + b.Navigation("EmployeeDocuments"); + + b.Navigation("EmployeeDocumentsAdminSelection"); + + b.Navigation("ItemLogs"); + }); + + modelBuilder.Entity("Company.Domain.EmployeeDocumentsAdminSelectionAgg.EmployeeDocumentsAdminSelection", b => + { + b.HasOne("Company.Domain.EmployeeAgg.Employee", "Employee") + .WithOne("EmployeeDocumentsAdminSelection") + .HasForeignKey("Company.Domain.EmployeeDocumentsAdminSelectionAgg.EmployeeDocumentsAdminSelection", "EmployeeId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Employee"); + }); + + modelBuilder.Entity("Company.Domain.EmployeeDocumentsAgg.EmployeeDocuments", b => + { + b.HasOne("Company.Domain.EmployeeAgg.Employee", "Employee") + .WithMany("EmployeeDocuments") + .HasForeignKey("EmployeeId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("Company.Domain.WorkshopAgg.Workshop", "Workshop") + .WithMany() + .HasForeignKey("WorkshopId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Employee"); + + b.Navigation("Workshop"); + }); + + modelBuilder.Entity("Company.Domain.EmployeeInsuranceRecordAgg.EmployeeInsuranceRecord", b => + { + b.HasOne("Company.Domain.EmployeeAgg.Employee", "Employee") + .WithMany("EmployeeInsuranceRecords") + .HasForeignKey("EmployeeId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("Company.Domain.WorkshopAgg.Workshop", "Workshop") + .WithMany("EmployeeInsuranceRecords") + .HasForeignKey("WorkShopId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Employee"); + + b.Navigation("Workshop"); + }); + + modelBuilder.Entity("Company.Domain.EmployerAccountAgg.EmployerAccount", b => + { + b.HasOne("Company.Domain.empolyerAgg.Employer", "Employer") + .WithMany() + .HasForeignKey("EmployerId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Employer"); + }); + + modelBuilder.Entity("Company.Domain.Evidence.Evidence", b => + { + b.HasOne("Company.Domain.BoardType.BoardType", "BoardType") + .WithMany("EvidencesList") + .HasForeignKey("BoardType_Id") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("Company.Domain.File1.File1", "File1") + .WithMany("EvidencesList") + .HasForeignKey("File_Id") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("BoardType"); + + b.Navigation("File1"); + }); + + modelBuilder.Entity("Company.Domain.EvidenceDetail.EvidenceDetail", b => + { + b.HasOne("Company.Domain.Evidence.Evidence", "Evidence") + .WithMany("EvidenceDetailsList") + .HasForeignKey("Evidence_Id") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Evidence"); + }); + + modelBuilder.Entity("Company.Domain.FileAlert.FileAlert", b => + { + b.HasOne("Company.Domain.FileState.FileState", "FileState") + .WithMany("FileAlertsList") + .HasForeignKey("FileState_Id") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("Company.Domain.File1.File1", "File") + .WithMany("FileAlertsList") + .HasForeignKey("File_Id") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("File"); + + b.Navigation("FileState"); + }); + + modelBuilder.Entity("Company.Domain.FileAndFileEmployerAgg.FileAndFileEmployer", b => + { + b.HasOne("Company.Domain.FileEmployerAgg.FileEmployer", "FileEmployer") + .WithMany("FileAndFileEmployers") + .HasForeignKey("FileEmployerId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("Company.Domain.File1.File1", "File1") + .WithMany("FileAndFileEmployers") + .HasForeignKey("FileId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("File1"); + + b.Navigation("FileEmployer"); + }); + + modelBuilder.Entity("Company.Domain.FileEmployeeAgg.FileEmployee", b => + { + b.HasOne("Company.Domain.RepresentativeAgg.Representative", "Representative") + .WithMany("FileEmployeeList") + .HasForeignKey("RepresentativeId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Representative"); + }); + + modelBuilder.Entity("Company.Domain.FileEmployerAgg.FileEmployer", b => + { + b.HasOne("Company.Domain.RepresentativeAgg.Representative", "Representative") + .WithMany("FileEmployerList") + .HasForeignKey("RepresentativeId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Representative"); + }); + + modelBuilder.Entity("Company.Domain.FileState.FileState", b => + { + b.HasOne("Company.Domain.FileTiming.FileTiming", "FileTiming") + .WithMany("FileStates") + .HasForeignKey("FileTiming_Id") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("FileTiming"); + }); + + modelBuilder.Entity("Company.Domain.FinancialTransactionAgg.FinancialTransaction", b => + { + b.HasOne("Company.Domain.FinancialStatmentAgg.FinancialStatment", "FinancialStatment") + .WithMany("FinancialTransactionList") + .HasForeignKey("FinancialStatementId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("FinancialStatment"); + }); + + modelBuilder.Entity("Company.Domain.GroupPlanAgg.GroupPlan", b => + { + b.HasOne("Company.Domain.WorkshopPlanAgg.WorkshopPlan", "WorkshopPlan") + .WithMany("GroupPlans") + .HasForeignKey("WorkshopPlanId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("WorkshopPlan"); + }); + + modelBuilder.Entity("Company.Domain.GroupPlanJobItemAgg.GroupPlanJobItem", b => + { + b.HasOne("Company.Domain.GroupPlanAgg.GroupPlan", "GroupPlan") + .WithMany("GroupPlanJobItems") + .HasForeignKey("GroupPlanId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("GroupPlan"); + }); + + modelBuilder.Entity("Company.Domain.HolidayItemAgg.HolidayItem", b => + { + b.HasOne("Company.Domain.HolidayAgg.Holiday", "Holidayss") + .WithMany("HolidayItems") + .HasForeignKey("HolidayId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Holidayss"); + }); + + modelBuilder.Entity("Company.Domain.InstitutionContractContactInfoAgg.InstitutionContractContactInfo", b => + { + b.HasOne("Company.Domain.InstitutionContractAgg.InstitutionContract", "InstitutionContracts") + .WithMany("ContactInfoList") + .HasForeignKey("InstitutionContractId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("InstitutionContracts"); + }); + + modelBuilder.Entity("Company.Domain.InsurancWorkshopInfoAgg.InsuranceWorkshopInfo", b => + { + b.HasOne("Company.Domain.WorkshopAgg.Workshop", "Workshop") + .WithOne("InsuranceWorkshopInfo") + .HasForeignKey("Company.Domain.InsurancWorkshopInfoAgg.InsuranceWorkshopInfo", "WorkshopId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Workshop"); + }); + + modelBuilder.Entity("Company.Domain.InsuranceAgg.Insurance", b => + { + b.HasOne("Company.Domain.WorkshopAgg.Workshop", "Workshop") + .WithMany("Insurances") + .HasForeignKey("WorkShopId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Workshop"); + }); + + modelBuilder.Entity("Company.Domain.InsuranceEmployeeInfoAgg.InsuranceEmployeeInfo", b => + { + b.HasOne("Company.Domain.EmployeeAgg.Employee", "Employee") + .WithOne("InsuranceEmployeeInfo") + .HasForeignKey("Company.Domain.InsuranceEmployeeInfoAgg.InsuranceEmployeeInfo", "EmployeeId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Employee"); + }); + + modelBuilder.Entity("Company.Domain.InsuranceJobAndJobsAgg.InsuranceJobAndJobs", b => + { + b.HasOne("Company.Domain.InsuranceJobItemAgg.InsuranceJobItem", "InsuranceJobItem") + .WithMany("InsuranceJobAndJobs") + .HasForeignKey("InsuranceJobItemId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("Company.Domain.JobAgg.Job", "Jobs") + .WithMany("InsuranceJobAndJobs") + .HasForeignKey("JobId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("InsuranceJobItem"); + + b.Navigation("Jobs"); + }); + + modelBuilder.Entity("Company.Domain.InsuranceJobItemAgg.InsuranceJobItem", b => + { + b.HasOne("Company.Domain.InsurancJobAgg.InsuranceJob", "InsuranceJob") + .WithMany("InsuranceJobItemList") + .HasForeignKey("InsuranceJobId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("InsuranceJob"); + }); + + modelBuilder.Entity("Company.Domain.InsuranceWorkshopAgg.InsuranceListWorkshop", b => + { + b.HasOne("Company.Domain.InsuranceListAgg.InsuranceList", "InsuranceList") + .WithMany("InsuranceListWorkshops") + .HasForeignKey("InsurancListId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("Company.Domain.WorkshopAgg.Workshop", "Workshop") + .WithMany("InsuranceListWorkshops") + .HasForeignKey("WorkshopId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("InsuranceList"); + + b.Navigation("Workshop"); + }); + + modelBuilder.Entity("Company.Domain.LeftWorkAgg.LeftWork", b => + { + b.HasOne("Company.Domain.EmployeeAgg.Employee", "Employee") + .WithMany("LeftWorks") + .HasForeignKey("EmployeeId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("Company.Domain.WorkshopAgg.Workshop", "Workshop") + .WithMany("LeftWorks") + .HasForeignKey("WorkshopId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Employee"); + + b.Navigation("Workshop"); + }); + + modelBuilder.Entity("Company.Domain.LeftWorkInsuranceAgg.LeftWorkInsurance", b => + { + b.HasOne("Company.Domain.EmployeeAgg.Employee", "Employee") + .WithMany("LeftWorkInsurances") + .HasForeignKey("EmployeeId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("Company.Domain.WorkshopAgg.Workshop", "Workshop") + .WithMany("LeftWorkInsurances") + .HasForeignKey("WorkshopId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Employee"); + + b.Navigation("Workshop"); + }); + + modelBuilder.Entity("Company.Domain.LoanAgg.Entities.Loan", b => + { + b.OwnsMany("Company.Domain.LoanAgg.Entities.LoanInstallment", "LoanInstallments", b1 => + { + b1.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("int"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b1.Property("Id")); + + b1.Property("AmountForMonth") + .HasColumnType("float"); + + b1.Property("InstallmentDate") + .HasColumnType("datetime2"); + + b1.Property("IsActive") + .IsRequired() + .HasMaxLength(5) + .HasColumnType("nvarchar(5)"); + + b1.Property("LoanId") + .HasColumnType("bigint"); + + b1.Property("Month") + .HasMaxLength(2) + .HasColumnType("nvarchar(2)"); + + b1.Property("Year") + .HasMaxLength(4) + .HasColumnType("nvarchar(4)"); + + b1.HasKey("Id"); + + b1.HasIndex("LoanId"); + + b1.ToTable("LoanInstallment"); + + b1.WithOwner() + .HasForeignKey("LoanId"); + }); + + b.Navigation("LoanInstallments"); + }); + + modelBuilder.Entity("Company.Domain.MasterPenaltyTitle.MasterPenaltyTitle", b => + { + b.HasOne("Company.Domain.MasterPetition.MasterPetition", "MasterPetition") + .WithMany("MasterPenaltyTitlesList") + .HasForeignKey("MasterPetition_Id") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("MasterPetition"); + }); + + modelBuilder.Entity("Company.Domain.MasterPetition.MasterPetition", b => + { + b.HasOne("Company.Domain.BoardType.BoardType", "BoardType") + .WithMany("MasterPetitionsList") + .HasForeignKey("BoardType_Id") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("Company.Domain.File1.File1", "File1") + .WithMany("MasterPetitionsList") + .HasForeignKey("File_Id") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("BoardType"); + + b.Navigation("File1"); + }); + + modelBuilder.Entity("Company.Domain.MasterWorkHistory.MasterWorkHistory", b => + { + b.HasOne("Company.Domain.MasterPetition.MasterPetition", "MasterPetition") + .WithMany("MasterWorkHistoriesList") + .HasForeignKey("MasterPetition_Id") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("MasterPetition"); + }); + + modelBuilder.Entity("Company.Domain.ModuleTextManagerAgg.EntityModuleTextManager", b => + { + b.HasOne("Company.Domain.ModuleAgg.EntityModule", "Module") + .WithMany("EntityModuleTextManagers") + .HasForeignKey("ModuleId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("Company.Domain.TextManagerAgg.EntityTextManager", "TextManager") + .WithMany("EntityModuleTextManagers") + .HasForeignKey("TextManagerId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Module"); + + b.Navigation("TextManager"); + }); + + modelBuilder.Entity("Company.Domain.PaymentToEmployeeItemAgg.PaymentToEmployeeItem", b => + { + b.HasOne("Company.Domain.PaymentToEmployeeAgg.PaymentToEmployee", "PaymentToEmployee") + .WithMany("PaymentToEmployeeItemList") + .HasForeignKey("PaymentToEmployeeId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("PaymentToEmployee"); + }); + + modelBuilder.Entity("Company.Domain.PenaltyTitle.PenaltyTitle", b => + { + b.HasOne("Company.Domain.Petition.Petition", "Petition") + .WithMany("PenaltyTitlesList") + .HasForeignKey("Petition_Id") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Petition"); + }); + + modelBuilder.Entity("Company.Domain.PersonnelCodeAgg.PersonnelCodeDomain", b => + { + b.HasOne("Company.Domain.EmployeeAgg.Employee", "Employee") + .WithMany("PersonnelCodeList") + .HasForeignKey("EmployeeId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("Company.Domain.WorkshopAgg.Workshop", "Workshop") + .WithMany("PersonnelCodeList") + .HasForeignKey("WorkshopId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Employee"); + + b.Navigation("Workshop"); + }); + + modelBuilder.Entity("Company.Domain.Petition.Petition", b => + { + b.HasOne("Company.Domain.BoardType.BoardType", "BoardType") + .WithMany("PetitionsList") + .HasForeignKey("BoardType_Id") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("Company.Domain.File1.File1", "File1") + .WithMany("PetitionsList") + .HasForeignKey("File_Id") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("BoardType"); + + b.Navigation("File1"); + }); + + modelBuilder.Entity("Company.Domain.ProceedingSession.ProceedingSession", b => + { + b.HasOne("Company.Domain.Board.Board", "Board") + .WithMany("ProceedingSessionsList") + .HasForeignKey("Board_Id") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Board"); + }); + + modelBuilder.Entity("Company.Domain.RollCallEmployeeStatusAgg.RollCallEmployeeStatus", b => + { + b.HasOne("Company.Domain.RollCallEmployeeAgg.RollCallEmployee", "RollCallEmployee") + .WithMany("EmployeesStatus") + .HasForeignKey("RollCallEmployeeId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("RollCallEmployee"); + }); + + modelBuilder.Entity("Company.Domain.RollCallServiceAgg.RollCallService", b => + { + b.HasOne("Company.Domain.WorkshopAgg.Workshop", "Workshop") + .WithMany("RollCallServicesList") + .HasForeignKey("WorkshopId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Workshop"); + }); + + modelBuilder.Entity("Company.Domain.SubtitleAgg.EntitySubtitle", b => + { + b.HasOne("Company.Domain.SubtitleAgg.EntitySubtitle", null) + .WithMany("Subtitles") + .HasForeignKey("EntitySubtitleid"); + + b.HasOne("Company.Domain.OriginalTitleAgg.EntityOriginalTitle", "EntityOriginalTitle") + .WithMany("Subtitles") + .HasForeignKey("OriginalTitle_Id") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("EntityOriginalTitle"); + }); + + modelBuilder.Entity("Company.Domain.TaxLeftWorkCategoryAgg.TaxLeftWorkCategory", b => + { + b.HasOne("Company.Domain.WorkshopAgg.Workshop", "Workshop") + .WithMany("TaxLeftWorkCategoryList") + .HasForeignKey("WorkshopId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Workshop"); + }); + + modelBuilder.Entity("Company.Domain.TaxLeftWorkItemAgg.TaxLeftWorkItem", b => + { + b.HasOne("Company.Domain.TaxLeftWorkCategoryAgg.TaxLeftWorkCategory", "TaxLeftWorkCategory") + .WithMany("TaxLeftWorkItemList") + .HasForeignKey("TaxLeftWorkCategoryId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("TaxLeftWorkCategory"); + }); + + modelBuilder.Entity("Company.Domain.TemporaryClientRegistrationAgg.WorkshopServicesTemp", b => + { + b.HasOne("Company.Domain.TemporaryClientRegistrationAgg.WorkshopTemp", "WorkshopTemp") + .WithMany("WorkshopServicesTemps") + .HasForeignKey("WorkshopTempId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("WorkshopTemp"); + }); + + modelBuilder.Entity("Company.Domain.WorkHistory.WorkHistory", b => + { + b.HasOne("Company.Domain.Petition.Petition", "Petition") + .WithMany("WorkHistoriesList") + .HasForeignKey("Petition_Id") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Petition"); + }); + + modelBuilder.Entity("Company.Domain.WorkingHoursAgg.WorkingHours", b => + { + b.HasOne("Company.Domain.ContractAgg.Contract", "Contracts") + .WithMany("WorkingHoursList") + .HasForeignKey("ContractId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Contracts"); + }); + + modelBuilder.Entity("Company.Domain.WorkingHoursItemsAgg.WorkingHoursItems", b => + { + b.HasOne("Company.Domain.WorkingHoursAgg.WorkingHours", "WorkingHourses") + .WithMany("WorkingHoursItemsList") + .HasForeignKey("WorkingHoursId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("WorkingHourses"); + }); + + modelBuilder.Entity("Company.Domain.WorkingHoursTempItemAgg.WorkingHoursTempItem", b => + { + b.HasOne("Company.Domain.WorkingHoursTempAgg.WorkingHoursTemp", "WorkingHoursTemp") + .WithMany("WorkingHoursTempItemList") + .HasForeignKey("WorkingHoursTempId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("WorkingHoursTemp"); + }); + + modelBuilder.Entity("Company.Domain.WorkshopAccountAgg.WorkshopAccount", b => + { + b.HasOne("Company.Domain.WorkshopAgg.Workshop", "Workshop") + .WithMany() + .HasForeignKey("WorkshopId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Workshop"); + }); + + modelBuilder.Entity("Company.Domain.WorkshopEmployerAgg.WorkshopEmployer", b => + { + b.HasOne("Company.Domain.empolyerAgg.Employer", "Employer") + .WithMany("WorkshopEmployers") + .HasForeignKey("EmployerId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("Company.Domain.WorkshopAgg.Workshop", "Workshop") + .WithMany("WorkshopEmployers") + .HasForeignKey("WorkshopId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Employer"); + + b.Navigation("Workshop"); + }); + + modelBuilder.Entity("Company.Domain.WorkshopPlanEmployeeAgg.WorkshopPlanEmployee", b => + { + b.HasOne("Company.Domain.WorkshopPlanAgg.WorkshopPlan", "WorkshopPlan") + .WithMany("WorkshopPlanEmployees") + .HasForeignKey("WorkshopPlanId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("WorkshopPlan"); + }); + + modelBuilder.Entity("Company.Domain.WorkshopSubAccountAgg.WorkshopSubAccount", b => + { + b.HasOne("Company.Domain.WorkshopAgg.Workshop", "Workshop") + .WithMany("WorkshopSubAccounts") + .HasForeignKey("WorkshopId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Workshop"); + }); + + modelBuilder.Entity("Company.Domain.YearlySalaryItemsAgg.YearlySalaryItem", b => + { + b.HasOne("Company.Domain.YearlySalaryAgg.YearlySalary", "YearlySalary") + .WithMany("YearlySalaryItemsList") + .HasForeignKey("YearlySalaryId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("YearlySalary"); + }); + + modelBuilder.Entity("Company.Domain.empolyerAgg.Employer", b => + { + b.HasOne("Company.Domain.ContarctingPartyAgg.PersonalContractingParty", "ContractingParty") + .WithMany("Employers") + .HasForeignKey("ContractingPartyId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("ContractingParty"); + }); + + modelBuilder.Entity("EmployerWorkshop", b => + { + b.HasOne("Company.Domain.empolyerAgg.Employer", null) + .WithMany() + .HasForeignKey("EmployersListid") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("Company.Domain.WorkshopAgg.Workshop", null) + .WithMany() + .HasForeignKey("WorkshopsListid") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + }); + + modelBuilder.Entity("Company.Domain.Board.Board", b => + { + b.Navigation("ProceedingSessionsList"); + }); + + modelBuilder.Entity("Company.Domain.BoardType.BoardType", b => + { + b.Navigation("BoardsList"); + + b.Navigation("EvidencesList"); + + b.Navigation("MasterPetitionsList"); + + b.Navigation("PetitionsList"); + }); + + modelBuilder.Entity("Company.Domain.ContarctingPartyAgg.PersonalContractingParty", b => + { + b.Navigation("Employers"); + }); + + modelBuilder.Entity("Company.Domain.ContractAgg.Contract", b => + { + b.Navigation("WorkingHoursList"); + }); + + modelBuilder.Entity("Company.Domain.CrossJobAgg.CrossJob", b => + { + b.Navigation("CrossJobItemsList"); + }); + + modelBuilder.Entity("Company.Domain.CrossJobGuildAgg.CrossJobGuild", b => + { + b.Navigation("CrossJobList"); + }); + + modelBuilder.Entity("Company.Domain.CustomizeWorkshopGroupSettingsAgg.Entities.CustomizeWorkshopGroupSettings", b => + { + b.Navigation("CustomizeWorkshopEmployeeSettingsCollection"); + }); + + modelBuilder.Entity("Company.Domain.CustomizeWorkshopSettingsAgg.Entities.CustomizeWorkshopSettings", b => + { + b.Navigation("CustomizeWorkshopGroupSettingsCollection"); + }); + + modelBuilder.Entity("Company.Domain.DateSalaryAgg.DateSalary", b => + { + b.Navigation("DateSalaryItemList"); + }); + + modelBuilder.Entity("Company.Domain.EmployeeAgg.Employee", b => + { + b.Navigation("ClientEmployeeWorkshopList"); + + b.Navigation("Contracts"); + + b.Navigation("CustomizeCheckouts"); + + b.Navigation("EmployeeBankInformationList"); + + b.Navigation("EmployeeChildrenList"); + + b.Navigation("EmployeeDocuments"); + + b.Navigation("EmployeeDocumentsAdminSelection"); + + b.Navigation("EmployeeInsuranceRecords"); + + b.Navigation("InsuranceEmployeeInfo"); + + b.Navigation("LeftWorkInsurances"); + + b.Navigation("LeftWorks"); + + b.Navigation("PersonnelCodeList"); + }); + + modelBuilder.Entity("Company.Domain.EmployeeDocumentsAdminSelectionAgg.EmployeeDocumentsAdminSelection", b => + { + b.Navigation("SelectedEmployeeDocumentItems"); + }); + + modelBuilder.Entity("Company.Domain.EmployeeDocumentsAgg.EmployeeDocuments", b => + { + b.Navigation("EmployeeDocumentItemCollection"); + }); + + modelBuilder.Entity("Company.Domain.Evidence.Evidence", b => + { + b.Navigation("EvidenceDetailsList"); + }); + + modelBuilder.Entity("Company.Domain.File1.File1", b => + { + b.Navigation("BoardsList"); + + b.Navigation("EvidencesList"); + + b.Navigation("FileAlertsList"); + + b.Navigation("FileAndFileEmployers"); + + b.Navigation("MasterPetitionsList"); + + b.Navigation("PetitionsList"); + }); + + modelBuilder.Entity("Company.Domain.FileEmployerAgg.FileEmployer", b => + { + b.Navigation("FileAndFileEmployers"); + }); + + modelBuilder.Entity("Company.Domain.FileState.FileState", b => + { + b.Navigation("FileAlertsList"); + }); + + modelBuilder.Entity("Company.Domain.FileTiming.FileTiming", b => + { + b.Navigation("FileStates"); + }); + + modelBuilder.Entity("Company.Domain.FinancialStatmentAgg.FinancialStatment", b => + { + b.Navigation("FinancialTransactionList"); + }); + + modelBuilder.Entity("Company.Domain.GroupPlanAgg.GroupPlan", b => + { + b.Navigation("GroupPlanJobItems"); + }); + + modelBuilder.Entity("Company.Domain.HolidayAgg.Holiday", b => + { + b.Navigation("HolidayItems"); + }); + + modelBuilder.Entity("Company.Domain.InstitutionContractAgg.InstitutionContract", b => + { + b.Navigation("ContactInfoList"); + }); + + modelBuilder.Entity("Company.Domain.InsurancJobAgg.InsuranceJob", b => + { + b.Navigation("InsuranceJobItemList"); + }); + + modelBuilder.Entity("Company.Domain.InsuranceJobItemAgg.InsuranceJobItem", b => + { + b.Navigation("InsuranceJobAndJobs"); + }); + + modelBuilder.Entity("Company.Domain.InsuranceListAgg.InsuranceList", b => + { + b.Navigation("InsuranceListWorkshops"); + }); + + modelBuilder.Entity("Company.Domain.JobAgg.Job", b => + { + b.Navigation("ContractsList"); + + b.Navigation("CrossJobItemsList"); + + b.Navigation("InsuranceJobAndJobs"); + }); + + modelBuilder.Entity("Company.Domain.MandatoryHoursAgg.MandatoryHours", b => + { + b.Navigation("Contracts"); + }); + + modelBuilder.Entity("Company.Domain.MasterPetition.MasterPetition", b => + { + b.Navigation("MasterPenaltyTitlesList"); + + b.Navigation("MasterWorkHistoriesList"); + }); + + modelBuilder.Entity("Company.Domain.ModuleAgg.EntityModule", b => + { + b.Navigation("EntityModuleTextManagers"); + }); + + modelBuilder.Entity("Company.Domain.OriginalTitleAgg.EntityOriginalTitle", b => + { + b.Navigation("Subtitles"); + }); + + modelBuilder.Entity("Company.Domain.PaymentToEmployeeAgg.PaymentToEmployee", b => + { + b.Navigation("PaymentToEmployeeItemList"); + }); + + modelBuilder.Entity("Company.Domain.PercentageAgg.Percentage", b => + { + b.Navigation("DateSalaryItemList"); + }); + + modelBuilder.Entity("Company.Domain.Petition.Petition", b => + { + b.Navigation("PenaltyTitlesList"); + + b.Navigation("WorkHistoriesList"); + }); + + modelBuilder.Entity("Company.Domain.RepresentativeAgg.Representative", b => + { + b.Navigation("ContractingParties"); + + b.Navigation("FileEmployeeList"); + + b.Navigation("FileEmployerList"); + }); + + modelBuilder.Entity("Company.Domain.RollCallEmployeeAgg.RollCallEmployee", b => + { + b.Navigation("EmployeesStatus"); + }); + + modelBuilder.Entity("Company.Domain.SubtitleAgg.EntitySubtitle", b => + { + b.Navigation("Chapters"); + + b.Navigation("Subtitles"); + }); + + modelBuilder.Entity("Company.Domain.TaxLeftWorkCategoryAgg.TaxLeftWorkCategory", b => + { + b.Navigation("TaxLeftWorkItemList"); + }); + + modelBuilder.Entity("Company.Domain.TemporaryClientRegistrationAgg.WorkshopTemp", b => + { + b.Navigation("WorkshopServicesTemps"); + }); + + modelBuilder.Entity("Company.Domain.TextManagerAgg.EntityTextManager", b => + { + b.Navigation("EntityModuleTextManagers"); + }); + + modelBuilder.Entity("Company.Domain.WorkingHoursAgg.WorkingHours", b => + { + b.Navigation("WorkingHoursItemsList"); + }); + + modelBuilder.Entity("Company.Domain.WorkingHoursTempAgg.WorkingHoursTemp", b => + { + b.Navigation("WorkingHoursTempItemList"); + }); + + modelBuilder.Entity("Company.Domain.WorkshopAgg.Workshop", b => + { + b.Navigation("Checkouts"); + + b.Navigation("ClientEmployeeWorkshopList"); + + b.Navigation("Contracts2"); + + b.Navigation("CustomizeCheckouts"); + + b.Navigation("CustomizeWorkshopSettings"); + + b.Navigation("EmployeeInsuranceRecords"); + + b.Navigation("InsuranceListWorkshops"); + + b.Navigation("InsuranceWorkshopInfo"); + + b.Navigation("Insurances"); + + b.Navigation("LeftWorkInsurances"); + + b.Navigation("LeftWorks"); + + b.Navigation("PersonnelCodeList"); + + b.Navigation("RollCallServicesList"); + + b.Navigation("TaxLeftWorkCategoryList"); + + b.Navigation("WorkshopEmployers"); + + b.Navigation("WorkshopSubAccounts"); + }); + + modelBuilder.Entity("Company.Domain.WorkshopPlanAgg.WorkshopPlan", b => + { + b.Navigation("GroupPlans"); + + b.Navigation("WorkshopPlanEmployees"); + }); + + modelBuilder.Entity("Company.Domain.YearlySalaryAgg.YearlySalary", b => + { + b.Navigation("Contracts"); + + b.Navigation("YearlySalaryItemsList"); + }); + + modelBuilder.Entity("Company.Domain.empolyerAgg.Employer", b => + { + b.Navigation("Contracts"); + + b.Navigation("WorkshopEmployers"); + }); +#pragma warning restore 612, 618 + } + } +} diff --git a/CompanyManagment.EFCore/Migrations/20250508101244_add calculation date to salary aid and add entity id to customize checkout value objects.cs b/CompanyManagment.EFCore/Migrations/20250508101244_add calculation date to salary aid and add entity id to customize checkout value objects.cs new file mode 100644 index 00000000..9e29cfc8 --- /dev/null +++ b/CompanyManagment.EFCore/Migrations/20250508101244_add calculation date to salary aid and add entity id to customize checkout value objects.cs @@ -0,0 +1,184 @@ +using System; +using Microsoft.EntityFrameworkCore.Migrations; + +#nullable disable + +namespace CompanyManagment.EFCore.Migrations +{ + /// + public partial class addcalculationdatetosalaryaidandaddentityidtocustomizecheckoutvalueobjects : Migration + { + /// + protected override void Up(MigrationBuilder migrationBuilder) + { + migrationBuilder.AddColumn( + name: "CalculationDate", + table: "SalaryAids", + type: "datetime2", + nullable: false, + defaultValue: new DateTime(1, 1, 1, 0, 0, 0, 0, DateTimeKind.Unspecified)); + + migrationBuilder.AddColumn( + name: "CalculationMonth", + table: "SalaryAids", + type: "int", + nullable: false, + defaultValue: 0); + + migrationBuilder.AddColumn( + name: "CalculationYear", + table: "SalaryAids", + type: "int", + nullable: false, + defaultValue: 0); + + migrationBuilder.AddColumn( + name: "CalculationDateTime", + table: "CustomizeCheckoutTempSalaryAid", + type: "datetime2", + nullable: false, + defaultValue: new DateTime(1, 1, 1, 0, 0, 0, 0, DateTimeKind.Unspecified)); + + migrationBuilder.AddColumn( + name: "CalculationDateTimeFa", + table: "CustomizeCheckoutTempSalaryAid", + type: "nvarchar(15)", + maxLength: 15, + nullable: true); + + migrationBuilder.AddColumn( + name: "EntityId", + table: "CustomizeCheckoutTempSalaryAid", + type: "bigint", + nullable: false, + defaultValue: 0L); + + migrationBuilder.AddColumn( + name: "EntityId", + table: "CustomizeCheckoutTempReward", + type: "bigint", + nullable: false, + defaultValue: 0L); + + migrationBuilder.AddColumn( + name: "EntityId", + table: "CustomizeCheckoutTempLoanInstallments", + type: "bigint", + nullable: false, + defaultValue: 0L); + + migrationBuilder.AddColumn( + name: "EntityId", + table: "CustomizeCheckoutTempFine", + type: "bigint", + nullable: false, + defaultValue: 0L); + + migrationBuilder.AddColumn( + name: "CalculationDateTime", + table: "CustomizeCheckoutSalaryAid", + type: "datetime2", + nullable: false, + defaultValue: new DateTime(1, 1, 1, 0, 0, 0, 0, DateTimeKind.Unspecified)); + + migrationBuilder.AddColumn( + name: "CalculationDateTimeFa", + table: "CustomizeCheckoutSalaryAid", + type: "nvarchar(15)", + maxLength: 15, + nullable: true); + + migrationBuilder.AddColumn( + name: "EntityId", + table: "CustomizeCheckoutSalaryAid", + type: "bigint", + nullable: false, + defaultValue: 0L); + + migrationBuilder.AddColumn( + name: "EntityId", + table: "CustomizeCheckoutReward", + type: "bigint", + nullable: false, + defaultValue: 0L); + + migrationBuilder.AddColumn( + name: "EntityId", + table: "CustomizeCheckoutLoanInstallments", + type: "bigint", + nullable: false, + defaultValue: 0L); + + migrationBuilder.AddColumn( + name: "EntityId", + table: "CustomizeCheckoutFine", + type: "bigint", + nullable: false, + defaultValue: 0L); + } + + /// + protected override void Down(MigrationBuilder migrationBuilder) + { + migrationBuilder.DropColumn( + name: "CalculationDate", + table: "SalaryAids"); + + migrationBuilder.DropColumn( + name: "CalculationMonth", + table: "SalaryAids"); + + migrationBuilder.DropColumn( + name: "CalculationYear", + table: "SalaryAids"); + + migrationBuilder.DropColumn( + name: "CalculationDateTime", + table: "CustomizeCheckoutTempSalaryAid"); + + migrationBuilder.DropColumn( + name: "CalculationDateTimeFa", + table: "CustomizeCheckoutTempSalaryAid"); + + migrationBuilder.DropColumn( + name: "EntityId", + table: "CustomizeCheckoutTempSalaryAid"); + + migrationBuilder.DropColumn( + name: "EntityId", + table: "CustomizeCheckoutTempReward"); + + migrationBuilder.DropColumn( + name: "EntityId", + table: "CustomizeCheckoutTempLoanInstallments"); + + migrationBuilder.DropColumn( + name: "EntityId", + table: "CustomizeCheckoutTempFine"); + + migrationBuilder.DropColumn( + name: "CalculationDateTime", + table: "CustomizeCheckoutSalaryAid"); + + migrationBuilder.DropColumn( + name: "CalculationDateTimeFa", + table: "CustomizeCheckoutSalaryAid"); + + migrationBuilder.DropColumn( + name: "EntityId", + table: "CustomizeCheckoutSalaryAid"); + + migrationBuilder.DropColumn( + name: "EntityId", + table: "CustomizeCheckoutReward"); + + migrationBuilder.DropColumn( + name: "EntityId", + table: "CustomizeCheckoutLoanInstallments"); + + migrationBuilder.DropColumn( + name: "EntityId", + table: "CustomizeCheckoutFine"); + } + } +} diff --git a/CompanyManagment.EFCore/Migrations/CompanyContextModelSnapshot.cs b/CompanyManagment.EFCore/Migrations/CompanyContextModelSnapshot.cs index 4197b0c1..9abe64d1 100644 --- a/CompanyManagment.EFCore/Migrations/CompanyContextModelSnapshot.cs +++ b/CompanyManagment.EFCore/Migrations/CompanyContextModelSnapshot.cs @@ -4720,6 +4720,15 @@ namespace CompanyManagment.EFCore.Migrations b.Property("Amount") .HasColumnType("float"); + b.Property("CalculationDate") + .HasColumnType("datetime2"); + + b.Property("CalculationMonth") + .HasColumnType("int"); + + b.Property("CalculationYear") + .HasColumnType("int"); + b.Property("CreatedByAccountId") .HasColumnType("bigint"); @@ -6289,6 +6298,9 @@ namespace CompanyManagment.EFCore.Migrations b1.Property("CreationDate") .HasColumnType("datetime2"); + b1.Property("EntityId") + .HasColumnType("bigint"); + b1.Property("FineDateFa") .HasMaxLength(12) .HasColumnType("nvarchar(12)"); @@ -6328,6 +6340,9 @@ namespace CompanyManagment.EFCore.Migrations .HasMaxLength(25) .HasColumnType("nvarchar(25)"); + b1.Property("EntityId") + .HasColumnType("bigint"); + b1.Property("IsActive") .IsRequired() .HasMaxLength(5) @@ -6375,6 +6390,9 @@ namespace CompanyManagment.EFCore.Migrations b1.Property("Description") .HasColumnType("ntext"); + b1.Property("EntityId") + .HasColumnType("bigint"); + b1.Property("GrantDate") .HasColumnType("datetime2"); @@ -6414,6 +6432,16 @@ namespace CompanyManagment.EFCore.Migrations .HasMaxLength(25) .HasColumnType("nvarchar(25)"); + b1.Property("CalculationDateTime") + .HasColumnType("datetime2"); + + b1.Property("CalculationDateTimeFa") + .HasMaxLength(15) + .HasColumnType("nvarchar(15)"); + + b1.Property("EntityId") + .HasColumnType("bigint"); + b1.Property("SalaryAidDateTime") .HasColumnType("datetime2"); @@ -6564,6 +6592,9 @@ namespace CompanyManagment.EFCore.Migrations b1.Property("CreationDate") .HasColumnType("datetime2"); + b1.Property("EntityId") + .HasColumnType("bigint"); + b1.Property("FineDateFa") .HasMaxLength(12) .HasColumnType("nvarchar(12)"); @@ -6603,6 +6634,9 @@ namespace CompanyManagment.EFCore.Migrations .HasMaxLength(25) .HasColumnType("nvarchar(25)"); + b1.Property("EntityId") + .HasColumnType("bigint"); + b1.Property("IsActive") .IsRequired() .HasMaxLength(5) @@ -6650,6 +6684,9 @@ namespace CompanyManagment.EFCore.Migrations b1.Property("Description") .HasColumnType("ntext"); + b1.Property("EntityId") + .HasColumnType("bigint"); + b1.Property("GrantDate") .HasColumnType("datetime2"); @@ -6689,6 +6726,16 @@ namespace CompanyManagment.EFCore.Migrations .HasMaxLength(25) .HasColumnType("nvarchar(25)"); + b1.Property("CalculationDateTime") + .HasColumnType("datetime2"); + + b1.Property("CalculationDateTimeFa") + .HasMaxLength(15) + .HasColumnType("nvarchar(15)"); + + b1.Property("EntityId") + .HasColumnType("bigint"); + b1.Property("SalaryAidDateTime") .HasColumnType("datetime2"); diff --git a/CompanyManagment.EFCore/Repository/CustomizeCheckoutRepository.cs b/CompanyManagment.EFCore/Repository/CustomizeCheckoutRepository.cs index 4f585986..d126c5b8 100644 --- a/CompanyManagment.EFCore/Repository/CustomizeCheckoutRepository.cs +++ b/CompanyManagment.EFCore/Repository/CustomizeCheckoutRepository.cs @@ -17,17 +17,15 @@ using System.Collections.Generic; using System.Globalization; using System.IO; using System.Linq; +using System.Threading.Tasks; using _0_Framework.Domain.CustomizeCheckoutShared.Base; -using Company.Domain.CustomizeCheckoutAgg.ValueObjects; +using AccountMangement.Infrastructure.EFCore; using CompanyManagment.App.Contracts.EmployeeDocuments; using CompanyManagment.App.Contracts.Fine; using CompanyManagment.App.Contracts.Loan; using CompanyManagment.App.Contracts.Reward; using CompanyManagment.App.Contracts.SalaryAid; -using AccountMangement.Infrastructure.EFCore; -using CompanyManagment.App.Contracts.EmployeeDocuments; using Microsoft.AspNetCore.Hosting; -using System.IO; namespace CompanyManagment.EFCore.Repository { @@ -37,7 +35,8 @@ namespace CompanyManagment.EFCore.Repository private readonly IRollCallRepository _rollCallRepository; private readonly AccountContext _accountContext; private readonly IWebHostEnvironment _webHostEnvironment; - public CustomizeCheckoutRepository(CompanyContext context, IRollCallRepository rollCallRepository, AccountContext accountContext, IWebHostEnvironment webHostEnvironment) : base(context) + + public CustomizeCheckoutRepository(CompanyContext context, IRollCallRepository rollCallRepository, AccountContext accountContext, IWebHostEnvironment webHostEnvironment) : base(context) { _companyContext = context; _rollCallRepository = rollCallRepository; @@ -77,152 +76,152 @@ namespace CompanyManagment.EFCore.Repository }).ToList(); } - public List PrintAll(long workshopId, IEnumerable customizeCheckoutIds) - { + public List PrintAll(long workshopId, IEnumerable customizeCheckoutIds) + { - //var pc = new PersianCalendar(); - //var year = pc.GetYear(monthStart); - //var month = pc.GetMonth(monthStart); + //var pc = new PersianCalendar(); + //var year = pc.GetYear(monthStart); + //var month = pc.GetMonth(monthStart); - IQueryable customizeCheckoutsQuery = _companyContext.CustomizeCheckouts.AsSplitQuery() - .Where(x => customizeCheckoutIds.Contains(x.id)).Include(x => x.CheckoutFines); + IQueryable customizeCheckoutsQuery = _companyContext.CustomizeCheckouts.AsSplitQuery() + .Where(x => customizeCheckoutIds.Contains(x.id)).Include(x => x.CheckoutFines); - IQueryable workshopsQuery = _companyContext.Workshops.Where(x => customizeCheckoutsQuery.Any(y => y.WorkshopId == x.id)); + IQueryable workshopsQuery = _companyContext.Workshops.Where(x => customizeCheckoutsQuery.Any(y => y.WorkshopId == x.id)); - IQueryable workshopEmployersIdsQuery = _companyContext.WorkshopEmployers.Where(x => x.WorkshopId == workshopId).Select(x => x.EmployerId); - IQueryable employersQuery = _companyContext.Employers.Where(x => workshopEmployersIdsQuery.Contains(x.id)); + IQueryable workshopEmployersIdsQuery = _companyContext.WorkshopEmployers.Where(x => x.WorkshopId == workshopId).Select(x => x.EmployerId); + IQueryable employersQuery = _companyContext.Employers.Where(x => workshopEmployersIdsQuery.Contains(x.id)); - IQueryable personnelCodesQuery = _companyContext.PersonnelCodeSet - .Where(x => customizeCheckoutsQuery.Any(y => y.WorkshopId == x.WorkshopId && y.EmployeeId == x.EmployeeId)); + IQueryable personnelCodesQuery = _companyContext.PersonnelCodeSet + .Where(x => customizeCheckoutsQuery.Any(y => y.WorkshopId == x.WorkshopId && y.EmployeeId == x.EmployeeId)); - //IQueryable leftWorksQuery = _companyContext.LeftWorkList - // .Where(x => customizeCheckoutsQuery.Any(y => y.WorkshopId == x.WorkshopId && y.EmployeeId == x.EmployeeId) && - // x.LeftWorkDate.AddDays(-1) >= monthStart && x.StartWorkDate <= monthEnd); + //IQueryable leftWorksQuery = _companyContext.LeftWorkList + // .Where(x => customizeCheckoutsQuery.Any(y => y.WorkshopId == x.WorkshopId && y.EmployeeId == x.EmployeeId) && + // x.LeftWorkDate.AddDays(-1) >= monthStart && x.StartWorkDate <= monthEnd); - //IQueryable employeesQuery = _companyContext.Employees.Where(x => customizeCheckoutsQuery.Any(y => y.EmployeeId == x.id)); + //IQueryable employeesQuery = _companyContext.Employees.Where(x => customizeCheckoutsQuery.Any(y => y.EmployeeId == x.id)); - var loans = _companyContext.Loans.AsSplitQuery().Where(x => x.WorkshopId == workshopId).ToList(); + var loans = _companyContext.Loans.AsSplitQuery().Where(x => x.WorkshopId == workshopId).ToList(); - List<(string Picture, long Id)> employeePictures; + List<(string Picture, long Id)> employeePictures; - var employeePicMediaIdInEmployeeDoc = _companyContext.EmployeeDocumentItems.Where(x => customizeCheckoutsQuery - .Any(y => y.WorkshopId == x.WorkshopId && y.EmployeeId == x.EmployeeId) && - x.DocumentLabel == DocumentItemLabel.EmployeePicture && - x.DocumentStatus == DocumentStatus.Confirmed) - ?.Select(x => new { x.EmployeeId, x.MediaId }).ToList(); + var employeePicMediaIdInEmployeeDoc = _companyContext.EmployeeDocumentItems.Where(x => customizeCheckoutsQuery + .Any(y => y.WorkshopId == x.WorkshopId && y.EmployeeId == x.EmployeeId) && + x.DocumentLabel == DocumentItemLabel.EmployeePicture && + x.DocumentStatus == DocumentStatus.Confirmed) + ?.Select(x => new { x.EmployeeId, x.MediaId }).ToList(); - var mediasInEmployeeDoc = _accountContext.Medias.Where(x => employeePicMediaIdInEmployeeDoc.Select(y => y.MediaId).Contains(x.id)).ToList(); - employeePictures = employeePicMediaIdInEmployeeDoc.Select(x => - { - var media = mediasInEmployeeDoc.First(m => m.id == x.MediaId); - var filePath = media.Path; - if (!System.IO.File.Exists(filePath)) - throw new FileNotFoundException("فایل مورد نظر یافت نشد.", filePath); + var mediasInEmployeeDoc = _accountContext.Medias.Where(x => employeePicMediaIdInEmployeeDoc.Select(y => y.MediaId).Contains(x.id)).ToList(); + employeePictures = employeePicMediaIdInEmployeeDoc.Select(x => + { + var media = mediasInEmployeeDoc.First(m => m.id == x.MediaId); + var filePath = media.Path; + if (!System.IO.File.Exists(filePath)) + throw new FileNotFoundException("فایل مورد نظر یافت نشد.", filePath); - byte[] fileBytes = System.IO.File.ReadAllBytes(filePath); - var base64 = Convert.ToBase64String(fileBytes); + byte[] fileBytes = System.IO.File.ReadAllBytes(filePath); + var base64 = Convert.ToBase64String(fileBytes); - return (base64, x.EmployeeId); - }).ToList(); + return (base64, x.EmployeeId); + }).ToList(); - var employeeIds = customizeCheckoutsQuery.Select(x => x.EmployeeId).ToList() - .Where(x => !employeePictures.Select(e => e.Id).Contains(x)).ToList(); + var employeeIds = customizeCheckoutsQuery.Select(x => x.EmployeeId).ToList() + .Where(x => !employeePictures.Select(e => e.Id).Contains(x)).ToList(); - foreach (var employeeId in employeeIds) - { - var directoryPath = $"{_webHostEnvironment.ContentRootPath}\\Faces\\{workshopId}\\{employeeId}\\1.jpg"; + foreach (var employeeId in employeeIds) + { + var directoryPath = $"{_webHostEnvironment.ContentRootPath}\\Faces\\{workshopId}\\{employeeId}\\1.jpg"; - if (!System.IO.File.Exists(directoryPath)) - continue; + if (!System.IO.File.Exists(directoryPath)) + continue; - byte[] fileBytes = System.IO.File.ReadAllBytes(directoryPath); - var base64 = Convert.ToBase64String(fileBytes); + byte[] fileBytes = System.IO.File.ReadAllBytes(directoryPath); + var base64 = Convert.ToBase64String(fileBytes); - employeePictures.Add((base64, employeeId)); - } + employeePictures.Add((base64, employeeId)); + } - List customizeCheckoutsList = customizeCheckoutsQuery.Select(x => new CustomizeCheckoutViewModel - { - Id = x.id, - WorkshopId = x.WorkshopId, - ContractId = x.ContractId == null ? 0 : x.ContractId.Value, - EmployeeId = x.EmployeeId, - Month = x.Month, - Year = x.Year, - ContractNo = x.ContractNo, - MonthlySalary = x.MonthlySalary.ToMoney(), - BaseYearsPay = x.BaseYearsPay.ToMoney(), - OvertimePay = x.OverTimePay.ToMoney(), - NightworkPay = x.NightWorkPay.ToMoney(), - FridayPay = x.FridayPay.ToMoney(), - ShiftPay = x.ShiftPay.ToMoney(), - FamilyAllowance = x.FamilyAllowance.ToMoney(), - BonusesPay = x.BonusesPay.ToMoney(), - LeavePay = x.LeavePay.ToMoney(), - InsuranceDeduction = x.InsuranceDeduction.ToMoney(), - TaxDeducation = x.TaxDeduction.ToMoney(), - InstallmentDeduction = x.InstallmentDeduction.ToMoney(), - SalaryAidDeduction = x.SalaryAidDeduction.ToMoney(), - AbsenceDeduction = x.FineAbsenceDeduction.ToMoney(), - TotalClaims = x.TotalClaims, - TotalDeductions = x.TotalDeductions, - TotalPayment = x.TotalPayment.ToMoney(), - RewardPay = x.RewardPay.ToMoney(), - ContractStartGr = x.ContractStart, - ContractEndGr = x.ContractEnd, - MarriedAllowance = x.MarriedAllowance.ToMoney(), - ContractEndFa = x.ContractEnd.ToFarsi(), - ContractStartFa = x.ContractStart.ToFarsi(), - CreationDate = x.CreationDate, - SumOfWorkingDays = x.SumOfWorkingDays, - WorkshopName = x.WorkshopFullName, - DateOfBirth = x.DateOfBirth.ToFarsi(), - NationalCode = x.NationalCode, - EmployeeFName = x.EmployeeFName, - EmployeeLName = x.EmployeeLName, - EarlyExitDeduction = x.EarlyExitDeduction.ToMoney(), - LateToWorkDeduction = x.LateToWorkDeduction.ToMoney(), - FineDeduction = x.FineDeduction.ToMoney(), - FineViewModelList = x.CheckoutFines.Select(y => new FineViewModel() - { - Amount = y.Amount, - FineDate = y.FineDateFa, - Title = y.Title - }).ToList(), - InstallmentViewModels = x.CustomizeCheckoutLoanInstallments.Select(i => new LoanInstallmentViewModel() - { - Amount = i.AmountForMonth, - AmountDouble = i.AmountForMonth.MoneyToDouble(), - Year = i.Year, - Month = i.Month, - IsActive = i.IsActive, - RemainingAmount = i.LoanRemaining, - LoanAmount = i.LoanAmount - }).ToList(), - RewardViewModels = x.CustomizeCheckoutRewards.Select(r => new RewardViewModel() - { - IsActive = r.IsActive, - Title = r.Title, - Amount = r.Amount, - AmountDouble = r.Amount.MoneyToDouble(), - Description = r.Description, - GrantDateFa = r.GrantDateFa, - GrantDateGr = r.GrantDate - }).ToList(), - SalaryAidViewModels = x.CustomizeCheckoutSalaryAids.Select(s => new SalaryAidViewModel() - { - Amount = s.Amount, - AmountDouble = s.Amount.MoneyToDouble(), - SalaryAidDateTimeFa = s.SalaryAidDateTimeFa, - SalaryAidDateTimeGe = s.SalaryAidDateTime - }).ToList(), + List customizeCheckoutsList = customizeCheckoutsQuery.Select(x => new CustomizeCheckoutViewModel + { + Id = x.id, + WorkshopId = x.WorkshopId, + ContractId = x.ContractId == null ? 0 : x.ContractId.Value, + EmployeeId = x.EmployeeId, + Month = x.Month, + Year = x.Year, + ContractNo = x.ContractNo, + MonthlySalary = x.MonthlySalary.ToMoney(), + BaseYearsPay = x.BaseYearsPay.ToMoney(), + OvertimePay = x.OverTimePay.ToMoney(), + NightworkPay = x.NightWorkPay.ToMoney(), + FridayPay = x.FridayPay.ToMoney(), + ShiftPay = x.ShiftPay.ToMoney(), + FamilyAllowance = x.FamilyAllowance.ToMoney(), + BonusesPay = x.BonusesPay.ToMoney(), + LeavePay = x.LeavePay.ToMoney(), + InsuranceDeduction = x.InsuranceDeduction.ToMoney(), + TaxDeducation = x.TaxDeduction.ToMoney(), + InstallmentDeduction = x.InstallmentDeduction.ToMoney(), + SalaryAidDeduction = x.SalaryAidDeduction.ToMoney(), + AbsenceDeduction = x.FineAbsenceDeduction.ToMoney(), + TotalClaims = x.TotalClaims, + TotalDeductions = x.TotalDeductions, + TotalPayment = x.TotalPayment.ToMoney(), + RewardPay = x.RewardPay.ToMoney(), + ContractStartGr = x.ContractStart, + ContractEndGr = x.ContractEnd, + MarriedAllowance = x.MarriedAllowance.ToMoney(), + ContractEndFa = x.ContractEnd.ToFarsi(), + ContractStartFa = x.ContractStart.ToFarsi(), + CreationDate = x.CreationDate, + SumOfWorkingDays = x.SumOfWorkingDays, + WorkshopName = x.WorkshopFullName, + DateOfBirth = x.DateOfBirth.ToFarsi(), + NationalCode = x.NationalCode, + EmployeeFName = x.EmployeeFName, + EmployeeLName = x.EmployeeLName, + EarlyExitDeduction = x.EarlyExitDeduction.ToMoney(), + LateToWorkDeduction = x.LateToWorkDeduction.ToMoney(), + FineDeduction = x.FineDeduction.ToMoney(), + FineViewModelList = x.CheckoutFines.Select(y => new FineViewModel() + { + Amount = y.Amount, + FineDate = y.FineDateFa, + Title = y.Title + }).ToList(), + InstallmentViewModels = x.CustomizeCheckoutLoanInstallments.Select(i => new LoanInstallmentViewModel() + { + Amount = i.AmountForMonth, + AmountDouble = i.AmountForMonth.MoneyToDouble(), + Year = i.Year, + Month = i.Month, + IsActive = i.IsActive, + RemainingAmount = i.LoanRemaining, + LoanAmount = i.LoanAmount + }).ToList(), + RewardViewModels = x.CustomizeCheckoutRewards.Select(r => new RewardViewModel() + { + IsActive = r.IsActive, + Title = r.Title, + Amount = r.Amount, + AmountDouble = r.Amount.MoneyToDouble(), + Description = r.Description, + GrantDateFa = r.GrantDateFa, + GrantDateGr = r.GrantDate + }).ToList(), + SalaryAidViewModels = x.CustomizeCheckoutSalaryAids.Select(s => new SalaryAidViewModel() + { + Amount = s.Amount, + AmountDouble = s.Amount.MoneyToDouble(), + SalaryAidDateTimeFa = s.SalaryAidDateTimeFa, + SalaryAidDateTimeGe = s.SalaryAidDateTime + }).ToList(), LateToWorkValue = x.LateToWorkValue == TimeSpan.Zero ? "-" : $"{(int)x.LateToWorkValue.TotalHours}:{Convert.ToInt32(x.LateToWorkValue.TotalMinutes % 60):00}", @@ -231,7 +230,7 @@ namespace CompanyManagment.EFCore.Repository ShiftStatus = x.ShiftStatus, IrregularShift = x.IrregularShift, CustomizeRotatingShifts = x.CustomizeRotatingShifts.ToList(), - RegularShift = x.RegularShifts.Select(s=> (CustomizeSifts)s).ToList() + RegularShift = x.RegularShifts.Select(s => (CustomizeSifts)s).ToList() }).ToList(); List workshopsList = workshopsQuery.Select(x => new WorkshopViewModel @@ -268,45 +267,44 @@ namespace CompanyManagment.EFCore.Repository PersonnelCode = Convert.ToInt64(x.PersonnelCode) }).ToList(); - var date = customizeCheckoutsList.FirstOrDefault(); + var date = customizeCheckoutsList.FirstOrDefault(); - if (date == null) - return new(); + if (date == null) + return new(); - var startDate = date.ContractStartGr.AddMonthsFa(0, out _).ToGeorgianDateTime().Date; - var endDate = startDate.AddMonthsFa(1, out _).ToGeorgianDateTime().Date.AddTicks(-1); + var startDate = date.ContractStartGr.AddMonthsFa(0, out _).ToGeorgianDateTime().Date; + var endDate = startDate.AddMonthsFa(1, out _).ToGeorgianDateTime().Date.AddTicks(-1); - List personnelRollCalls = _rollCallRepository - .GetEmployeeRollCallsForMonth(customizeCheckoutsList.Select(x => x.EmployeeId), workshopId, startDate, endDate); + List personnelRollCalls = _rollCallRepository + .GetEmployeeRollCallsForMonth(customizeCheckoutsList.Select(x => x.EmployeeId), workshopId, startDate, endDate); - int counter = 1; + int counter = 1; - foreach (var checkout in customizeCheckoutsList) - { - checkout.EmployeePicture = - employeePictures.FirstOrDefault(p => p.Id == checkout.EmployeeId).Picture ?? ""; + foreach (var checkout in customizeCheckoutsList) + { + checkout.EmployeePicture = + employeePictures.FirstOrDefault(p => p.Id == checkout.EmployeeId).Picture ?? ""; - checkout.PrintCounter = counter++; + checkout.PrintCounter = counter++; - //var leftwork = leftWorksList.FirstOrDefault(x => checkout.WorkshopId == x.WorkshopId && x.EmployeeId == checkout.EmployeeId); - //checkout.LeftWorkDateGr = leftwork.LeftWorkDateGr; + //var leftwork = leftWorksList.FirstOrDefault(x => checkout.WorkshopId == x.WorkshopId && x.EmployeeId == checkout.EmployeeId); + //checkout.LeftWorkDateGr = leftwork.LeftWorkDateGr; - //var employee = employees.FirstOrDefault(x => x.Id == checkout.EmployeeId); + //var employee = employees.FirstOrDefault(x => x.Id == checkout.EmployeeId); - checkout.EmployerList = workshopEmployersList; - checkout.EmployerName = workshopEmployersList.FirstOrDefault()?.FullName ?? "-"; + checkout.EmployerList = workshopEmployersList; + checkout.EmployerName = workshopEmployersList.FirstOrDefault()?.FullName ?? "-"; - checkout.MonthlyRollCall = personnelRollCalls.FirstOrDefault(x => x.EmployeeId == checkout.EmployeeId); - checkout.PersonnelCode = personnelCodeList.FirstOrDefault(x => x.EmployeeId == checkout.EmployeeId)?.PersonnelCode ?? 0; + checkout.MonthlyRollCall = personnelRollCalls.FirstOrDefault(x => x.EmployeeId == checkout.EmployeeId); + checkout.PersonnelCode = personnelCodeList.FirstOrDefault(x => x.EmployeeId == checkout.EmployeeId)?.PersonnelCode ?? 0; - } - return customizeCheckoutsList.OrderBy(x => x.EmployeeFullName).ToList(); + } + return customizeCheckoutsList.OrderBy(x => x.EmployeeFullName).ToList(); - } + } - public void RemoveEmployeeCustomizeCheckoutInDates(long workshopId, long employeeId, DateTime startOfMonth, DateTime endOfMonth) { var checkout = _companyContext.CustomizeCheckouts.FirstOrDefault(x => x.WorkshopId == workshopId && x.EmployeeId == employeeId && @@ -315,143 +313,185 @@ namespace CompanyManagment.EFCore.Repository _companyContext.CustomizeCheckouts.Remove(checkout); } - public IEnumerable GetRange(long workshopId,List ids) + public IEnumerable GetRange(long workshopId, List ids) { - return _companyContext.CustomizeCheckouts.Where(x => x.WorkshopId==workshopId && ids.Contains(x.id)).AsEnumerable(); + return _companyContext.CustomizeCheckouts.Where(x => x.WorkshopId == workshopId && ids.Contains(x.id)).AsEnumerable(); } - #endregion + public List GetByWorkshopIdEmployeeIdInDates(long workshopId, long employeeId, DateTime startDate, + DateTime endDate) + { + var checkouts = _companyContext.CustomizeCheckouts.Where(x => x.WorkshopId == workshopId && x.EmployeeId == employeeId && + x.ContractStart <= endDate && x.ContractEnd >= startDate).ToList(); + return checkouts; + } - public IEnumerable Search(SearchCustomizeCheckout searchModel) - { - OperationResult op = new(); - var query = _companyContext.CustomizeCheckouts.Include(x => x.Employee) - .ThenInclude(x => x.PersonnelCodeList). - Include(x => x.Employee).ThenInclude(x => x.EmployeeBankInformationList) - .AsSplitQuery().Where(x => x.WorkshopId == searchModel.WorkshopId); - #region parameters initialize + public async Task GetByWorkshopIdEmployeeIdMonthYear(long workshopId, long employeeId, + int year, int month) + { + return await _companyContext.CustomizeCheckouts.FirstOrDefaultAsync(x => + x.WorkshopId == workshopId && x.EmployeeId == employeeId && x.MonthInt == month && x.YearInt == year); + } - ////start of search is the first day of the current month by default and end of search is today - //var startSearchDate = DateTime.Now.FindFirstDayOfMonth().ToGeorgianDateTime().Date; - //var endSearchDate = DateTime.Today; - - var pc = new PersianCalendar(); - var currentYear = pc.GetYear(DateTime.Now); - var currentMonth = pc.GetMonth(DateTime.Now); - - if (!string.IsNullOrWhiteSpace(searchModel.SearchStartFa) && !string.IsNullOrWhiteSpace(searchModel.SearchEndFa) && - searchModel.Year == 0 && searchModel.Month == 0) - { - var queryStartDate = searchModel.SearchStartFa.ToGeorgianDateTime().Date; - var queryEndDate = searchModel.SearchEndFa.ToGeorgianDateTime().Date; - - //if (queryEndDate > queryStartDate && queryEndDate <= DateTime.Today) - //{ - // startSearchDate = queryStartDate; - // endSearchDate = queryEndDate; - //} - //query = query.Where(x => x.ContractEnd.Date >= startSearchDate && x.ContractStart.Date <= endSearchDate); - query = query.Where(x => x.ContractEnd.Date >= queryStartDate && x.ContractStart.Date <= queryEndDate); - } + public (bool Checkout, bool CustomizeCheckout, bool CustomizeCheckoutTemp) ValidateExistsCheckouts( + DateTime startDate, DateTime endDate, long workshopId, List employeeIds) + { + (bool Checkout, bool CustomizeCheckout, bool CustomizeCheckoutTemp) data = new(); - if (searchModel.Year > 0 && searchModel.Month > 0 && searchModel.Month < 13) - { - var queryStartDate = $"{searchModel.Year:0000}/{searchModel.Month:00}/01".ToGeorgianDateTime(); - queryStartDate.FindFirstDayOfNextMonth(out var queryEndDate); - queryEndDate = queryEndDate.Date.AddTicks(-1); + if (_companyContext.CustomizeCheckouts.Any(x => x.WorkshopId == workshopId && employeeIds.Contains(x.EmployeeId) && + x.ContractStart <= endDate && x.ContractEnd >= startDate)) + { + data.CustomizeCheckout = true; + } + + if (_companyContext.CustomizeCheckoutTemps.Any(x => x.WorkshopId == workshopId && employeeIds.Contains(x.EmployeeId) && + x.ContractStart <= endDate && x.ContractEnd >= startDate)) + { + data.CustomizeCheckoutTemp = true; + } + + if (_companyContext.CheckoutSet.Any(x => x.WorkshopId == workshopId && employeeIds.Contains(x.EmployeeId) && + x.ContractStart <= endDate && x.ContractEnd >= startDate)) + { + data.Checkout = true; + } + + return data; + } + + #endregion + + public IEnumerable Search(SearchCustomizeCheckout searchModel) + { + OperationResult op = new(); + var query = _companyContext.CustomizeCheckouts.Include(x => x.Employee) + .ThenInclude(x => x.PersonnelCodeList). + Include(x => x.Employee).ThenInclude(x => x.EmployeeBankInformationList) + .AsSplitQuery().Where(x => x.WorkshopId == searchModel.WorkshopId); + #region parameters initialize + + ////start of search is the first day of the current month by default and end of search is today + //var startSearchDate = DateTime.Now.FindFirstDayOfMonth().ToGeorgianDateTime().Date; + //var endSearchDate = DateTime.Today; + + var pc = new PersianCalendar(); + var currentYear = pc.GetYear(DateTime.Now); + var currentMonth = pc.GetMonth(DateTime.Now); + + if (!string.IsNullOrWhiteSpace(searchModel.SearchStartFa) && !string.IsNullOrWhiteSpace(searchModel.SearchEndFa) && + searchModel.Year == 0 && searchModel.Month == 0) + { + var queryStartDate = searchModel.SearchStartFa.ToGeorgianDateTime().Date; + var queryEndDate = searchModel.SearchEndFa.ToGeorgianDateTime().Date; + + //if (queryEndDate > queryStartDate && queryEndDate <= DateTime.Today) + //{ + // startSearchDate = queryStartDate; + // endSearchDate = queryEndDate; + //} + //query = query.Where(x => x.ContractEnd.Date >= startSearchDate && x.ContractStart.Date <= endSearchDate); + query = query.Where(x => x.ContractEnd.Date >= queryStartDate && x.ContractStart.Date <= queryEndDate); + } - //if (queryEndDate >= DateTime.Today) - //{ - // queryEndDate = DateTime.Now.AddDays(-1).Date; - //} - - if (searchModel.Year == currentYear && searchModel.Month == currentMonth) - { - queryEndDate = DateTime.Now.AddDays(-1).Date; - } - - query = query.Where(x => x.ContractEnd <= queryEndDate && x.ContractStart >= queryStartDate); - } + if (searchModel.Year > 0 && searchModel.Month > 0 && searchModel.Month < 12) + { + var queryStartDate = $"{searchModel.Year:0000}/{searchModel.Month:00}/01".ToGeorgianDateTime(); + queryStartDate.FindFirstDayOfNextMonth(out var queryEndDate); + queryEndDate = queryEndDate.Date.AddTicks(-1); - ////Month Index operations - //startSearchDate.AddMonthsFa(-1 * (searchModel.MonthIndex), out startSearchDate); - //startSearchDate.FindFirstDayOfNextMonth(out endSearchDate); - //endSearchDate = endSearchDate.AddDays(-1); + if (queryEndDate >= DateTime.Today) + { + queryEndDate = DateTime.Now.AddDays(-1).Date; + } + + else if (searchModel.Year == currentYear && searchModel.Month == currentMonth) + { + queryEndDate = DateTime.Now.AddDays(-1).Date; + } + + query = query.Where(x => x.ContractEnd <= queryEndDate && x.ContractStart >= queryStartDate); + } - #endregion + ////Month Index operations + //startSearchDate.AddMonthsFa(-1 * (searchModel.MonthIndex), out startSearchDate); + //startSearchDate.FindFirstDayOfNextMonth(out endSearchDate); + //endSearchDate = endSearchDate.AddDays(-1); - if (searchModel.EmployeeId > 0) - query = query.Where(x => x.EmployeeId == searchModel.EmployeeId); + #endregion - if (searchModel.BankId > 0) - query = query.Where(x => x.Employee.EmployeeBankInformationList.Any(y => y.BankId == searchModel.BankId)); - - switch (searchModel.OrderBy) - { - case CustomizeCheckoutOrderByEnum.ContractStartDesc: - query = query.OrderByDescending(x => x.ContractStart.Date); - break; - case CustomizeCheckoutOrderByEnum.ContractStart: - query = query.OrderBy(x => x.ContractStart.Date); - break; - case CustomizeCheckoutOrderByEnum.ContractNoDesc: - query = query.OrderByDescending(x => x.ContractNo); - break; - case CustomizeCheckoutOrderByEnum.ContractNo: - query = query.OrderBy(x => x.ContractNo); - break; - default: - query = query.OrderByDescending(x => x.ContractStart.Date); - break; - - } - if (searchModel.Year == 0 || searchModel.Month == 0) - query = query.Skip(searchModel.PageIndex).Take(30); - - return query.Select(x => new CustomizeCheckoutViewModel() - { - Id = x.id, - ContractEndFa = x.ContractEnd.ToFarsi(), - ContractStartFa = x.ContractStart.ToFarsi(), - ContractNo = x.ContractNo, - EmployeeFName = x.Employee.FName, - EmployeeLName = x.Employee.LName, - PersonnelCode = x.Employee.PersonnelCodeList.FirstOrDefault(y => y.WorkshopId == searchModel.WorkshopId).PersonnelCode, - Month = pc.GetMonth(x.ContractStart).ToFarsiMonthByIntNumber(), - Year = pc.GetYear(x.ContractStart).ToString(), - BaseYearsPay = x.BaseYearsPay.ToMoney(), - BonusesPay = x.BonusesPay.ToMoney(), - EarlyExitDeduction = x.EarlyExitDeduction.ToMoney(), - FamilyAllowance = x.FamilyAllowance.ToMoney(), - AbsenceDeduction = x.FineAbsenceDeduction.ToMoney(), - FineDeduction = x.FineDeduction.ToMoney(), - FridayPay = x.FridayPay.ToMoney(), - InstallmentDeduction = x.InstallmentDeduction.ToMoney(), - InsuranceDeduction = x.InsuranceDeduction.ToMoney(), - LateToWorkDeduction = x.LateToWorkDeduction.ToMoney(), - LeavePay = x.LeavePay.ToMoney(), - MarriedAllowance = x.MarriedAllowance.ToMoney(), - MonthlySalary = x.MonthlySalary.ToMoney(), - NightworkPay = x.NightWorkPay.ToMoney(), - OvertimePay = x.OverTimePay.ToMoney(), - RewardPay = x.RewardPay.ToMoney(), - SalaryAidDeduction = x.SalaryAidDeduction.ToMoney(), - ShiftPay = x.ShiftPay.ToMoney(), - SumOfWorkingDays = x.SumOfWorkingDays.ToString(), - TaxDeducation = x.TaxDeduction.ToMoney(), - TotalPayment = x.TotalPayment.ToMoney(), - TotalPaymentD = x.TotalPayment, - TotalLateToWorkDeduction = x.LateToWorkDeduction.ToMoney(), - - }).ToList(); + if (searchModel.EmployeeId > 0) + query = query.Where(x => x.EmployeeId == searchModel.EmployeeId); - } - } + if (searchModel.BankId > 0) + query = query.Where(x => x.Employee.EmployeeBankInformationList.Any(y => y.BankId == searchModel.BankId)); + + switch (searchModel.OrderBy) + { + case CustomizeCheckoutOrderByEnum.ContractStartDesc: + query = query.OrderByDescending(x => x.ContractStart.Date); + break; + case CustomizeCheckoutOrderByEnum.ContractStart: + query = query.OrderBy(x => x.ContractStart.Date); + break; + case CustomizeCheckoutOrderByEnum.ContractNoDesc: + query = query.OrderByDescending(x => x.ContractNo); + break; + case CustomizeCheckoutOrderByEnum.ContractNo: + query = query.OrderBy(x => x.ContractNo); + break; + default: + query = query.OrderByDescending(x => x.ContractStart.Date); + break; + + } + if (searchModel.Year == 0 || searchModel.Month == 0) + query = query.Skip(searchModel.PageIndex).Take(30); + + return query.Select(x => new CustomizeCheckoutViewModel() + { + Id = x.id, + ContractEndFa = x.ContractEnd.ToFarsi(), + ContractStartFa = x.ContractStart.ToFarsi(), + ContractNo = x.ContractNo, + EmployeeFName = x.Employee.FName, + EmployeeLName = x.Employee.LName, + PersonnelCode = x.Employee.PersonnelCodeList.FirstOrDefault(y => y.WorkshopId == searchModel.WorkshopId).PersonnelCode, + Month = pc.GetMonth(x.ContractStart).ToFarsiMonthByIntNumber(), + Year = pc.GetYear(x.ContractStart).ToString(), + BaseYearsPay = x.BaseYearsPay.ToMoney(), + BonusesPay = x.BonusesPay.ToMoney(), + EarlyExitDeduction = x.EarlyExitDeduction.ToMoney(), + FamilyAllowance = x.FamilyAllowance.ToMoney(), + AbsenceDeduction = x.FineAbsenceDeduction.ToMoney(), + FineDeduction = x.FineDeduction.ToMoney(), + FridayPay = x.FridayPay.ToMoney(), + InstallmentDeduction = x.InstallmentDeduction.ToMoney(), + InsuranceDeduction = x.InsuranceDeduction.ToMoney(), + LateToWorkDeduction = x.LateToWorkDeduction.ToMoney(), + LeavePay = x.LeavePay.ToMoney(), + MarriedAllowance = x.MarriedAllowance.ToMoney(), + MonthlySalary = x.MonthlySalary.ToMoney(), + NightworkPay = x.NightWorkPay.ToMoney(), + OvertimePay = x.OverTimePay.ToMoney(), + RewardPay = x.RewardPay.ToMoney(), + SalaryAidDeduction = x.SalaryAidDeduction.ToMoney(), + ShiftPay = x.ShiftPay.ToMoney(), + SumOfWorkingDays = x.SumOfWorkingDays.ToString(), + TaxDeducation = x.TaxDeduction.ToMoney(), + TotalPayment = x.TotalPayment.ToMoney(), + TotalPaymentD = x.TotalPayment, + TotalLateToWorkDeduction = x.LateToWorkDeduction.ToMoney(), + + }).ToList(); + + + } + } } diff --git a/CompanyManagment.EFCore/Repository/CustomizeCheckoutTempRepository.cs b/CompanyManagment.EFCore/Repository/CustomizeCheckoutTempRepository.cs index fbee660a..1ab9ba57 100644 --- a/CompanyManagment.EFCore/Repository/CustomizeCheckoutTempRepository.cs +++ b/CompanyManagment.EFCore/Repository/CustomizeCheckoutTempRepository.cs @@ -25,6 +25,8 @@ using System.Collections.Generic; using System.Globalization; using System.IO; using System.Linq; +using System.Threading.Tasks; +using Company.Domain.CustomizeCheckoutAgg; namespace CompanyManagment.EFCore.Repository { @@ -33,14 +35,13 @@ namespace CompanyManagment.EFCore.Repository private readonly IRollCallRepository _rollCallRepository; private readonly CompanyContext _companyContext; private readonly AccountContext _accountContext; - private readonly IWebHostEnvironment _webHostEnvironment; - - public CustomizeCheckoutTempRepository(CompanyContext context, IRollCallRepository rollCallRepository, IWebHostEnvironment webHostEnvironment, AccountContext accountContext) : base(context) + private readonly IWebHostEnvironment _webHostEnvironment; + public CustomizeCheckoutTempRepository(CompanyContext context, IRollCallRepository rollCallRepository, AccountContext accountContext, IWebHostEnvironment webHostEnvironment) : base(context) { _companyContext = context; _rollCallRepository = rollCallRepository; - _webHostEnvironment = webHostEnvironment; _accountContext = accountContext; + _webHostEnvironment = webHostEnvironment; } #region Pooya public List GetByWorkshopIdInDates(long workshopId, DateTime startOfMonth, DateTime endOfMonth) @@ -75,294 +76,294 @@ namespace CompanyManagment.EFCore.Repository }).ToList(); } - #endregion + #endregion - public IEnumerable Search(SearchCustomizeCheckout searchModel) - { + public IEnumerable Search(SearchCustomizeCheckout searchModel) + { - var query = _companyContext.CustomizeCheckoutTemps.Include(x => x.Employee) - .ThenInclude(x => x.PersonnelCodeList) - .Include(x => x.Employee).ThenInclude(x => x.EmployeeBankInformationList) - .AsSplitQuery().Where(x => x.WorkshopId == searchModel.WorkshopId); - #region parameters initialize + var query = _companyContext.CustomizeCheckoutTemps.Include(x => x.Employee) + .ThenInclude(x => x.PersonnelCodeList) + .Include(x => x.Employee).ThenInclude(x => x.EmployeeBankInformationList) + .AsSplitQuery().Where(x => x.WorkshopId == searchModel.WorkshopId); + #region parameters initialize - //start of search is the first day of the current month by default and end of search is today - var startSearchDate = DateTime.Now.FindFirstDayOfMonth().ToGeorgianDateTime().Date; - var endSearchDate = DateTime.Today; + //start of search is the first day of the current month by default and end of search is today + var startSearchDate = DateTime.Now.FindFirstDayOfMonth().ToGeorgianDateTime().Date; + var endSearchDate = DateTime.Today; - var pc = new PersianCalendar(); - var currentYear = pc.GetYear(DateTime.Now); - var currentMonth = pc.GetMonth(DateTime.Now); + var pc = new PersianCalendar(); + var currentYear = pc.GetYear(DateTime.Now); + var currentMonth = pc.GetMonth(DateTime.Now); - if (!string.IsNullOrWhiteSpace(searchModel.SearchStartFa) && !string.IsNullOrWhiteSpace(searchModel.SearchEndFa) && - searchModel.Year == 0 && searchModel.Month == 0) - { - var queryStartDate = searchModel.SearchStartFa.ToGeorgianDateTime().Date; - var queryEndDate = searchModel.SearchEndFa.ToGeorgianDateTime().Date; + if (!string.IsNullOrWhiteSpace(searchModel.SearchStartFa) && !string.IsNullOrWhiteSpace(searchModel.SearchEndFa) && + searchModel.Year == 0 && searchModel.Month == 0) + { + var queryStartDate = searchModel.SearchStartFa.ToGeorgianDateTime().Date; + var queryEndDate = searchModel.SearchEndFa.ToGeorgianDateTime().Date; - if (queryEndDate > queryStartDate) - { - startSearchDate = queryStartDate; - endSearchDate = queryEndDate; - } - query = query.Where(x => x.ContractEnd.Date >= startSearchDate && x.ContractStart.Date <= endSearchDate); - } + if (queryEndDate > queryStartDate) + { + startSearchDate = queryStartDate; + endSearchDate = queryEndDate; + } + query = query.Where(x => x.ContractEnd.Date >= startSearchDate && x.ContractStart.Date <= endSearchDate); + } - if (searchModel.Year > 0 && searchModel.Month > 0 && searchModel.Month < 13) - { - var queryStartDate = $"{searchModel.Year:0000}/{searchModel.Month:00}/01".ToGeorgianDateTime(); - queryStartDate.FindFirstDayOfNextMonth(out var queryEndDate); - queryEndDate = queryEndDate.AddDays(-1); + if (searchModel.Year > 0 && searchModel.Month > 0 && searchModel.Month < 13) + { + var queryStartDate = $"{searchModel.Year:0000}/{searchModel.Month:00}/01".ToGeorgianDateTime(); + queryStartDate.FindFirstDayOfNextMonth(out var queryEndDate); + queryEndDate = queryEndDate.AddDays(-1); - //if (queryEndDate < DateTime.Today) - //{ - // startSearchDate = queryStartDate; - // endSearchDate = queryEndDate; - //} + //if (queryEndDate < DateTime.Today) + //{ + // startSearchDate = queryStartDate; + // endSearchDate = queryEndDate; + //} - if (searchModel.Year == currentYear && searchModel.Month == currentMonth) - { - queryEndDate = DateTime.Today.AddDays(-1); + if (searchModel.Year == currentYear && searchModel.Month == currentMonth) + { + queryEndDate = DateTime.Today.AddDays(-1); - startSearchDate = queryStartDate; - endSearchDate = queryEndDate; - } - else - { - startSearchDate = queryStartDate; - endSearchDate = queryEndDate; - } - query = query.Where(x => x.ContractEnd.Date <= endSearchDate && x.ContractEnd.Date >= startSearchDate); + startSearchDate = queryStartDate; + endSearchDate = queryEndDate; + } + else + { + startSearchDate = queryStartDate; + endSearchDate = queryEndDate; + } + query = query.Where(x => x.ContractEnd.Date <= endSearchDate && x.ContractEnd.Date >= startSearchDate); - } + } - ////Month Index operations - //startSearchDate.AddMonthsFa(-1 * (searchModel.MonthIndex), out startSearchDate); - //startSearchDate.FindFirstDayOfNextMonth(out endSearchDate); - //endSearchDate = endSearchDate.AddDays(-1); + ////Month Index operations + //startSearchDate.AddMonthsFa(-1 * (searchModel.MonthIndex), out startSearchDate); + //startSearchDate.FindFirstDayOfNextMonth(out endSearchDate); + //endSearchDate = endSearchDate.AddDays(-1); - #endregion + #endregion - if (searchModel.EmployeeId > 0) - query = query.Where(x => x.EmployeeId == searchModel.EmployeeId); + if (searchModel.EmployeeId > 0) + query = query.Where(x => x.EmployeeId == searchModel.EmployeeId); - if (searchModel.BankId > 0) - query = query.Where(x => x.Employee.EmployeeBankInformationList.Any(y => y.BankId == searchModel.BankId)); + if (searchModel.BankId > 0) + query = query.Where(x => x.Employee.EmployeeBankInformationList.Any(y => y.BankId == searchModel.BankId)); - switch (searchModel.OrderBy) - { - case CustomizeCheckoutOrderByEnum.ContractStartDesc: - query = query.OrderByDescending(x => x.ContractStart.Date); - break; - case CustomizeCheckoutOrderByEnum.ContractStart: - query = query.OrderBy(x => x.ContractStart.Date); - break; - case CustomizeCheckoutOrderByEnum.ContractNoDesc: - query = query.OrderByDescending(x => x.ContractNo); - break; - case CustomizeCheckoutOrderByEnum.ContractNo: - query = query.OrderBy(x => x.ContractNo); - break; - default: - query = query.OrderByDescending(x => x.ContractStart.Date); - break; + switch (searchModel.OrderBy) + { + case CustomizeCheckoutOrderByEnum.ContractStartDesc: + query = query.OrderByDescending(x => x.ContractStart.Date); + break; + case CustomizeCheckoutOrderByEnum.ContractStart: + query = query.OrderBy(x => x.ContractStart.Date); + break; + case CustomizeCheckoutOrderByEnum.ContractNoDesc: + query = query.OrderByDescending(x => x.ContractNo); + break; + case CustomizeCheckoutOrderByEnum.ContractNo: + query = query.OrderBy(x => x.ContractNo); + break; + default: + query = query.OrderByDescending(x => x.ContractStart.Date); + break; - } + } - if (searchModel.Month == 0 || searchModel.Year == 0) - query = query.Skip(searchModel.PageIndex).Take(30); + if (searchModel.Month == 0 || searchModel.Year == 0) + query = query.Skip(searchModel.PageIndex).Take(30); - return query.Select(x => new CustomizeCheckoutViewModel() - { - Id = x.id, - ContractEndFa = x.ContractEnd.ToFarsi(), - ContractStartFa = x.ContractStart.ToFarsi(), - ContractNo = x.ContractNo, - EmployeeFName = x.EmployeeFName, - EmployeeLName = x.EmployeeLName, + return query.Select(x => new CustomizeCheckoutViewModel() + { + Id = x.id, + ContractEndFa = x.ContractEnd.ToFarsi(), + ContractStartFa = x.ContractStart.ToFarsi(), + ContractNo = x.ContractNo, + EmployeeFName = x.EmployeeFName, + EmployeeLName = x.EmployeeLName, - PersonnelCode = x.Employee.PersonnelCodeList.FirstOrDefault(y => y.WorkshopId == searchModel.WorkshopId).PersonnelCode, - Month = pc.GetMonth(x.ContractStart).ToFarsiMonthByIntNumber(), - Year = pc.GetYear(x.ContractStart).ToString(), - BaseYearsPay = x.BaseYearsPay.ToMoney(), - BonusesPay = x.BonusesPay.ToMoney(), - EarlyExitDeduction = x.EarlyExitDeduction.ToMoney(), - FamilyAllowance = x.FamilyAllowance.ToMoney(), - AbsenceDeduction = x.FineAbsenceDeduction.ToMoney(), - FineDeduction = x.FineDeduction.ToMoney(), - FridayPay = x.FridayPay.ToMoney(), - InstallmentDeduction = x.InstallmentDeduction.ToMoney(), - InsuranceDeduction = x.InsuranceDeduction.ToMoney(), - LateToWorkDeduction = x.LateToWorkDeduction.ToMoney(), - LeavePay = x.LeavePay.ToMoney(), - MarriedAllowance = x.MarriedAllowance.ToMoney(), - MonthlySalary = x.MonthlySalary.ToMoney(), - NightworkPay = x.NightWorkPay.ToMoney(), - OvertimePay = x.OverTimePay.ToMoney(), - RewardPay = x.RewardPay.ToMoney(), - SalaryAidDeduction = x.SalaryAidDeduction.ToMoney(), - ShiftPay = x.ShiftPay.ToMoney(), - SumOfWorkingDays = x.SumOfWorkingDays.ToString(), - TaxDeducation = x.TaxDeduction.ToMoney(), - TotalPayment = x.TotalPayment.ToMoney(), - TotalPaymentD = x.TotalPayment, - TotalLateToWorkDeduction = x.LateToWorkDeduction.ToMoney(), - }).ToList(); + PersonnelCode = x.Employee.PersonnelCodeList.FirstOrDefault(y => y.WorkshopId == searchModel.WorkshopId).PersonnelCode, + Month = pc.GetMonth(x.ContractStart).ToFarsiMonthByIntNumber(), + Year = pc.GetYear(x.ContractStart).ToString(), + BaseYearsPay = x.BaseYearsPay.ToMoney(), + BonusesPay = x.BonusesPay.ToMoney(), + EarlyExitDeduction = x.EarlyExitDeduction.ToMoney(), + FamilyAllowance = x.FamilyAllowance.ToMoney(), + AbsenceDeduction = x.FineAbsenceDeduction.ToMoney(), + FineDeduction = x.FineDeduction.ToMoney(), + FridayPay = x.FridayPay.ToMoney(), + InstallmentDeduction = x.InstallmentDeduction.ToMoney(), + InsuranceDeduction = x.InsuranceDeduction.ToMoney(), + LateToWorkDeduction = x.LateToWorkDeduction.ToMoney(), + LeavePay = x.LeavePay.ToMoney(), + MarriedAllowance = x.MarriedAllowance.ToMoney(), + MonthlySalary = x.MonthlySalary.ToMoney(), + NightworkPay = x.NightWorkPay.ToMoney(), + OvertimePay = x.OverTimePay.ToMoney(), + RewardPay = x.RewardPay.ToMoney(), + SalaryAidDeduction = x.SalaryAidDeduction.ToMoney(), + ShiftPay = x.ShiftPay.ToMoney(), + SumOfWorkingDays = x.SumOfWorkingDays.ToString(), + TaxDeducation = x.TaxDeduction.ToMoney(), + TotalPayment = x.TotalPayment.ToMoney(), + TotalPaymentD = x.TotalPayment, + TotalLateToWorkDeduction = x.LateToWorkDeduction.ToMoney(), + }).ToList(); - } - public List PrintAll(long workshopId, IEnumerable customizeCheckoutIds) - { + } - //var pc = new PersianCalendar(); - //var year = pc.GetYear(monthStart); - //var month = pc.GetMonth(monthStart); + public List PrintAll(long workshopId, IEnumerable customizeCheckoutIds) + { - IQueryable customizeCheckoutsQuery = _companyContext.CustomizeCheckoutTemps.AsSplitQuery() + //var pc = new PersianCalendar(); + //var year = pc.GetYear(monthStart); + //var month = pc.GetMonth(monthStart); + + IQueryable customizeCheckoutsQuery = _companyContext.CustomizeCheckoutTemps.AsSplitQuery() .Where(x => customizeCheckoutIds.Contains(x.id)); - IQueryable workshopsQuery = _companyContext.Workshops.Where(x => customizeCheckoutsQuery.Any(y => y.WorkshopId == x.id)); + IQueryable workshopsQuery = _companyContext.Workshops.Where(x => customizeCheckoutsQuery.Any(y => y.WorkshopId == x.id)); - IQueryable workshopEmployersIdsQuery = _companyContext.WorkshopEmployers.Where(x => x.WorkshopId == workshopId).Select(x => x.EmployerId); - IQueryable employersQuery = _companyContext.Employers.Where(x => workshopEmployersIdsQuery.Contains(x.id)); + IQueryable workshopEmployersIdsQuery = _companyContext.WorkshopEmployers.Where(x => x.WorkshopId == workshopId).Select(x => x.EmployerId); + IQueryable employersQuery = _companyContext.Employers.Where(x => workshopEmployersIdsQuery.Contains(x.id)); - IQueryable personnelCodesQuery = _companyContext.PersonnelCodeSet - .Where(x => customizeCheckoutsQuery.Any(y => y.WorkshopId == x.WorkshopId && y.EmployeeId == x.EmployeeId)); + IQueryable personnelCodesQuery = _companyContext.PersonnelCodeSet + .Where(x => customizeCheckoutsQuery.Any(y => y.WorkshopId == x.WorkshopId && y.EmployeeId == x.EmployeeId)); - //IQueryable leftWorksQuery = _companyContext.LeftWorkList - // .Where(x => customizeCheckoutsQuery.Any(y => y.WorkshopId == x.WorkshopId && y.EmployeeId == x.EmployeeId) && - // x.LeftWorkDate.AddDays(-1) >= monthStart && x.StartWorkDate <= monthEnd); + //IQueryable leftWorksQuery = _companyContext.LeftWorkList + // .Where(x => customizeCheckoutsQuery.Any(y => y.WorkshopId == x.WorkshopId && y.EmployeeId == x.EmployeeId) && + // x.LeftWorkDate.AddDays(-1) >= monthStart && x.StartWorkDate <= monthEnd); - //IQueryable employeesQuery = _companyContext.Employees.Where(x => customizeCheckoutsQuery.Any(y => y.EmployeeId == x.id)); + //IQueryable employeesQuery = _companyContext.Employees.Where(x => customizeCheckoutsQuery.Any(y => y.EmployeeId == x.id)); - List<(string Picture, long Id)> employeePictures; + List<(string Picture, long Id)> employeePictures; - var employeePicMediaIdInEmployeeDoc = _companyContext.EmployeeDocumentItems.Where(x => customizeCheckoutsQuery - .Any(y => y.WorkshopId == x.WorkshopId && y.EmployeeId == x.EmployeeId) && - x.DocumentLabel == DocumentItemLabel.EmployeePicture && - x.DocumentStatus == DocumentStatus.Confirmed) - ?.Select(x => new { x.EmployeeId, x.MediaId }).ToList(); + var employeePicMediaIdInEmployeeDoc = _companyContext.EmployeeDocumentItems.Where(x => customizeCheckoutsQuery + .Any(y => y.WorkshopId == x.WorkshopId && y.EmployeeId == x.EmployeeId) && + x.DocumentLabel == DocumentItemLabel.EmployeePicture && + x.DocumentStatus == DocumentStatus.Confirmed) + ?.Select(x => new { x.EmployeeId, x.MediaId }).ToList(); - var mediasInEmployeeDoc = _accountContext.Medias.Where(x => employeePicMediaIdInEmployeeDoc.Select(y => y.MediaId).Contains(x.id)).ToList(); - employeePictures = employeePicMediaIdInEmployeeDoc.Select(x => - { - var media = mediasInEmployeeDoc.First(m => m.id == x.MediaId); - var filePath = media.Path; - if (!System.IO.File.Exists(filePath)) - throw new FileNotFoundException("فایل مورد نظر یافت نشد.", filePath); + var mediasInEmployeeDoc = _accountContext.Medias.Where(x => employeePicMediaIdInEmployeeDoc.Select(y => y.MediaId).Contains(x.id)).ToList(); + employeePictures = employeePicMediaIdInEmployeeDoc.Select(x => + { + var media = mediasInEmployeeDoc.First(m => m.id == x.MediaId); + var filePath = media.Path; + if (!System.IO.File.Exists(filePath)) + throw new FileNotFoundException("فایل مورد نظر یافت نشد.", filePath); - byte[] fileBytes = System.IO.File.ReadAllBytes(filePath); - var base64 = Convert.ToBase64String(fileBytes); + byte[] fileBytes = System.IO.File.ReadAllBytes(filePath); + var base64 = Convert.ToBase64String(fileBytes); - return (base64, x.EmployeeId); - }).ToList(); + return (base64, x.EmployeeId); + }).ToList(); - var employeeIds = customizeCheckoutsQuery.Select(x => x.EmployeeId).ToList() - .Where(x => !employeePictures.Select(e => e.Id).Contains(x)).ToList(); + var employeeIds = customizeCheckoutsQuery.Select(x => x.EmployeeId).ToList() + .Where(x => !employeePictures.Select(e => e.Id).Contains(x)).ToList(); - foreach (var employeeId in employeeIds) - { - var directoryPath = $"{_webHostEnvironment.ContentRootPath}\\Faces\\{workshopId}\\{employeeId}\\1.jpg"; + foreach (var employeeId in employeeIds) + { + var directoryPath = $"{_webHostEnvironment.ContentRootPath}\\Faces\\{workshopId}\\{employeeId}\\1.jpg"; - if (!System.IO.File.Exists(directoryPath)) - continue; + if (!System.IO.File.Exists(directoryPath)) + continue; - byte[] fileBytes = System.IO.File.ReadAllBytes(directoryPath); - var base64 = Convert.ToBase64String(fileBytes); + byte[] fileBytes = System.IO.File.ReadAllBytes(directoryPath); + var base64 = Convert.ToBase64String(fileBytes); - employeePictures.Add((base64, employeeId)); - } + employeePictures.Add((base64, employeeId)); + } - List customizeCheckoutsList = customizeCheckoutsQuery.Select(x => new CustomizeCheckoutViewModel - { - Id = x.id, - WorkshopId = x.WorkshopId, - ContractId = x.ContractId == null ? 0 : x.ContractId.Value, - EmployeeId = x.EmployeeId, - Month = x.Month, - Year = x.Year, - ContractNo = x.ContractNo, - MonthlySalary = x.MonthlySalary.ToMoney(), - BaseYearsPay = x.BaseYearsPay.ToMoney(), - OvertimePay = x.OverTimePay.ToMoney(), - NightworkPay = x.NightWorkPay.ToMoney(), - FridayPay = x.FridayPay.ToMoney(), - ShiftPay = x.ShiftPay.ToMoney(), - FamilyAllowance = x.FamilyAllowance.ToMoney(), - BonusesPay = x.BonusesPay.ToMoney(), - LeavePay = x.LeavePay.ToMoney(), - InsuranceDeduction = x.InsuranceDeduction.ToMoney(), - TaxDeducation = x.TaxDeduction.ToMoney(), - InstallmentDeduction = x.InstallmentDeduction.ToMoney(), - SalaryAidDeduction = x.SalaryAidDeduction.ToMoney(), - AbsenceDeduction = x.FineAbsenceDeduction.ToMoney(), - TotalClaims = x.TotalClaims, - TotalDeductions = x.TotalDeductions, - TotalPayment = x.TotalPayment.ToMoney(), - RewardPay = x.RewardPay.ToMoney(), - ContractStartGr = x.ContractStart, - ContractEndGr = x.ContractEnd, - MarriedAllowance = x.MarriedAllowance.ToMoney(), - ContractEndFa = x.ContractEnd.ToFarsi(), - ContractStartFa = x.ContractStart.ToFarsi(), - CreationDate = x.CreationDate, - SumOfWorkingDays = x.SumOfWorkingDays, - WorkshopName = x.WorkshopFullName, - DateOfBirth = x.DateOfBirth.ToFarsi(), - NationalCode = x.NationalCode, - EmployeeFName = x.EmployeeFName, - EmployeeLName = x.EmployeeLName, - EarlyExitDeduction = x.EarlyExitDeduction.ToMoney(), - LateToWorkDeduction = x.LateToWorkDeduction.ToMoney(), - FineDeduction = x.FineDeduction.ToMoney(), - FineViewModelList = x.CheckoutFines.Select(y => new FineViewModel() - { - Amount = y.Amount, - FineDate = y.FineDateFa, - Title = y.Title - }).ToList(), - InstallmentViewModels = x.CustomizeCheckoutLoanInstallments.Select(i => new LoanInstallmentViewModel() - { - Amount = i.AmountForMonth, - AmountDouble = i.AmountForMonth.MoneyToDouble(), - Year = i.Year, - Month = i.Month, - IsActive = i.IsActive, - RemainingAmount = i.LoanRemaining, - LoanAmount = i.LoanAmount - }).ToList(), - RewardViewModels = x.CustomizeCheckoutRewards.Select(r => new RewardViewModel() - { - IsActive = r.IsActive, - Title = r.Title, - Amount = r.Amount, - AmountDouble = r.Amount.MoneyToDouble(), - Description = r.Description, - GrantDateFa = r.GrantDateFa, - GrantDateGr = r.GrantDate - }).ToList(), - SalaryAidViewModels = x.CustomizeCheckoutSalaryAids.Select(s => new SalaryAidViewModel() - { - Amount = s.Amount, - AmountDouble = s.Amount.MoneyToDouble(), - SalaryAidDateTimeFa = s.SalaryAidDateTimeFa, - SalaryAidDateTimeGe = s.SalaryAidDateTime - }).ToList(), + List customizeCheckoutsList = customizeCheckoutsQuery.Select(x => new CustomizeCheckoutViewModel + { + Id = x.id, + WorkshopId = x.WorkshopId, + ContractId = x.ContractId == null ? 0 : x.ContractId.Value, + EmployeeId = x.EmployeeId, + Month = x.Month, + Year = x.Year, + ContractNo = x.ContractNo, + MonthlySalary = x.MonthlySalary.ToMoney(), + BaseYearsPay = x.BaseYearsPay.ToMoney(), + OvertimePay = x.OverTimePay.ToMoney(), + NightworkPay = x.NightWorkPay.ToMoney(), + FridayPay = x.FridayPay.ToMoney(), + ShiftPay = x.ShiftPay.ToMoney(), + FamilyAllowance = x.FamilyAllowance.ToMoney(), + BonusesPay = x.BonusesPay.ToMoney(), + LeavePay = x.LeavePay.ToMoney(), + InsuranceDeduction = x.InsuranceDeduction.ToMoney(), + TaxDeducation = x.TaxDeduction.ToMoney(), + InstallmentDeduction = x.InstallmentDeduction.ToMoney(), + SalaryAidDeduction = x.SalaryAidDeduction.ToMoney(), + AbsenceDeduction = x.FineAbsenceDeduction.ToMoney(), + TotalClaims = x.TotalClaims, + TotalDeductions = x.TotalDeductions, + TotalPayment = x.TotalPayment.ToMoney(), + RewardPay = x.RewardPay.ToMoney(), + ContractStartGr = x.ContractStart, + ContractEndGr = x.ContractEnd, + MarriedAllowance = x.MarriedAllowance.ToMoney(), + ContractEndFa = x.ContractEnd.ToFarsi(), + ContractStartFa = x.ContractStart.ToFarsi(), + CreationDate = x.CreationDate, + SumOfWorkingDays = x.SumOfWorkingDays, + WorkshopName = x.WorkshopFullName, + DateOfBirth = x.DateOfBirth.ToFarsi(), + NationalCode = x.NationalCode, + EmployeeFName = x.EmployeeFName, + EmployeeLName = x.EmployeeLName, + EarlyExitDeduction = x.EarlyExitDeduction.ToMoney(), + LateToWorkDeduction = x.LateToWorkDeduction.ToMoney(), + FineDeduction = x.FineDeduction.ToMoney(), + FineViewModelList = x.CheckoutFines.Select(y => new FineViewModel() + { + Amount = y.Amount, + FineDate = y.FineDateFa, + Title = y.Title + }).ToList(), + InstallmentViewModels = x.CustomizeCheckoutLoanInstallments.Select(i => new LoanInstallmentViewModel() + { + Amount = i.AmountForMonth, + AmountDouble = i.AmountForMonth.MoneyToDouble(), + Year = i.Year, + Month = i.Month, + IsActive = i.IsActive, + RemainingAmount = i.LoanRemaining, + LoanAmount = i.LoanAmount + }).ToList(), + RewardViewModels = x.CustomizeCheckoutRewards.Select(r => new RewardViewModel() + { + IsActive = r.IsActive, + Title = r.Title, + Amount = r.Amount, + AmountDouble = r.Amount.MoneyToDouble(), + Description = r.Description, + GrantDateFa = r.GrantDateFa, + GrantDateGr = r.GrantDate + }).ToList(), + SalaryAidViewModels = x.CustomizeCheckoutSalaryAids.Select(s => new SalaryAidViewModel() + { + Amount = s.Amount, + AmountDouble = s.Amount.MoneyToDouble(), + SalaryAidDateTimeFa = s.SalaryAidDateTimeFa, + SalaryAidDateTimeGe = s.SalaryAidDateTime + }).ToList(), - //LateToWorkValue = x.LateToWorkValue == TimeSpan.Zero ? "-" : $"{(int)x.LateToWorkValue.TotalHours}:{x.LateToWorkValue.Minutes:D2}" LateToWorkValue = x.LateToWorkValue == TimeSpan.Zero ? "-" : $"{(int)x.LateToWorkValue.TotalHours}:{Convert.ToInt32(x.LateToWorkValue.TotalMinutes % 60):00}", SettingSalary = x.SettingSalary.ToMoney(), DailyWage = x.DailyWage.ToMoney(), @@ -371,103 +372,102 @@ namespace CompanyManagment.EFCore.Repository CustomizeRotatingShifts = x.CustomizeRotatingShifts.ToList(), RegularShift = x.RegularShifts.Select(x => (CustomizeSifts)x).ToList() + }).ToList(); + List workshopsList = workshopsQuery.Select(x => new WorkshopViewModel + { + WorkshopFullName = x.WorkshopFullName, + Id = x.id + }).ToList(); + List workshopEmployersList = employersQuery.Select(x => new EmployerViewModel + { + Id = x.id, + FullName = x.FullName + }).ToList(); + //List leftWorksList = leftWorksQuery.Select(x => new LeftWorkViewModel + //{ + // EmployeeId = x.EmployeeId, + // WorkshopId = x.WorkshopId, + // Id = x.id, + // StartWorkDateGr = x.StartWorkDate, + // LeftWorkDateGr = x.LeftWorkDate + //}).ToList(); + //List employees = employeesQuery.Select(x => new EmployeeViewModel() + //{ + // Id = x.id, + // FName = x.FName, + // LName = x.LName, + // FatherName = x.FatherName, + // NationalCode = x.NationalCode, + // DateOfBirth = x.DateOfBirth.ToFarsi() + //}).ToList(); + List personnelCodeList = personnelCodesQuery.Select(x => new PersonnelCodeViewModel + { + EmployeeId = x.EmployeeId, + WorkshopId = x.WorkshopId, + PersonnelCode = Convert.ToInt64(x.PersonnelCode) + }).ToList(); - }).ToList(); - List workshopsList = workshopsQuery.Select(x => new WorkshopViewModel - { - WorkshopFullName = x.WorkshopFullName, - Id = x.id - }).ToList(); - List workshopEmployersList = employersQuery.Select(x => new EmployerViewModel - { - Id = x.id, - FullName = x.FullName - }).ToList(); - //List leftWorksList = leftWorksQuery.Select(x => new LeftWorkViewModel - //{ - // EmployeeId = x.EmployeeId, - // WorkshopId = x.WorkshopId, - // Id = x.id, - // StartWorkDateGr = x.StartWorkDate, - // LeftWorkDateGr = x.LeftWorkDate - //}).ToList(); - //List employees = employeesQuery.Select(x => new EmployeeViewModel() - //{ - // Id = x.id, - // FName = x.FName, - // LName = x.LName, - // FatherName = x.FatherName, - // NationalCode = x.NationalCode, - // DateOfBirth = x.DateOfBirth.ToFarsi() - //}).ToList(); - List personnelCodeList = personnelCodesQuery.Select(x => new PersonnelCodeViewModel - { - EmployeeId = x.EmployeeId, - WorkshopId = x.WorkshopId, - PersonnelCode = Convert.ToInt64(x.PersonnelCode) - }).ToList(); + var date = customizeCheckoutsList.FirstOrDefault(); - var date = customizeCheckoutsList.FirstOrDefault(); + if (date == null) + return new(); - if (date == null) - return new(); - - var startDate = date.ContractStartGr.Date; - var endDate = date.ContractEndGr.AddDays(1).Date.AddTicks(-1); + var startDate = date.ContractStartGr.Date; + var endDate = date.ContractEndGr.AddDays(1).Date.AddTicks(-1); - List personnelRollCalls = _rollCallRepository - .GetEmployeeRollCallsForCustomizeCheckoutTemp(customizeCheckoutsList.Select(x => x.Id).ToList(), workshopId); + List personnelRollCalls = _rollCallRepository + .GetEmployeeRollCallsForCustomizeCheckoutTemp(customizeCheckoutsList.Select(x => x.Id).ToList(), workshopId); - int counter = 1; - foreach (var checkout in customizeCheckoutsList) - { - checkout.EmployeePicture = - employeePictures.FirstOrDefault(p => p.Id == checkout.EmployeeId).Picture ?? ""; - checkout.PrintCounter = counter++; - //var leftwork = leftWorksList.FirstOrDefault(x => checkout.WorkshopId == x.WorkshopId && x.EmployeeId == checkout.EmployeeId); - //checkout.LeftWorkDateGr = leftwork.LeftWorkDateGr; + int counter = 1; + foreach (var checkout in customizeCheckoutsList) + { + checkout.EmployeePicture = + employeePictures.FirstOrDefault(p => p.Id == checkout.EmployeeId).Picture ?? ""; + checkout.PrintCounter = counter++; + //var leftwork = leftWorksList.FirstOrDefault(x => checkout.WorkshopId == x.WorkshopId && x.EmployeeId == checkout.EmployeeId); + //checkout.LeftWorkDateGr = leftwork.LeftWorkDateGr; - //var employee = employees.FirstOrDefault(x => x.Id == checkout.EmployeeId); - var rollCalls = personnelRollCalls.FirstOrDefault(x => x.EmployeeId == checkout.EmployeeId); + //var employee = employees.FirstOrDefault(x => x.Id == checkout.EmployeeId); + var rollCalls = personnelRollCalls.FirstOrDefault(x => x.EmployeeId == checkout.EmployeeId); - checkout.EmployerList = workshopEmployersList; - checkout.EmployerName = workshopEmployersList.FirstOrDefault()?.FullName ?? "-"; + checkout.EmployerList = workshopEmployersList; + checkout.EmployerName = workshopEmployersList.FirstOrDefault()?.FullName ?? "-"; - checkout.MonthlyRollCall = rollCalls; - checkout.MonthlyRollCall.DailyRollCalls = rollCalls.DailyRollCalls.Select(x => - { - var isInRange = x.DateTimeGr >= checkout.ContractStartGr && x.DateTimeGr <= checkout.ContractEndGr; - return new CheckoutDailyRollCallViewModel() - { - StartDate1 = isInRange ? x.StartDate1 : "", - EndDate1 = isInRange ? x.EndDate1 : "", - EndDate2 = isInRange ? x.EndDate2 : "", - StartDate2 = isInRange ? x.StartDate2 : "", - TotalWorkingHours = isInRange ? x.TotalWorkingHours : "", - DayOfWeek = x.DayOfWeek, - RollCallDateFa = x.RollCallDateFa, - DateTimeGr = x.DateTimeGr, - IsSliced = isInRange && x.IsSliced, - LeaveType = x.LeaveType, - IsBirthDay = x.IsBirthDay, - IsAbsent = x.IsAbsent, - IsFriday = x.IsFriday, - EnterDifferencesMinutes1 = isInRange ? x.EnterDifferencesMinutes1 : "", - EnterDifferencesMinutes2 = isInRange ? x.EnterDifferencesMinutes2 : "", - ExitDifferencesMinutes1 = isInRange ? x.ExitDifferencesMinutes1 : "", - ExitDifferencesMinutes2 = isInRange ? x.ExitDifferencesMinutes2 : "" + checkout.MonthlyRollCall = rollCalls; + checkout.MonthlyRollCall.DailyRollCalls = rollCalls.DailyRollCalls.Select(x => + { + var isInRange = x.DateTimeGr >= checkout.ContractStartGr && x.DateTimeGr <= checkout.ContractEndGr; + return new CheckoutDailyRollCallViewModel() + { + StartDate1 = isInRange ? x.StartDate1 : "", + EndDate1 = isInRange ? x.EndDate1 : "", + EndDate2 = isInRange ? x.EndDate2 : "", + StartDate2 = isInRange ? x.StartDate2 : "", + TotalWorkingHours = isInRange ? x.TotalWorkingHours : "", + DayOfWeek = x.DayOfWeek, + RollCallDateFa = x.RollCallDateFa, + DateTimeGr = x.DateTimeGr, + IsSliced = isInRange && x.IsSliced, + LeaveType = x.LeaveType, + IsBirthDay = x.IsBirthDay, + IsAbsent = x.IsAbsent, + IsFriday = x.IsFriday, + EnterDifferencesMinutes1 = isInRange ? x.EnterDifferencesMinutes1 : "", + EnterDifferencesMinutes2 = isInRange ? x.EnterDifferencesMinutes2 : "", + ExitDifferencesMinutes1 = isInRange ? x.ExitDifferencesMinutes1 : "", + ExitDifferencesMinutes2 = isInRange ? x.ExitDifferencesMinutes2 : "" - }; - }).ToList(); - checkout.PersonnelCode = personnelCodeList.FirstOrDefault(x => x.EmployeeId == checkout.EmployeeId)?.PersonnelCode ?? 0; + }; + }).ToList(); + checkout.PersonnelCode = personnelCodeList.FirstOrDefault(x => x.EmployeeId == checkout.EmployeeId)?.PersonnelCode ?? 0; - } - return customizeCheckoutsList.OrderBy(x => x.EmployeeFullName).ToList(); + } + return customizeCheckoutsList.OrderBy(x => x.EmployeeFullName).ToList(); - } + } - public void RemoveEmployeeTemporaryCheckoutInDates(long workshopId, long employeeId, DateTime startOfMonth, DateTime endOfMonth) + public void RemoveEmployeeTemporaryCheckoutInDates(long workshopId, long employeeId, DateTime startOfMonth, DateTime endOfMonth) { var checkout = _companyContext.CustomizeCheckoutTemps.FirstOrDefault(x => x.WorkshopId == workshopId && x.EmployeeId == employeeId && x.ContractStart.Date <= endOfMonth.Date && x.ContractEnd.Date >= startOfMonth.Date); @@ -480,5 +480,19 @@ namespace CompanyManagment.EFCore.Repository { return _companyContext.CustomizeCheckoutTemps.Where(x => x.WorkshopId == workshopId && ids.Contains(x.id)); } + + public List GetByWorkshopIdEmployeeIdInDates(long workshopId, long employeeId, DateTime startDate, DateTime endDate) + { + var checkouts = _companyContext.CustomizeCheckoutTemps.Where(x => x.WorkshopId == workshopId && x.EmployeeId == employeeId && + x.ContractStart <= endDate && x.ContractEnd >= startDate).ToList(); + return checkouts; + } + + public async Task GetByWorkshopIdEmployeeIdInDate(long workshopId, long employeeId, DateTime inDate) + { + return await _companyContext.CustomizeCheckoutTemps.FirstOrDefaultAsync(x => + x.WorkshopId == workshopId && x.EmployeeId == employeeId && x.ContractStart <= inDate && + x.ContractEnd >= inDate); + } } } diff --git a/CompanyManagment.EFCore/Repository/RollCallMandatoryRepository.cs b/CompanyManagment.EFCore/Repository/RollCallMandatoryRepository.cs index 42131f83..89855fa7 100644 --- a/CompanyManagment.EFCore/Repository/RollCallMandatoryRepository.cs +++ b/CompanyManagment.EFCore/Repository/RollCallMandatoryRepository.cs @@ -1223,7 +1223,8 @@ CreateWorkingHoursTemp command, bool holidayWorking) public CustomizeCheckoutMandatoryViewModel CustomizeCheckoutMandatoryCompute(long employeeId, long workshopId, DateTime contractStart, DateTime contractEnd) { - + var checkoutEnd = contractEnd; + var checkoutStart = contractStart; if (workshopId == 170) return CustomizeCheckoutMandatoryComputeForKebabMahdi(employeeId, workshopId, contractStart, contractEnd); @@ -1483,34 +1484,14 @@ CreateWorkingHoursTemp command, bool holidayWorking) #endregion #region SalaryAidDeduction - var salaryAidViewModel = _context.SalaryAids - .Where(x => x.SalaryAidDateTime >= contractStart && x.SalaryAidDateTime <= contractEnd && x.EmployeeId == employeeId && x.WorkshopId == workshopId).Select(x => new SalaryAidViewModel() - { - Amount = x.Amount.ToMoney(), - AmountDouble = x.Amount, - SalaryAidDateTimeFa = x.SalaryAidDateTime.ToFarsi(), - SalaryAidDateTimeGe = x.SalaryAidDateTime, - }).ToList(); + var salaryAidViewModel = SalaryAidsForCheckout(employeeId, workshopId, checkoutStart, checkoutEnd); double salaryAidDeduction = salaryAidViewModel.Sum(x => x.AmountDouble); #endregion #region Loan - var loanInstallments = _context.Loans - .Where(x => x.EmployeeId == employeeId && x.WorkshopId == workshopId) - .SelectMany(x => x.LoanInstallments) - .Where(i => i.InstallmentDate > contractStart && i.InstallmentDate < contractEnd && i.IsActive == IsActive.True) - .Select(x => new LoanInstallmentViewModel() - { - Month = x.Month, - IsActive = x.IsActive, - Amount = x.AmountForMonth.ToMoney(), - Year = x.Year, - AmountDouble = x.AmountForMonth, - RemainingAmount = _context.Loans.SelectMany(l => l.LoanInstallments).Where(i => i.LoanId == x.LoanId && i.IsActive == IsActive.True && i.InstallmentDate > x.InstallmentDate) - .Sum(i => i.AmountForMonth).ToMoney() - }).ToList(); + var loanInstallments = LoanInstallmentForCheckout(employeeId, workshopId, contractStart, contractEnd); double loanDeduction = loanInstallments.Sum(x => x.AmountDouble); @@ -1518,18 +1499,7 @@ CreateWorkingHoursTemp command, bool holidayWorking) #region Fine - var fineViewModels = _context.Fines.Where(x => - x.EmployeeId == employeeId && x.WorkshopId == workshopId && x.FineDate >= contractStart && - x.FineDate <= contractEnd && x.IsActive == IsActive.True).Select(x => new FineViewModel() - { - IsActive = x.IsActive, - Amount = x.Amount.ToMoney(), - FineDate = x.FineDate.ToFarsi(), - Id = x.id, - Title = x.Title, - EmployeeId = x.EmployeeId, - CreationDate = x.CreationDate.ToFarsi() - }).ToList(); + var fineViewModels = FinesForCheckout(employeeId, workshopId, contractStart, contractEnd); double fineDeduction = fineViewModels.Sum(x => x.Amount.MoneyToDouble()); #endregion @@ -1676,18 +1646,7 @@ CreateWorkingHoursTemp command, bool holidayWorking) #endregion #region Reward - var rewardViewModels = _context.Rewards.Where(x => - x.WorkshopId == workshopId && x.EmployeeId == employeeId && x.GrantDate <= contractEnd && - x.GrantDate >= contractStart).Select(x => new RewardViewModel - { - Title = x.Title, - Amount = x.Amount.ToMoney(), - AmountDouble = x.Amount, - Description = x.Description, - GrantDateGr = x.GrantDate, - GrantDateFa = x.GrantDate.ToFarsi(), - IsActive = x.IsActive, - }).ToList(); + var rewardViewModels = RewardForCheckout(employeeId, workshopId, checkoutEnd, checkoutStart); double rewardPay = rewardViewModels.Sum(x => x.AmountDouble); #endregion @@ -2289,38 +2248,14 @@ CreateWorkingHoursTemp command, bool holidayWorking) #region SalaryAidDeduction - var salaryAidViewModel = _context.SalaryAids - .Where(x => x.SalaryAidDateTime >= checkoutStart && x.SalaryAidDateTime <= checkoutEnd && - x.EmployeeId == employeeId && x.WorkshopId == workshopId).Select(x => new SalaryAidViewModel() - { - Amount = x.Amount.ToMoney(), - AmountDouble = x.Amount, - SalaryAidDateTimeFa = x.SalaryAidDateTime.ToFarsi(), - SalaryAidDateTimeGe = x.SalaryAidDateTime, - }).ToList(); + var salaryAidViewModel = SalaryAidsForCheckout(employeeId, workshopId, checkoutStart, checkoutEnd); double salaryAidDeduction = salaryAidViewModel.Sum(x => x.AmountDouble); #endregion #region Loan - var loanInstallments = _context.Loans - .Where(x => x.EmployeeId == employeeId && x.WorkshopId == workshopId) - .SelectMany(x => x.LoanInstallments) - .Where(i => i.InstallmentDate >= contractStart && i.InstallmentDate <= contractEnd && - i.IsActive == IsActive.True) - .Select(x => new LoanInstallmentViewModel() - { - Month = x.Month, - IsActive = x.IsActive, - Amount = x.AmountForMonth.ToMoney(), - Year = x.Year, - AmountDouble = x.AmountForMonth, - RemainingAmount = _context.Loans.SelectMany(l => l.LoanInstallments).Where(i => - i.LoanId == x.LoanId && i.IsActive == IsActive.True && i.InstallmentDate > x.InstallmentDate) - .Sum(i => i.AmountForMonth).ToMoney(), - LoanAmount = _context.Loans.FirstOrDefault(l => l.id == x.LoanId).Amount.ToMoney() - }).ToList(); + var loanInstallments = LoanInstallmentForCheckout(employeeId, workshopId, contractStart, contractEnd); double loanDeduction = loanInstallments.Sum(x => x.AmountDouble); @@ -2328,18 +2263,7 @@ CreateWorkingHoursTemp command, bool holidayWorking) #region Fine - var fineViewModels = _context.Fines.Where(x => - x.EmployeeId == employeeId && x.WorkshopId == workshopId && x.FineDate >= contractStart && - x.FineDate <= contractEnd && x.IsActive == IsActive.True).Select(x => new FineViewModel() - { - IsActive = x.IsActive, - Amount = x.Amount.ToMoney(), - FineDate = x.FineDate.ToFarsi(), - Id = x.id, - Title = x.Title, - EmployeeId = x.EmployeeId, - CreationDate = x.CreationDate.ToFarsi() - }).ToList(); + var fineViewModels = FinesForCheckout(employeeId, workshopId, contractStart, contractEnd); double fineDeduction = fineViewModels.Sum(x => x.Amount.MoneyToDouble()); #endregion @@ -2557,18 +2481,7 @@ CreateWorkingHoursTemp command, bool holidayWorking) #region Reward - var rewardViewModels = _context.Rewards.Where(x => - x.WorkshopId == workshopId && x.EmployeeId == employeeId && x.GrantDate <= checkoutEnd && - x.GrantDate >= checkoutStart).Select(x => new RewardViewModel - { - Title = x.Title, - Amount = x.Amount.ToMoney(), - AmountDouble = x.Amount, - Description = x.Description, - GrantDateGr = x.GrantDate, - GrantDateFa = x.GrantDate.ToFarsi(), - IsActive = x.IsActive, - }).ToList(); + var rewardViewModels = RewardForCheckout(employeeId, workshopId, checkoutEnd, checkoutStart); double rewardPay = rewardViewModels.Sum(x => x.AmountDouble); @@ -2844,34 +2757,14 @@ CreateWorkingHoursTemp command, bool holidayWorking) #region SalaryAidDeduction - var salaryAidViewModel = _context.SalaryAids - .Where(x => x.SalaryAidDateTime >= contractStart && x.SalaryAidDateTime <= contractEnd && x.EmployeeId == employeeId && x.WorkshopId == workshopId).Select(x => new SalaryAidViewModel() - { - Amount = x.Amount.ToMoney(), - AmountDouble = x.Amount, - SalaryAidDateTimeFa = x.SalaryAidDateTime.ToFarsi(), - SalaryAidDateTimeGe = x.SalaryAidDateTime, - }).ToList(); + var salaryAidViewModel = SalaryAidsForCheckout(employeeId, workshopId, contractEnd, contractEnd); double salaryAidDeduction = salaryAidViewModel.Sum(x => x.AmountDouble); #endregion #region Loan - var loanInstallments = _context.Loans - .Where(x => x.EmployeeId == employeeId && x.WorkshopId == workshopId) - .SelectMany(x => x.LoanInstallments) - .Where(i => i.InstallmentDate > contractStart && i.InstallmentDate < contractEnd && i.IsActive == IsActive.True) - .Select(x => new LoanInstallmentViewModel() - { - Month = x.Month, - IsActive = x.IsActive, - Amount = x.AmountForMonth.ToMoney(), - Year = x.Year, - AmountDouble = x.AmountForMonth, - RemainingAmount = _context.Loans.SelectMany(l => l.LoanInstallments).Where(i => i.LoanId == x.LoanId && i.IsActive == IsActive.True && i.InstallmentDate > x.InstallmentDate) - .Sum(i => i.AmountForMonth).ToMoney() - }).ToList(); + var loanInstallments = LoanInstallmentForCheckout(employeeId, workshopId, contractStart, contractEnd); double loanDeduction = loanInstallments.Sum(x => x.AmountDouble); @@ -2879,35 +2772,13 @@ CreateWorkingHoursTemp command, bool holidayWorking) #region Fine - var fineViewModels = _context.Fines.Where(x => - x.EmployeeId == employeeId && x.WorkshopId == workshopId && x.FineDate >= contractStart && - x.FineDate <= contractEnd && x.IsActive == IsActive.True).Select(x => new FineViewModel() - { - IsActive = x.IsActive, - Amount = x.Amount.ToMoney(), - FineDate = x.FineDate.ToFarsi(), - Id = x.id, - Title = x.Title, - EmployeeId = x.EmployeeId, - CreationDate = x.CreationDate.ToFarsi() - }).ToList(); + var fineViewModels = FinesForCheckout(employeeId, workshopId, contractStart, contractEnd); double fineDeduction = fineViewModels.Sum(x => x.Amount.MoneyToDouble()); #endregion #region Reward - var rewardViewModels = _context.Rewards.Where(x => - x.WorkshopId == workshopId && x.EmployeeId == employeeId && x.GrantDate <= contractEnd && - x.GrantDate >= contractStart).Select(x => new RewardViewModel - { - Title = x.Title, - Amount = x.Amount.ToMoney(), - AmountDouble = x.Amount, - Description = x.Description, - GrantDateGr = x.GrantDate, - GrantDateFa = x.GrantDate.ToFarsi(), - IsActive = x.IsActive, - }).ToList(); + var rewardViewModels = RewardForCheckout(employeeId, workshopId, contractStart, contractEnd); double rewardPay = rewardViewModels.Sum(x => x.AmountDouble); #endregion @@ -2931,6 +2802,75 @@ CreateWorkingHoursTemp command, bool holidayWorking) }; } + + private List RewardForCheckout(long employeeId, long workshopId, DateTime checkoutEnd, DateTime checkoutStart) + { + return _context.Rewards.Where(x => + x.WorkshopId == workshopId && x.EmployeeId == employeeId && x.GrantDate <= checkoutEnd && + x.GrantDate >= checkoutStart).Select(x => new RewardViewModel + { + Title = x.Title, + Amount = x.Amount.ToMoney(), + AmountDouble = x.Amount, + Description = x.Description, + GrantDateGr = x.GrantDate, + GrantDateFa = x.GrantDate.ToFarsi(), + IsActive = x.IsActive, + Id = x.id + }).ToList(); + } + + private List FinesForCheckout(long employeeId, long workshopId, DateTime contractStart, DateTime contractEnd) + { + return _context.Fines.Where(x => + x.EmployeeId == employeeId && x.WorkshopId == workshopId && x.FineDate >= contractStart && + x.FineDate <= contractEnd && x.IsActive == IsActive.True).Select(x => new FineViewModel() + { + IsActive = x.IsActive, + Amount = x.Amount.ToMoney(), + FineDate = x.FineDate.ToFarsi(), + Id = x.id, + Title = x.Title, + EmployeeId = x.EmployeeId, + CreationDate = x.CreationDate.ToFarsi() + }).ToList(); + } + + private List LoanInstallmentForCheckout(long employeeId, long workshopId, DateTime contractStart, DateTime contractEnd) + { + return _context.Loans + .Where(x => x.EmployeeId == employeeId && x.WorkshopId == workshopId) + .SelectMany(x => x.LoanInstallments) + .Where(i => i.InstallmentDate >= contractStart && i.InstallmentDate <= contractEnd && i.IsActive == IsActive.True) + .Select(x => new LoanInstallmentViewModel() + { + Id = x.Id, + Month = x.Month, + IsActive = x.IsActive, + Amount = x.AmountForMonth.ToMoney(), + Year = x.Year, + AmountDouble = x.AmountForMonth, + RemainingAmount = _context.Loans.SelectMany(l => l.LoanInstallments).Where(i => i.LoanId == x.LoanId && i.IsActive == IsActive.True && i.InstallmentDate > x.InstallmentDate) + .Sum(i => i.AmountForMonth).ToMoney(), + LoanAmount = _context.Loans.FirstOrDefault(l => l.id == x.LoanId).Amount.ToMoney() + }).ToList(); + } + + private List SalaryAidsForCheckout(long employeeId, long workshopId, DateTime checkoutStart, DateTime checkoutEnd) + { + return _context.SalaryAids + .Where(x => x.CalculationDate >= checkoutStart && x.CalculationDate <= checkoutEnd && x.EmployeeId == employeeId && x.WorkshopId == workshopId).Select(x => new SalaryAidViewModel() + { + Amount = x.Amount.ToMoney(), + AmountDouble = x.Amount, + SalaryAidDateTimeFa = x.SalaryAidDateTime.ToFarsi(), + SalaryAidDateTimeGe = x.SalaryAidDateTime, + CalculationDateTimeGe = x.CalculationDate, + CalculationDateTimeFa = x.CalculationDate.ToFarsi(), + Id = x.id + }).ToList(); + } + private void CreateRewardForBirthDay(long employeeId, long workshopId, double amount, int month, int year, DateTime contractStart) { diff --git a/CompanyManagment.EFCore/Repository/SalaryAidRepository.cs b/CompanyManagment.EFCore/Repository/SalaryAidRepository.cs index 513c8b2b..842b56c7 100644 --- a/CompanyManagment.EFCore/Repository/SalaryAidRepository.cs +++ b/CompanyManagment.EFCore/Repository/SalaryAidRepository.cs @@ -72,7 +72,9 @@ public class SalaryAidRepository : RepositoryBase, ISalaryAidRe WorkshopId = entity.WorkshopId, EmployeeId = entity.EmployeeId, Amount = entity.Amount.ToMoney(), - SalaryDateTime = entity.SalaryAidDateTime.ToFarsi() + SalaryDateTime = entity.SalaryAidDateTime.ToFarsi(), + CalculationMonth = entity.CalculationMonth, + CalculationYear = entity.CalculationYear, }; res.EmployeeFullName = _companyContext.Employees.Find(entity.EmployeeId)?.FullName; diff --git a/ServiceHost/Areas/AdminNew/Pages/Company/AndroidApk/Index.cshtml.cs b/ServiceHost/Areas/AdminNew/Pages/Company/AndroidApk/Index.cshtml.cs index 289d337f..1b2fdcf4 100644 --- a/ServiceHost/Areas/AdminNew/Pages/Company/AndroidApk/Index.cshtml.cs +++ b/ServiceHost/Areas/AdminNew/Pages/Company/AndroidApk/Index.cshtml.cs @@ -1,6 +1,8 @@ using _0_Framework.Application; using AccountManagement.Domain.AccountLeftWorkAgg; using AccountMangement.Infrastructure.EFCore; +using Company.Domain.CustomizeCheckoutAgg.ValueObjects; +using Company.Domain.CustomizeCheckoutTempAgg.ValueObjects; using Company.Domain.RewardAgg; using Company.Domain.RollCallAgg.DomainService; using CompanyManagment.App.Contracts.AndroidApkVersion; @@ -53,6 +55,8 @@ namespace ServiceHost.Areas.AdminNew.Pages.Company.AndroidApk //var notEndedRollCalls = rollCalls.Where(x => x.EndDate == null).ToList(); //RefactorAllTheRollCallsOnEsfand(endedRollCalls, notEndedRollCalls); //CreateRewardForKebabMahdi().GetAwaiter().GetResult(); + SetEntityIdForCheckoutValues(); + SetEntityIdForCheckoutValuesTemp(); ViewData["message"] = "ایجاد شد"; return Page(); } @@ -72,6 +76,140 @@ namespace ServiceHost.Areas.AdminNew.Pages.Company.AndroidApk return Page(); } + + private void SetEntityIdForCheckoutValuesTemp() + { + var customizeCheckouts = _context.CustomizeCheckoutTemps.ToList(); + foreach (var customizeCheckout in customizeCheckouts) + { + var newRewards = new List(); + foreach (var customizeCheckoutReward in customizeCheckout.CustomizeCheckoutRewards) + { + var reward = _context.Rewards.FirstOrDefault(x => x.GrantDate == customizeCheckoutReward.GrantDate && x.Title == customizeCheckoutReward.Title && x.EmployeeId == customizeCheckout.EmployeeId && x.WorkshopId == customizeCheckout.WorkshopId); + if (reward != null) + { + newRewards.Add(new CustomizeCheckoutTempReward(reward.Amount.ToMoney(), reward.Description, reward.GrantDate, reward.GrantDate.ToFarsi(), reward.IsActive, reward.Title, reward.id)); + } + } + + var newSalary = new List(); + foreach (var customizeCheckoutSalaryAid in customizeCheckout.CustomizeCheckoutSalaryAids) + { + var salary = _context.SalaryAids.FirstOrDefault(x => x.SalaryAidDateTime == customizeCheckoutSalaryAid.SalaryAidDateTime && + x.Amount == customizeCheckoutSalaryAid.Amount.MoneyToDouble() && + x.EmployeeId == customizeCheckout.EmployeeId && x.WorkshopId == customizeCheckout.WorkshopId); + + if (salary != null) + { + newSalary.Add(new CustomizeCheckoutTempSalaryAid(salary.Amount.ToMoney(), salary.SalaryAidDateTime, + salary.SalaryAidDateTime.ToFarsi(), salary.CalculationDate, salary.CalculationDate.ToFarsi(), salary.id)); + } + } + + var newFines = new List(); + foreach (var checkoutFine in customizeCheckout.CheckoutFines) + { + var fines = _context.Fines.FirstOrDefault(x => x.Amount == checkoutFine.Amount.MoneyToDouble() && x.FineDate == checkoutFine.FineDateGr && + x.Title == checkoutFine.Title && x.EmployeeId == customizeCheckout.EmployeeId && x.WorkshopId == customizeCheckout.WorkshopId); + if (fines != null) + { + newFines.Add(new CustomizeCheckoutTempFine(fines.Title, fines.Amount.ToMoney(), fines.FineDate.ToFarsi(), fines.FineDate, fines.IsActive, fines.CreationDate, fines.id)); + } + } + + var newInstallments = new List(); + + foreach (var customizeCheckoutLoanInstallment in customizeCheckout.CustomizeCheckoutLoanInstallments) + { + + var installments = _context.Loans.SelectMany(x => x.LoanInstallments).AsNoTracking().Where(x => x.Month == customizeCheckoutLoanInstallment.Month && x.Year == customizeCheckoutLoanInstallment.Year && x.AmountForMonth == customizeCheckoutLoanInstallment.AmountForMonth.MoneyToDouble()).ToList(); + var loans = _context.Loans + .Where(x => x.Amount == customizeCheckoutLoanInstallment.LoanAmount.MoneyToDouble() && x.EmployeeId == customizeCheckout.EmployeeId && x.WorkshopId == customizeCheckout.WorkshopId).ToList(); + + var installment = installments.First(x => loans.Any(l => l.id == x.LoanId)); + + if (installment != null) + { + newInstallments.Add(new CustomizeCheckoutTempLoanInstallments(installment.AmountForMonth.ToMoney(), + installment.Month, installment.Year, installment.IsActive, + customizeCheckoutLoanInstallment.LoanRemaining, customizeCheckoutLoanInstallment.LoanAmount, + installment.Id)); + } + } + customizeCheckout.SetValueObjects(newFines, newInstallments, newSalary, newRewards); + + + _context.SaveChanges(); + + } + } + private void SetEntityIdForCheckoutValues() + { + var customizeCheckouts = _context.CustomizeCheckouts.ToList(); + foreach (var customizeCheckout in customizeCheckouts) + { + var newRewards = new List(); + foreach (var customizeCheckoutReward in customizeCheckout.CustomizeCheckoutRewards) + { + var reward = _context.Rewards.FirstOrDefault(x => x.GrantDate == customizeCheckoutReward.GrantDate && x.Title == customizeCheckoutReward.Title && x.EmployeeId == customizeCheckout.EmployeeId && x.WorkshopId == customizeCheckout.WorkshopId); + if (reward != null) + { + newRewards.Add(new CustomizeCheckoutReward(reward.Amount.ToMoney(), reward.Description, reward.GrantDate, reward.GrantDate.ToFarsi(), reward.IsActive, reward.Title, reward.id)); + } + } + + var newSalary = new List(); + foreach (var customizeCheckoutSalaryAid in customizeCheckout.CustomizeCheckoutSalaryAids) + { + var salary = _context.SalaryAids.FirstOrDefault(x => x.SalaryAidDateTime == customizeCheckoutSalaryAid.SalaryAidDateTime && + x.Amount == customizeCheckoutSalaryAid.Amount.MoneyToDouble() && + x.EmployeeId == customizeCheckout.EmployeeId && x.WorkshopId == customizeCheckout.WorkshopId); + + if (salary != null) + { + newSalary.Add(new CustomizeCheckoutSalaryAid(salary.Amount.ToMoney(), salary.SalaryAidDateTime, + salary.SalaryAidDateTime.ToFarsi(), salary.CalculationDate, salary.CalculationDate.ToFarsi(), salary.id)); + } + } + + var newFines = new List(); + foreach (var checkoutFine in customizeCheckout.CheckoutFines) + { + var fines = _context.Fines.FirstOrDefault(x => x.Amount == checkoutFine.Amount.MoneyToDouble() && x.FineDate == checkoutFine.FineDateGr && + x.Title == checkoutFine.Title && x.EmployeeId == customizeCheckout.EmployeeId && x.WorkshopId == customizeCheckout.WorkshopId); + if (fines != null) + { + newFines.Add(new CustomizeCheckoutFine(fines.Title, fines.Amount.ToMoney(), fines.FineDate.ToFarsi(), fines.FineDate, fines.IsActive, fines.CreationDate, fines.id)); + } + } + + var newInstallments = new List(); + + foreach (var customizeCheckoutLoanInstallment in customizeCheckout.CustomizeCheckoutLoanInstallments) + { + + var installments = _context.Loans.SelectMany(x => x.LoanInstallments).AsNoTracking().Where(x => x.Month == customizeCheckoutLoanInstallment.Month && x.Year == customizeCheckoutLoanInstallment.Year && x.AmountForMonth == customizeCheckoutLoanInstallment.AmountForMonth.MoneyToDouble()).ToList(); + var loans = _context.Loans + .Where(x => x.Amount == customizeCheckoutLoanInstallment.LoanAmount.MoneyToDouble() && x.EmployeeId == customizeCheckout.EmployeeId && x.WorkshopId == customizeCheckout.WorkshopId).ToList(); + + var installment = installments.First(x => loans.Any(l => l.id == x.LoanId)); + + if (installment != null) + { + newInstallments.Add(new CustomizeCheckoutLoanInstallments(installment.AmountForMonth.ToMoney(), + installment.Month, installment.Year, installment.IsActive, + customizeCheckoutLoanInstallment.LoanRemaining, customizeCheckoutLoanInstallment.LoanAmount, + installment.Id)); + } + } + customizeCheckout.SetValueObjects(newFines, newInstallments, newSalary, newRewards); + + + _context.SaveChanges(); + + } + } + public async Task OnPostShiftDateNew2() { //var startRollCall = new DateTime(2025, 3, 21); diff --git a/ServiceHost/Areas/Client/Pages/Company/Fine/Index.cshtml.cs b/ServiceHost/Areas/Client/Pages/Company/Fine/Index.cshtml.cs index 5767bacf..aa90ca7b 100644 --- a/ServiceHost/Areas/Client/Pages/Company/Fine/Index.cshtml.cs +++ b/ServiceHost/Areas/Client/Pages/Company/Fine/Index.cshtml.cs @@ -1,6 +1,7 @@ using System.Security.Claims; using _0_Framework.Application; using _0_Framework.Infrastructure; +using CompanyManagment.App.Contracts.CustomizeCheckout; using CompanyManagment.App.Contracts.Employee; using CompanyManagment.App.Contracts.Error; using CompanyManagment.App.Contracts.Fine; @@ -25,10 +26,11 @@ namespace ServiceHost.Areas.Client.Pages.Company.Fine private readonly long _workshopId; public string WorkshopFullName; public int PageIndex = 0; + private readonly ICustomizeCheckoutApplication _customizeCheckoutApplication; - public IndexModel(IFineApplication fineApplication, IWorkshopApplication workshopApplication, + public IndexModel(IFineApplication fineApplication, IWorkshopApplication workshopApplication, IPasswordHasher passwordHasher, IFineSubjectApplication fineSubjectApplication, - IEmployeeApplication employeeApplication, IAuthHelper authHelper) + IEmployeeApplication employeeApplication, IAuthHelper authHelper, ICustomizeCheckoutApplication customizeCheckoutApplication) { _fineApplication = fineApplication; _workshopApplication = workshopApplication; @@ -36,8 +38,9 @@ namespace ServiceHost.Areas.Client.Pages.Company.Fine _fineSubjectApplication = fineSubjectApplication; _employeeApplication = employeeApplication; _authHelper = authHelper; + _customizeCheckoutApplication = customizeCheckoutApplication; - var workshopHash = _authHelper.GetWorkshopSlug(); + var workshopHash = _authHelper.GetWorkshopSlug(); _workshopId = _passwordHasher.SlugDecrypt(workshopHash); if (_workshopId < 1) @@ -193,5 +196,19 @@ namespace ServiceHost.Areas.Client.Pages.Company.Fine data = result }); } - } + public IActionResult OnGetCheckoutExists(string fineDate, List employeeIds) + { + var fineDateGr = fineDate.ToGeorgianDateTime(); + + var validateExistsCheckouts = + _customizeCheckoutApplication.ValidateExistsCheckouts(fineDateGr, fineDateGr, _workshopId, employeeIds); + + return new JsonResult(new + { + checkout = validateExistsCheckouts.Checkout, + customizeCheckout = validateExistsCheckouts.CustomizeCheckout, + customizeCheckoutTemp = validateExistsCheckouts.CustomizeCheckoutTemp, + }); + } + } } diff --git a/ServiceHost/Areas/Client/Pages/Company/Fine/ModalCreateNewFine.cshtml b/ServiceHost/Areas/Client/Pages/Company/Fine/ModalCreateNewFine.cshtml index 9c78c0cd..e13f939f 100644 --- a/ServiceHost/Areas/Client/Pages/Company/Fine/ModalCreateNewFine.cshtml +++ b/ServiceHost/Areas/Client/Pages/Company/Fine/ModalCreateNewFine.cshtml @@ -55,8 +55,8 @@
    -
    -
    +
    +
    @@ -93,7 +93,7 @@ @@ -110,6 +110,7 @@ \ No newline at end of file diff --git a/ServiceHost/Areas/Client/Pages/Company/Reward/Index.cshtml.cs b/ServiceHost/Areas/Client/Pages/Company/Reward/Index.cshtml.cs index ce3e3096..96e8c035 100644 --- a/ServiceHost/Areas/Client/Pages/Company/Reward/Index.cshtml.cs +++ b/ServiceHost/Areas/Client/Pages/Company/Reward/Index.cshtml.cs @@ -4,6 +4,7 @@ using Microsoft.AspNetCore.Mvc.RazorPages; using System.Security.Claims; using _0_Framework.Application; using _0_Framework.Infrastructure; +using CompanyManagment.App.Contracts.CustomizeCheckout; using CompanyManagment.App.Contracts.Employee; using CompanyManagment.App.Contracts.Error; using CompanyManagment.App.Contracts.Reward; @@ -21,11 +22,12 @@ namespace ServiceHost.Areas.Client.Pages.Company.Reward private readonly IAuthHelper _authHelper; private readonly IEmployeeApplication _employeeApplication; private readonly IHttpContextAccessor _contextAccessor; + private readonly ICustomizeCheckoutApplication _customizeCheckoutApplication; private readonly long _workshopId; public string WorkshopFullName; public int PageIndex = 0; - public IndexModel(IWorkshopApplication workshopApplication, IPasswordHasher passwordHasher, IRewardApplication rewardApplication, IAuthHelper authHelper, IEmployeeApplication employeeApplication, IHttpContextAccessor contextAccessor) + public IndexModel(IWorkshopApplication workshopApplication, IPasswordHasher passwordHasher, IRewardApplication rewardApplication, IAuthHelper authHelper, IEmployeeApplication employeeApplication, IHttpContextAccessor contextAccessor, ICustomizeCheckoutApplication customizeCheckoutApplication) { _workshopApplication = workshopApplication; _passwordHasher = passwordHasher; @@ -33,6 +35,7 @@ namespace ServiceHost.Areas.Client.Pages.Company.Reward _authHelper = authHelper; _employeeApplication = employeeApplication; _contextAccessor = contextAccessor; + _customizeCheckoutApplication = customizeCheckoutApplication; var workshopHash = _contextAccessor.HttpContext?.User.FindFirstValue("WorkshopSlug"); _workshopId = _passwordHasher.SlugDecrypt(workshopHash); @@ -142,5 +145,20 @@ namespace ServiceHost.Areas.Client.Pages.Company.Reward }); } + public IActionResult OnGetCheckoutExists(string grantDate,List employeeIds) + { + var grantDateGr = grantDate.ToGeorgianDateTime(); + + var validateExistsCheckouts = + _customizeCheckoutApplication.ValidateExistsCheckouts(grantDateGr, grantDateGr, _workshopId, employeeIds); + + return new JsonResult(new + { + checkout = validateExistsCheckouts.Checkout, + customizeCheckout = validateExistsCheckouts.CustomizeCheckout, + customizeCheckoutTemp = validateExistsCheckouts.CustomizeCheckoutTemp, + }); + } + } } diff --git a/ServiceHost/Areas/Client/Pages/Company/Reward/ModalCreateNewReward.cshtml b/ServiceHost/Areas/Client/Pages/Company/Reward/ModalCreateNewReward.cshtml index 4948f0c0..57806ced 100644 --- a/ServiceHost/Areas/Client/Pages/Company/Reward/ModalCreateNewReward.cshtml +++ b/ServiceHost/Areas/Client/Pages/Company/Reward/ModalCreateNewReward.cshtml @@ -37,8 +37,8 @@
    -
    -
    +
    +
    @@ -81,6 +81,7 @@ \ No newline at end of file diff --git a/ServiceHost/Areas/Client/Pages/Company/Reward/ModalEditReward.cshtml b/ServiceHost/Areas/Client/Pages/Company/Reward/ModalEditReward.cshtml index c98c6339..4b3f2f9d 100644 --- a/ServiceHost/Areas/Client/Pages/Company/Reward/ModalEditReward.cshtml +++ b/ServiceHost/Areas/Client/Pages/Company/Reward/ModalEditReward.cshtml @@ -21,6 +21,7 @@
    + نام و نام خانوادگی پرسنل
    @@ -35,8 +36,8 @@
    -
    -
    +
    +
    @@ -80,6 +81,7 @@ \ No newline at end of file diff --git a/ServiceHost/Areas/Client/Pages/Company/SalaryAid/Index.cshtml.cs b/ServiceHost/Areas/Client/Pages/Company/SalaryAid/Index.cshtml.cs index 5516d50e..99c2da68 100644 --- a/ServiceHost/Areas/Client/Pages/Company/SalaryAid/Index.cshtml.cs +++ b/ServiceHost/Areas/Client/Pages/Company/SalaryAid/Index.cshtml.cs @@ -7,9 +7,12 @@ using Microsoft.AspNetCore.Mvc; using Microsoft.AspNetCore.Mvc.RazorPages; using System.Security.Claims; using _0_Framework.Infrastructure; +using Company.Domain.CustomizeCheckoutAgg; using CompanyManagement.Infrastructure.Excel.SalaryAid; +using CompanyManagment.App.Contracts.CustomizeCheckout; using CompanyManagment.App.Contracts.SalaryAid; using CompanyManagment.App.Contracts.Employee; +using CompanyManagment.App.Contracts.YearlySalary; namespace ServiceHost.Areas.Client.Pages.Company.SalaryAid { @@ -20,23 +23,29 @@ namespace ServiceHost.Areas.Client.Pages.Company.SalaryAid private readonly IPasswordHasher _passwordHasher; private readonly ISalaryAidApplication _salaryAidApplication; private readonly IEmployeeApplication _employeeApplication; + private readonly IYearlySalaryApplication _yearlySalaryApplication; private readonly IAuthHelper _authHelper; + private readonly ICustomizeCheckoutApplication _customizeCheckoutApplication; private readonly SalaryAidImportExcel _salaryAidImportExcel; private readonly long _workshopId; public string WorkshopFullName; public int PageIndex = 0; + private readonly ICustomizeCheckoutRepository _customizeCheckoutRepository; - public IndexModel(IPasswordHasher passwordHasher, ISalaryAidApplication salaryAidApplication, - IEmployeeApplication employeeApplication, IHttpContextAccessor contextAccessor, IAuthHelper authHelper, SalaryAidImportExcel salaryAidImportExcel) + public IndexModel(IPasswordHasher passwordHasher, ISalaryAidApplication salaryAidApplication, + IEmployeeApplication employeeApplication, IHttpContextAccessor contextAccessor, IAuthHelper authHelper, SalaryAidImportExcel salaryAidImportExcel, ICustomizeCheckoutApplication customizeCheckoutApplication, ICustomizeCheckoutRepository customizeCheckoutRepository, IYearlySalaryApplication yearlySalaryApplication) { _passwordHasher = passwordHasher; _salaryAidApplication = salaryAidApplication; _employeeApplication = employeeApplication; _authHelper = authHelper; _salaryAidImportExcel = salaryAidImportExcel; + _yearlySalaryApplication = yearlySalaryApplication; + _customizeCheckoutApplication = customizeCheckoutApplication; + _customizeCheckoutRepository = customizeCheckoutRepository; - var workshopHash = _authHelper.GetWorkshopSlug(); + var workshopHash = _authHelper.GetWorkshopSlug(); _workshopId = _passwordHasher.SlugDecrypt(workshopHash); if (_workshopId < 1) @@ -50,6 +59,16 @@ namespace ServiceHost.Areas.Client.Pages.Company.SalaryAid return Page(); } + public IActionResult OnGetYearlyList() + { + var resultData = _yearlySalaryApplication.GetYears(); + return new JsonResult(new + { + success = true, + data = resultData + }); + } + public IActionResult OnGetLoadDataAjax(SalaryAidSearchViewModel searchViewModel) { searchViewModel.WorkshopId = _workshopId; @@ -156,7 +175,7 @@ namespace ServiceHost.Areas.Client.Pages.Company.SalaryAid }); } - public async Task OnPostCreateFromExcelData(List data) + public IActionResult OnPostCreateFromExcelData(List data) { var commands = data.Select(x => new CreateSalaryAidViewModel() { @@ -164,9 +183,11 @@ namespace ServiceHost.Areas.Client.Pages.Company.SalaryAid Amount = x.Amount.ToMoney(), EmployeeIds = [x.EmployeeId], SalaryDateTime = x.SalaryAidDateTime, - NationalCode = x.NationalCode + NationalCode = x.NationalCode, + CalculationMonth = x.calculationMonth, + CalculationYear = x.calculationYear }).ToList(); - OperationResult result = await _salaryAidApplication.CreateRange(commands); + OperationResult result = _salaryAidApplication.CreateRange(commands); return new JsonResult(new { @@ -175,6 +196,50 @@ namespace ServiceHost.Areas.Client.Pages.Company.SalaryAid }); } + public IActionResult OnGetCreateValidation(DateTime dateTime,List employeeIds,long workshopId) + { + var op = new OperationResult(); + _ = DateTime.Now.Date.AddMonthsFa(-1, out var oneMonthAgoGr); + + if (oneMonthAgoGr > dateTime) + { + var prevCheckouts = _customizeCheckoutRepository.ValidateExistsCheckouts(dateTime, + oneMonthAgoGr, workshopId, employeeIds); + + if (prevCheckouts.CustomizeCheckout || prevCheckouts.Checkout || prevCheckouts.CustomizeCheckoutTemp) + { + op.Failed("شما نمیتوانید در تاریخ قبل از یک ماه گذشته که فیش صادر شده باشد مساعده دهید"); + return new JsonResult(new + { + op.IsSuccedded, + op.Message + }); + } + } + + var existsCheckouts = _customizeCheckoutRepository.ValidateExistsCheckouts(dateTime, + dateTime, workshopId, employeeIds); + + if (existsCheckouts.Checkout) + { + op.Failed("شما نمیتوانید برای پرسنلی در تاریخی که برای فیش حقوقی رسمی صادر شده است مساعده دهید"); + return new JsonResult(new + { + op.IsSuccedded, + op.Message + }); + + } + + op.Succcedded(); + return new JsonResult(new + { + op.IsSuccedded, + op.Message, + data = existsCheckouts + }); + + } public IActionResult OnGetSearch(SalaryAidSearchViewModel searchModel) { searchModel.WorkshopId = _workshopId; @@ -184,6 +249,20 @@ namespace ServiceHost.Areas.Client.Pages.Company.SalaryAid data = result }); } + public IActionResult OnGetCheckoutExists(string calculationDate, List employeeIds) + { + var calculationDateGr = calculationDate.ToGeorgianDateTime(); - } + var validateExistsCheckouts = + _customizeCheckoutApplication.ValidateExistsCheckouts(calculationDateGr, calculationDateGr, _workshopId, employeeIds); + + return new JsonResult(new + { + checkout = validateExistsCheckouts.Checkout, + customizeCheckout = validateExistsCheckouts.CustomizeCheckout, + customizeCheckoutTemp = validateExistsCheckouts.CustomizeCheckoutTemp, + }); + } + + } } diff --git a/ServiceHost/Areas/Client/Pages/Company/SalaryAid/ModalCreateNewSalaryAid.cshtml b/ServiceHost/Areas/Client/Pages/Company/SalaryAid/ModalCreateNewSalaryAid.cshtml index 0fbf0115..5757614e 100644 --- a/ServiceHost/Areas/Client/Pages/Company/SalaryAid/ModalCreateNewSalaryAid.cshtml +++ b/ServiceHost/Areas/Client/Pages/Company/SalaryAid/ModalCreateNewSalaryAid.cshtml @@ -7,7 +7,6 @@ }
    -
    @@ -65,6 +108,7 @@
    + @@ -73,6 +117,8 @@ \ No newline at end of file diff --git a/ServiceHost/Areas/Client/Pages/Company/SalaryAid/ModalEditSalaryAid.cshtml b/ServiceHost/Areas/Client/Pages/Company/SalaryAid/ModalEditSalaryAid.cshtml index ee0750db..7853917f 100644 --- a/ServiceHost/Areas/Client/Pages/Company/SalaryAid/ModalEditSalaryAid.cshtml +++ b/ServiceHost/Areas/Client/Pages/Company/SalaryAid/ModalEditSalaryAid.cshtml @@ -21,6 +21,7 @@
    + نام و نام خانوادگی پرسنل
    @@ -31,14 +32,43 @@
    -
    -
    +
    +
    تاریخ
    +
    + تاریخ محاسبه + @* *@ + +
    +
    + +
    +
    + +
    +
    +
    @@ -70,5 +100,8 @@ \ No newline at end of file diff --git a/ServiceHost/Areas/Client/Pages/Company/SalaryAid/ModalImportExcel.cshtml b/ServiceHost/Areas/Client/Pages/Company/SalaryAid/ModalImportExcel.cshtml index 455c3ace..56b53119 100644 --- a/ServiceHost/Areas/Client/Pages/Company/SalaryAid/ModalImportExcel.cshtml +++ b/ServiceHost/Areas/Client/Pages/Company/SalaryAid/ModalImportExcel.cshtml @@ -60,7 +60,7 @@
    -