From d7d938dfccb12eec6f02389f1ddc92c41faed3ba Mon Sep 17 00:00:00 2001 From: MahanCh Date: Sun, 9 Mar 2025 21:52:06 +0330 Subject: [PATCH] Add employee by client part 2 --- Company.Domain/EmployeeAgg/Employee.cs | 4 + .../EmployeeAgg/IEmployeeRepository.cs | 3 + .../IRollCallServiceRepository.cs | 1 + .../WorkshopAgg/IWorkshopRepository.cs | 30 +- .../Employee/CreateEmployeeByClient.cs | 4 +- .../Employee/IEmployeeApplication.cs | 28 + .../IPersonnelCodeApplication.cs | 2 + .../RollCallEmployeeViewModel.cs | 1 + .../IRollCallServiceApplication.cs | 1 + .../WorkshopWithLeftWorkTempEmployeesDto.cs | 24 + .../DTOs/WorkshopWithStartedEmployeesDTO.cs | 27 + .../Workshop/IWorkshopApplication.cs | 18 +- .../Workshop/PersonnelInfoViewModel.cs | 2 + .../EmployeeAplication.cs | 7 + .../EmployeeDocumentsApplication.cs | 153 +- .../PersonnelCodeApplication.cs | 5 + .../RollCallServiceApplication.cs | 5 + .../WorkshopAppliction.cs | 110 +- ..._add employee by client tables.Designer.cs | 8885 +++++++++++++++++ ...309154800_add employee by client tables.cs | 75 + .../Migrations/CompanyContextModelSnapshot.cs | 74 + .../EmployeeClientTempRepository.cs | 35 + .../Repository/EmployeeRepository .cs | 14 + .../Repository/JobRepository.cs | 10 +- .../Repository/LeftWorkTempRepository.cs | 82 + .../Repository/RollCallEmployeeRepository.cs | 69 +- .../Repository/RollCallServiceRepository.cs | 5 + .../Repository/WorkshopRepository.cs | 873 +- .../PersonalBootstrapper.cs | 10 + .../Pages/Company/Checker/Index.cshtml.cs | 5 +- .../WorkFlow/EmployeesDocuments.cshtml | 2 +- .../WorkFlow/EmployeesDocuments.cshtml.cs | 21 +- .../Company/WorkFlow/EmployeesLeftWork.cshtml | 135 + .../WorkFlow/EmployeesLeftWork.cshtml.cs | 105 + .../Company/WorkFlow/EmployeesNew.cshtml | 135 + .../Company/WorkFlow/EmployeesNew.cshtml.cs | 97 + .../Pages/Company/WorkFlow/Index.cshtml | 96 +- .../Pages/Company/WorkFlow/Index.cshtml.cs | 19 +- .../ModalEmployeeEdit.cshtml | 187 + .../ModalUploadDocument.cshtml | 859 +- .../_ModalEmployeeLeftWork/LeftWork.cshtml | 316 + .../_ModalEmployeeNew/StartWork.cshtml | 300 + .../Areas/AdminNew/Pages/Index.cshtml.cs | 8 +- .../Employees/CreateEmployeeModal.cshtml | 286 + .../Company/Employees/EmployeeList.cshtml | 687 +- .../Company/Employees/EmployeeList.cshtml.cs | 334 + .../Pages/Company/Employees/Index.cshtml | 151 +- .../ModalCreateLeftWorkEmployee.cshtml | 78 + .../ModalCreateLeftWorkSingleEmployee.cshtml | 79 + .../_Partials/CreateBankInfoModal.cshtml | 88 + .../_Partials/CreateEmployeeForm.cshtml | 154 + .../_Partials/IdentityInformationForm.cshtml | 62 + .../_Partials/ModalUploadDocument.cshtml | 246 + .../ModalUploadImagePersonnel.cshtml | 119 + .../_Partials/WorkshopSettingGrouping.cshtml | 272 + .../RollCall/EmployeeUploadPicture.cshtml | 129 +- .../RollCall/EmployeeUploadPicture.cshtml.cs | 1342 +-- .../Pages/Company/Workshop/Employees.cshtml | 483 - .../Company/Workshop/Employees.cshtml.cs | 75 - .../Pages/Company/Workshop/Index.cshtml | 14 - ServiceHost/Areas/Client/Pages/Index.cshtml | 31 +- ServiceHost/ServiceHost.csproj | 2 - .../css/ModalUploadDocument.css | 46 +- .../WorkFlow/css/EmployeesLeftWork.css | 634 ++ .../WorkFlow/css/ModalEmployeeEdit.css | 275 + .../WorkFlow/css/start-left-work.css | 19 +- .../WorkFlow/js/EmployeesLeftWork.js | 354 + .../WorkFlow/js/EmployeesNew.js | 97 +- .../WorkFlow/js/ModalEmployeeEdit.js | 147 + .../WorkFlow/js/ModalUploadDocument.js | 29 + .../js/_ModalEmployeeLeftWork/LeftWork.js | 211 + .../js/_ModalEmployeeNew/StartWork.js | 145 + .../AssetsAdminNew/css/customModal.css | 51 + .../wwwroot/AssetsAdminNew/js/customModal.js | 21 + .../AssetsClient/Workshop/js/employees.js | 2 - .../Employees/css/CreateBankInfoModal.css | 89 + .../Employees/css/CreateEmployeeModal.css | 655 ++ .../css/ModalCreateLeftWorkEmployee.css | 134 + .../pages/Employees/css/ModalTakeImages.css | 494 + .../Employees/css/ModalUploadDocument.css | 246 + .../pages/Employees/js/CreateBankInfoModal.js | 468 + .../pages/Employees/js/CreateEmployeeForm.js | 115 + .../pages/Employees/js/CreateEmployeeModal.js | 492 + .../pages/Employees/js/EmployeeList.js | 305 + .../Employees/js/IdentityInformationModal.js | 205 + .../js/ModalCreateLeftWorkEmployee.js | 300 + .../pages/Employees/js/ModalUploadDocument.js | 308 + .../Employees/js/WorkshopSettingGrouping.js | 1408 +++ .../Employees/js/modaluploadimagepersonnel.js | 485 + .../RollCall/js/EmployeeUploadPicture.js | 28 +- .../AdminWorkFlowApplication.cs | 29 +- .../Employee/IWorkFlowEmployeeACL.cs | 61 + .../Workshop/IWorkFlowWorkshopACL.cs | 60 + .../WorkFlowBootstrapper.cs | 8 +- 94 files changed, 22779 insertions(+), 2616 deletions(-) create mode 100644 CompanyManagment.App.Contracts/Workshop/DTOs/WorkshopWithLeftWorkTempEmployeesDto.cs create mode 100644 CompanyManagment.App.Contracts/Workshop/DTOs/WorkshopWithStartedEmployeesDTO.cs create mode 100644 CompanyManagment.EFCore/Migrations/20250309154800_add employee by client tables.Designer.cs create mode 100644 CompanyManagment.EFCore/Migrations/20250309154800_add employee by client tables.cs create mode 100644 CompanyManagment.EFCore/Repository/EmployeeClientTempRepository.cs create mode 100644 CompanyManagment.EFCore/Repository/LeftWorkTempRepository.cs create mode 100644 ServiceHost/Areas/AdminNew/Pages/Company/WorkFlow/EmployeesLeftWork.cshtml create mode 100644 ServiceHost/Areas/AdminNew/Pages/Company/WorkFlow/EmployeesLeftWork.cshtml.cs create mode 100644 ServiceHost/Areas/AdminNew/Pages/Company/WorkFlow/EmployeesNew.cshtml create mode 100644 ServiceHost/Areas/AdminNew/Pages/Company/WorkFlow/EmployeesNew.cshtml.cs create mode 100644 ServiceHost/Areas/AdminNew/Pages/Company/WorkFlow/_ModalEmployeeDocuments/ModalEmployeeEdit.cshtml create mode 100644 ServiceHost/Areas/AdminNew/Pages/Company/WorkFlow/_ModalEmployeeLeftWork/LeftWork.cshtml create mode 100644 ServiceHost/Areas/AdminNew/Pages/Company/WorkFlow/_ModalEmployeeNew/StartWork.cshtml create mode 100644 ServiceHost/Areas/Client/Pages/Company/Employees/CreateEmployeeModal.cshtml create mode 100644 ServiceHost/Areas/Client/Pages/Company/Employees/EmployeeList.cshtml.cs create mode 100644 ServiceHost/Areas/Client/Pages/Company/Employees/ModalCreateLeftWorkEmployee.cshtml create mode 100644 ServiceHost/Areas/Client/Pages/Company/Employees/ModalCreateLeftWorkSingleEmployee.cshtml create mode 100644 ServiceHost/Areas/Client/Pages/Company/Employees/_Partials/CreateBankInfoModal.cshtml create mode 100644 ServiceHost/Areas/Client/Pages/Company/Employees/_Partials/CreateEmployeeForm.cshtml create mode 100644 ServiceHost/Areas/Client/Pages/Company/Employees/_Partials/IdentityInformationForm.cshtml create mode 100644 ServiceHost/Areas/Client/Pages/Company/Employees/_Partials/ModalUploadDocument.cshtml create mode 100644 ServiceHost/Areas/Client/Pages/Company/Employees/_Partials/ModalUploadImagePersonnel.cshtml create mode 100644 ServiceHost/Areas/Client/Pages/Company/Employees/_Partials/WorkshopSettingGrouping.cshtml delete mode 100644 ServiceHost/Areas/Client/Pages/Company/Workshop/Employees.cshtml delete mode 100644 ServiceHost/Areas/Client/Pages/Company/Workshop/Employees.cshtml.cs create mode 100644 ServiceHost/wwwroot/AssetsAdminNew/WorkFlow/css/EmployeesLeftWork.css create mode 100644 ServiceHost/wwwroot/AssetsAdminNew/WorkFlow/css/ModalEmployeeEdit.css create mode 100644 ServiceHost/wwwroot/AssetsAdminNew/WorkFlow/js/EmployeesLeftWork.js create mode 100644 ServiceHost/wwwroot/AssetsAdminNew/WorkFlow/js/ModalEmployeeEdit.js create mode 100644 ServiceHost/wwwroot/AssetsAdminNew/WorkFlow/js/_ModalEmployeeLeftWork/LeftWork.js create mode 100644 ServiceHost/wwwroot/AssetsAdminNew/WorkFlow/js/_ModalEmployeeNew/StartWork.js create mode 100644 ServiceHost/wwwroot/AssetsAdminNew/css/customModal.css create mode 100644 ServiceHost/wwwroot/AssetsAdminNew/js/customModal.js create mode 100644 ServiceHost/wwwroot/AssetsClient/pages/Employees/css/CreateBankInfoModal.css create mode 100644 ServiceHost/wwwroot/AssetsClient/pages/Employees/css/CreateEmployeeModal.css create mode 100644 ServiceHost/wwwroot/AssetsClient/pages/Employees/css/ModalCreateLeftWorkEmployee.css create mode 100644 ServiceHost/wwwroot/AssetsClient/pages/Employees/css/ModalTakeImages.css create mode 100644 ServiceHost/wwwroot/AssetsClient/pages/Employees/css/ModalUploadDocument.css create mode 100644 ServiceHost/wwwroot/AssetsClient/pages/Employees/js/CreateBankInfoModal.js create mode 100644 ServiceHost/wwwroot/AssetsClient/pages/Employees/js/CreateEmployeeForm.js create mode 100644 ServiceHost/wwwroot/AssetsClient/pages/Employees/js/CreateEmployeeModal.js create mode 100644 ServiceHost/wwwroot/AssetsClient/pages/Employees/js/EmployeeList.js create mode 100644 ServiceHost/wwwroot/AssetsClient/pages/Employees/js/IdentityInformationModal.js create mode 100644 ServiceHost/wwwroot/AssetsClient/pages/Employees/js/ModalCreateLeftWorkEmployee.js create mode 100644 ServiceHost/wwwroot/AssetsClient/pages/Employees/js/ModalUploadDocument.js create mode 100644 ServiceHost/wwwroot/AssetsClient/pages/Employees/js/WorkshopSettingGrouping.js create mode 100644 ServiceHost/wwwroot/AssetsClient/pages/Employees/js/modaluploadimagepersonnel.js create mode 100644 WorkFlow/Infrastructure/WorkFlow.Infrastructure.ACL/Employee/IWorkFlowEmployeeACL.cs create mode 100644 WorkFlow/Infrastructure/WorkFlow.Infrastructure.ACL/Workshop/IWorkFlowWorkshopACL.cs diff --git a/Company.Domain/EmployeeAgg/Employee.cs b/Company.Domain/EmployeeAgg/Employee.cs index dc45b29b..c8836b47 100644 --- a/Company.Domain/EmployeeAgg/Employee.cs +++ b/Company.Domain/EmployeeAgg/Employee.cs @@ -224,6 +224,10 @@ public class Employee : EntityBase } #region Mahan + public void EditFromEmployeeClientTemp(string maritalStatus) + { + MaritalStatus = maritalStatus; + } public void Authorized() { diff --git a/Company.Domain/EmployeeAgg/IEmployeeRepository.cs b/Company.Domain/EmployeeAgg/IEmployeeRepository.cs index aabcd453..6a49fd7e 100644 --- a/Company.Domain/EmployeeAgg/IEmployeeRepository.cs +++ b/Company.Domain/EmployeeAgg/IEmployeeRepository.cs @@ -63,6 +63,9 @@ public interface IEmployeeRepository : IRepository List GetWorkingEmployeesByWorkshopIdsAndNationalCodeAndDate(List workshopIds, string nationalCode, DateTime date); List GetWorkingEmployeesByWorkshopId(long workshopId); + List GetWorkedEmployeesByWorkshopIdsAndNationalCodeAndDate(List workshopIds, + string nationalCode, DateTime date); + List<(long Id, string Name)> SimpleGetRangeByIds(IEnumerable newEmployeeIds); Task GetEmployeeEditInEmployeeDocumentWorkFlow(long employeeId, long workshopId); diff --git a/Company.Domain/RollCallServiceAgg/IRollCallServiceRepository.cs b/Company.Domain/RollCallServiceAgg/IRollCallServiceRepository.cs index 95b9ffd9..06dd39ed 100644 --- a/Company.Domain/RollCallServiceAgg/IRollCallServiceRepository.cs +++ b/Company.Domain/RollCallServiceAgg/IRollCallServiceRepository.cs @@ -17,4 +17,5 @@ public interface IRollCallServiceRepository : IRepository List GetAllServiceByAccountId(long accountId); + bool IsExistActiveServiceByWorkshopId(long workshopId); } \ No newline at end of file diff --git a/Company.Domain/WorkshopAgg/IWorkshopRepository.cs b/Company.Domain/WorkshopAgg/IWorkshopRepository.cs index 1a9cc9c4..732d453c 100644 --- a/Company.Domain/WorkshopAgg/IWorkshopRepository.cs +++ b/Company.Domain/WorkshopAgg/IWorkshopRepository.cs @@ -1,9 +1,11 @@ using System.Collections.Generic; +using System.Threading.Tasks; using _0_Framework.Application; using _0_Framework.Domain; using CompanyManagment.App.Contracts.Contract; using CompanyManagment.App.Contracts.PersonalContractingParty; using CompanyManagment.App.Contracts.Workshop; +using CompanyManagment.App.Contracts.Workshop.DTOs; namespace Company.Domain.WorkshopAgg; @@ -59,18 +61,23 @@ public interface IWorkshopRepository : IRepository List PrintWorkshopList(WorkshopSearchModel searchModel); #endregion + #region Mahan PersonalContractingPartyViewModel GetPersonalContractingPartyByWorkshopId(long workshopId); List GetWorkshopsByClientAccountId(long clientAccountId); + Task> GetWorkshopsForEmployeeStartWork(long accountId); + Task GetWorkshopsForEmployeeStartWorkCount(long accountId); + Task> GetWorkshopsForLeftWorkTemp(long accountId); + Task GetWorkshopsForLeftWorkTempCount(long accountId); - #endregion + #endregion - #region Insurance - /// - /// لیست انتخاب کارگاه در مودال ایجاد بیمه - /// - /// - List GetWorkshopSelectListInsuransce(); + #region Insurance + /// + /// لیست انتخاب کارگاه در مودال ایجاد بیمه + /// + /// + List GetWorkshopSelectListInsuransce(); #endregion /// @@ -87,4 +94,13 @@ public interface IWorkshopRepository : IRepository /// /// OperationResult EditAccountLeftWorkAndWorkshopAccounts(List accountIds, long workshopId); + + + #region Pooya + + List GetPersonnelInfoRemastered(long searchModelWorkshopId); + + + #endregion + } \ No newline at end of file diff --git a/CompanyManagment.App.Contracts/Employee/CreateEmployeeByClient.cs b/CompanyManagment.App.Contracts/Employee/CreateEmployeeByClient.cs index 9ff2fc8c..29f9346c 100644 --- a/CompanyManagment.App.Contracts/Employee/CreateEmployeeByClient.cs +++ b/CompanyManagment.App.Contracts/Employee/CreateEmployeeByClient.cs @@ -27,9 +27,7 @@ public class CreateEmployeeByClient public long JobId { get; set; } public List EmployeeDocumentItems { get; set; } public bool HasEmployeeDocument { get; set; } - - - + public bool HasRollCallService { get; set; } } diff --git a/CompanyManagment.App.Contracts/Employee/IEmployeeApplication.cs b/CompanyManagment.App.Contracts/Employee/IEmployeeApplication.cs index cc493a21..4ec027f8 100644 --- a/CompanyManagment.App.Contracts/Employee/IEmployeeApplication.cs +++ b/CompanyManagment.App.Contracts/Employee/IEmployeeApplication.cs @@ -1,6 +1,7 @@ using System.Collections.Generic; using System.Threading.Tasks; using _0_Framework.Application; +using CompanyManagment.App.Contracts.Employee.DTO; using CompanyManagment.App.Contracts.EmployeeInsuranceRecord; namespace CompanyManagment.App.Contracts.Employee; @@ -44,6 +45,33 @@ public interface IEmployeeApplication List GetWorkingEmployeesByWorkshopId(long workshopId); + EmployeeViewModel GetEmployeeByNationalCodeIfHasLeftWork(string nationalCode, List workshopIds); + #endregion + + #region Mahan + OperationResult CreateEmployeeByClient(CreateEmployeeByClient command); + + /// + /// اطلاعات پرسنل با کد ملی در کارگاه. اگر در کارگاه کار نکرده باشه وجود نداشته باشه اطلاعات خالی داده میشه + /// + /// + /// + /// + /// + Task> + ValidateCreateEmployeeClientByNationalCodeAndWorkshopId(string nationalCode, + string birthDate, long workshopId); + + /// + /// پرسنل هایی که در کارگاهی از سمت ادمین شروع به کار کرده اند + /// + /// + /// + Task> GetClientEmployeesStartWork(long workshopId); + Task> GetEmployeesForLeftWorkTemp(long workshopId); + Task GetEmployeeEditInEmployeeDocumentWorkFlow(long employeeId, + long workshopId); + Task EditEmployeeInEmployeeDocumentWorkFlow(EditEmployeeInEmployeeDocument command); #endregion } \ No newline at end of file diff --git a/CompanyManagment.App.Contracts/PersonnleCode/IPersonnelCodeApplication.cs b/CompanyManagment.App.Contracts/PersonnleCode/IPersonnelCodeApplication.cs index 3fbd286b..b7c08647 100644 --- a/CompanyManagment.App.Contracts/PersonnleCode/IPersonnelCodeApplication.cs +++ b/CompanyManagment.App.Contracts/PersonnleCode/IPersonnelCodeApplication.cs @@ -16,5 +16,7 @@ public interface IPersonnelCodeApplication List Search(PersonnelCodeSearchModel searchModel); PersonnelCodeViewModel GetPersonnelCodeViewModel(PersonnelCodeSearchModel searchModel); long GetEmployeeIdByPersonelCode(long personleCode, long workshopId); + long GetLastPersonnelCodeByWorkshop(long workshopId); + } \ No newline at end of file diff --git a/CompanyManagment.App.Contracts/RollCallEmployee/RollCallEmployeeViewModel.cs b/CompanyManagment.App.Contracts/RollCallEmployee/RollCallEmployeeViewModel.cs index 58a9f016..90ef6c02 100644 --- a/CompanyManagment.App.Contracts/RollCallEmployee/RollCallEmployeeViewModel.cs +++ b/CompanyManagment.App.Contracts/RollCallEmployee/RollCallEmployeeViewModel.cs @@ -35,4 +35,5 @@ public class RollCallEmployeeViewModel : EditRollCallEmployee public string EmployeeLName { get; set; } public string EmployeeFName { get; set; } public long RollCallEmployeeId { get; set; } + public bool CreatedByClient { get; set; } } \ No newline at end of file diff --git a/CompanyManagment.App.Contracts/RollCallService/IRollCallServiceApplication.cs b/CompanyManagment.App.Contracts/RollCallService/IRollCallServiceApplication.cs index 535d0912..6fbdb409 100644 --- a/CompanyManagment.App.Contracts/RollCallService/IRollCallServiceApplication.cs +++ b/CompanyManagment.App.Contracts/RollCallService/IRollCallServiceApplication.cs @@ -19,4 +19,5 @@ public interface IRollCallServiceApplication List GetActiveServiceByAccountId(long accountId); List GetAllServiceByAccountId(long accountId); + bool IsExistActiveServiceByWorkshopId(long workshopId); } \ No newline at end of file diff --git a/CompanyManagment.App.Contracts/Workshop/DTOs/WorkshopWithLeftWorkTempEmployeesDto.cs b/CompanyManagment.App.Contracts/Workshop/DTOs/WorkshopWithLeftWorkTempEmployeesDto.cs new file mode 100644 index 00000000..f57e2abc --- /dev/null +++ b/CompanyManagment.App.Contracts/Workshop/DTOs/WorkshopWithLeftWorkTempEmployeesDto.cs @@ -0,0 +1,24 @@ +namespace CompanyManagment.App.Contracts.Workshop; + +public class WorkshopWithLeftWorkTempEmployeesDto +{ + /// + /// آیدی کارگاه + /// + public long WorkshopId { get; set; } + + /// + /// نام کارگاه + /// + public string WorkshopName { get; set; } = string.Empty; + + /// + /// نام کارفرما + /// + public string EmployerName { get; set; } = string.Empty; + + /// + /// تعداد پرسنل ترک کار کرده + /// + public int LeftWorkEmployees { get; set; } +} \ No newline at end of file diff --git a/CompanyManagment.App.Contracts/Workshop/DTOs/WorkshopWithStartedEmployeesDTO.cs b/CompanyManagment.App.Contracts/Workshop/DTOs/WorkshopWithStartedEmployeesDTO.cs new file mode 100644 index 00000000..60e2ae2d --- /dev/null +++ b/CompanyManagment.App.Contracts/Workshop/DTOs/WorkshopWithStartedEmployeesDTO.cs @@ -0,0 +1,27 @@ +namespace CompanyManagment.App.Contracts.Workshop.DTOs; + +/// +/// کارگاه هایی که از کلاینت، پرسنلی را شروع به کار زدند +/// +public class WorkshopWithStartedEmployeesDto +{ + /// + /// آیدی کارگاه + /// + public long WorkshopId { get; set; } + + /// + /// نام کارگاه + /// + public string WorkshopName { get; set; } = string.Empty; + + /// + /// نام کارفرما + /// + public string EmployerName { get; set; } = string.Empty; + + /// + /// تعداد پرسنل اضافه شده + /// + public int AddedEmployeesCount { get; set; } +} \ No newline at end of file diff --git a/CompanyManagment.App.Contracts/Workshop/IWorkshopApplication.cs b/CompanyManagment.App.Contracts/Workshop/IWorkshopApplication.cs index 73d34584..d30257e3 100644 --- a/CompanyManagment.App.Contracts/Workshop/IWorkshopApplication.cs +++ b/CompanyManagment.App.Contracts/Workshop/IWorkshopApplication.cs @@ -1,7 +1,9 @@ using System.Collections.Generic; using System.Runtime.InteropServices; +using System.Threading.Tasks; using _0_Framework.Application; using AccountManagement.Application.Contracts.Account; +using CompanyManagment.App.Contracts.Workshop.DTOs; namespace CompanyManagment.App.Contracts.Workshop; @@ -54,6 +56,11 @@ public interface IWorkshopApplication #endregion + #region Pooya + + List GetPersonnelInfoRemastered(PersonnelInfoSearchModel searchModel); + #endregion + #region Vafa List PrintWorkshopList(WorkshopSearchModel searchModel); @@ -70,5 +77,14 @@ public interface IWorkshopApplication /// List GetWorkshopSelectListInsuransce(); - #endregion + #endregion + + #region Mahan + Task> GetWorkshopsForEmployeeStartWork(long accountId); + Task GetWorkshopsForEmployeeStartWorkCount(long accountId); + + Task> GetWorkshopsForLeftWorkTemp(long accountId); + Task GetWorkshopsForLeftWorkTempCount(long accountId); + + #endregion } \ No newline at end of file diff --git a/CompanyManagment.App.Contracts/Workshop/PersonnelInfoViewModel.cs b/CompanyManagment.App.Contracts/Workshop/PersonnelInfoViewModel.cs index 42c32f31..5ad7473f 100644 --- a/CompanyManagment.App.Contracts/Workshop/PersonnelInfoViewModel.cs +++ b/CompanyManagment.App.Contracts/Workshop/PersonnelInfoViewModel.cs @@ -43,4 +43,6 @@ public class PersonnelInfoViewModel public bool Black { get; set; } public DateTime StartWork { get; set; } public DateTime LeftWork { get; set; } + public bool CreatedByClient { get; set; } + public bool LefWorkTemp { get; set; } } \ No newline at end of file diff --git a/CompanyManagment.Application/EmployeeAplication.cs b/CompanyManagment.Application/EmployeeAplication.cs index 283f745a..a27dad5a 100644 --- a/CompanyManagment.Application/EmployeeAplication.cs +++ b/CompanyManagment.Application/EmployeeAplication.cs @@ -908,6 +908,13 @@ public class EmployeeAplication : RepositoryBase, IEmployeeAppli return workshopEmployeesWithLeftWork.FirstOrDefault(); } + public EmployeeViewModel GetEmployeeByNationalCodeIfHasLeftWork(string nationalCode, List workshopIds) + { + if (nationalCode.NationalCodeValid() != "valid") + return new(); + var workshopEmployeesWithLeftWork = _EmployeeRepository.GetWorkedEmployeesByWorkshopIdsAndNationalCodeAndDate(workshopIds, nationalCode, DateTime.Now.Date); + return workshopEmployeesWithLeftWork.FirstOrDefault(); + } public List GetWorkingEmployeesByWorkshopId(long workshopId) { return _EmployeeRepository.GetWorkingEmployeesByWorkshopId(workshopId); diff --git a/CompanyManagment.Application/EmployeeDocumentsApplication.cs b/CompanyManagment.Application/EmployeeDocumentsApplication.cs index 5594e0e3..b74ca52c 100644 --- a/CompanyManagment.Application/EmployeeDocumentsApplication.cs +++ b/CompanyManagment.Application/EmployeeDocumentsApplication.cs @@ -22,6 +22,7 @@ using Microsoft.AspNetCore.Mvc; using CompanyManagment.App.Contracts.SmsResult; using Microsoft.Identity.Client; using static Microsoft.QualityTools.Testing.Fakes.FakesDelegates; +using Company.Domain.EmployeeClientTempAgg; namespace CompanyManagment.Application { @@ -35,15 +36,17 @@ namespace CompanyManagment.Application private readonly ILeftWorkRepository _leftWorkRepository; private readonly IEmployeeDocumentItemRepository _employeeDocumentItemRepository; private readonly IAuthHelper _authHelper; + private readonly IEmployeeClientTempRepository _employeeClientTempRepository; - private readonly string _basePath; + + private readonly string _basePath; public EmployeeDocumentsApplication(IEmployeeDocumentsRepository employeeDocumentsRepository, IEmployeeRepository employeeRepository, IWorkshopRepository workshopRepository, IWebHostEnvironment webHostEnvironment, IMediaRepository mediaRepository, ILeftWorkRepository leftWorkRepository, - IEmployeeDocumentItemRepository employeeDocumentItemRepository, IAuthHelper authHelper) + IEmployeeDocumentItemRepository employeeDocumentItemRepository, IAuthHelper authHelper, IEmployeeClientTempRepository employeeClientTempRepository) { _employeeDocumentsRepository = employeeDocumentsRepository; _employeeRepository = employeeRepository; @@ -53,7 +56,8 @@ namespace CompanyManagment.Application _leftWorkRepository = leftWorkRepository; _employeeDocumentItemRepository = employeeDocumentItemRepository; _authHelper = authHelper; - _basePath = Path.Combine(_webHostEnvironment.ContentRootPath, "Storage", "EmployeeDocuments"); + _employeeClientTempRepository = employeeClientTempRepository; + _basePath = Path.Combine(_webHostEnvironment.ContentRootPath, "Storage", "EmployeeDocuments"); } /// @@ -1213,6 +1217,19 @@ namespace CompanyManagment.Application } entity.UpdateIsConfirmed(); entity.UpdateIsSentToChecker(); + + if (entity.IsConfirmed) + { + var clientTemp = _employeeClientTempRepository.GetByEmployeeIdAndWorkshopId(entity.EmployeeId, entity.WorkshopId); + var employee = _employeeRepository.Get(entity.EmployeeId); + + if (clientTemp != null) + { + employee.EditFromEmployeeClientTemp(clientTemp.MaritalStatus); + _employeeClientTempRepository.Remove(clientTemp); + } + + } _employeeDocumentsRepository.SaveChanges(); return op.Succcedded(); } @@ -1222,91 +1239,93 @@ namespace CompanyManagment.Application /// برای تایید یا رد توسط چکر ،unsubmitted دریافت جزییات مدارک پرسنل، بدون مدارک /// public EmployeeDocumentsViewModel GetDetailsForChecker(long employeeId, long workshopId) - { - var entity = _employeeDocumentsRepository.GetByEmployeeIdWorkshopIdWithItems(employeeId, workshopId); + { + var entity = _employeeDocumentsRepository.GetByEmployeeIdWorkshopIdWithItems(employeeId, workshopId); - if (!_employeeRepository.Exists(x => x.id == employeeId)) - return new(); - if (!_workshopRepository.Exists(x => x.id == workshopId)) - return new(); + if (!_employeeRepository.Exists(x => x.id == employeeId)) + return new(); + if (!_workshopRepository.Exists(x => x.id == workshopId)) + return new(); - //if entity is null but employee exists, make a new empty entity for it - if (entity == null) - { - var opCreate = - Create(new CreateEmployeeDocuments() { EmployeeId = employeeId, WorkshopId = workshopId }); - if (opCreate.IsSuccedded == false) return new(); + //if entity is null but employee exists, make a new empty entity for it + if (entity == null) + { + var opCreate = + Create(new CreateEmployeeDocuments() { EmployeeId = employeeId, WorkshopId = workshopId }); + if (opCreate.IsSuccedded == false) return new(); - return new EmployeeDocumentsViewModel() { EmployeeId = employeeId }; - } + return new EmployeeDocumentsViewModel() { EmployeeId = employeeId }; + } - List currentDocuments = entity.EmployeeDocumentItemCollection - .Where(x => x.DocumentStatus != DocumentStatus.Unsubmitted) - .GroupBy(x => x.DocumentLabel) - .Select(x => x.MaxBy(y => y.CreationDate)) - .Where(x=>x.DocumentStatus == DocumentStatus.SubmittedByAdmin || + List currentDocuments = entity.EmployeeDocumentItemCollection + .Where(x => x.DocumentStatus != DocumentStatus.Unsubmitted) + .GroupBy(x => x.DocumentLabel) + .Select(x => x.MaxBy(y => y.CreationDate)) + .Where(x => x.DocumentStatus == DocumentStatus.SubmittedByAdmin || x.DocumentStatus == DocumentStatus.Confirmed || x.DocumentStatus == DocumentStatus.Rejected).ToList(); - var medias = _mediaRepository - .GetMedias(currentDocuments.Select(x => x.MediaId) - .ToList()); + var medias = _mediaRepository + .GetMedias(currentDocuments.Select(x => x.MediaId) + .ToList()); - var employee = _employeeRepository.Get(entity.EmployeeId); + var employee = _employeeRepository.Get(entity.EmployeeId); + + var employeeClientTemp = _employeeClientTempRepository.GetByEmployeeIdAndWorkshopId(employeeId, workshopId); - return new EmployeeDocumentsViewModel() - { - Id = entity.id, - MilitaryServiceCard = GetItemFromCollectionByLabel(currentDocuments, medias, - DocumentItemLabel.MilitaryServiceCard), + return new EmployeeDocumentsViewModel() + { + Id = entity.id, + MilitaryServiceCard = GetItemFromCollectionByLabel(currentDocuments, medias, + DocumentItemLabel.MilitaryServiceCard), - EducationalDegree = GetItemFromCollectionByLabel(currentDocuments, medias, - DocumentItemLabel.EducationalDegree), + EducationalDegree = GetItemFromCollectionByLabel(currentDocuments, medias, + DocumentItemLabel.EducationalDegree), - IdCardPage1 = - GetItemFromCollectionByLabel(currentDocuments, medias, DocumentItemLabel.IdCardPage1), + IdCardPage1 = + GetItemFromCollectionByLabel(currentDocuments, medias, DocumentItemLabel.IdCardPage1), - IdCardPage2 = - GetItemFromCollectionByLabel(currentDocuments, medias, DocumentItemLabel.IdCardPage2), + IdCardPage2 = + GetItemFromCollectionByLabel(currentDocuments, medias, DocumentItemLabel.IdCardPage2), - IdCardPage3 = - GetItemFromCollectionByLabel(currentDocuments, medias, DocumentItemLabel.IdCardPage3), + IdCardPage3 = + GetItemFromCollectionByLabel(currentDocuments, medias, DocumentItemLabel.IdCardPage3), - IdCardPage4 = - GetItemFromCollectionByLabel(currentDocuments, medias, DocumentItemLabel.IdCardPage4), + IdCardPage4 = + GetItemFromCollectionByLabel(currentDocuments, medias, DocumentItemLabel.IdCardPage4), - NationalCardFront = GetItemFromCollectionByLabel(currentDocuments, medias, - DocumentItemLabel.NationalCardFront), + NationalCardFront = GetItemFromCollectionByLabel(currentDocuments, medias, + DocumentItemLabel.NationalCardFront), - NationalCardRear = GetItemFromCollectionByLabel(currentDocuments, medias, - DocumentItemLabel.NationalCardRear), + NationalCardRear = GetItemFromCollectionByLabel(currentDocuments, medias, + DocumentItemLabel.NationalCardRear), - EmployeePicture = GetItemFromCollectionByLabel(currentDocuments, medias, - DocumentItemLabel.EmployeePicture), + EmployeePicture = GetItemFromCollectionByLabel(currentDocuments, medias, + DocumentItemLabel.EmployeePicture), - EmployeeFullName = employee.FullName, - WorkshopId = workshopId, - EmployeeId = entity.EmployeeId, - Gender = employee.Gender, - NationalCode = employee.NationalCode, - EmployeeFName = employee.FName, - EmployeeLName = employee.LName, - Nationality = employee.Nationality, - IdNumber = employee.IdNumber, - FatherName = employee.FatherName, - DateOfBirth = employee.DateOfBirth.ToFarsi(), - MaritalStatus = employee.MaritalStatus, - MilitaryServiceStatus = employee.MilitaryService, - SubmittedItemsCount = currentDocuments.Count(x => x.DocumentStatus == DocumentStatus.SubmittedByAdmin) - }; - } + EmployeeFullName = employee.FullName, + WorkshopId = workshopId, + EmployeeId = entity.EmployeeId, + Gender = employee.Gender, + NationalCode = employee.NationalCode, + EmployeeFName = employee.FName, + EmployeeLName = employee.LName, + Nationality = employee.Nationality, + IdNumber = employee.IdNumber, + FatherName = employee.FatherName, + DateOfBirth = employee.DateOfBirth.ToFarsi(), + MaritalStatus = employeeClientTemp == null ? employee.MaritalStatus : employeeClientTemp.MaritalStatus, + MilitaryServiceStatus = employee.MilitaryService, + SubmittedItemsCount = currentDocuments.Count(x => x.DocumentStatus == DocumentStatus.SubmittedByAdmin) + }; + } - /// - /// دریافت کارگاه هایی که اقدام به آپلود مدارک کرده اند - /// - public List GetWorkshopsWithUploadedDocumentsForChecker() + /// + /// دریافت کارگاه هایی که اقدام به آپلود مدارک کرده اند + /// + public List GetWorkshopsWithUploadedDocumentsForChecker() { return _employeeDocumentsRepository.GetWorkshopsWithUploadedDocuments(); } diff --git a/CompanyManagment.Application/PersonnelCodeApplication.cs b/CompanyManagment.Application/PersonnelCodeApplication.cs index da131b8e..e95cbef7 100644 --- a/CompanyManagment.Application/PersonnelCodeApplication.cs +++ b/CompanyManagment.Application/PersonnelCodeApplication.cs @@ -76,4 +76,9 @@ public class PersonnelCodeApplication : IPersonnelCodeApplication { return _personnelCodeRepository.GetEmployeeIdByPersonelCode(personleCode, workshopId); } + + public long GetLastPersonnelCodeByWorkshop(long workshopId) + { + return _personnelCodeRepository.GetLastPersonnelCodeByWorkshop(workshopId); + } } \ No newline at end of file diff --git a/CompanyManagment.Application/RollCallServiceApplication.cs b/CompanyManagment.Application/RollCallServiceApplication.cs index 5d34b897..474ccc50 100644 --- a/CompanyManagment.Application/RollCallServiceApplication.cs +++ b/CompanyManagment.Application/RollCallServiceApplication.cs @@ -102,4 +102,9 @@ public class RollCallServiceApplication : IRollCallServiceApplication { return _rollCallServiceRepository.GetAllServiceByAccountId(accountId); } + + public bool IsExistActiveServiceByWorkshopId(long workshopId) + { + return _rollCallServiceRepository.IsExistActiveServiceByWorkshopId(workshopId); + } } \ No newline at end of file diff --git a/CompanyManagment.Application/WorkshopAppliction.cs b/CompanyManagment.Application/WorkshopAppliction.cs index 14be5b57..d97836ca 100644 --- a/CompanyManagment.Application/WorkshopAppliction.cs +++ b/CompanyManagment.Application/WorkshopAppliction.cs @@ -1,6 +1,7 @@ using System; using System.Collections.Generic; using System.Linq; +using System.Threading.Tasks; using System.Transactions; using _0_Framework.Application; using AccountManagement.Application.Contracts.Account; @@ -15,6 +16,7 @@ using CompanyManagment.App.Contracts.EmployeeChildren; using CompanyManagment.App.Contracts.LeftWork; using CompanyManagment.App.Contracts.RollCallService; using CompanyManagment.App.Contracts.Workshop; +using CompanyManagment.App.Contracts.Workshop.DTOs; using CompanyManagment.App.Contracts.WorkshopPlan; using CompanyManagment.EFCore.Migrations; using Microsoft.EntityFrameworkCore; @@ -35,9 +37,9 @@ public class WorkshopAppliction : IWorkshopApplication private readonly IInstitutionContractRepository _institutionContractRepository; private readonly IPersonalContractingPartyRepository _personalContractingPartyRepository; private readonly IRollCallServiceApplication _rollCallServiceApplication; + private readonly IPasswordHasher _passwordHasher; - - public WorkshopAppliction(IWorkshopRepository workshopRepository, ILeftWorkRepository leftWorkRepository, ILeftWorkInsuranceRepository leftWorkInsuranceRepository, IWorkshopPlanApplication workshopPlanApplication, IEmployeeApplication employeeApplication, IEmployeeChildrenApplication employeeChildrenApplication, IInstitutionContractRepository institutionContractRepository, IPersonalContractingPartyRepository personalContractingPartyRepository, IRollCallServiceApplication rollCallServiceApplication) + public WorkshopAppliction(IWorkshopRepository workshopRepository, ILeftWorkRepository leftWorkRepository, ILeftWorkInsuranceRepository leftWorkInsuranceRepository, IWorkshopPlanApplication workshopPlanApplication, IEmployeeApplication employeeApplication, IEmployeeChildrenApplication employeeChildrenApplication, IInstitutionContractRepository institutionContractRepository, IPersonalContractingPartyRepository personalContractingPartyRepository, IRollCallServiceApplication rollCallServiceApplication, IPasswordHasher passwordHasher) { _workshopRepository = workshopRepository; _leftWorkRepository = leftWorkRepository; @@ -48,6 +50,7 @@ public class WorkshopAppliction : IWorkshopApplication _institutionContractRepository = institutionContractRepository; _personalContractingPartyRepository = personalContractingPartyRepository; _rollCallServiceApplication = rollCallServiceApplication; + _passwordHasher = passwordHasher; } public OperationResult Create(CreateWorkshop command) @@ -752,6 +755,8 @@ public class WorkshopAppliction : IWorkshopApplication return _workshopRepository.PrintWorkshopList(searchModel); } + + public AccountViewModel GetClientAccountByWorkshopId(long workshopId) { var contractingParty = _workshopRepository.GetPersonalContractingPartyByWorkshopId(workshopId); @@ -760,19 +765,104 @@ public class WorkshopAppliction : IWorkshopApplication - //public List GetConnectedPersonnelsForMain(long workshopId) - //{ - // return _workshopRepository.GetConnectedPersonnelsForMain(workshopId); - //} + //public List GetConnectedPersonnelsForMain(long workshopId) + //{ + // return _workshopRepository.GetConnectedPersonnelsForMain(workshopId); + //} - #endregion + #endregion - #region Insurance - public List GetWorkshopSelectListInsuransce() + #region Pooya + public List GetPersonnelInfoRemastered(PersonnelInfoSearchModel searchModel) + { + + var res = _workshopRepository.GetPersonnelInfoRemastered(searchModel.WorkshopId); + res = res.Select(x => new PersonnelInfoViewModel + { + WorkshopId = x.WorkshopId, + EmployeeId = x.EmployeeId, + PersonnelCode = x.PersonnelCode, + FullName = x.FullName, + Name = x.Name, + LastName = x.LastName, + NationalCode = x.NationalCode, + IdNumber = x.IdNumber, + MaritalStatus = x.MaritalStatus, + DateOfBirthFa = x.DateOfBirthFa, + FatherName = x.FatherName, + State = x.State, + City = x.City, + Address = x.Address, + ChildrenList = x.ChildrenList, + ContractPerson = x.ContractPerson, + InsurancePerson = x.InsurancePerson, + ContractLeft = x.ContractLeft, + InsuranceLeft = x.InsuranceLeft, + Black = ((x.ContractPerson && x.InsurancePerson && x.InsuranceLeft && x.ContractLeft) || + (x.ContractPerson && !x.InsurancePerson && x.ContractLeft) || + (x.InsurancePerson && !x.ContractPerson && x.InsuranceLeft)) + ? true + : false, + LastStartContractWork = x.LastStartContractWork, + LastLeftContractWork = x.LastLeftContractWork, + LastStartInsuranceWork = x.LastStartInsuranceWork, + LastLeftInsuranceWork = x.LastLeftInsuranceWork, + WorkshopHash = _passwordHasher.SlugHasher(x.WorkshopId), + EmployeeHash = _passwordHasher.SlugHasher(x.EmployeeId), + CreatedByClient = x.CreatedByClient, + LefWorkTemp = x.LefWorkTemp, + LeftWork = x.LeftWork, + PersonnelInfoViewModels = x.PersonnelInfoViewModels, + StartWork = x.StartWork + }).ToList(); + + if (!string.IsNullOrWhiteSpace(searchModel.FullName)) + res = res.Where(x => x.FullName.Contains(searchModel.FullName)).ToList(); + + if (!string.IsNullOrWhiteSpace(searchModel.NationalCode)) + res = res.Where(x => x.NationalCode.Contains(searchModel.NationalCode)).ToList(); + + if (!string.IsNullOrWhiteSpace(searchModel.MaritalStatus)) + res = res.Where(x => x.MaritalStatus == searchModel.MaritalStatus).ToList(); + return res; + } + #endregion + + + #region Insurance + + public List GetWorkshopSelectListInsuransce() { return _workshopRepository.GetWorkshopSelectListInsuransce(); } - #endregion + #endregion + + #region Mahan + public async Task> GetWorkshopsForEmployeeStartWork(long accountId) + { + return await _workshopRepository.GetWorkshopsForEmployeeStartWork(accountId); + + } + + public async Task GetWorkshopsForEmployeeStartWorkCount(long accountId) + { + return await _workshopRepository.GetWorkshopsForEmployeeStartWorkCount(accountId); + } + + public async Task> GetWorkshopsForLeftWorkTemp(long accountId) + { + return await _workshopRepository.GetWorkshopsForLeftWorkTemp(accountId); + } + + public Task GetWorkshopsForLeftWorkTempCount(long accountId) + { + return _workshopRepository.GetWorkshopsForLeftWorkTempCount(accountId); + } + + #endregion + + + } \ No newline at end of file diff --git a/CompanyManagment.EFCore/Migrations/20250309154800_add employee by client tables.Designer.cs b/CompanyManagment.EFCore/Migrations/20250309154800_add employee by client tables.Designer.cs new file mode 100644 index 00000000..bdd9e9dd --- /dev/null +++ b/CompanyManagment.EFCore/Migrations/20250309154800_add employee by client tables.Designer.cs @@ -0,0 +1,8885 @@ +// +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("20250309154800_add employee by client tables")] + partial class addemployeebyclienttables + { + /// + 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("FName") + .IsRequired() + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("IdNumber") + .HasMaxLength(20) + .HasColumnType("nvarchar(20)"); + + b.Property("IsActiveString") + .HasMaxLength(5) + .HasColumnType("nvarchar(5)"); + + 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("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("ShiftPay") + .HasColumnType("float"); + + 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("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("ShiftPay") + .HasColumnType("float"); + + 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("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.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("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("CreationDate") + .HasColumnType("datetime2"); + + b.Property("EmployeeId") + .HasColumnType("bigint"); + + b.Property("FineDate") + .HasColumnType("datetime2"); + + b.Property("IsActive") + .IsRequired() + .HasMaxLength(5) + .HasColumnType("nvarchar(5)"); + + 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") + .HasColumnType("nvarchar(max)"); + + 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.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("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("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("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("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("RewardType") + .IsRequired() + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("RewardedByAccountId") + .HasColumnType("bigint"); + + 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("AccountId"); + + 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("CreationDate") + .HasColumnType("datetime2"); + + b.Property("EmployeeId") + .HasColumnType("bigint"); + + 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.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("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("Employee"); + + 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("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("Employee"); + + 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("AccountId") + .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.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.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/20250309154800_add employee by client tables.cs b/CompanyManagment.EFCore/Migrations/20250309154800_add employee by client tables.cs new file mode 100644 index 00000000..4f97b818 --- /dev/null +++ b/CompanyManagment.EFCore/Migrations/20250309154800_add employee by client tables.cs @@ -0,0 +1,75 @@ +using System; +using Microsoft.EntityFrameworkCore.Migrations; + +#nullable disable + +namespace CompanyManagment.EFCore.Migrations +{ + /// + public partial class addemployeebyclienttables : Migration + { + /// + protected override void Up(MigrationBuilder migrationBuilder) + { + migrationBuilder.AddColumn( + name: "IsAuthorized", + table: "Employees", + type: "bit", + nullable: false, + defaultValue: false); + + migrationBuilder.CreateTable( + name: "EmployeeClientTemps", + columns: table => new + { + id = table.Column(type: "bigint", nullable: false) + .Annotation("SqlServer:Identity", "1, 1"), + EmployeeFullName = table.Column(type: "nvarchar(max)", nullable: true), + WorkshopId = table.Column(type: "bigint", nullable: false), + EmployeeId = table.Column(type: "bigint", nullable: false), + StartWorkDate = table.Column(type: "datetime2", nullable: false), + MaritalStatus = table.Column(type: "nvarchar(max)", nullable: true), + CreationDate = table.Column(type: "datetime2", nullable: false) + }, + constraints: table => + { + table.PrimaryKey("PK_EmployeeClientTemps", x => x.id); + }); + + migrationBuilder.CreateTable( + name: "LeftWorkTemps", + columns: table => new + { + id = table.Column(type: "bigint", nullable: false) + .Annotation("SqlServer:Identity", "1, 1"), + LeftWorkId = table.Column(type: "bigint", nullable: false), + StartWork = table.Column(type: "datetime2", nullable: false), + LeftWork = table.Column(type: "datetime2", nullable: false), + LastDayStanding = table.Column(type: "datetime2", nullable: false), + WorkshopId = table.Column(type: "bigint", nullable: false), + EmployeeId = table.Column(type: "bigint", nullable: false), + JobId = table.Column(type: "bigint", nullable: false), + LeftWorkType = table.Column(type: "int", nullable: false), + CreationDate = table.Column(type: "datetime2", nullable: false) + }, + constraints: table => + { + table.PrimaryKey("PK_LeftWorkTemps", x => x.id); + }); + } + + /// + protected override void Down(MigrationBuilder migrationBuilder) + { + migrationBuilder.DropTable( + name: "EmployeeClientTemps"); + + migrationBuilder.DropTable( + name: "LeftWorkTemps"); + + migrationBuilder.DropColumn( + name: "IsAuthorized", + table: "Employees"); + } + } +} diff --git a/CompanyManagment.EFCore/Migrations/CompanyContextModelSnapshot.cs b/CompanyManagment.EFCore/Migrations/CompanyContextModelSnapshot.cs index 679595d7..84b0510e 100644 --- a/CompanyManagment.EFCore/Migrations/CompanyContextModelSnapshot.cs +++ b/CompanyManagment.EFCore/Migrations/CompanyContextModelSnapshot.cs @@ -1469,6 +1469,9 @@ namespace CompanyManagment.EFCore.Migrations .HasMaxLength(10) .HasColumnType("nvarchar(10)"); + b.Property("IsAuthorized") + .HasColumnType("bit"); + b.Property("LName") .IsRequired() .HasMaxLength(255) @@ -1619,6 +1622,37 @@ namespace CompanyManagment.EFCore.Migrations 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") @@ -3443,6 +3477,46 @@ namespace CompanyManagment.EFCore.Migrations 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") diff --git a/CompanyManagment.EFCore/Repository/EmployeeClientTempRepository.cs b/CompanyManagment.EFCore/Repository/EmployeeClientTempRepository.cs new file mode 100644 index 00000000..17dae772 --- /dev/null +++ b/CompanyManagment.EFCore/Repository/EmployeeClientTempRepository.cs @@ -0,0 +1,35 @@ +using System.Linq; +using _0_Framework.Application; +using _0_Framework.InfraStructure; +using Company.Domain.EmployeeClientTempAgg; +using CompanyManagment.App.Contracts.EmployeeClientTemp; + +namespace CompanyManagment.EFCore.Repository; + +public class EmployeeClientTempRepository: RepositoryBase, IEmployeeClientTempRepository +{ + private readonly CompanyContext _context; + + public EmployeeClientTempRepository(CompanyContext context): base(context) + { + _context = context; + } + + public EmployeeClientTemp GetByEmployeeIdAndWorkshopId(long employeeId, long commandWorkshopId) + { + return _context.EmployeeClientTemps.FirstOrDefault(x => + x.EmployeeId == employeeId && x.WorkshopId == commandWorkshopId); + } + + public EmployeeClientTempGetDetailsViewModel GetDetails(long employeeId, long workshopId) + { + return _context.EmployeeClientTemps + .Where(x => x.WorkshopId == workshopId && x.EmployeeId == employeeId) + .Select(x => new EmployeeClientTempGetDetailsViewModel + { + EmployeeId = x.EmployeeId, + StartWorkDate = x.StartWorkDate.ToFarsi(), + WorkshopId = x.WorkshopId + }).FirstOrDefault(); + } +} \ No newline at end of file diff --git a/CompanyManagment.EFCore/Repository/EmployeeRepository .cs b/CompanyManagment.EFCore/Repository/EmployeeRepository .cs index f767456f..d3a67eb8 100644 --- a/CompanyManagment.EFCore/Repository/EmployeeRepository .cs +++ b/CompanyManagment.EFCore/Repository/EmployeeRepository .cs @@ -836,6 +836,7 @@ public class EmployeeRepository : RepositoryBase, IEmployeeRepos }).ToList(); } + public async Task GetEmployeeEditInEmployeeDocumentWorkFlow(long employeeId, long workshopId) { var employee = await _context.Employees.Where(x => x.id == employeeId).Select(x => new GetEditEmployeeInEmployeeDocumentViewModel() @@ -890,5 +891,18 @@ public class EmployeeRepository : RepositoryBase, IEmployeeRepos Phone = x.Phone }).ToList(); } + public List GetWorkedEmployeesByWorkshopIdsAndNationalCodeAndDate(List workshopIds, string nationalCode, DateTime date) + { + return _context.Employees.Where(x => x.NationalCode.Contains(nationalCode)).Include(x => x.LeftWorks).Include(x => x.LeftWorkInsurances) + .Where(x => x.LeftWorks.Any(y => workshopIds.Contains(y.WorkshopId)) || x.LeftWorkInsurances.Any(y => workshopIds.Contains(y.WorkshopId))) + .Select(x => new EmployeeViewModel() + { + NationalCode = x.NationalCode, + FName = x.FName, + LName = x.LName, + Phone = x.Phone + }).ToList(); + } + #endregion } \ No newline at end of file diff --git a/CompanyManagment.EFCore/Repository/JobRepository.cs b/CompanyManagment.EFCore/Repository/JobRepository.cs index 20a4002a..db38dd80 100644 --- a/CompanyManagment.EFCore/Repository/JobRepository.cs +++ b/CompanyManagment.EFCore/Repository/JobRepository.cs @@ -91,7 +91,13 @@ public class JobRepository: RepositoryBase, IJobRepository Id = x.id, JobName = x.JobName, JobCode = x.JobCode - }).Where(x=>x.JobName.Contains(searchtText)).Take(100); + }); + + + if (!string.IsNullOrWhiteSpace(searchtText)) + { + query = query.Where(x => x.JobName.Contains(searchtText)); + } //if (!string.IsNullOrWhiteSpace(searchtText)) // query = query.Where(x => (x.JobName + " " + x.JobCode).Contains(searchtText)); //return query.OrderBy(x => x.Id).ToList(); @@ -107,7 +113,7 @@ public class JobRepository: RepositoryBase, IJobRepository //var jobList = _context.Jobs.FromSqlInterpolated($"SelectQuery_AllJobs {searchtText}").AsNoTracking().ToList(); - var jobViewModelList = query.Select(x => new JobViewModel + var jobViewModelList = query.Take(100).Select(x => new JobViewModel { Id = x.Id, JobName = x.JobName+ " " + '-' + " " + x.JobCode, diff --git a/CompanyManagment.EFCore/Repository/LeftWorkTempRepository.cs b/CompanyManagment.EFCore/Repository/LeftWorkTempRepository.cs new file mode 100644 index 00000000..a9c58423 --- /dev/null +++ b/CompanyManagment.EFCore/Repository/LeftWorkTempRepository.cs @@ -0,0 +1,82 @@ +using System; +using System.Linq; +using System.Security.Cryptography.X509Certificates; +using System.Threading.Tasks; +using _0_Framework.Application; +using _0_Framework.InfraStructure; +using Company.Domain.LeftWorkAgg; +using Company.Domain.LeftWorkTempAgg; +using CompanyManagment.App.Contracts.LeftWorkTemp; +using Microsoft.EntityFrameworkCore; +using Microsoft.EntityFrameworkCore.ChangeTracking.Internal; + +namespace CompanyManagment.EFCore.Repository; + +public class LeftWorkTempRepository : RepositoryBase, ILeftWorkTempRepository +{ + private readonly CompanyContext _companyContext; + + public LeftWorkTempRepository(CompanyContext companyContext) : base(companyContext) + { + _companyContext = companyContext; + } + + public async Task GetStartAndLeftWorkDetails(long employeeId, long workshopId) + { + var employee = await _companyContext.Employees.FindAsync(employeeId); + var workshop = await _companyContext.Workshops.FindAsync(workshopId); + + var leftWorkTemp = + await _companyContext.LeftWorkTemps.FirstOrDefaultAsync(x => + x.WorkshopId == workshopId && x.EmployeeId == employeeId); + + if (employee == null || workshop == null || leftWorkTemp == null) + { + return new GetStartWorkTempDetails(); + } + + var job = await _companyContext.Jobs.FindAsync(leftWorkTemp.JobId); + + + var previousLeftWorks = _companyContext.LeftWorkList + .Where(x => leftWorkTemp.EmployeeId == x.EmployeeId && leftWorkTemp.WorkshopId == x.WorkshopId).ToList(); + + + + if (leftWorkTemp.LeftWorkType == LeftWorkTempType.LeftWork) + { + previousLeftWorks = previousLeftWorks.Where(x => x.id != leftWorkTemp.LeftWorkId).ToList(); + + + } + + var personnelCode = + _companyContext.PersonnelCodeSet.FirstOrDefault(x => + x.EmployeeId == employeeId && x.WorkshopId == workshopId)?.PersonnelCode; + + return new GetStartWorkTempDetails + { + WorkshopId = leftWorkTemp.WorkshopId, + EmployeeId = leftWorkTemp.EmployeeId, + WorkshopFullName = workshop.WorkshopFullName, + EmployeeFullName = employee.FullName, + JobId = leftWorkTemp.JobId, + JobName = job?.JobName, + PersonnelCode = personnelCode ?? 0, + LeftWorkTemp = new LeftWorkTempDetailsViewModel() + { + Id = leftWorkTemp.id, + LastDayStanding = leftWorkTemp.LastDayStanding == new DateTime() ? "" : leftWorkTemp.LastDayStanding.ToFarsi(), + LeftWork = leftWorkTemp.LeftWork == new DateTime() ? "" : leftWorkTemp.LeftWork.ToFarsi(), + StartWork = leftWorkTemp.StartWork.ToFarsi() + }, + PreviousLeftWorks = previousLeftWorks.Select(x => new LeftWorkTempDetailsViewModel() + { + Id = x.id, + LastDayStanding = x.LeftWorkDate.AddDays(-1).ToFarsi(), + LeftWork = x.LeftWorkDate.ToFarsi(), + StartWork = x.StartWorkDate.ToFarsi() + }).ToList() + }; + } +} \ No newline at end of file diff --git a/CompanyManagment.EFCore/Repository/RollCallEmployeeRepository.cs b/CompanyManagment.EFCore/Repository/RollCallEmployeeRepository.cs index d97eb316..d2b19aa9 100644 --- a/CompanyManagment.EFCore/Repository/RollCallEmployeeRepository.cs +++ b/CompanyManagment.EFCore/Repository/RollCallEmployeeRepository.cs @@ -6,6 +6,7 @@ using System.Linq; using _0_Framework.Application; using _0_Framework.InfraStructure; using Company.Domain.RollCallEmployeeAgg; +using CompanyManagment.App.Contracts.LeftWorkTemp; using CompanyManagment.App.Contracts.RollCallEmployee; using CompanyManagment.App.Contracts.RollCallEmployeeStatus; using Microsoft.AspNetCore.Hosting; @@ -79,7 +80,7 @@ public class RollCallEmployeeRepository : RepositoryBase public List GetPersonnelRollCallListPaginate(RollCallEmployeeSearchModel command) { var dateNow = DateTime.Now; - var employeeQuery = _context.Employees.AsQueryable(); + var employeeQuery = _context.Employees.IgnoreQueryFilters().AsQueryable(); //if (!string.IsNullOrWhiteSpace(command.Name)) //{ @@ -95,39 +96,61 @@ public class RollCallEmployeeRepository : RepositoryBase //} var rawQuery = employeeQuery.Include(x => x.LeftWorks).Include(x => x.LeftWorkInsurances) - .Where(x => x.LeftWorks.Any(y => + .GroupJoin(_context.LeftWorkTemps.Where(x => x.WorkshopId == command.WorkshopId), + employee => employee.id, + leftWorkTemp => leftWorkTemp.EmployeeId, + ((employee, temp) => new { employee, temp })) + .SelectMany(x => x.temp.DefaultIfEmpty(), + (x, temp) => new { x.employee, temp }) + .Where(x => (x.employee.LeftWorks.Any(y => y.WorkshopId == command.WorkshopId && y.StartWorkDate <= dateNow && y.LeftWorkDate > dateNow) || - x.LeftWorkInsurances.Any(y => + x.employee.LeftWorkInsurances.Any(y => y.WorkshopId == command.WorkshopId && y.StartWorkDate <= dateNow && - (y.LeftWorkDate > dateNow || y.LeftWorkDate == null))).OrderByDescending(x => x.id) + (y.LeftWorkDate > dateNow || y.LeftWorkDate == null))) || x.temp != null).OrderByDescending(x => x.employee.id) .Select(x => new { - Id = x.id, - FullName =x.FName +" "+x.LName, - x.NationalCode, + Id = x.employee.id, + FullName = x.employee.FName + " " + x.employee.LName, + x.employee.NationalCode, + workshopTemp = x.temp }).AsSplitQuery(); var rollCallEmployees = _context.RollCallEmployees.Where(x => x.WorkshopId == command.WorkshopId); - + + var employeeClient = _context.EmployeeClientTemps.Where(x => x.WorkshopId == command.WorkshopId); + var joinedQuery = from employee in rawQuery - join rollCallEmployee in rollCallEmployees - on employee.Id equals rollCallEmployee.EmployeeId into grp - from joinedRollCall in grp.DefaultIfEmpty() - select new RollCallEmployeeViewModel() - { - WorkshopId = command.WorkshopId, - EmployeeId = employee.Id, - Id = joinedRollCall == null ? 0 : joinedRollCall.id, - EmployeeFullName = joinedRollCall == null ? employee.FullName : joinedRollCall.EmployeeFullName, - NationalCode = employee.NationalCode, - IsActiveString = joinedRollCall.EmployeesStatus.Any(y => y.StartDate.Date <= dateNow.Date && y.EndDate.Date > dateNow.Date) ? "true" : "false", - HasUploadedImage = joinedRollCall == null ? "false" : joinedRollCall.HasUploadedImage - }; + join rollCallEmployee in rollCallEmployees + on employee.Id equals rollCallEmployee.EmployeeId into grp + from joinedRollCall in grp.DefaultIfEmpty() + join employeeClientT in employeeClient on employee.Id equals employeeClientT.EmployeeId into employeeCT + from clientTemp in employeeCT.DefaultIfEmpty() + select new RollCallEmployeeViewModel() + { + WorkshopId = command.WorkshopId, + EmployeeId = employee.Id, + Id = joinedRollCall == null ? 0 : joinedRollCall.id, + EmployeeFullName = joinedRollCall == null ? employee.FullName : joinedRollCall.EmployeeFullName, + NationalCode = employee.NationalCode, + IsActiveString = + joinedRollCall.EmployeesStatus.Any(y => + y.StartDate.Date <= dateNow.Date && y.EndDate.Date > dateNow.Date) + ? "true" + : "false", + HasUploadedImage = joinedRollCall == null ? "false" : joinedRollCall.HasUploadedImage, + CreatedByClient = clientTemp != null || (employee.workshopTemp != null &&employee.workshopTemp.LeftWorkType == LeftWorkTempType.StartWork) + }; + + + + + + if (!string.IsNullOrWhiteSpace(command.Name)) @@ -136,9 +159,9 @@ public class RollCallEmployeeRepository : RepositoryBase } var firstlist = joinedQuery.AsSplitQuery(); - - var list = firstlist.OrderByDescending(x => x.IsActiveString == "true" ? 1 : 0) + + var list = firstlist.OrderByDescending(x => x.CreatedByClient).ThenByDescending(x => x.IsActiveString == "true" ? 1 : 0) .ThenByDescending(x => x.HasUploadedImage == "true" ? 1 : 0) .Skip(command.PageIndex).Take(30).ToList(); var watch = new Stopwatch(); diff --git a/CompanyManagment.EFCore/Repository/RollCallServiceRepository.cs b/CompanyManagment.EFCore/Repository/RollCallServiceRepository.cs index a9d5a430..26335fa1 100644 --- a/CompanyManagment.EFCore/Repository/RollCallServiceRepository.cs +++ b/CompanyManagment.EFCore/Repository/RollCallServiceRepository.cs @@ -123,4 +123,9 @@ public class RollCallServiceRepository : RepositoryBase, }).Where(x => x.AccountId == accountId).ToList(); } + + public bool IsExistActiveServiceByWorkshopId(long workshopId) + { + return _context.RollCallServices.AsSplitQuery().Any(x => x.WorkshopId == workshopId && x.IsActiveString == "true"); + } } \ No newline at end of file diff --git a/CompanyManagment.EFCore/Repository/WorkshopRepository.cs b/CompanyManagment.EFCore/Repository/WorkshopRepository.cs index c2381301..8640a479 100644 --- a/CompanyManagment.EFCore/Repository/WorkshopRepository.cs +++ b/CompanyManagment.EFCore/Repository/WorkshopRepository.cs @@ -3,6 +3,7 @@ using System.Collections.Generic; using System.Diagnostics; using System.Diagnostics.CodeAnalysis; using System.Linq; +using System.Threading.Tasks; using _0_Framework.Application; using _0_Framework.InfraStructure; using AccountManagement.Application.Contracts.Account; @@ -15,9 +16,12 @@ using Company.Domain.WorkshopAgg; using Company.Domain.WorkshopEmployerAgg; using CompanyManagment.App.Contracts.Contract; using CompanyManagment.App.Contracts.Employee; +using CompanyManagment.App.Contracts.EmployeeChildren; using CompanyManagment.App.Contracts.Employer; +using CompanyManagment.App.Contracts.LeftWorkTemp; using CompanyManagment.App.Contracts.PersonalContractingParty; using CompanyManagment.App.Contracts.Workshop; +using CompanyManagment.App.Contracts.Workshop.DTOs; using Microsoft.EntityFrameworkCore; using Microsoft.Identity.Client; using static Microsoft.EntityFrameworkCore.DbLoggerCategory; @@ -31,7 +35,7 @@ public class WorkshopRepository : RepositoryBase GetWorkshopAll() { - return _context.Workshops.Where(x=>x.IsActive) + return _context.Workshops.Where(x => x.IsActive) .Select(x => new WorkshopViewModel { Id = x.id, @@ -108,14 +112,14 @@ public class WorkshopRepository : RepositoryBase GetWorkshopAccount() { - var cornometr = new Stopwatch(); - cornometr.Start(); - var acountId = _authHelper.CurrentAccountId(); - var workshopIds = _context.WorkshopAccounts.Where(x => x.AccountId == acountId).Select(x => x.WorkshopId); - + var cornometr = new Stopwatch(); + cornometr.Start(); + var acountId = _authHelper.CurrentAccountId(); + var workshopIds = _context.WorkshopAccounts.Where(x => x.AccountId == acountId).Select(x => x.WorkshopId); + var result = _context.Workshops.Where(x => workshopIds.Contains(x.id) && x.IsActiveString == "true") - .Include(x => x.WorkshopEmployers).ThenInclude(x=>x.Employer) + .Include(x => x.WorkshopEmployers).ThenInclude(x => x.Employer) .Select(x => new WorkshopViewModel { Id = x.id, @@ -150,7 +154,7 @@ public class WorkshopRepository : RepositoryBase left.Contains(p.Id)).ToList(); } - + var work = _context.Workshops - .Include(x => x.WorkshopEmployers).ThenInclude(x => x.Employer).FirstOrDefault(x=>x.id == id); + .Include(x => x.WorkshopEmployers).ThenInclude(x => x.Employer).FirstOrDefault(x => x.id == id); var results = new WorkshopViewModel { Id = work.id, @@ -302,13 +306,17 @@ public class WorkshopRepository : RepositoryBase new EmployerViewModel() { - Id = y.EmployerId, FullName = y.Employer.FullName, NationalId = y.Employer.NationalId, - Nationalcode = y.Employer.Nationalcode, IdNumber = y.Employer.IdNumber, RegisterId = y.Employer.RegisterId + Id = y.EmployerId, + FullName = y.Employer.FullName, + NationalId = y.Employer.NationalId, + Nationalcode = y.Employer.Nationalcode, + IdNumber = y.Employer.IdNumber, + RegisterId = y.Employer.RegisterId }).ToList(), EmployeeList = employees, }; - + return results; } @@ -420,7 +428,7 @@ public class WorkshopRepository : RepositoryBase x.Id == searchModel.Id); + query = query.Where(x => x.Id == searchModel.Id); if (searchModel.IsActiveString == null) { @@ -445,7 +453,7 @@ public class WorkshopRepository : RepositoryBase emloyerIds.Contains(x.EmployerId)).ToList(); + }).Where(x => emloyerIds.Contains(x.EmployerId)).ToList(); var ids = workshopIds.Select(x => x.WorkshopId).ToList(); var workshops = _context.Workshops.Select(x => new WorkshopViewModel() { @@ -1028,7 +1036,6 @@ public class WorkshopRepository : RepositoryBase x.Employer) @@ -1044,16 +1051,87 @@ public class WorkshopRepository : RepositoryBase> GetWorkshopsForEmployeeStartWork(long accountId) + { + var workshopWithStartedEmployeesDtos = await _context.WorkshopAccounts.Where(x => x.AccountId == accountId) + .Include(x => x.Workshop) + .ThenInclude(x => x.WorkshopEmployers).ThenInclude(x => x.Employer) + .GroupJoin(_context.LeftWorkTemps.Where(x => x.LeftWorkType == LeftWorkTempType.StartWork), + workshopAccounts => workshopAccounts.Workshop.id, + leftWorkTemp => leftWorkTemp.WorkshopId, + (workshopAccount, leftWorkTemp) => new { workshopAccount, leftWorkTemp }) + .Where(x => x.leftWorkTemp.Any()) + .Select(x => new WorkshopWithStartedEmployeesDto + { + AddedEmployeesCount = x.leftWorkTemp.GroupBy(l => l.EmployeeId).Count(), + EmployerName = x.workshopAccount.Workshop.WorkshopEmployers.First().Employer.FullName, + WorkshopId = x.workshopAccount.WorkshopId, + WorkshopName = x.workshopAccount.Workshop.WorkshopFullName + }).ToListAsync(); + + + return workshopWithStartedEmployeesDtos; + } + + public async Task GetWorkshopsForEmployeeStartWorkCount(long accountId) + { + var count = await _context.WorkshopAccounts.Where(x => x.AccountId == accountId) + .Include(x => x.Workshop) + .ThenInclude(x => x.WorkshopEmployers).ThenInclude(x => x.Employer) + .GroupJoin(_context.LeftWorkTemps.Where(x => x.LeftWorkType == LeftWorkTempType.StartWork), + workshopAccounts => workshopAccounts.Workshop.id, + leftWorkTemp => leftWorkTemp.WorkshopId, + (workshopAccount, leftWorkTemp) => new { workshopAccount, leftWorkTemp }) + .CountAsync(x => x.leftWorkTemp.Any()); + return count; + } + + public async Task> GetWorkshopsForLeftWorkTemp(long accountId) + { + var workshopWithLeftEmployeesDtos = await _context.WorkshopAccounts.Where(x => x.AccountId == accountId) + .Include(x => x.Workshop) + .ThenInclude(x => x.WorkshopEmployers).ThenInclude(x => x.Employer) + .GroupJoin(_context.LeftWorkTemps.Where(x => x.LeftWorkType == LeftWorkTempType.LeftWork), + workshopAccounts => workshopAccounts.Workshop.id, + leftWorkTemp => leftWorkTemp.WorkshopId, + (workshopAccount, leftWorkTemp) => new { workshopAccount, leftWorkTemp }) + .Where(x => x.leftWorkTemp.Any()) + .Select(x => new WorkshopWithLeftWorkTempEmployeesDto + { + LeftWorkEmployees = x.leftWorkTemp.GroupBy(l => l.EmployeeId).Count(), + EmployerName = x.workshopAccount.Workshop.WorkshopEmployers.First().Employer.FullName, + WorkshopId = x.workshopAccount.WorkshopId, + WorkshopName = x.workshopAccount.Workshop.WorkshopFullName + }).ToListAsync(); + + return workshopWithLeftEmployeesDtos; + } + + public async Task GetWorkshopsForLeftWorkTempCount(long accountId) + { + var count + = await _context.WorkshopAccounts.Where(x => x.AccountId == accountId) + .Include(x => x.Workshop) + .ThenInclude(x => x.WorkshopEmployers).ThenInclude(x => x.Employer) + .GroupJoin(_context.LeftWorkTemps.Where(x => x.LeftWorkType == LeftWorkTempType.LeftWork), + workshopAccounts => workshopAccounts.Workshop.id, + leftWorkTemp => leftWorkTemp.WorkshopId, + (workshopAccount, leftWorkTemp) => new { workshopAccount, leftWorkTemp }) + .CountAsync(x => x.leftWorkTemp.Any()); + return count; + } + + public List GetWorkshopsByClientAccountId(long clientAccountId) { var workshops = _context.ContractingPartyAccounts.Where(x => x.AccountId == clientAccountId) .Include(x => x.PersonalContractingParty) .ThenInclude(x => x.Employers).ThenInclude(x => x.WorkshopEmployers).ThenInclude(x => x.Workshop).SelectMany(x => x.PersonalContractingParty.Employers.SelectMany(e => e.WorkshopEmployers).Select(e => e.Workshop)).Distinct().Select(x => new WorkshopViewModel() - { - Id = x.id, - WorkshopFullName = x.WorkshopFullName, - }).ToList(); + { + Id = x.id, + WorkshopFullName = x.WorkshopFullName, + }).ToList(); workshops = workshops.Select(x => new WorkshopViewModel() { @@ -1118,7 +1196,7 @@ public class WorkshopRepository : RepositoryBase x.AccountId == acountID).Select(x => x.WorkshopId).ToList(); if (workshopIds != null && workshopIds.Count > 0) { - return _context.Workshops.Where(x => workshopIds.Contains(x.id) && (x.WorkshopFullName.Contains(searchText)|| x.ArchiveCode.Contains(searchText))).Select(x=>new WorkshopViewModel + return _context.Workshops.Where(x => workshopIds.Contains(x.id) && (x.WorkshopFullName.Contains(searchText) || x.ArchiveCode.Contains(searchText))).Select(x => new WorkshopViewModel { Id = x.id, WorkshopName = x.WorkshopName, @@ -1143,143 +1221,143 @@ public class WorkshopRepository : RepositoryBase SearchForMain(WorkshopSearchModel searchModel) { - var leftWorkInsuranceList = _context.LeftWorkInsuranceList.Select(x => x.WorkshopId).ToList(); - var leftWorkList = _context.LeftWorkList.Select(x => x.WorkshopId).ToList(); - var AcountID = _authHelper.CurrentAccountId(); - var workshopIds = _context.WorkshopAccounts.Where(x => x.AccountId == AcountID).ToList(); + var leftWorkInsuranceList = _context.LeftWorkInsuranceList.Select(x => x.WorkshopId).ToList(); + var leftWorkList = _context.LeftWorkList.Select(x => x.WorkshopId).ToList(); + var AcountID = _authHelper.CurrentAccountId(); + var workshopIds = _context.WorkshopAccounts.Where(x => x.AccountId == AcountID).ToList(); - if (searchModel.AccountIds != null && searchModel.AccountIds.Any()) - workshopIds = workshopIds.Where(x => searchModel.AccountIds.Contains(x.AccountId)).ToList(); + if (searchModel.AccountIds != null && searchModel.AccountIds.Any()) + workshopIds = workshopIds.Where(x => searchModel.AccountIds.Contains(x.AccountId)).ToList(); - var blockContractingPartyIds = _context.PersonalContractingParties.Where(x => x.IsBlock == "true").Select(x => x.id).ToList(); - var query = _context.Workshops.Include(x => x.WorkshopEmployers) - .Select(x => new WorkshopViewModel - { - Id = x.id, - WorkshopName = x.WorkshopName, - InsuranceCode = x.InsuranceCode, - //EmployerName = x.WorkshopEmployers. - WorkshopSureName = x.WorkshopSureName, - WorkshopFullName = x.WorkshopFullName, - TypeOfOwnership = x.TypeOfOwnership, - ArchiveCode = x.ArchiveCode, - AgentName = x.AgentName, - AgentPhone = x.AgentPhone, - State = x.State, - City = x.City, - Address = x.Address, - TypeOfInsuranceSend = x.TypeOfInsuranceSend, - TypeOfContract = x.TypeOfContract, - IsActiveString = x.IsActiveString, - ContractTerm = x.ContractTerm, - AgreementNumber = x.AgreementNumber, - FixedSalary = x.FixedSalary, - Population = x.Population, - InsuranceJobId = x.InsuranceJobId, - ZoneName = x.ZoneName, - TotalPaymentHide = x.TotalPaymentHide, - HasBlockContractingParty = false, - IsClassified = x.IsClassified, - HasLeftwork = (leftWorkInsuranceList.Contains(x.id) || leftWorkList.Contains(x.id)), - EmpList = x.WorkshopEmployers.Select(y => new EmployerViewModel() - { - Id = y.EmployerId, - FullName = y.Employer.FullName, - ContractingPartyID = y.Employer.ContractingPartyId - }).ToList(), - }).Where(e => workshopIds.Select(a => a.WorkshopId).Contains(e.Id)); - if (searchModel.AccountId > 0) - { - var res = _workshopAccountRepository.GetList(searchModel.AccountId).Select(x => x.WorkshopId).ToList(); - query = query.Where(x => res.Contains(x.Id)); - } - - - - - - if (!string.IsNullOrWhiteSpace(searchModel.WorkshopName)) - query = query.Where(x => x.WorkshopName.Contains(searchModel.WorkshopName)); - - if (!string.IsNullOrWhiteSpace(searchModel.InsuranceCode)) - query = query.Where(x => x.InsuranceCode.Contains(searchModel.InsuranceCode)); - - if (!string.IsNullOrWhiteSpace(searchModel.ArchiveCode)) - query = query.Where(x => x.ArchiveCode == searchModel.ArchiveCode); - - if (!string.IsNullOrWhiteSpace(searchModel.WorkshopName)) - query = query.Where(x => x.WorkshopName.Contains(searchModel.WorkshopName)); - - if (!string.IsNullOrWhiteSpace(searchModel.ContractTerm)) - query = query.Where(x => x.ContractTerm == searchModel.ContractTerm); - - if (!string.IsNullOrWhiteSpace(searchModel.TypeOfContract)) - query = query.Where(x => x.TypeOfContract == searchModel.TypeOfContract); - - if (searchModel.EmployerId != 0) - { - var emp = _context.WorkshopEmployers.Where(x => x.EmployerId == searchModel.EmployerId) - .Select(x => x.WorkshopId).ToList(); - query = query.Where(x => emp.Contains(x.Id)); - - } - - #region NewByHeydari - if (!string.IsNullOrEmpty(searchModel.EmployerLName)) - { - var employerIds = _context.Employers.Where(x => - (!string.IsNullOrEmpty(x.FName) && x.FName.Contains(searchModel.EmployerLName)) || - (!string.IsNullOrEmpty(x.LName) && x.LName.Contains(searchModel.EmployerLName))).Select(x => x.id); - var workshopIds2 = _context.WorkshopEmployers.Where(x => employerIds.Contains(x.EmployerId)).Select(x => x.WorkshopId).ToList(); - - query = query.Where(x => workshopIds2.Contains(x.Id)); - } - - if (!string.IsNullOrEmpty(searchModel.State)) - { - query = query.Where(x => x.State == searchModel.State); - } - if (!string.IsNullOrEmpty(searchModel.City)) - { - query = query.Where(x => x.City == searchModel.City); - } - if (!string.IsNullOrWhiteSpace(searchModel.WorkshopFullName)) - query = query.Where(x => x.WorkshopFullName.Contains(searchModel.WorkshopFullName) || x.ArchiveCode.Contains(searchModel.WorkshopFullName)); - #endregion - - if (searchModel.Id != 0) - query = query.Where(x => x.Id == searchModel.Id); - - if (searchModel.IsActiveString == null) - { - query = query.Where(x => x.IsActiveString == "true"); - } - - if (searchModel.IsActiveString == "false") - { - query = query.Where(x => x.IsActiveString == "false"); - } - else if (searchModel.IsActiveString == "both") - { - query = query.Where(x => x.IsActiveString == "false" || x.IsActiveString == "true"); - } - - var list = query.OrderByDescending(x => x.Id).ToList(); - foreach (var item in list) - { - var empContractingPartyIds = item.EmpList.Select(x => x.ContractingPartyID).ToList(); - item.HasBlockContractingParty = blockContractingPartyIds.Intersect(empContractingPartyIds).Any(); - } + var blockContractingPartyIds = _context.PersonalContractingParties.Where(x => x.IsBlock == "true").Select(x => x.id).ToList(); + var query = _context.Workshops.Include(x => x.WorkshopEmployers) + .Select(x => new WorkshopViewModel + { + Id = x.id, + WorkshopName = x.WorkshopName, + InsuranceCode = x.InsuranceCode, + //EmployerName = x.WorkshopEmployers. + WorkshopSureName = x.WorkshopSureName, + WorkshopFullName = x.WorkshopFullName, + TypeOfOwnership = x.TypeOfOwnership, + ArchiveCode = x.ArchiveCode, + AgentName = x.AgentName, + AgentPhone = x.AgentPhone, + State = x.State, + City = x.City, + Address = x.Address, + TypeOfInsuranceSend = x.TypeOfInsuranceSend, + TypeOfContract = x.TypeOfContract, + IsActiveString = x.IsActiveString, + ContractTerm = x.ContractTerm, + AgreementNumber = x.AgreementNumber, + FixedSalary = x.FixedSalary, + Population = x.Population, + InsuranceJobId = x.InsuranceJobId, + ZoneName = x.ZoneName, + TotalPaymentHide = x.TotalPaymentHide, + HasBlockContractingParty = false, + IsClassified = x.IsClassified, + HasLeftwork = (leftWorkInsuranceList.Contains(x.id) || leftWorkList.Contains(x.id)), + EmpList = x.WorkshopEmployers.Select(y => new EmployerViewModel() + { + Id = y.EmployerId, + FullName = y.Employer.FullName, + ContractingPartyID = y.Employer.ContractingPartyId + }).ToList(), + }).Where(e => workshopIds.Select(a => a.WorkshopId).Contains(e.Id)); + if (searchModel.AccountId > 0) + { + var res = _workshopAccountRepository.GetList(searchModel.AccountId).Select(x => x.WorkshopId).ToList(); + query = query.Where(x => res.Contains(x.Id)); + } - return list; - } + + + + if (!string.IsNullOrWhiteSpace(searchModel.WorkshopName)) + query = query.Where(x => x.WorkshopName.Contains(searchModel.WorkshopName)); + + if (!string.IsNullOrWhiteSpace(searchModel.InsuranceCode)) + query = query.Where(x => x.InsuranceCode.Contains(searchModel.InsuranceCode)); + + if (!string.IsNullOrWhiteSpace(searchModel.ArchiveCode)) + query = query.Where(x => x.ArchiveCode == searchModel.ArchiveCode); + + if (!string.IsNullOrWhiteSpace(searchModel.WorkshopName)) + query = query.Where(x => x.WorkshopName.Contains(searchModel.WorkshopName)); + + if (!string.IsNullOrWhiteSpace(searchModel.ContractTerm)) + query = query.Where(x => x.ContractTerm == searchModel.ContractTerm); + + if (!string.IsNullOrWhiteSpace(searchModel.TypeOfContract)) + query = query.Where(x => x.TypeOfContract == searchModel.TypeOfContract); + + if (searchModel.EmployerId != 0) + { + var emp = _context.WorkshopEmployers.Where(x => x.EmployerId == searchModel.EmployerId) + .Select(x => x.WorkshopId).ToList(); + query = query.Where(x => emp.Contains(x.Id)); + + } + + #region NewByHeydari + if (!string.IsNullOrEmpty(searchModel.EmployerLName)) + { + var employerIds = _context.Employers.Where(x => + (!string.IsNullOrEmpty(x.FName) && x.FName.Contains(searchModel.EmployerLName)) || + (!string.IsNullOrEmpty(x.LName) && x.LName.Contains(searchModel.EmployerLName))).Select(x => x.id); + var workshopIds2 = _context.WorkshopEmployers.Where(x => employerIds.Contains(x.EmployerId)).Select(x => x.WorkshopId).ToList(); + + query = query.Where(x => workshopIds2.Contains(x.Id)); + } + + if (!string.IsNullOrEmpty(searchModel.State)) + { + query = query.Where(x => x.State == searchModel.State); + } + if (!string.IsNullOrEmpty(searchModel.City)) + { + query = query.Where(x => x.City == searchModel.City); + } + if (!string.IsNullOrWhiteSpace(searchModel.WorkshopFullName)) + query = query.Where(x => x.WorkshopFullName.Contains(searchModel.WorkshopFullName) || x.ArchiveCode.Contains(searchModel.WorkshopFullName)); + #endregion + + if (searchModel.Id != 0) + query = query.Where(x => x.Id == searchModel.Id); + + if (searchModel.IsActiveString == null) + { + query = query.Where(x => x.IsActiveString == "true"); + } + + if (searchModel.IsActiveString == "false") + { + query = query.Where(x => x.IsActiveString == "false"); + } + else if (searchModel.IsActiveString == "both") + { + query = query.Where(x => x.IsActiveString == "false" || x.IsActiveString == "true"); + } + + var list = query.OrderByDescending(x => x.Id).ToList(); + foreach (var item in list) + { + var empContractingPartyIds = item.EmpList.Select(x => x.ContractingPartyID).ToList(); + item.HasBlockContractingParty = blockContractingPartyIds.Intersect(empContractingPartyIds).Any(); + } + + + return list; + } public OperationResult DeActiveAll(long id) { @@ -1288,10 +1366,10 @@ public class WorkshopRepository : RepositoryBasex.id==id); + var workshops = _context.Workshops.FirstOrDefault(x => x.id == id); workshops.DeActive(workshops.ArchiveCode); - var contracts = _context.Contracts.Where(x=>x.WorkshopIds == id).ToList(); + var contracts = _context.Contracts.Where(x => x.WorkshopIds == id).ToList(); contracts.ForEach(x => x.DeActive()); var contractIds = contracts.Select(x => x.id).ToList(); @@ -1339,208 +1417,208 @@ public class WorkshopRepository : RepositoryBase PrintWorkshopList(WorkshopSearchModel searchModel) - { - var leftWorkInsuranceList = _context.LeftWorkInsuranceList.Select(x => x.WorkshopId).ToList(); - var leftWorkList = _context.LeftWorkList.Select(x => x.WorkshopId).ToList(); - var AcountID = _authHelper.CurrentAccountId(); - var workshopIds = _context.WorkshopAccounts.Where(x => x.AccountId == AcountID).ToList(); + public List PrintWorkshopList(WorkshopSearchModel searchModel) + { + var leftWorkInsuranceList = _context.LeftWorkInsuranceList.Select(x => x.WorkshopId).ToList(); + var leftWorkList = _context.LeftWorkList.Select(x => x.WorkshopId).ToList(); + var AcountID = _authHelper.CurrentAccountId(); + var workshopIds = _context.WorkshopAccounts.Where(x => x.AccountId == AcountID).ToList(); - if (searchModel.AccountIds != null && searchModel.AccountIds.Any()) - workshopIds = workshopIds.Where(x => searchModel.AccountIds.Contains(x.AccountId)).ToList(); + if (searchModel.AccountIds != null && searchModel.AccountIds.Any()) + workshopIds = workshopIds.Where(x => searchModel.AccountIds.Contains(x.AccountId)).ToList(); - var blockContractingPartyIds = _context.PersonalContractingParties.Where(x => x.IsBlock == "true").Select(x => x.id).ToList(); - var query = _context.Workshops.Include(x => x.WorkshopEmployers) - .Select(x => new WorkshopViewModel - { - Id = x.id, - WorkshopName = x.WorkshopName, - InsuranceCode = x.InsuranceCode, - //EmployerName = x.WorkshopEmployers. - WorkshopSureName = x.WorkshopSureName, - WorkshopFullName = x.WorkshopFullName, - TypeOfOwnership = x.TypeOfOwnership, - ArchiveCode = x.ArchiveCode, - AgentName = x.AgentName, - AgentPhone = x.AgentPhone, - State = x.State, - City = x.City, - Address = x.Address, - TypeOfInsuranceSend = x.TypeOfInsuranceSend, - TypeOfContract = x.TypeOfContract, - IsActiveString = x.IsActiveString, - ContractTerm = x.ContractTerm, - AgreementNumber = x.AgreementNumber, - FixedSalary = x.FixedSalary, - Population = x.Population, - InsuranceJobId = x.InsuranceJobId, - ZoneName = x.ZoneName, - TotalPaymentHide = x.TotalPaymentHide, - HasBlockContractingParty = false, - IsClassified = x.IsClassified, - HasLeftwork = (leftWorkInsuranceList.Contains(x.id) || leftWorkList.Contains(x.id)), - EmpList = x.WorkshopEmployers.Select(y => new EmployerViewModel() - { - Id = y.EmployerId, - FullName = y.Employer.FullName, - ContractingPartyID = y.Employer.ContractingPartyId - }).ToList(), - }).Where(e => workshopIds.Select(a => a.WorkshopId).Contains(e.Id)); - if (searchModel.AccountId > 0) - { - var res = _workshopAccountRepository.GetList(searchModel.AccountId).Select(x => x.WorkshopId).ToList(); - query = query.Where(x => res.Contains(x.Id)); - } + var blockContractingPartyIds = _context.PersonalContractingParties.Where(x => x.IsBlock == "true").Select(x => x.id).ToList(); + var query = _context.Workshops.Include(x => x.WorkshopEmployers) + .Select(x => new WorkshopViewModel + { + Id = x.id, + WorkshopName = x.WorkshopName, + InsuranceCode = x.InsuranceCode, + //EmployerName = x.WorkshopEmployers. + WorkshopSureName = x.WorkshopSureName, + WorkshopFullName = x.WorkshopFullName, + TypeOfOwnership = x.TypeOfOwnership, + ArchiveCode = x.ArchiveCode, + AgentName = x.AgentName, + AgentPhone = x.AgentPhone, + State = x.State, + City = x.City, + Address = x.Address, + TypeOfInsuranceSend = x.TypeOfInsuranceSend, + TypeOfContract = x.TypeOfContract, + IsActiveString = x.IsActiveString, + ContractTerm = x.ContractTerm, + AgreementNumber = x.AgreementNumber, + FixedSalary = x.FixedSalary, + Population = x.Population, + InsuranceJobId = x.InsuranceJobId, + ZoneName = x.ZoneName, + TotalPaymentHide = x.TotalPaymentHide, + HasBlockContractingParty = false, + IsClassified = x.IsClassified, + HasLeftwork = (leftWorkInsuranceList.Contains(x.id) || leftWorkList.Contains(x.id)), + EmpList = x.WorkshopEmployers.Select(y => new EmployerViewModel() + { + Id = y.EmployerId, + FullName = y.Employer.FullName, + ContractingPartyID = y.Employer.ContractingPartyId + }).ToList(), + }).Where(e => workshopIds.Select(a => a.WorkshopId).Contains(e.Id)); + if (searchModel.AccountId > 0) + { + var res = _workshopAccountRepository.GetList(searchModel.AccountId).Select(x => x.WorkshopId).ToList(); + query = query.Where(x => res.Contains(x.Id)); + } - if (!string.IsNullOrWhiteSpace(searchModel.WorkshopName)) - query = query.Where(x => x.WorkshopName.Contains(searchModel.WorkshopName)); + if (!string.IsNullOrWhiteSpace(searchModel.WorkshopName)) + query = query.Where(x => x.WorkshopName.Contains(searchModel.WorkshopName)); - if (!string.IsNullOrWhiteSpace(searchModel.InsuranceCode)) - query = query.Where(x => x.InsuranceCode.Contains(searchModel.InsuranceCode)); + if (!string.IsNullOrWhiteSpace(searchModel.InsuranceCode)) + query = query.Where(x => x.InsuranceCode.Contains(searchModel.InsuranceCode)); - if (!string.IsNullOrWhiteSpace(searchModel.ArchiveCode)) - query = query.Where(x => x.ArchiveCode == searchModel.ArchiveCode); + if (!string.IsNullOrWhiteSpace(searchModel.ArchiveCode)) + query = query.Where(x => x.ArchiveCode == searchModel.ArchiveCode); - if (!string.IsNullOrWhiteSpace(searchModel.WorkshopName)) - query = query.Where(x => x.WorkshopName.Contains(searchModel.WorkshopName)); + if (!string.IsNullOrWhiteSpace(searchModel.WorkshopName)) + query = query.Where(x => x.WorkshopName.Contains(searchModel.WorkshopName)); - if (!string.IsNullOrWhiteSpace(searchModel.ContractTerm)) - query = query.Where(x => x.ContractTerm == searchModel.ContractTerm); + if (!string.IsNullOrWhiteSpace(searchModel.ContractTerm)) + query = query.Where(x => x.ContractTerm == searchModel.ContractTerm); - if (!string.IsNullOrWhiteSpace(searchModel.TypeOfContract)) - query = query.Where(x => x.TypeOfContract == searchModel.TypeOfContract); + if (!string.IsNullOrWhiteSpace(searchModel.TypeOfContract)) + query = query.Where(x => x.TypeOfContract == searchModel.TypeOfContract); - if (searchModel.EmployerId != 0) - { - var emp = _context.WorkshopEmployers.Where(x => x.EmployerId == searchModel.EmployerId) - .Select(x => x.WorkshopId).ToList(); - query = query.Where(x => emp.Contains(x.Id)); + if (searchModel.EmployerId != 0) + { + var emp = _context.WorkshopEmployers.Where(x => x.EmployerId == searchModel.EmployerId) + .Select(x => x.WorkshopId).ToList(); + query = query.Where(x => emp.Contains(x.Id)); - } + } - #region NewByHeydari - if (!string.IsNullOrEmpty(searchModel.EmployerLName)) - { - var employerIds = _context.Employers.Where(x => - (!string.IsNullOrEmpty(x.FName) && x.FName.Contains(searchModel.EmployerLName)) || - (!string.IsNullOrEmpty(x.LName) && x.LName.Contains(searchModel.EmployerLName))).Select(x => x.id); - var workshopIds2 = _context.WorkshopEmployers.Where(x => employerIds.Contains(x.EmployerId)).Select(x => x.WorkshopId).ToList(); + #region NewByHeydari + if (!string.IsNullOrEmpty(searchModel.EmployerLName)) + { + var employerIds = _context.Employers.Where(x => + (!string.IsNullOrEmpty(x.FName) && x.FName.Contains(searchModel.EmployerLName)) || + (!string.IsNullOrEmpty(x.LName) && x.LName.Contains(searchModel.EmployerLName))).Select(x => x.id); + var workshopIds2 = _context.WorkshopEmployers.Where(x => employerIds.Contains(x.EmployerId)).Select(x => x.WorkshopId).ToList(); - query = query.Where(x => workshopIds2.Contains(x.Id)); - } + query = query.Where(x => workshopIds2.Contains(x.Id)); + } - if (!string.IsNullOrEmpty(searchModel.State)) - { - query = query.Where(x => x.State == searchModel.State); - } - if (!string.IsNullOrEmpty(searchModel.City)) - { - query = query.Where(x => x.City == searchModel.City); - } - if (!string.IsNullOrWhiteSpace(searchModel.WorkshopFullName)) - query = query.Where(x => x.WorkshopFullName.Contains(searchModel.WorkshopFullName) || x.ArchiveCode.Contains(searchModel.WorkshopFullName)); - #endregion + if (!string.IsNullOrEmpty(searchModel.State)) + { + query = query.Where(x => x.State == searchModel.State); + } + if (!string.IsNullOrEmpty(searchModel.City)) + { + query = query.Where(x => x.City == searchModel.City); + } + if (!string.IsNullOrWhiteSpace(searchModel.WorkshopFullName)) + query = query.Where(x => x.WorkshopFullName.Contains(searchModel.WorkshopFullName) || x.ArchiveCode.Contains(searchModel.WorkshopFullName)); + #endregion - if (searchModel.Id != 0) - query = query.Where(x => x.Id == searchModel.Id); + if (searchModel.Id != 0) + query = query.Where(x => x.Id == searchModel.Id); - if (searchModel.IsActiveString == null) - { - query = query.Where(x => x.IsActiveString == "true"); - } + if (searchModel.IsActiveString == null) + { + query = query.Where(x => x.IsActiveString == "true"); + } - if (searchModel.IsActiveString == "false") - { - query = query.Where(x => x.IsActiveString == "false"); - } - else if (searchModel.IsActiveString == "both") - { - query = query.Where(x => x.IsActiveString == "false" || x.IsActiveString == "true"); - } + if (searchModel.IsActiveString == "false") + { + query = query.Where(x => x.IsActiveString == "false"); + } + else if (searchModel.IsActiveString == "both") + { + query = query.Where(x => x.IsActiveString == "false" || x.IsActiveString == "true"); + } - var rawList = query.OrderByDescending(x => x.Id).ToList(); - var list = rawList.Select(x => new PrintListWorkshop() - { - Id = x.Id, - WorkshopName = x.WorkshopName, - InsuranceCode = x.InsuranceCode, - WorkshopSureName = x.WorkshopSureName, - WorkshopFullName = x.WorkshopFullName, - TypeOfOwnership = x.TypeOfOwnership, - ArchiveCode = x.ArchiveCode, - AgentName = x.AgentName, - AgentPhone = x.AgentPhone, - State = x.State, - City = x.City, - Address = x.Address, - TypeOfInsuranceSend = x.TypeOfInsuranceSend, - TypeOfContract = x.TypeOfContract, - IsActiveString = x.IsActiveString, - ContractTerm = x.ContractTerm, - AgreementNumber = x.AgreementNumber, - FixedSalary = x.FixedSalary, - Population = x.Population, - InsuranceJobId = x.InsuranceJobId, - ZoneName = x.ZoneName, - TotalPaymentHide = x.TotalPaymentHide, - HasBlockContractingParty = false, - IsClassified = x.IsClassified, - HasLeftwork = x.HasLeftwork, - EmpList = x.EmpList, - AccountFullName = searchModel.AccountId != 0 ? _accountContext.Accounts.FirstOrDefault(oneAc => oneAc.id == searchModel.AccountId)?.Fullname : "", - AccountsFullName = (searchModel.AccountIds != null && searchModel.AccountIds.Any()) - ? _accountContext.Accounts - .Where(ac => searchModel.AccountIds.Contains(ac.id)) - .Select(account => new AccountViewModel - { - Id = account.id, - Fullname = account.Fullname - }).ToList() - : new List(), - }).ToList(); + var rawList = query.OrderByDescending(x => x.Id).ToList(); + var list = rawList.Select(x => new PrintListWorkshop() + { + Id = x.Id, + WorkshopName = x.WorkshopName, + InsuranceCode = x.InsuranceCode, + WorkshopSureName = x.WorkshopSureName, + WorkshopFullName = x.WorkshopFullName, + TypeOfOwnership = x.TypeOfOwnership, + ArchiveCode = x.ArchiveCode, + AgentName = x.AgentName, + AgentPhone = x.AgentPhone, + State = x.State, + City = x.City, + Address = x.Address, + TypeOfInsuranceSend = x.TypeOfInsuranceSend, + TypeOfContract = x.TypeOfContract, + IsActiveString = x.IsActiveString, + ContractTerm = x.ContractTerm, + AgreementNumber = x.AgreementNumber, + FixedSalary = x.FixedSalary, + Population = x.Population, + InsuranceJobId = x.InsuranceJobId, + ZoneName = x.ZoneName, + TotalPaymentHide = x.TotalPaymentHide, + HasBlockContractingParty = false, + IsClassified = x.IsClassified, + HasLeftwork = x.HasLeftwork, + EmpList = x.EmpList, + AccountFullName = searchModel.AccountId != 0 ? _accountContext.Accounts.FirstOrDefault(oneAc => oneAc.id == searchModel.AccountId)?.Fullname : "", + AccountsFullName = (searchModel.AccountIds != null && searchModel.AccountIds.Any()) + ? _accountContext.Accounts + .Where(ac => searchModel.AccountIds.Contains(ac.id)) + .Select(account => new AccountViewModel + { + Id = account.id, + Fullname = account.Fullname + }).ToList() + : new List(), + }).ToList(); - foreach (var item in list) - { - var empContractingPartyIds = item.EmpList.Select(x => x.ContractingPartyID).ToList(); - item.HasBlockContractingParty = blockContractingPartyIds.Intersect(empContractingPartyIds).Any(); - } + foreach (var item in list) + { + var empContractingPartyIds = item.EmpList.Select(x => x.ContractingPartyID).ToList(); + item.HasBlockContractingParty = blockContractingPartyIds.Intersect(empContractingPartyIds).Any(); + } - return list; - } + return list; + } - #endregion + #endregion - #region Insurance + #region Insurance - public List GetWorkshopSelectListInsuransce() - { - var cornometr = new Stopwatch(); - cornometr.Start(); - var acountId = _authHelper.CurrentAccountId(); - var workshopIds = _context.WorkshopAccounts.Where(x => x.AccountId == acountId).Select(x => x.WorkshopId); + public List GetWorkshopSelectListInsuransce() + { + var cornometr = new Stopwatch(); + cornometr.Start(); + var acountId = _authHelper.CurrentAccountId(); + var workshopIds = _context.WorkshopAccounts.Where(x => x.AccountId == acountId).Select(x => x.WorkshopId); - var res = _context.Workshops - .Where(x=> workshopIds.Contains(x.id) && !string.IsNullOrWhiteSpace(x.TypeOfInsuranceSend) && x.TypeOfInsuranceSend != "false" && x.IsActiveString == "true") - .Select(x=> new WorkshopViewModel() - { - Id = x.id, - WorkshopFullName = x.WorkshopFullName, - }); + var res = _context.Workshops + .Where(x => workshopIds.Contains(x.id) && !string.IsNullOrWhiteSpace(x.TypeOfInsuranceSend) && x.TypeOfInsuranceSend != "false" && x.IsActiveString == "true") + .Select(x => new WorkshopViewModel() + { + Id = x.id, + WorkshopFullName = x.WorkshopFullName, + }); - Console.WriteLine("Optimized list Time : " + cornometr.Elapsed); - cornometr.Stop(); + Console.WriteLine("Optimized list Time : " + cornometr.Elapsed); + cornometr.Stop(); return res.ToList(); - } + } public OperationResult CreateAccountLeftWorkAndWorkshopAccounts(List accountIds, long workshopId) { @@ -1563,13 +1641,13 @@ public class WorkshopRepository : RepositoryBase accountIds.Contains(x.id)).ToList(); - + foreach (var item in toBeCreateAccountLeftWork) { _accountContext.AccountLeftWorks.Add(new AccountLeftWork(startGr, continueWorking, item.id, workshopId, item.RoleId)); @@ -1736,5 +1814,154 @@ public class WorkshopRepository : RepositoryBase GetPersonnelInfoRemastered(long workshopId) + { + var leftDate = Tools.GetUndefinedDateTime(); + + var personnelCodes = _context.PersonnelCodeSet.Include(x => x.Employee) + .ThenInclude(x => x.EmployeeChildrenList).IgnoreQueryFilters().Where(x => x.WorkshopId == workshopId).ToList(); + + var contractLeftWork = + _context.LeftWorkList.Where(x => x.WorkshopId == workshopId) + .Select(x => new PersonnelInfoViewModel() + { + WorkshopId = x.WorkshopId, + EmployeeId = x.EmployeeId, + FullName = x.EmployeeFullName, + PersonnelCode = 0, + ContractPerson = true, + ContractLeft = x.LeftWorkDate != leftDate, + StartWork = x.StartWorkDate, + LeftWork = x.LeftWorkDate, + LastStartContractWork = x.StartWorkDate.ToFarsi(), + LastLeftContractWork = x.LeftWorkDate != leftDate ? x.LeftWorkDate.ToFarsi() : "-", + LastStartInsuranceWork = "-", + LastLeftInsuranceWork = "-", + }).GroupBy(x => x.EmployeeId).Select(x => x.OrderByDescending(y => y.LeftWork).First()).ToList(); + + + + + var insuranceLeftWork = _context.LeftWorkInsuranceList.Where(x => x.WorkshopId == workshopId).Select(x => new PersonnelInfoViewModel() + { + WorkshopId = x.WorkshopId, + EmployeeId = x.EmployeeId, + FullName = x.EmployeeFullName, + PersonnelCode = 0, + InsurancePerson = true, + InsuranceLeft = x.LeftWorkDate != null, + StartWork = x.StartWorkDate, + LeftWork = x.LeftWorkDate ?? leftDate, + LastStartInsuranceWork = x.StartWorkDate.ToFarsi(), + LastLeftInsuranceWork = x.LeftWorkDate != null ? x.LeftWorkDate.ToFarsi() : "-", + LastStartContractWork = "-", + LastLeftContractWork = "-" + }).GroupBy(x => x.EmployeeId).Select(x => x.OrderByDescending(y => y.LeftWork).First()).ToList(); + + var leftWorkTemp = _context.LeftWorkTemps.Where(x => x.WorkshopId == workshopId).Select(x => new PersonnelInfoViewModel() + { + WorkshopId = x.WorkshopId, + EmployeeId = x.EmployeeId, + PersonnelCode = 0, + ContractPerson = true, + ContractLeft = x.LeftWork != leftDate, + StartWork = x.StartWork, + LeftWork = x.LeftWork, + LastStartContractWork = x.StartWork.ToFarsi(), + LastLeftContractWork = x.LeftWork != leftDate ? x.LeftWork.ToFarsi() : "-", + LastStartInsuranceWork = "-", + LastLeftInsuranceWork = "-", + LefWorkTemp = x.LeftWorkType == LeftWorkTempType.LeftWork, + CreatedByClient = x.LeftWorkType == LeftWorkTempType.StartWork + }).ToList(); + + + var employeeClientTemp = _context.EmployeeClientTemps.Where(x => x.WorkshopId == workshopId).Select(x => new PersonnelInfoViewModel() + { + WorkshopId = x.WorkshopId, + EmployeeId = x.EmployeeId, + PersonnelCode = 0, + CreatedByClient = true, + ContractPerson = true + }).ToList(); + + var resultTemp = employeeClientTemp.Concat(leftWorkTemp).ToList().GroupBy(x => x.EmployeeId); + + + + var result = contractLeftWork.Concat(insuranceLeftWork).GroupBy(x => x.EmployeeId).ToList(); + + result = result.Concat(resultTemp).GroupBy(x => x.First().EmployeeId).Select(x => x.First()).ToList(); + + var employeeClientTempList = employeeClientTemp.ToList(); + var startWorkTempsForWorkshop = leftWorkTemp.Where(x => x.CreatedByClient).ToList(); + var leftWorkTempsForWorkshop = leftWorkTemp.Where(x => x.LefWorkTemp).ToList(); + + return result.Select(x => + { + var insurance = x.FirstOrDefault(y => y.InsurancePerson); + var contract = x.FirstOrDefault(y => y.ContractPerson); + var personnelCode = personnelCodes.FirstOrDefault(y => y.EmployeeId == x.Key); + var employee = personnelCode.Employee; + var employeeClient = employeeClientTempList.FirstOrDefault(t => t.EmployeeId == x.First().EmployeeId); + var startWorkTemp = startWorkTempsForWorkshop.FirstOrDefault(s => s.EmployeeId == x.First().EmployeeId); + var leftWorkTemp = leftWorkTempsForWorkshop.FirstOrDefault(s => s.EmployeeId == x.First().EmployeeId); + + + return new PersonnelInfoViewModel() + { + WorkshopId = workshopId, + EmployeeId = x.Key, + FullName = employee.FullName, + PersonnelCode = personnelCode?.PersonnelCode ?? 0, + + InsurancePerson = insurance != null, + ContractPerson = contract != null, + + InsuranceLeft = insurance?.InsuranceLeft ?? false, + ContractLeft = contract?.ContractLeft ?? false, + + StartWork = contract?.StartWork ?? insurance.StartWork, + LeftWork = contract?.LeftWork ?? insurance.LeftWork, + + LastStartInsuranceWork = insurance != null ? insurance.LastStartInsuranceWork : "-", + LastLeftInsuranceWork = insurance != null ? insurance.LastLeftInsuranceWork : "-", + LastStartContractWork = contract != null ? contract.LastStartContractWork : "-", + LastLeftContractWork = contract != null ? contract.LastLeftContractWork : "-", + + Name = employee.FName, + LastName = employee.LName, + NationalCode = employee.NationalCode, + IdNumber = employee.IdNumber, + MaritalStatus = employee.MaritalStatus, + DateOfBirthFa = employee.DateOfBirth.ToFarsi(), + FatherName = employee.FatherName, + State = employee.State, + City = employee.City, + Address = employee.Address, + + CreatedByClient = employeeClient != null || startWorkTemp != null, + + LefWorkTemp = leftWorkTemp != null, + + ChildrenList = employee.EmployeeChildrenList.Select(y => new EmployeeChildernViewModel() + { + DateOfBirth = y.DateOfBirth.ToFarsi(), + EmployeeId = y.EmployeeId, + FName = y.FName, + Id = y.id, + ParentNationalCode = y.ParentNationalCode + }).ToList() + + }; + }).OrderByDescending(x => x.StartWork).ToList(); + + } #endregion } \ No newline at end of file diff --git a/PersonalContractingParty.Config/PersonalBootstrapper.cs b/PersonalContractingParty.Config/PersonalBootstrapper.cs index a9c701e4..356ac2e0 100644 --- a/PersonalContractingParty.Config/PersonalBootstrapper.cs +++ b/PersonalContractingParty.Config/PersonalBootstrapper.cs @@ -197,6 +197,10 @@ using Company.Domain.EmployeeDocumentsAgg; using CompanyManagement.Infrastructure.Excel.SalaryAid; using CompanyManagment.App.Contracts.EmployeeDocuments; using CompanyManagment.App.Contracts.EmployeeDocumentsAdminSelection; +using Company.Domain.EmployeeClientTempAgg; +using Company.Domain.LeftWorkTempAgg; +using CompanyManagment.App.Contracts.EmployeeClientTemp; +using CompanyManagment.App.Contracts.LeftWorkTemp; namespace PersonalContractingParty.Config; @@ -409,6 +413,12 @@ public class PersonalBootstrapper services.AddTransient(); services.AddTransient(); + + services.AddTransient(); + services.AddTransient(); + + services.AddTransient(); + services.AddTransient(); #endregion #region Pooya diff --git a/ServiceHost/Areas/AdminNew/Pages/Company/Checker/Index.cshtml.cs b/ServiceHost/Areas/AdminNew/Pages/Company/Checker/Index.cshtml.cs index 975a0509..c8fa5a22 100644 --- a/ServiceHost/Areas/AdminNew/Pages/Company/Checker/Index.cshtml.cs +++ b/ServiceHost/Areas/AdminNew/Pages/Company/Checker/Index.cshtml.cs @@ -15,9 +15,10 @@ namespace ServiceHost.Areas.AdminNew.Pages.Company.Checker _adminWorkFlowApplication = adminWorkFlowApplication; } - public void OnGet() + + public async System.Threading.Tasks.Task OnGet() { - UploadDocumentCheckerCount = _adminWorkFlowApplication.GetWorkFlowCountForChecker(); + UploadDocumentCheckerCount = await _adminWorkFlowApplication.GetWorkFlowCountForChecker(); } } } diff --git a/ServiceHost/Areas/AdminNew/Pages/Company/WorkFlow/EmployeesDocuments.cshtml b/ServiceHost/Areas/AdminNew/Pages/Company/WorkFlow/EmployeesDocuments.cshtml index 0c1338e0..b397fd03 100644 --- a/ServiceHost/Areas/AdminNew/Pages/Company/WorkFlow/EmployeesDocuments.cshtml +++ b/ServiceHost/Areas/AdminNew/Pages/Company/WorkFlow/EmployeesDocuments.cshtml @@ -112,7 +112,7 @@ - - @* *@ + + + + -@*
+ @*
@@ -148,16 +163,57 @@
+ @section Script { + $(document).ready(function () { + workFlowStartAndLeftWorkCountMenu(); + + $('.loadingButton').on('click', function (e) { + if (e.ctrlKey || e.metaKey) { + return; + } + + var button = $(this); + var loadingDiv = button.find('.loading'); + loadingDiv.show(); + }); + }); + + function workFlowStartAndLeftWorkCountMenu() { + $.ajax({ + async: true, + dataType: 'json', + url: `@Url.Page("./Index", "StartAndLeftWorkCount")`, + headers: { "RequestVerificationToken": antiForgeryTokenLayout }, + type: 'GET', + success: function (response) { + if (response.success) { + if (response.dataStartWorkCount === 0) { + $('#StartWorkCount').hide(); + } else { + $('#StartWorkCount').show(); + var startWorkCount = response.dataStartWorkCount > 99 ? "+99" : response.dataStartWorkCount; + $('#StartWorkCount span').text(startWorkCount); + } + + if (response.dataLeftWorkCount === 0) { + $('#leftWorkCount').hide(); + } else { + $('#leftWorkCount').show(); + var leftWorkCount = response.dataLeftWorkCount > 99 ? "+99" : response.dataLeftWorkCount; + $('#leftWorkCount span').text(leftWorkCount); + } + } + }, + error: function (xhr, status, error) { + console.error(xhr.responseText); + } + }); + } + } diff --git a/ServiceHost/Areas/AdminNew/Pages/Company/WorkFlow/Index.cshtml.cs b/ServiceHost/Areas/AdminNew/Pages/Company/WorkFlow/Index.cshtml.cs index d93657aa..b75c7603 100644 --- a/ServiceHost/Areas/AdminNew/Pages/Company/WorkFlow/Index.cshtml.cs +++ b/ServiceHost/Areas/AdminNew/Pages/Company/WorkFlow/Index.cshtml.cs @@ -5,6 +5,7 @@ using CompanyManagment.App.Contracts.Workshop; using Microsoft.AspNetCore.Mvc; using Microsoft.AspNetCore.Mvc.RazorPages; using Microsoft.Extensions.Configuration.UserSecrets; +using Microsoft.Identity.Client; using Query.AdminReports.Handlers; using WorkFlow.Application.Contracts.AdminWorkFlow; using WorkFlow.Application.Contracts.WorkFlow; @@ -25,11 +26,25 @@ namespace ServiceHost.Areas.AdminNew.Pages.Company.WorkFlow _workshopAccountRepository = workshopAccountRepository; } - public void OnGet() + public async System.Threading.Tasks.Task OnGet() { var accountId = _authHelper.CurrentAccountId(); var accountWorkshops = _workshopAccountRepository.GetList(accountId).Select(x => x.WorkshopId).ToList(); - EmployeeDocumentsAwaitingSubmitCount = _adminWorkFlowApplication.GetWorkFlowCountsForAdmin(accountWorkshops).EmployeeDocumentsAwaitingSubmit; + EmployeeDocumentsAwaitingSubmitCount = await _adminWorkFlowApplication.GetEmployeeDocumentWorkFlowCountsForAdmin(accountWorkshops); + } + + public async Task OnGetStartAndLeftWorkCount() + { + var accountId = _authHelper.CurrentAccountId(); + var resultStartWorkCount = await _adminWorkFlowApplication.GetWorkshopsForEmployeeStartWorkCount(accountId); + var resultLeftWorkCount = await _adminWorkFlowApplication.GetWorkshopsForLeftWorkTempCount(accountId); + + return new JsonResult(new + { + success = true, + dataStartWorkCount = resultStartWorkCount, + dataLeftWorkCount = resultLeftWorkCount, + }); } } } diff --git a/ServiceHost/Areas/AdminNew/Pages/Company/WorkFlow/_ModalEmployeeDocuments/ModalEmployeeEdit.cshtml b/ServiceHost/Areas/AdminNew/Pages/Company/WorkFlow/_ModalEmployeeDocuments/ModalEmployeeEdit.cshtml new file mode 100644 index 00000000..c7ecb89e --- /dev/null +++ b/ServiceHost/Areas/AdminNew/Pages/Company/WorkFlow/_ModalEmployeeDocuments/ModalEmployeeEdit.cshtml @@ -0,0 +1,187 @@ +@using Microsoft.AspNetCore.Mvc.TagHelpers +@model CompanyManagment.App.Contracts.Employee.GetEditEmployeeInEmployeeDocumentViewModel + +@{ + string adminVersion = _0_Framework.Application.Version.AdminVersion; + + + +} + + +
+ + +
+ +
+
+
+ + +
+
+
+ + +
+
+ + +
+
+
+
+
+ + +
+
+
+ + +
+
+ + +
+
+
+
+
+ + +
+
+
+
+ + +
+
+
+
+ + +
+
+
+
+ + +
+
+
+
+ + +
+
+
+
+ + +
+
+
+
+ + +
+
+
+ + +
+
+ + +
+
+
+
+
+ + +
+
+ + +
+ +
+ + +
+ + + + \ No newline at end of file diff --git a/ServiceHost/Areas/AdminNew/Pages/Company/WorkFlow/_ModalEmployeeDocuments/ModalUploadDocument.cshtml b/ServiceHost/Areas/AdminNew/Pages/Company/WorkFlow/_ModalEmployeeDocuments/ModalUploadDocument.cshtml index eb76765f..51977f4f 100644 --- a/ServiceHost/Areas/AdminNew/Pages/Company/WorkFlow/_ModalEmployeeDocuments/ModalUploadDocument.cshtml +++ b/ServiceHost/Areas/AdminNew/Pages/Company/WorkFlow/_ModalEmployeeDocuments/ModalUploadDocument.cshtml @@ -7,6 +7,8 @@ @{ string adminVersion = _0_Framework.Application.Version.AdminVersion; + + +} + + + + +@Html.AntiForgeryToken() + + + +
+
+ + + +@* *@ + + + + + diff --git a/ServiceHost/Areas/AdminNew/Pages/Company/WorkFlow/_ModalEmployeeNew/StartWork.cshtml b/ServiceHost/Areas/AdminNew/Pages/Company/WorkFlow/_ModalEmployeeNew/StartWork.cshtml new file mode 100644 index 00000000..c414ce65 --- /dev/null +++ b/ServiceHost/Areas/AdminNew/Pages/Company/WorkFlow/_ModalEmployeeNew/StartWork.cshtml @@ -0,0 +1,300 @@ +@model CompanyManagment.App.Contracts.LeftWorkTemp.GetStartWorkTempDetails + +@{ + int i = 1; + string adminVersion = _0_Framework.Application.Version.AdminVersion; + + + + + +} + + +
+
+ + + +@* *@ + + + diff --git a/ServiceHost/Areas/AdminNew/Pages/Index.cshtml.cs b/ServiceHost/Areas/AdminNew/Pages/Index.cshtml.cs index f8f1445f..1f3ff29d 100644 --- a/ServiceHost/Areas/AdminNew/Pages/Index.cshtml.cs +++ b/ServiceHost/Areas/AdminNew/Pages/Index.cshtml.cs @@ -87,11 +87,11 @@ namespace ServiceHost.Areas.AdminNew.Pages }); } - public IActionResult OnGetLayoutCountWorkFlow() + public async Task OnGetLayoutCountWorkFlow() { var currentAccountId = _authHelper.CurrentAccountId(); var accountWorkshops = _workshopAccountRepository.GetList(currentAccountId).Select(x => x.WorkshopId).ToList(); - int workFlowCount = _adminWorkFlowApplication.GetWorkFlowCountsForAdmin(accountWorkshops).EmployeeDocumentsAwaitingSubmit; + int workFlowCount = await _adminWorkFlowApplication.GetWorkFlowCountsForAdmin(accountWorkshops,currentAccountId); return new JsonResult(new { @@ -100,9 +100,9 @@ namespace ServiceHost.Areas.AdminNew.Pages }); } - public IActionResult OnGetLayoutCountChecker() + public async Task OnGetLayoutCountChecker() { - int checkerCount = _adminWorkFlowApplication.GetWorkFlowCountForChecker(); + int checkerCount = await _adminWorkFlowApplication.GetWorkFlowCountForChecker(); return new JsonResult(new { diff --git a/ServiceHost/Areas/Client/Pages/Company/Employees/CreateEmployeeModal.cshtml b/ServiceHost/Areas/Client/Pages/Company/Employees/CreateEmployeeModal.cshtml new file mode 100644 index 00000000..cffddc5e --- /dev/null +++ b/ServiceHost/Areas/Client/Pages/Company/Employees/CreateEmployeeModal.cshtml @@ -0,0 +1,286 @@ +@model CompanyManagment.App.Contracts.Employee.CreateEmployeeByClient +@{ + string clientVersion = _0_Framework.Application.Version.StyleVersion; + + + // + + + var rollCallPath = Context.Request.Path.Value; + +} + +
+
+ +
+ + +
+ + +@* Camera Modal *@ +
+
+
+
+ @**@ + @*
*@ + @*
*@ +
+ @*
*@ + + +
+ +
+ + +
+
+
+ + +
+
+ +
+ + +@* *@ + + + + + + + + + diff --git a/ServiceHost/Areas/Client/Pages/Company/Employees/EmployeeList.cshtml b/ServiceHost/Areas/Client/Pages/Company/Employees/EmployeeList.cshtml index 3a4bae75..16975077 100644 --- a/ServiceHost/Areas/Client/Pages/Company/Employees/EmployeeList.cshtml +++ b/ServiceHost/Areas/Client/Pages/Company/Employees/EmployeeList.cshtml @@ -1,324 +1,389 @@ -@model List +@page +@model ServiceHost.Areas.Client.Pages.Company.Employees.EmployeeListModel + @{ + Layout = "Shared/_ClientLayout"; + ViewData["title"] = " - لیست کل پرسنل"; + string clintVersion = _0_Framework.Application.Version.StyleVersion; } - - - - - - - @**@ - - - - - - - @if (Model != null) - { - int i = 1; - @foreach (var item in Model) - { - - - - @* - *@ - - - - @{ - i++; - } -
#نام و نام خانوادگی نام خانوادگیعملیات
@i -
-

- @item.FName -

- - @item.FName - -
-
-
-

- @item.LName -

- - @item.LName - -
-
-
-

- @item.EmployeeFullName -

- - @item.EmployeeFullName - -
-
-
- - +@section Styles { + + + + + + + + } - \ No newline at end of file + +
+
+
+
+
+ +
+

لیست کل پرسنل

+
@Model.WorkshopFullName
+
+
+ +
+
+
+ + +
+
+ + +
+
+ +
+ + +
+
+ +
+
+ + +
+ +
+ +
+ +
+
+
+ + +
+ +
+

لیست پرسنل

+
+ +
+
+ + +
+
+
+
+ +
+ +
+
ردیف
+
نام پرسنل
+
شماره پرسنلی
+
وضعیت تاهل
+
شماره ملی
+
شماره شناسنامه
+
تاریخ تولد
+
نام پدر
+
تعداد فرزند
+
آخرین تاریخ شروع بکار قرارداد
+
تاریخ ترک کار قرارداد
+
آخرین تاریخ شروع بکار بیمه
+
تاریخ ترک کار بیمه
+
دارای قرارداد
+
دارای بیمه
+
+
+ +
+ +
+
+
+
+ +
+
+
+ + + + + + + + + +
@@ -141,6 +197,7 @@ var checkModalTakeImageAjax = `@Url.Page("EmployeeUploadPicture", "CheckModalTakeImage")`; var deActivePersonnelAjax = `@Url.Page("./EmployeeUploadPicture", "DeActivePersonnel")`; var activePersonnelAjax = `@Url.Page("./EmployeeUploadPicture", "ActivePersonnel")`; + - + } \ No newline at end of file diff --git a/ServiceHost/Areas/Client/Pages/Company/RollCall/EmployeeUploadPicture.cshtml.cs b/ServiceHost/Areas/Client/Pages/Company/RollCall/EmployeeUploadPicture.cshtml.cs index cafd086c..7a4e2f76 100644 --- a/ServiceHost/Areas/Client/Pages/Company/RollCall/EmployeeUploadPicture.cshtml.cs +++ b/ServiceHost/Areas/Client/Pages/Company/RollCall/EmployeeUploadPicture.cshtml.cs @@ -15,42 +15,56 @@ using _0_Framework.Domain.CustomizeCheckoutShared.Enums; using _0_Framework.Infrastructure; using CompanyManagment.App.Contracts.CustomizeWorkshopSettings; using Company.Domain.EmployeeAgg; +using CompanyManagment.App.Contracts.EmployeeClientTemp; +using CompanyManagment.App.Contracts.PersonnleCode; +using CompanyManagment.App.Contracts.EmployeeDocuments; +using CompanyManagment.Application; +using CompanyManagment.App.Contracts.Job; +using Microsoft.AspNetCore.Builder; namespace ServiceHost.Areas.Client.Pages.Company.RollCall { - [Authorize] + [Authorize] [NeedsPermission(SubAccountPermissionHelper.UploadEmployeePicturePermissionCode)] public class EmployeeUploadPictureModel : PageModel - { - public string WorkshopFullName; - public RollCallEmployeeViewModel Employees; - public RollCallServiceViewModel RollCallService; - public bool HasEmployees; + { + public string WorkshopFullName; + public RollCallEmployeeViewModel Employees; + public RollCallServiceViewModel RollCallService; + public bool HasEmployees; - //[BindProperty] - public int MaxPersonValid { get; set; } - public long WorkshopId; - public int PageIndex; + //[BindProperty] + public int MaxPersonValid { get; set; } + public long WorkshopId; + public int PageIndex; - private readonly IWorkshopApplication _workshopApplication; - private readonly IEmployeeApplication _employeeApplication; - private readonly IRollCallEmployeeApplication _rollCallEmployeeApplication; - private readonly IRollCallServiceApplication _rollCallServiceApplication; - private readonly IWebHostEnvironment _webHostEnvironment; - private readonly IPasswordHasher _passwordHasher; - private readonly IRollCallEmployeeStatusApplication _rollCallEmployeeStatusApplication; - private readonly ICustomizeWorkshopSettingsApplication _customizeWorkshopSettingsApplication; - private readonly IHttpContextAccessor _contextAccessor; + private readonly IWorkshopApplication _workshopApplication; + private readonly IEmployeeApplication _employeeApplication; + private readonly IRollCallEmployeeApplication _rollCallEmployeeApplication; + private readonly IRollCallServiceApplication _rollCallServiceApplication; + private readonly IWebHostEnvironment _webHostEnvironment; + private readonly IPasswordHasher _passwordHasher; + private readonly IRollCallEmployeeStatusApplication _rollCallEmployeeStatusApplication; + private readonly ICustomizeWorkshopSettingsApplication _customizeWorkshopSettingsApplication; + private readonly IHttpContextAccessor _contextAccessor; + private readonly IPersonnelCodeApplication _personnelCodeApplication; + private readonly IEmployeeClientTempApplication _employeeClientTemp; + private readonly IEmployeeDocumentsApplication _employeeDocumentsApplication; + private readonly IJobApplication _jobApplication; - private readonly long _workshopId; + + + + private readonly long _workshopId; public EmployeeUploadPictureModel(IWorkshopApplication workshopApplication, IPasswordHasher passwordHasher, IRollCallEmployeeApplication rollCallEmployeeApplication, + IJobApplication jobApplication, IRollCallServiceApplication rollCallServiceApplication, IWebHostEnvironment webHostEnvironment, IEmployeeApplication employeeApplication, IRollCallEmployeeStatusApplication rollCallEmployeeStatusApplication, ICustomizeWorkshopSettingsApplication customizeWorkshopSettingsApplication, - IHttpContextAccessor contextAccessor) + IHttpContextAccessor contextAccessor, IPersonnelCodeApplication personnelCodeApplication, IEmployeeClientTempApplication employeeClientTempApplication, IEmployeeDocumentsApplication employeeDocumentsApplication) { _workshopApplication = workshopApplication; _passwordHasher = passwordHasher; @@ -61,625 +75,697 @@ namespace ServiceHost.Areas.Client.Pages.Company.RollCall _rollCallEmployeeStatusApplication = rollCallEmployeeStatusApplication; _customizeWorkshopSettingsApplication = customizeWorkshopSettingsApplication; _contextAccessor = contextAccessor; - - var workshopHash = _contextAccessor.HttpContext?.User.FindFirstValue("WorkshopSlug"); - _workshopId = _passwordHasher.SlugDecrypt(workshopHash); - - if (_workshopId < 1) - throw new InvalidDataException("اختلال در کارگاه"); - } - - public IActionResult OnGet() - { - RollCallService = _rollCallServiceApplication.GetActiveServiceByWorkshopId(_workshopId); - if (RollCallService == null) - return Redirect("/Client/Company/RollCall"); - - var workshop = _workshopApplication.GetWorkshopInfo(_workshopId); - - WorkshopFullName = workshop.WorkshopFullName; - - // if (string.IsNullOrEmpty(HttpContext.Session.GetString("MaxPersonValid"))) - // { - // MaxPersonValid = RollCallService.MaxPersonValid; - //HttpContext.Session.SetString("MaxPersonValid", MaxPersonValid.ToString()); - // } - // else - // { - // MaxPersonValid = Convert.ToInt32(HttpContext.Session.GetString("MaxPersonValid")); - // } - - MaxPersonValid = RollCallService.MaxPersonValid; - //var distinctEmployees = _rollCallEmployeeApplication.GetPersonnelRollCallListPaginate(new RollCallEmployeeSearchModel() - //{ - - //}); - WorkshopId = _workshopId; - PageIndex = 0; - - HasEmployees = _rollCallEmployeeApplication.HasEmployees(_workshopId); - - return Page(); - } - - public IActionResult OnGetEmployeeUploadDataAjax(int pageIndex, string searchName) - { - //MaxPersonValid = _rollCallServiceApplication.GetActiveServiceByWorkshopId(workshopId).MaxPersonValid; - var distinctEmployees = _rollCallEmployeeApplication.GetPersonnelRollCallListPaginate( - new RollCallEmployeeSearchModel() - { - WorkshopId = _workshopId, - PageIndex = pageIndex, - Name = searchName - }); - - Employees = new RollCallEmployeeViewModel - { - PersonnelInfoViewModels = distinctEmployees - }; - return new JsonResult(new - { - isSuccedded = true, - data = Employees, - pageIndex = Employees.PersonnelInfoViewModels.Count() - }); - } - - public IActionResult OnGetLoadInfoCount() - { - //MaxPersonValid = Convert.ToInt32(HttpContext.Session.GetString("MaxPersonValid")); - var activeService = _rollCallServiceApplication.GetActiveServiceByWorkshopId(_workshopId); - MaxPersonValid = activeService.MaxPersonValid; + _personnelCodeApplication = personnelCodeApplication; + _employeeClientTemp = employeeClientTempApplication; + _employeeDocumentsApplication = employeeDocumentsApplication; + _jobApplication = jobApplication; - var employeesCount = _rollCallEmployeeApplication.GetActiveAndDeActiveRollCallEmployees(_workshopId); + + var workshopHash = _contextAccessor.HttpContext?.User.FindFirstValue("WorkshopSlug"); + _workshopId = _passwordHasher.SlugDecrypt(workshopHash); + + if (_workshopId < 1) + throw new InvalidDataException("اختلال در کارگاه"); + } + + public IActionResult OnGet() + { + RollCallService = _rollCallServiceApplication.GetActiveServiceByWorkshopId(_workshopId); + if (RollCallService == null) + return Redirect("/Client/Company/RollCall"); + + var workshop = _workshopApplication.GetWorkshopInfo(_workshopId); + + WorkshopFullName = workshop.WorkshopFullName; + + // if (string.IsNullOrEmpty(HttpContext.Session.GetString("MaxPersonValid"))) + // { + // MaxPersonValid = RollCallService.MaxPersonValid; + //HttpContext.Session.SetString("MaxPersonValid", MaxPersonValid.ToString()); + // } + // else + // { + // MaxPersonValid = Convert.ToInt32(HttpContext.Session.GetString("MaxPersonValid")); + // } + + MaxPersonValid = RollCallService.MaxPersonValid; + //var distinctEmployees = _rollCallEmployeeApplication.GetPersonnelRollCallListPaginate(new RollCallEmployeeSearchModel() + //{ + + //}); + WorkshopId = _workshopId; + PageIndex = 0; + + HasEmployees = _rollCallEmployeeApplication.HasEmployees(_workshopId); + + return Page(); + } + + public IActionResult OnGetEmployeeUploadDataAjax(int pageIndex, string searchName) + { + //MaxPersonValid = _rollCallServiceApplication.GetActiveServiceByWorkshopId(workshopId).MaxPersonValid; + var distinctEmployees = _rollCallEmployeeApplication.GetPersonnelRollCallListPaginate( + new RollCallEmployeeSearchModel() + { + WorkshopId = _workshopId, + PageIndex = pageIndex, + Name = searchName + }); + + Employees = new RollCallEmployeeViewModel + { + PersonnelInfoViewModels = distinctEmployees + }; + return new JsonResult(new + { + isSuccedded = true, + data = Employees, + pageIndex = Employees.PersonnelInfoViewModels.Count() + }); + } + + public IActionResult OnGetLoadInfoCount() + { + //MaxPersonValid = Convert.ToInt32(HttpContext.Session.GetString("MaxPersonValid")); + var activeService = _rollCallServiceApplication.GetActiveServiceByWorkshopId(_workshopId); + MaxPersonValid = activeService.MaxPersonValid; - return new JsonResult(new - { - isSuccedded = true, - maxPersonValid = MaxPersonValid == -1 ? "نامحدود" : MaxPersonValid.ToString(), - isTrueActiveCount = employeesCount.activeEmployees, - isFalseActiveCount = employeesCount.deActiveEmployees, - message = "موفق" - }); - } + var employeesCount = _rollCallEmployeeApplication.GetActiveAndDeActiveRollCallEmployees(_workshopId); - public IActionResult OnGetCheckModalTakeImage() - { - //MaxPersonValid = Convert.ToInt32(HttpContext.Session.GetString("MaxPersonValid")); - var plan = _rollCallServiceApplication.GetActiveServiceByWorkshopId(_workshopId); + return new JsonResult(new + { + isSuccedded = true, + maxPersonValid = MaxPersonValid == -1 ? "نامحدود" : MaxPersonValid.ToString(), + isTrueActiveCount = employeesCount.activeEmployees, + isFalseActiveCount = employeesCount.deActiveEmployees, + message = "موفق" + }); + } - if (plan == null) - { - return new JsonResult(new - { - isSuccedded = false, - message = "شما سرویس خریداری شده ندارید" - }); - } + public IActionResult OnGetCheckModalTakeImage() + { + //MaxPersonValid = Convert.ToInt32(HttpContext.Session.GetString("MaxPersonValid")); - if (plan.IsActiveString != "true") - { - return new JsonResult(new - { - isSuccedded = false, - message = "سرویس شما فعال نیست" - }); - } + var plan = _rollCallServiceApplication.GetActiveServiceByWorkshopId(_workshopId); - //var maxValid = RollCallService.MaxPersonValid; + if (plan == null) + { + return new JsonResult(new + { + isSuccedded = false, + message = "شما سرویس خریداری شده ندارید" + }); + } - if (plan.MaxPersonValid == -1 || - _rollCallEmployeeApplication.activedPerson(_workshopId) < plan.MaxPersonValid) - { - return new JsonResult(new - { - isSuccedded = true, - message = "موفق" - }); - } + if (plan.IsActiveString != "true") + { + return new JsonResult(new + { + isSuccedded = false, + message = "سرویس شما فعال نیست" + }); + } - return new JsonResult(new - { - isSuccedded = false, - message = "محدودیت افزودن پرسنل" - }); - } + //var maxValid = RollCallService.MaxPersonValid; - public IActionResult OnGetWorkshopSettingList() - { - var resultData = _customizeWorkshopSettingsApplication.GetWorkshopIncludeGroupsByWorkshopId(_workshopId); + if (plan.MaxPersonValid == -1 || + _rollCallEmployeeApplication.activedPerson(_workshopId) < plan.MaxPersonValid) + { + return new JsonResult(new + { + isSuccedded = true, + message = "موفق" + }); + } + + return new JsonResult(new + { + isSuccedded = false, + message = "محدودیت افزودن پرسنل" + }); + } + + public IActionResult OnGetWorkshopSettingList() + { + var resultData = _customizeWorkshopSettingsApplication.GetWorkshopIncludeGroupsByWorkshopId(_workshopId); resultData.GroupSettings = resultData.GroupSettings.Where(x => !x.MainGroup).ToList(); - return new JsonResult(new - { - success = true, - data = resultData, - }); - } - - public IActionResult OnGetModalTakeImages(long employeeId) - { - var employeeWorkshopInfo = - _rollCallEmployeeApplication.GetByEmployeeIdAndWorkshopId(employeeId, _workshopId); - - bool hasPicture = false; - if (employeeWorkshopInfo != null && !string.IsNullOrEmpty(employeeWorkshopInfo.HasUploadedImage)) - hasPicture = bool.Parse(employeeWorkshopInfo.HasUploadedImage); - - var employeeDetails = _employeeApplication.GetDetails(employeeId); - - string employeeName = string.Empty; - if (employeeDetails != null) - employeeName = employeeDetails.EmployeeFullName; - - string pic1 = ""; - string pic2 = ""; - if (hasPicture) - { - string path1 = $"{_webHostEnvironment.ContentRootPath}\\Faces\\{_workshopId}\\{employeeId}\\{1}.jpg"; - string path2 = $"{_webHostEnvironment.ContentRootPath}\\Faces\\{_workshopId}\\{employeeId}\\{2}.jpg"; - - if (System.IO.File.Exists(path1)) - { - byte[] fileContent1 = System.IO.File.ReadAllBytes(path1); - pic1 = Convert.ToBase64String(fileContent1); - } - - if (System.IO.File.Exists(path2)) - { - byte[] fileContent2 = System.IO.File.ReadAllBytes(path2); - pic2 = Convert.ToBase64String(fileContent2); - } - - //byte[] fileContent1 = System.IO.File.ReadAllBytes($"{_webHostEnvironment.ContentRootPath}\\Faces\\{workshopId}\\{employeeId}\\{1}.jpg"); - //pic1 = Convert.ToBase64String(fileContent1); - //byte[] fileContent2 = System.IO.File.ReadAllBytes($"{_webHostEnvironment.ContentRootPath}\\Faces\\{workshopId}\\{employeeId}\\{2}.jpg"); - //pic2 = Convert.ToBase64String(fileContent2); - } - - - var workshopGroupSettings = - _customizeWorkshopSettingsApplication.GetWorkshopIncludeGroupsByWorkshopId(_workshopId); - - var employeeSettings = - _customizeWorkshopSettingsApplication.GetByEmployeeIdAndWorkshopIdIncludeGroupSettings(_workshopId, - employeeId); - - var rollCallEmployee = _rollCallEmployeeApplication.GetByEmployeeIdAndWorkshopId(employeeId, _workshopId); - - - var res = new TakePictureModel() - { - HasPicture = hasPicture, - EmployeeId = employeeId, - WorkshopId = _workshopId, - Name = employeeName, - FirstNickName = rollCallEmployee?.EmployeeFName ?? employeeDetails.FName, - LastNickName = rollCallEmployee?.EmployeeLName ?? employeeDetails.LName, - Pic1 = pic1, - Pic2 = pic2, - GroupSettings = workshopGroupSettings, - EmployeeSettings = employeeSettings, - HasUploadedImage = rollCallEmployee?.HasUploadedImage == "true" - }; - - if (res.HasUploadedImage) - { - return Partial("ModalTakeImagesEdit", res); - } - else - { - return Partial("ModalTakeImages", res); - } - } - - public IActionResult OnPostTakePicture(string base64pic1, string base64pic2, long workshopId, long employeeId, EditCustomizeEmployeeSettings command) - { - - try - { - using var transactionScope = new TransactionScope(); - - var directoryPath = $"{_webHostEnvironment.ContentRootPath}\\Faces\\{workshopId}\\{employeeId}"; - if (!Directory.Exists(directoryPath)) - Directory.CreateDirectory(directoryPath); - - var filePath1 = Path.Combine(directoryPath) + $@"\1.jpg"; - CreateImageFromBase64(base64pic1, filePath1); - var filePath2 = Path.Combine(directoryPath) + $@"\2.jpg"; - CreateImageFromBase64(base64pic2, filePath2); - - var employee = _employeeApplication.GetDetailsForClient(employeeId, workshopId); - var rollCallEmployee = - _rollCallEmployeeApplication.GetByEmployeeIdAndWorkshopId(employeeId, workshopId); - - var result = new OperationResult() - { - IsSuccedded = false, - Message = "هنوز عملیاتی انجام نشده است" - }; - if (rollCallEmployee == null) - { - var createCommand = new CreateRollCallEmployee() - { - EmployeeId = employeeId, - WorkshopId = workshopId, - EmployeeFullName = employee.EmployeeFullName, - HasUploadedImage = "true", - }; - result = _rollCallEmployeeApplication.Create(createCommand); - var createRollCallEmployeeStatus = _rollCallEmployeeStatusApplication.Create(new CreateRollCallEmployeeStatus() - { - RollCallEmployeeId = result.SendId - }); - if (result.IsSuccedded == false) - { - return new JsonResult(new - { - isSuccedded = result.IsSuccedded, - message = result.Message, - }); - } - if (createRollCallEmployeeStatus.IsSuccedded == false) - { - return new JsonResult(new - { - isSuccedded = createRollCallEmployeeStatus.IsSuccedded, - message = createRollCallEmployeeStatus.Message, - }); - } - } - else - { - result = _rollCallEmployeeApplication.UploadedImage(employeeId, workshopId); - if (result.IsSuccedded == false) - { - return new JsonResult(new - { - isSuccedded = result.IsSuccedded, - message = result.Message, - }); - } - } - - - - if (command.GroupId != 0) - { - command.EmployeeIds = [employeeId]; - command.WorkshopId = workshopId; - var employeeSettingsResult = _customizeWorkshopSettingsApplication.CreateEmployeesSettingsAndSetChanges(command); - if (employeeSettingsResult.IsSuccedded == false) - { - return new JsonResult(new - { - isSuccedded = employeeSettingsResult.IsSuccedded, - message = employeeSettingsResult.Message, - }); - } - } - - transactionScope.Complete(); - return new JsonResult(new - { - IsSuccedded = result.IsSuccedded, - Message = result.Message, - src = Tools.ResizeImage( - Path.Combine(_webHostEnvironment.ContentRootPath, "Faces", workshopId.ToString(), - employeeId.ToString(), "1.jpg"), 150, 150), - Id = result.SendId - }); - - - } - catch (Exception e) - { - Console.WriteLine(e); - return new JsonResult(new - { - IsSuccedded = false, - Message = e.Message, - }); - } - } - - public void CreateImageFromBase64(string base64, string imagePathWithExtension) - { - var subBase64 = base64.Substring(base64.LastIndexOf(',') + 1); - byte[] bytes = Convert.FromBase64String(subBase64); - System.IO.File.WriteAllBytes(imagePathWithExtension, bytes); - } - - public IActionResult OnPostActivePersonnel(long id) - { - var hasRollCallEmployee = _rollCallEmployeeApplication.GetDetails(id); - - if (hasRollCallEmployee == null) - { - return new JsonResult(new - { - isSuccedded = false, - message = - "برای این پرسنل، هنوز هیچ عکسی آپلود نشده است. بعد از آپلود عکس بطور خودکار فعال خواهد شد", - }); - } - else - { - if (hasRollCallEmployee.HasUploadedImage == "false") - return new JsonResult(new - { - isSuccedded = false, - message = - "برای این پرسنل، هنوز هیچ عکسی آپلود نشده است. بعد از آپلود عکس بطور خودکار فعال خواهد شد", - }); - else - { - var employeeSettings = - _customizeWorkshopSettingsApplication.GetByEmployeeIdAndWorkshopIdIncludeGroupSettings( - _workshopId, hasRollCallEmployee.EmployeeId); - if (employeeSettings.Id == 0) - { - return new JsonResult(new - { - isSuccedded = false, - HasEmployeeSetting = false, - message = "برای فعال سازی پرسنل می بایست حتما گروهبندی پرسنل را مشخص کنید" - - }); - } - - } - - var result = _rollCallEmployeeApplication.Active(hasRollCallEmployee.Id); - if (result.IsSuccedded) - { - return new JsonResult(new - { - isSuccedded = result.IsSuccedded, - message = result.Message, - }); - } - else - { - return new JsonResult(new - { - isSuccedded = result.IsSuccedded, - message = result.Message, - }); - } - } - - return new JsonResult(new - { - isSuccedded = false, - message = "خطایی رخ آمده است", - }); - } - - public IActionResult OnPostDeActivePersonnel(long id) - { - var result = _rollCallEmployeeApplication.DeActive(id); - if (result.IsSuccedded) - { - return new JsonResult(new - { - isSuccedded = result.IsSuccedded, - message = result.Message, - }); - } - - return new JsonResult(new - { - isSuccedded = result.IsSuccedded, - message = result.Message, - }); - } - - public IActionResult OnGetLoadFirstImage(long employeeId, long workshopId) - { - var directoryPath = $"{_webHostEnvironment.ContentRootPath}\\Faces\\{workshopId}\\{employeeId}"; - var imageDir = Path.Combine(directoryPath, "1.jpg"); - return PhysicalFile(imageDir, "image/jpeg"); - } - - public IActionResult OnGetLoadSecondImage(long employeeId, long workshopId) - { - var directoryPath = $"{_webHostEnvironment.ContentRootPath}\\Faces\\{workshopId}\\{employeeId}"; - var imageDir = Path.Combine(directoryPath, "2.jpg"); - return PhysicalFile(imageDir, "image/jpeg"); - } - - public IActionResult OnGetModalChangeName(long employeeId) - { - var command = _rollCallEmployeeApplication.GetByEmployeeIdAndWorkshopId(employeeId, _workshopId); - - return Partial("ModalChangeName", command); - } - - public IActionResult OnPostChangeName(long rollCallEmployeeId, string fName, string lName) - { - var result = _rollCallEmployeeApplication.ChangeEmployeeRollCallName(rollCallEmployeeId, fName, lName); - return new JsonResult(new - { - isSuccedded = result.IsSuccedded, - message = result.Message, - }); - } - - - public IActionResult OnPostCreateEmployeeSettingsAndChangeNameAndCreateRollCallEmployeeStatus(EditCustomizeEmployeeSettings command, string fName, string lName) - { - using var transactionScope = new TransactionScope(); - - if (command.GroupId != 0) - { - var employeeSettingsResult = _customizeWorkshopSettingsApplication.CreateEmployeeSettings(command); - if (employeeSettingsResult.IsSuccedded == false) - { - return new JsonResult(new - { - isSuccedded = employeeSettingsResult.IsSuccedded, - message = employeeSettingsResult.Message, - }); - } - } - var rollCallEmployee = - _rollCallEmployeeApplication.GetByEmployeeIdAndWorkshopId(command.EmployeeIds.First(), _workshopId); - - if (rollCallEmployee == null) - { - return new JsonResult(new - { - isSuccedded = false, - message = "لطفا بخش آپلود عکس خودرا تکمیل نمایید", - }); - } - - - - var createRollCallEmployeeStatus = _rollCallEmployeeStatusApplication.Create(new CreateRollCallEmployeeStatus() - { - RollCallEmployeeId = rollCallEmployee.Id - }); - - if (createRollCallEmployeeStatus.IsSuccedded == false) - { - return new JsonResult(new - { - isSuccedded = createRollCallEmployeeStatus.IsSuccedded, - message = createRollCallEmployeeStatus.Message, - }); - } - - var changeNameResult = _rollCallEmployeeApplication.ChangeEmployeeRollCallName(rollCallEmployee.Id, fName, lName); - if (changeNameResult.IsSuccedded == false) - { - return new JsonResult(new - { - isSuccedded = changeNameResult.IsSuccedded, - message = changeNameResult.Message, - }); - } - - transactionScope.Complete(); - - return new JsonResult(new - { - isSuccedded = true, - message = createRollCallEmployeeStatus.Message, - }); - } - - - public IActionResult OnPostCreateEmployeeSettingsAndChangeNameAndCreateRollCallEmployeeStatusModalStatus(long employeeId) - { - var employeeWorkshopInfo = - _rollCallEmployeeApplication.GetByEmployeeIdAndWorkshopId(employeeId, _workshopId); - - bool hasPicture = false; - if (employeeWorkshopInfo != null && !string.IsNullOrEmpty(employeeWorkshopInfo.HasUploadedImage)) - hasPicture = bool.Parse(employeeWorkshopInfo.HasUploadedImage); - - var employeeDetails = _employeeApplication.GetDetails(employeeId); - - string employeeName = string.Empty; - if (employeeDetails != null) - employeeName = employeeDetails.EmployeeFullName; - - - var workshopGroupSettings = - _customizeWorkshopSettingsApplication.GetWorkshopIncludeGroupsByWorkshopId(_workshopId); - - var employeeSettings = - _customizeWorkshopSettingsApplication.GetByEmployeeIdAndWorkshopIdIncludeGroupSettings(_workshopId, - employeeId); - - var rollCallEmployee = _rollCallEmployeeApplication.GetByEmployeeIdAndWorkshopId(employeeId, _workshopId); - - - var res = new TakePictureModel() - { - EmployeeId = employeeId, - WorkshopId = _workshopId, - Name = employeeName, - FirstNickName = rollCallEmployee?.EmployeeFName ?? employeeDetails.FName, - LastNickName = rollCallEmployee?.EmployeeLName ?? employeeDetails.LName, - - GroupSettings = workshopGroupSettings, - EmployeeSettings = employeeSettings, - HasUploadedImage = rollCallEmployee?.HasUploadedImage == "true" - }; - - - return Partial("ModalTakeImages", res); - } - - - public IActionResult OnPostCreateEmployeeSettingsAndChangeNameAndCreateRollCallEmployeeStatusModalStatusSave(EditCustomizeEmployeeSettings command, string fName, string lName) - { - using var transactionScope = new TransactionScope(); - - if (command.GroupId != 0) - { - var employeeSettingsResult = _customizeWorkshopSettingsApplication.CreateEmployeeSettings(command); - if (employeeSettingsResult.IsSuccedded == false) - { - return new JsonResult(new - { - isSuccedded = employeeSettingsResult.IsSuccedded, - message = employeeSettingsResult.Message, - }); - } - } - var rollCallEmployee = - _rollCallEmployeeApplication.GetByEmployeeIdAndWorkshopId(command.EmployeeIds.First(), _workshopId); - - if (rollCallEmployee == null) - { - return new JsonResult(new - { - isSuccedded = false, - message = "لطفا بخش آپلود عکس خودرا تکمیل نمایید", - }); - } - - - - var createRollCallEmployeeStatus = _rollCallEmployeeStatusApplication.Create(new CreateRollCallEmployeeStatus() - { - RollCallEmployeeId = rollCallEmployee.Id - }); - - if (createRollCallEmployeeStatus.IsSuccedded == false) - { - return new JsonResult(new - { - isSuccedded = createRollCallEmployeeStatus.IsSuccedded, - message = createRollCallEmployeeStatus.Message, - }); - } - - var changeNameResult = _rollCallEmployeeApplication.ChangeEmployeeRollCallName(rollCallEmployee.Id, fName, lName); - if (changeNameResult.IsSuccedded == false) - { - return new JsonResult(new - { - isSuccedded = changeNameResult.IsSuccedded, - message = changeNameResult.Message, - }); - } - - transactionScope.Complete(); - - return new JsonResult(new - { - isSuccedded = true, - message = createRollCallEmployeeStatus.Message, - }); - } - - } + return new JsonResult(new + { + success = true, + data = resultData, + }); + } + + public IActionResult OnGetModalTakeImages(long employeeId) + { + var employeeWorkshopInfo = + _rollCallEmployeeApplication.GetByEmployeeIdAndWorkshopId(employeeId, _workshopId); + + bool hasPicture = false; + if (employeeWorkshopInfo != null && !string.IsNullOrEmpty(employeeWorkshopInfo.HasUploadedImage)) + hasPicture = bool.Parse(employeeWorkshopInfo.HasUploadedImage); + + var employeeDetails = _employeeApplication.GetDetails(employeeId); + + string employeeName = string.Empty; + if (employeeDetails != null) + employeeName = employeeDetails.EmployeeFullName; + + string pic1 = ""; + string pic2 = ""; + if (hasPicture) + { + string path1 = $"{_webHostEnvironment.ContentRootPath}\\Faces\\{_workshopId}\\{employeeId}\\{1}.jpg"; + string path2 = $"{_webHostEnvironment.ContentRootPath}\\Faces\\{_workshopId}\\{employeeId}\\{2}.jpg"; + + if (System.IO.File.Exists(path1)) + { + byte[] fileContent1 = System.IO.File.ReadAllBytes(path1); + pic1 = Convert.ToBase64String(fileContent1); + } + + if (System.IO.File.Exists(path2)) + { + byte[] fileContent2 = System.IO.File.ReadAllBytes(path2); + pic2 = Convert.ToBase64String(fileContent2); + } + + //byte[] fileContent1 = System.IO.File.ReadAllBytes($"{_webHostEnvironment.ContentRootPath}\\Faces\\{workshopId}\\{employeeId}\\{1}.jpg"); + //pic1 = Convert.ToBase64String(fileContent1); + //byte[] fileContent2 = System.IO.File.ReadAllBytes($"{_webHostEnvironment.ContentRootPath}\\Faces\\{workshopId}\\{employeeId}\\{2}.jpg"); + //pic2 = Convert.ToBase64String(fileContent2); + } + + + var workshopGroupSettings = + _customizeWorkshopSettingsApplication.GetWorkshopIncludeGroupsByWorkshopId(_workshopId); + + var employeeSettings = + _customizeWorkshopSettingsApplication.GetByEmployeeIdAndWorkshopIdIncludeGroupSettings(_workshopId, + employeeId); + + var employeeClientTemp = _employeeClientTemp.GetDetails(employeeId, _workshopId); + if (employeeClientTemp != null) + { + employeeDetails.FName = employeeClientTemp.FName; + employeeDetails.LName = employeeClientTemp.LName; + + } + + var rollCallEmployee = _rollCallEmployeeApplication.GetByEmployeeIdAndWorkshopId(employeeId, _workshopId); + + + var res = new TakePictureModel() + { + HasPicture = hasPicture, + EmployeeId = employeeId, + WorkshopId = _workshopId, + Name = employeeName, + FirstNickName = rollCallEmployee?.EmployeeFName ?? employeeDetails.FName, + LastNickName = rollCallEmployee?.EmployeeLName ?? employeeDetails.LName, + Pic1 = pic1, + Pic2 = pic2, + GroupSettings = workshopGroupSettings, + EmployeeSettings = employeeSettings, + HasUploadedImage = rollCallEmployee?.HasUploadedImage == "true" + }; + + if (res.HasUploadedImage) + { + return Partial("ModalTakeImagesEdit", res); + } + else + { + return Partial("ModalTakeImages", res); + } + } + + public IActionResult OnPostTakePicture(string base64pic1, string base64pic2, long workshopId, long employeeId, EditCustomizeEmployeeSettings command) + { + + try + { + using var transactionScope = new TransactionScope(); + + var directoryPath = $"{_webHostEnvironment.ContentRootPath}\\Faces\\{workshopId}\\{employeeId}"; + if (!Directory.Exists(directoryPath)) + Directory.CreateDirectory(directoryPath); + + var filePath1 = Path.Combine(directoryPath) + $@"\1.jpg"; + CreateImageFromBase64(base64pic1, filePath1); + var filePath2 = Path.Combine(directoryPath) + $@"\2.jpg"; + CreateImageFromBase64(base64pic2, filePath2); + + var employee = _employeeApplication.GetDetailsForClient(employeeId, workshopId); + var rollCallEmployee = + _rollCallEmployeeApplication.GetByEmployeeIdAndWorkshopId(employeeId, workshopId); + + var result = new OperationResult() + { + IsSuccedded = false, + Message = "هنوز عملیاتی انجام نشده است" + }; + if (rollCallEmployee == null) + { + var createCommand = new CreateRollCallEmployee() + { + EmployeeId = employeeId, + WorkshopId = workshopId, + EmployeeFullName = employee.EmployeeFullName, + HasUploadedImage = "true", + }; + result = _rollCallEmployeeApplication.Create(createCommand); + var createRollCallEmployeeStatus = _rollCallEmployeeStatusApplication.Create(new CreateRollCallEmployeeStatus() + { + RollCallEmployeeId = result.SendId + }); + if (result.IsSuccedded == false) + { + return new JsonResult(new + { + isSuccedded = result.IsSuccedded, + message = result.Message, + }); + } + if (createRollCallEmployeeStatus.IsSuccedded == false) + { + return new JsonResult(new + { + isSuccedded = createRollCallEmployeeStatus.IsSuccedded, + message = createRollCallEmployeeStatus.Message, + }); + } + } + else + { + if ( rollCallEmployee.Statuses == null || rollCallEmployee.Statuses?.Any(x => x.StartDateGr <= DateTime.Now.Date && x.EndDateGr >= DateTime.Now.Date)== false) + { + var createRollCallEmployeeStatus = _rollCallEmployeeStatusApplication.Create(new CreateRollCallEmployeeStatus() + { + RollCallEmployeeId = rollCallEmployee.Id + }); + if (createRollCallEmployeeStatus.IsSuccedded ==false) + { + return new JsonResult(new + { + isSuccedded = createRollCallEmployeeStatus.IsSuccedded, + message = createRollCallEmployeeStatus.Message, + }); + } + } + + + result = _rollCallEmployeeApplication.UploadedImage(employeeId, workshopId); + if (result.IsSuccedded == false) + { + return new JsonResult(new + { + isSuccedded = result.IsSuccedded, + message = result.Message, + }); + } + } + + + + if (command.GroupId != 0) + { + command.EmployeeIds = [employeeId]; + command.WorkshopId = workshopId; + var employeeSettingsResult = _customizeWorkshopSettingsApplication.CreateEmployeesSettingsAndSetChanges(command); + if (employeeSettingsResult.IsSuccedded == false) + { + return new JsonResult(new + { + isSuccedded = employeeSettingsResult.IsSuccedded, + message = employeeSettingsResult.Message, + }); + } + } + + transactionScope.Complete(); + return new JsonResult(new + { + IsSuccedded = result.IsSuccedded, + Message = result.Message, + src = Tools.ResizeImage( + Path.Combine(_webHostEnvironment.ContentRootPath, "Faces", workshopId.ToString(), + employeeId.ToString(), "1.jpg"), 150, 150), + Id = result.SendId + }); + + + } + catch (Exception e) + { + Console.WriteLine(e); + return new JsonResult(new + { + IsSuccedded = false, + Message = e.Message, + }); + } + } + + public void CreateImageFromBase64(string base64, string imagePathWithExtension) + { + var subBase64 = base64.Substring(base64.LastIndexOf(',') + 1); + byte[] bytes = Convert.FromBase64String(subBase64); + System.IO.File.WriteAllBytes(imagePathWithExtension, bytes); + } + + public IActionResult OnPostActivePersonnel(long id) + { + var hasRollCallEmployee = _rollCallEmployeeApplication.GetDetails(id); + + if (hasRollCallEmployee == null) + { + return new JsonResult(new + { + isSuccedded = false, + message = + "برای این پرسنل، هنوز هیچ عکسی آپلود نشده است. بعد از آپلود عکس بطور خودکار فعال خواهد شد", + }); + } + else + { + if (hasRollCallEmployee.HasUploadedImage == "false") + return new JsonResult(new + { + isSuccedded = false, + message = + "برای این پرسنل، هنوز هیچ عکسی آپلود نشده است. بعد از آپلود عکس بطور خودکار فعال خواهد شد", + }); + else + { + var employeeSettings = + _customizeWorkshopSettingsApplication.GetByEmployeeIdAndWorkshopIdIncludeGroupSettings( + _workshopId, hasRollCallEmployee.EmployeeId); + if (employeeSettings.Id == 0) + { + return new JsonResult(new + { + isSuccedded = false, + HasEmployeeSetting = false, + message = "برای فعال سازی پرسنل می بایست حتما گروهبندی پرسنل را مشخص کنید" + + }); + } + + } + + var result = _rollCallEmployeeApplication.Active(hasRollCallEmployee.Id); + if (result.IsSuccedded) + { + return new JsonResult(new + { + isSuccedded = result.IsSuccedded, + message = result.Message, + }); + } + else + { + return new JsonResult(new + { + isSuccedded = result.IsSuccedded, + message = result.Message, + }); + } + } + + return new JsonResult(new + { + isSuccedded = false, + message = "خطایی رخ آمده است", + }); + } + + public IActionResult OnPostDeActivePersonnel(long id) + { + var result = _rollCallEmployeeApplication.DeActive(id); + if (result.IsSuccedded) + { + return new JsonResult(new + { + isSuccedded = result.IsSuccedded, + message = result.Message, + }); + } + + return new JsonResult(new + { + isSuccedded = result.IsSuccedded, + message = result.Message, + }); + } + + public IActionResult OnGetLoadFirstImage(long employeeId, long workshopId) + { + var directoryPath = $"{_webHostEnvironment.ContentRootPath}\\Faces\\{workshopId}\\{employeeId}"; + var imageDir = Path.Combine(directoryPath, "1.jpg"); + return PhysicalFile(imageDir, "image/jpeg"); + } + + public IActionResult OnGetLoadSecondImage(long employeeId, long workshopId) + { + var directoryPath = $"{_webHostEnvironment.ContentRootPath}\\Faces\\{workshopId}\\{employeeId}"; + var imageDir = Path.Combine(directoryPath, "2.jpg"); + return PhysicalFile(imageDir, "image/jpeg"); + } + + public IActionResult OnGetModalChangeName(long employeeId) + { + var command = _rollCallEmployeeApplication.GetByEmployeeIdAndWorkshopId(employeeId, _workshopId); + + return Partial("ModalChangeName", command); + } + + public IActionResult OnPostChangeName(long rollCallEmployeeId, string fName, string lName) + { + var result = _rollCallEmployeeApplication.ChangeEmployeeRollCallName(rollCallEmployeeId, fName, lName); + return new JsonResult(new + { + isSuccedded = result.IsSuccedded, + message = result.Message, + }); + } + + + public IActionResult OnPostCreateEmployeeSettingsAndChangeNameAndCreateRollCallEmployeeStatus(EditCustomizeEmployeeSettings command, string fName, string lName) + { + using var transactionScope = new TransactionScope(); + + if (command.GroupId != 0) + { + var employeeSettingsResult = _customizeWorkshopSettingsApplication.CreateEmployeeSettings(command); + if (employeeSettingsResult.IsSuccedded == false) + { + return new JsonResult(new + { + isSuccedded = employeeSettingsResult.IsSuccedded, + message = employeeSettingsResult.Message, + }); + } + } + var rollCallEmployee = + _rollCallEmployeeApplication.GetByEmployeeIdAndWorkshopId(command.EmployeeIds.First(), _workshopId); + + if (rollCallEmployee == null) + { + return new JsonResult(new + { + isSuccedded = false, + message = "لطفا بخش آپلود عکس خودرا تکمیل نمایید", + }); + } + + + + var createRollCallEmployeeStatus = _rollCallEmployeeStatusApplication.Create(new CreateRollCallEmployeeStatus() + { + RollCallEmployeeId = rollCallEmployee.Id + }); + + if (createRollCallEmployeeStatus.IsSuccedded == false) + { + return new JsonResult(new + { + isSuccedded = createRollCallEmployeeStatus.IsSuccedded, + message = createRollCallEmployeeStatus.Message, + }); + } + + var changeNameResult = _rollCallEmployeeApplication.ChangeEmployeeRollCallName(rollCallEmployee.Id, fName, lName); + if (changeNameResult.IsSuccedded == false) + { + return new JsonResult(new + { + isSuccedded = changeNameResult.IsSuccedded, + message = changeNameResult.Message, + }); + } + + transactionScope.Complete(); + + return new JsonResult(new + { + isSuccedded = true, + message = createRollCallEmployeeStatus.Message, + }); + } + + + public IActionResult OnPostCreateEmployeeSettingsAndChangeNameAndCreateRollCallEmployeeStatusModalStatus(long employeeId) + { + var employeeWorkshopInfo = + _rollCallEmployeeApplication.GetByEmployeeIdAndWorkshopId(employeeId, _workshopId); + + bool hasPicture = false; + if (employeeWorkshopInfo != null && !string.IsNullOrEmpty(employeeWorkshopInfo.HasUploadedImage)) + hasPicture = bool.Parse(employeeWorkshopInfo.HasUploadedImage); + + var employeeDetails = _employeeApplication.GetDetails(employeeId); + + string employeeName = string.Empty; + if (employeeDetails != null) + employeeName = employeeDetails.EmployeeFullName; + + + var workshopGroupSettings = + _customizeWorkshopSettingsApplication.GetWorkshopIncludeGroupsByWorkshopId(_workshopId); + + var employeeSettings = + _customizeWorkshopSettingsApplication.GetByEmployeeIdAndWorkshopIdIncludeGroupSettings(_workshopId, + employeeId); + + var rollCallEmployee = _rollCallEmployeeApplication.GetByEmployeeIdAndWorkshopId(employeeId, _workshopId); + + + var res = new TakePictureModel() + { + EmployeeId = employeeId, + WorkshopId = _workshopId, + Name = employeeName, + FirstNickName = rollCallEmployee?.EmployeeFName ?? employeeDetails.FName, + LastNickName = rollCallEmployee?.EmployeeLName ?? employeeDetails.LName, + + GroupSettings = workshopGroupSettings, + EmployeeSettings = employeeSettings, + HasUploadedImage = rollCallEmployee?.HasUploadedImage == "true" + }; + + + return Partial("ModalTakeImages", res); + } + + + public IActionResult OnPostCreateEmployeeSettingsAndChangeNameAndCreateRollCallEmployeeStatusModalStatusSave(EditCustomizeEmployeeSettings command, string fName, string lName) + { + using var transactionScope = new TransactionScope(); + + if (command.GroupId != 0) + { + var employeeSettingsResult = _customizeWorkshopSettingsApplication.CreateEmployeeSettings(command); + if (employeeSettingsResult.IsSuccedded == false) + { + return new JsonResult(new + { + isSuccedded = employeeSettingsResult.IsSuccedded, + message = employeeSettingsResult.Message, + }); + } + } + var rollCallEmployee = + _rollCallEmployeeApplication.GetByEmployeeIdAndWorkshopId(command.EmployeeIds.First(), _workshopId); + + if (rollCallEmployee == null) + { + return new JsonResult(new + { + isSuccedded = false, + message = "لطفا بخش آپلود عکس خودرا تکمیل نمایید", + }); + } + + + + var createRollCallEmployeeStatus = _rollCallEmployeeStatusApplication.Create(new CreateRollCallEmployeeStatus() + { + RollCallEmployeeId = rollCallEmployee.Id + }); + + if (createRollCallEmployeeStatus.IsSuccedded == false) + { + return new JsonResult(new + { + isSuccedded = createRollCallEmployeeStatus.IsSuccedded, + message = createRollCallEmployeeStatus.Message, + }); + } + + var changeNameResult = _rollCallEmployeeApplication.ChangeEmployeeRollCallName(rollCallEmployee.Id, fName, lName); + if (changeNameResult.IsSuccedded == false) + { + return new JsonResult(new + { + isSuccedded = changeNameResult.IsSuccedded, + message = changeNameResult.Message, + }); + } + + transactionScope.Complete(); + + return new JsonResult(new + { + isSuccedded = true, + message = createRollCallEmployeeStatus.Message, + }); + } + + public IActionResult OnGetCreateEmployee() + { + var command = new CreateEmployeeByClient(); + command.PersonnelCode = (_personnelCodeApplication.GetLastPersonnelCodeByWorkshop(_workshopId) + 1).ToString(); + return Partial("../Employees/CreateEmployeeModal", command); + } + + public IActionResult OnPostSaveSubmit(SubmitEmployeeDocuments cmd) + { + var result = _employeeDocumentsApplication.SubmitDocumentItemsByClient(cmd); + + return new JsonResult(new + { + isSuccedded = result.IsSuccedded, + message = result.Message, + }); + } + + public IActionResult OnPostCreateEmployee(CreateEmployeeByClient command) + { + command.WorkshopId = _workshopId; + var result = _employeeApplication.CreateEmployeeByClient(command); + return new JsonResult(new + { + success = result.IsSuccedded, + message = result.Message, + }); + } + + public async Task OnGetEmployeeDetailsWithNationalCode(string nationalCode,string birthDate) + { + var result = await _employeeApplication.ValidateCreateEmployeeClientByNationalCodeAndWorkshopId(nationalCode, birthDate, _workshopId); + return new JsonResult(result); + } + + public IActionResult OnGetJobSearch(string jobName) + { + var jobViewModels = _jobApplication.GetJobListByText(jobName); + + return new JsonResult(jobViewModels); + } + } } diff --git a/ServiceHost/Areas/Client/Pages/Company/Workshop/Employees.cshtml b/ServiceHost/Areas/Client/Pages/Company/Workshop/Employees.cshtml deleted file mode 100644 index ec6172d9..00000000 --- a/ServiceHost/Areas/Client/Pages/Company/Workshop/Employees.cshtml +++ /dev/null @@ -1,483 +0,0 @@ -@page -@using Version = _0_Framework.Application.Version -@model ServiceHost.Areas.Client.Pages.Company.Workshop.EmployeesModel -@{ - Layout = "Shared/_ClientLayout"; - ViewData["title"] = " - لیست کل پرسنل"; - int index = 1; -} - -@section Styles { - - - - - -} - -
-
-
-
-
- -
-

عملیات مربوط به پرسنل

-
@Model.WorkshopFullName
-
-
- -
-
-
- -
- -
-
- - -
-
-
- -
- - -
-
- -
-
- - -
- @if (@Model.HasEmployees) - { -
- -
- -
-
-
-
-

لیست پرسنل

-
-
- - -
-
-
-
- -
- -
-
ردیف
-
نام پرسنل
-
شماره پرسنلی
-
وضعیت تاهل
-
شماره ملی
-
شماره شناسنامه
-
تاریخ تولد
-
نام پدر
-
تعداد فرزند
-
آخرین تاریخ شروع بکار قرارداد
-
تاریخ ترک کار قرارداد
-
آخرین تاریخ شروع بکار بیمه
-
تاریخ ترک کار بیمه
-
دارای قرارداد
-
دارای بیمه
-
-
- - @foreach (var item in @Model.Employees.PersonnelInfoViewModels) - { -
-
-
- - @index -
@item.EmployeeId
-
-
- @{ - index++; - } -
-
-
@item.FullName
-
-
-
@item.PersonnelCode
-
-
-
- @if (string.IsNullOrWhiteSpace(@item.MaritalStatus)) - { -
-
- } - else - { - @item.MaritalStatus - } -
-
-
-
@item.NationalCode
-
-
-
@item.IdNumber
-
-
-
@item.DateOfBirthFa
-
-
-
@item.FatherName
-
-
-
@item.ChildrenList.Count()
-
-
-
- @if (string.IsNullOrWhiteSpace(@item.LastStartContractWork)) - { -
-
- } - else - { - @item.LastStartContractWork - } -
-
-
-
- @if (string.IsNullOrWhiteSpace(@item.LastLeftContractWork)) - { -
-
- } - else - { - @item.LastLeftContractWork - } -
-
-
-
- @if (string.IsNullOrWhiteSpace(@item.LastStartInsuranceWork)) - { -
-
- } - else - { - @item.LastStartInsuranceWork - } -
-
-
-
- @if (string.IsNullOrWhiteSpace(@item.LastLeftInsuranceWork)) - { -
-
- } - else - { - @item.LastLeftInsuranceWork - } -
-
-
-
- @if (@item.ContractPerson) - { - - - - - - } - else - { - - - - - - } -
-
-
-
- @if (@item.InsurancePerson) - { - - - - - - } - else - { - - - - - - } -
-
- -
-
- -
-
-
- - - - } -
-
-
- } - else - { -
-
- -
اطلاعاتی وجود ندارد.
-
-
- } -
-
-
- - - - - - - - - - - - - - -@section Script { - - -} \ No newline at end of file diff --git a/ServiceHost/Areas/Client/Pages/Company/Workshop/Employees.cshtml.cs b/ServiceHost/Areas/Client/Pages/Company/Workshop/Employees.cshtml.cs deleted file mode 100644 index 12cb2940..00000000 --- a/ServiceHost/Areas/Client/Pages/Company/Workshop/Employees.cshtml.cs +++ /dev/null @@ -1,75 +0,0 @@ -using _0_Framework.Application; -using CompanyManagment.App.Contracts.Employee; -using CompanyManagment.App.Contracts.Workshop; -using Microsoft.AspNetCore.Mvc; -using Microsoft.AspNetCore.Mvc.RazorPages; -using System.Security.Claims; -using Microsoft.AspNetCore.Authorization; - -namespace ServiceHost.Areas.Client.Pages.Company.Workshop -{ - [Authorize] - public class EmployeesModel : PageModel - { - private readonly IPasswordHasher _passwordHasher; - private readonly IWorkshopApplication _workshopApplication; - private readonly IEmployeeApplication _employeeApplication; - - public PersonnelInfoViewModel Employees; - public bool HasEmployees; - public long WorkshopId; - public string WorkshopFullName; - public EmployeeSearchModel SearchModel; - - public EmployeesModel(IPasswordHasher passwordHasher, IWorkshopApplication workshopApplication, IEmployeeApplication employeeApplication) - { - _passwordHasher = passwordHasher; - _workshopApplication = workshopApplication; - _employeeApplication = employeeApplication; - } - - public void OnGet(EmployeeSearchModel searchModel) - { - var workshopSlugCliam = User.FindFirstValue("WorkshopSlug"); - var id = _passwordHasher.SlugDecrypt(workshopSlugCliam); - if (id > 0) - { - var workshop = _workshopApplication.GetWorkshopInfo(id); - WorkshopFullName = workshop.WorkshopFullName; - WorkshopId = workshop.Id; - - var personnelSearchModel = new PersonnelInfoSearchModel() - { - WorkshopId = id, - }; - - var result = _workshopApplication.GetPersonnelInfo(personnelSearchModel); - - var r = result.GroupBy(x => x.EmployeeId).Select(x => x.First()).ToList(); - - if (!string.IsNullOrWhiteSpace(searchModel.EmployeeFullName)) - r = r.Where(x => x.FullName.Contains(searchModel.EmployeeFullName)).ToList(); - - if (!string.IsNullOrWhiteSpace(searchModel.NationalCode)) - r = r.Where(x => x.NationalCode.Contains(searchModel.NationalCode)).ToList(); - - Employees = new PersonnelInfoViewModel() - { - PersonnelInfoViewModels = r.OrderBy(x => x.Black ? 1 : 0).ThenBy(x => x.PersonnelCode).ToList(), - }; - - HasEmployees = Employees.PersonnelInfoViewModels.Count > 0 ? true : false; - } - else - { - NotFound(); - } - } - - public IActionResult OnGetPrintOnePersonnelInfo(long employeeId) - { - var result = _employeeApplication.GetDetails(employeeId); - return Partial("PrintOnePersonnelInfo", result); - } - } -} diff --git a/ServiceHost/Areas/Client/Pages/Company/Workshop/Index.cshtml b/ServiceHost/Areas/Client/Pages/Company/Workshop/Index.cshtml index c853b78e..5f6c750a 100644 --- a/ServiceHost/Areas/Client/Pages/Company/Workshop/Index.cshtml +++ b/ServiceHost/Areas/Client/Pages/Company/Workshop/Index.cshtml @@ -238,20 +238,6 @@ - - diff --git a/ServiceHost/Areas/Client/Pages/Index.cshtml b/ServiceHost/Areas/Client/Pages/Index.cshtml index 57d44754..1dab6845 100644 --- a/ServiceHost/Areas/Client/Pages/Index.cshtml +++ b/ServiceHost/Areas/Client/Pages/Index.cshtml @@ -1,9 +1,12 @@ @page @using _0_Framework.Application -@using Version = _0_Framework.Application.Version @model ServiceHost.Areas.Client.Pages.IndexModel @{ -