From c0a87834a524b528936ff88ffdc061f7261bfe01 Mon Sep 17 00:00:00 2001 From: samsys Date: Fri, 19 Jul 2024 17:09:45 +0330 Subject: [PATCH] area cleanUp --- .../Accounts/Account/ChangePassword.cshtml | 75 +- .../Pages/Accounts/Account/Create.cshtml | 147 +- .../Pages/Accounts/Account/CreateRole.cshtml | 1501 +- .../Admin/Pages/Accounts/Account/Edit.cshtml | 117 +- .../Pages/Accounts/Account/EditRole.cshtml | 1576 +- .../Admin/Pages/Accounts/Account/Index.cshtml | 1202 +- .../Pages/Accounts/Account/Index.cshtml.cs | 415 +- .../Admin/Pages/Company/Bill/Create.cshtml | 164 +- .../Pages/Company/Bill/CreateBill.cshtml | 163 +- .../Pages/Company/Bill/CreateBill.cshtml.cs | 275 +- .../Admin/Pages/Company/Bill/Edit.cshtml | 168 +- .../Admin/Pages/Company/Bill/Edit.cshtml.cs | 272 +- .../Admin/Pages/Company/Bill/Index.cshtml | 557 +- .../Admin/Pages/Company/Bill/Index.cshtml.cs | 330 +- .../Admin/Pages/Company/Bill/Search.cshtml | 305 +- .../Admin/Pages/Company/Chapter/Create.cshtml | 146 +- .../Admin/Pages/Company/Chapter/Edit.cshtml | 177 +- .../Admin/Pages/Company/Chapter/Index.cshtml | 582 +- .../Pages/Company/Chapter/Index.cshtml.cs | 221 +- .../Company/Checkouts/CheckoutPrintAll.cshtml | 4477 +++-- .../Checkouts/CheckoutPrintAll.cshtml.cs | 407 +- .../Pages/Company/Checkouts/Create.cshtml | 1931 +- .../Pages/Company/Checkouts/CustomSet.cshtml | 154 +- .../Pages/Company/Checkouts/Details.cshtml | 5149 +++--- .../Pages/Company/Checkouts/Index.cshtml | 2275 ++- .../Pages/Company/Checkouts/Index.cshtml.cs | 14063 ++++++++------- .../Pages/Company/Checkouts/MainSearch.cshtml | 1290 +- .../Pages/Company/Checkouts/PrintAll.cshtml | 4375 +++-- .../Pages/Company/Checkouts/PrintLeave.cshtml | 279 +- .../Pages/Company/Checkouts/alert.cshtml | 338 +- .../Company/ClassifiedSalary/Create.cshtml | 1207 +- .../Company/ClassifiedSalary/Edit.cshtml | 1114 +- .../Company/ClassifiedSalary/Index.cshtml | 239 +- .../Company/ClassifiedSalary/Index.cshtml.cs | 208 +- .../Company/ConnectedPersonnels/Index.cshtml | 859 +- .../ConnectedPersonnels/Index.cshtml.cs | 308 +- .../ConnectedPersonnels/TakePicture.cshtml | 289 +- .../Pages/Company/Contact2/Create.cshtml | 75 +- .../Admin/Pages/Company/Contact2/Edit.cshtml | 73 +- .../Admin/Pages/Company/Contact2/Index.cshtml | 496 +- .../Pages/Company/Contact2/Index.cshtml.cs | 242 +- .../Company/ContractingParties/Create.cshtml | 622 +- .../Company/ContractingParties/Details.cshtml | 114 +- .../Company/ContractingParties/Edit.cshtml | 636 +- .../Company/ContractingParties/Index.cshtml | 3112 ++-- .../ContractingParties/Index.cshtml.cs | 453 +- .../ContractingParties/InsertLegal.cshtml | 574 +- .../ContractingParties/LegalDetails.cshtml | 119 +- .../ContractingParties/LegalEdit.cshtml | 622 +- .../Company/Contracts/ContractPrintAll.cshtml | 808 +- .../Contracts/ContractPrintAll.cshtml.cs | 437 +- .../Pages/Company/Contracts/Create.cshtml | 2265 ++- .../Pages/Company/Contracts/Details.cshtml | 592 +- .../Admin/Pages/Company/Contracts/Edit.cshtml | 2265 ++- .../Company/Contracts/EditLeftWork.cshtml | 219 +- .../Company/Contracts/EditPaidLeave.cshtml | 958 +- .../Pages/Company/Contracts/EditSick.cshtml | 746 +- .../Contracts/EnterLeftWorkDate.cshtml | 222 +- .../Pages/Company/Contracts/Extension.cshtml | 3031 ++-- .../Pages/Company/Contracts/Index.cshtml | 3620 ++-- .../Pages/Company/Contracts/Index.cshtml.cs | 1867 +- .../Pages/Company/Contracts/LeftWork.cshtml | 539 +- .../Pages/Company/Contracts/PaidLeave.cshtml | 1335 +- .../Pages/Company/Contracts/PrintAll.cshtml | 675 +- .../Company/Contracts/PrintAllTest.cshtml | 567 +- .../Pages/Company/Contracts/SickLeave.cshtml | 980 +- .../Pages/Company/Contracts/alert.cshtml | 400 +- .../Pages/Company/CrossJobGuild/Create.cshtml | 697 +- .../Company/CrossJobGuild/Details.cshtml | 236 +- .../Pages/Company/CrossJobGuild/Edit.cshtml | 681 +- .../Pages/Company/CrossJobGuild/Index.cshtml | 394 +- .../Company/CrossJobGuild/Index.cshtml.cs | 856 +- .../Pages/Company/Employees/ChangeCode.cshtml | 670 +- .../Employees/CopyPersonnelCode.cshtml | 145 +- .../Pages/Company/Employees/Create.cshtml | 1678 +- .../Pages/Company/Employees/Details.cshtml | 359 +- .../Admin/Pages/Company/Employees/Edit.cshtml | 1784 +- .../Pages/Company/Employees/Index.cshtml | 1983 ++- .../Pages/Company/Employees/Index.cshtml.cs | 3192 ++-- .../Company/Employees/InsuranceRecords.cshtml | 895 +- .../Pages/Company/Employees/LeftWork.cshtml | 5577 +++--- .../Employees/LeftWorkInsurance.cshtml | 6126 ++++--- .../Company/Employees/LeftworkAlarm.cshtml | 28 +- .../Pages/Company/Employees/alert.cshtml | 252 +- .../Pages/Company/Employers/Create.cshtml | 1101 +- .../Pages/Company/Employers/Details.cshtml | 280 +- .../Admin/Pages/Company/Employers/Edit.cshtml | 831 +- .../Pages/Company/Employers/Index.cshtml | 2514 ++- .../Pages/Company/Employers/Index.cshtml.cs | 467 +- .../Company/Employers/InsertLegal.cshtml | 918 +- .../Company/Employers/LegalDetails.cshtml | 323 +- .../Pages/Company/Employers/LegalEdit.cshtml | 926 +- .../Company/FaceRecognition/Index.cshtml | 636 +- .../Company/FaceRecognition/Index.cshtml.cs | 171 +- .../age_gender_model-weights_manifest.json | 200 +- ...ace_expression_model-weights_manifest.json | 200 +- ...ce_landmark_68_model-weights_manifest.json | 302 +- ...ndmark_68_tiny_model-weights_manifest.json | 176 +- ...ce_recognition_model-weights_manifest.json | 662 +- .../weights/mtcnn_model-weights_manifest.json | 58 +- ...sd_mobilenetv1_model-weights_manifest.json | 908 +- ..._face_detector_model-weights_manifest.json | 122 +- .../Pages/Company/FileEmployee/Create.cshtml | 650 +- .../Pages/Company/FileEmployee/Details.cshtml | 182 +- .../Pages/Company/FileEmployee/Edit.cshtml | 571 +- .../Pages/Company/FileEmployee/Index.cshtml | 403 +- .../Company/FileEmployee/Index.cshtml.cs | 179 +- .../Company/FileEmployer/CreateLegal.cshtml | 639 +- .../Company/FileEmployer/CreateReal.cshtml | 648 +- .../Company/FileEmployer/EditLegal.cshtml | 640 +- .../Company/FileEmployer/EditReal.cshtml | 571 +- .../Pages/Company/FileEmployer/Index.cshtml | 453 +- .../Company/FileEmployer/Index.cshtml.cs | 245 +- .../Company/FileEmployer/LegalDetails.cshtml | 182 +- .../Company/FileEmployer/RealDetails.cshtml | 182 +- .../Pages/Company/FilePage/Alerts.cshtml | 619 +- .../Pages/Company/FilePage/Alerts.cshtml.cs | 133 +- .../Pages/Company/FilePage/CreateFile.cshtml | 525 +- .../FilePage/CreateOrEditEvidence.cshtml | 559 +- .../FilePage/CreateOrEditFileTiming.cshtml | 100 +- .../FilePage/CreateOrEditFileTitle.cshtml | 269 +- .../CreateOrEditMasterPetition.cshtml | 894 +- .../FilePage/CreateOrEditPetition.cshtml | 889 +- .../Admin/Pages/Company/FilePage/Edit.cshtml | 1322 +- .../Pages/Company/FilePage/FileSummary.cshtml | 672 +- .../Admin/Pages/Company/FilePage/Index.cshtml | 1837 +- .../Pages/Company/FilePage/Index.cshtml.cs | 1273 +- .../Pages/Company/FilePage/Sessions.cshtml | 657 +- .../Pages/Company/FilePage/Sessions.cshtml.cs | 125 +- .../Pages/Company/Holidays/Create.cshtml | 309 +- .../Admin/Pages/Company/Holidays/Edit.cshtml | 436 +- .../Admin/Pages/Company/Holidays/Index.cshtml | 342 +- .../Pages/Company/Holidays/Index.cshtml.cs | 1224 +- .../Admin/Pages/Company/Holidays/alert.cshtml | 27 +- .../InstitutionContracts/Create.cshtml | 1727 +- .../Company/InstitutionContracts/Edit.cshtml | 1811 +- .../EditTransaction.cshtml | 488 +- .../InstitutionContracts/Extension.cshtml | 1836 +- .../FinancialStatments.cshtml | 1368 +- .../FinancialStatments.cshtml.cs | 1419 +- .../Company/InstitutionContracts/Index.cshtml | 2086 +-- .../InstitutionContracts/Index.cshtml.cs | 1680 +- .../Company/InstitutionContracts/Print.cshtml | 60 +- .../InstitutionContracts/PrintContract.cshtml | 692 +- .../PrintContract.cshtml.cs | 208 +- .../TransactionMailList.cshtml | 444 +- .../Pages/Company/Insurance/Create.cshtml | 772 +- .../Pages/Company/Insurance/Index.cshtml | 292 +- .../Pages/Company/Insurance/Index.cshtml.cs | 315 +- .../Pages/Company/Insurance/Summary.cshtml | 185 +- .../Pages/Company/InsuranceJob/Create.cshtml | 826 +- .../InsuranceJob/CreateInformation.cshtml | 360 +- .../Pages/Company/InsuranceJob/Details.cshtml | 2 +- .../Pages/Company/InsuranceJob/Edit.cshtml | 949 +- .../Pages/Company/InsuranceJob/Index.cshtml | 356 +- .../Company/InsuranceJob/Index.cshtml.cs | 293 +- .../Company/InsuranceJobItem/Create.cshtml | 362 +- .../Company/InsuranceJobItem/Edit.cshtml | 393 +- .../Company/InsuranceJobItem/Index.cshtml | 327 +- .../Company/InsuranceJobItem/Index.cshtml.cs | 171 +- .../InsuranceList/AnnualConfirm.cshtml | 389 +- .../Pages/Company/InsuranceList/Create.cshtml | 2532 +-- .../Pages/Company/InsuranceList/Edit.cshtml | 2388 ++- .../Company/InsuranceList/Edit_Old.cshtml | 2088 +-- .../InsuranceList/EmployeeDatatable.cshtml | 359 +- .../InsuranceList/EmployeeListForEdit.cshtml | 347 +- .../Pages/Company/InsuranceList/Index.cshtml | 1013 +- .../Company/InsuranceList/Index.cshtml.cs | 2309 ++- .../InsuranceList/InspectionReport.cshtml | 251 +- .../InsuranceList/InsuranceConfirm.cshtml | 991 +- .../InsuranceList/InsuranceConfirmMINE.cshtml | 291 +- .../InsuranceList/InsuranceSummary.cshtml | 336 +- .../Company/InsuranceList/MainSearch.cshtml | 450 +- .../Company/InsuranceList/PrintTest.cshtml | 337 +- .../Company/InsuranceList/PrintTest.cshtml.cs | 35 +- .../InsuranceYearlySalary/Create.cshtml | 1385 +- .../Company/InsuranceYearlySalary/Edit.cshtml | 1348 +- .../InsuranceYearlySalary/Index.cshtml | 266 +- .../InsuranceYearlySalary/Index.cshtml.cs | 241 +- .../Admin/Pages/Company/Jobs/Create.cshtml | 95 +- .../Admin/Pages/Company/Jobs/Edit.cshtml | 99 +- .../Admin/Pages/Company/Jobs/Index.cshtml | 282 +- .../Admin/Pages/Company/Jobs/Index.cshtml.cs | 130 +- .../Company/MandatoryHours/Create.cshtml | 441 +- .../Pages/Company/MandatoryHours/Edit.cshtml | 442 +- .../Pages/Company/MandatoryHours/Index.cshtml | 754 +- .../Company/MandatoryHours/Index.cshtml.cs | 126 +- .../Company/MandatoryHours/PrintAll.cshtml | 639 +- .../Admin/Pages/Company/Module/Create.cshtml | 90 +- .../Admin/Pages/Company/Module/Edit.cshtml | 60 +- .../Admin/Pages/Company/Module/Index.cshtml | 505 +- .../Pages/Company/Module/Index.cshtml.cs | 182 +- .../Pages/Company/OriginalTitle/Create.cshtml | 63 +- .../Pages/Company/OriginalTitle/Edit.cshtml | 60 +- .../Pages/Company/OriginalTitle/Index.cshtml | 515 +- .../Company/OriginalTitle/Index.cshtml.cs | 171 +- .../Pages/Company/PersonnelInfo/Index.cshtml | 365 +- .../Company/PersonnelInfo/Index.cshtml.cs | 129 +- .../Company/PersonnelInfo/PrintAll.cshtml | 377 +- .../Admin/Pages/Company/Reports/Index.cshtml | 2543 ++- .../Pages/Company/Reports/Index.cshtml.cs | 481 +- .../Pages/Company/Reports/PrintAll.cshtml | 238 +- .../Company/Reports/PrintAllEmployee.cshtml | 232 +- .../Company/Representative/CreateLegal.cshtml | 137 +- .../Company/Representative/CreateReal.cshtml | 161 +- .../Company/Representative/EditLegal.cshtml | 130 +- .../Company/Representative/EditReal.cshtml | 147 +- .../Pages/Company/Representative/Index.cshtml | 1555 +- .../Company/Representative/Index.cshtml.cs | 270 +- .../Representative/LegalDetails.cshtml | 97 +- .../Company/Representative/RealDetails.cshtml | 101 +- .../Pages/Company/SmsResult/ApiResults.cshtml | 194 +- .../Company/SmsResult/ApiResults.cshtml.cs | 54 +- .../Company/SmsResult/AppendRecords.cshtml | 71 +- .../Pages/Company/SmsResult/Details.cshtml | 66 +- .../Pages/Company/SmsResult/Index.cshtml | 544 +- .../Pages/Company/SmsResult/Index.cshtml.cs | 143 +- .../Pages/Company/Subtitle/Create.cshtml | 77 +- .../Admin/Pages/Company/Subtitle/Edit.cshtml | 74 +- .../Admin/Pages/Company/Subtitle/Index.cshtml | 527 +- .../Pages/Company/Subtitle/Index.cshtml.cs | 207 +- .../Pages/Company/Workshops/Alert.cshtml | 122 +- .../Company/Workshops/AutoExtension.cshtml | 2751 ++- .../Company/Workshops/AutoExtension.cshtml.cs | 13389 +++++++------- .../Workshops/ConnectedPersonnels.cshtml | 158 +- .../Workshops/ConnectedPersonnelsOld.cshtml | 92 +- .../ContractAndCheckoutStatusYearly.cshtml | 855 +- .../Company/Workshops/ContractStatus.cshtml | 522 +- .../Pages/Company/Workshops/Create.cshtml | 697 +- .../Pages/Company/Workshops/Create4.cshtml | 1468 +- .../Pages/Company/Workshops/Create5.cshtml | 3211 ++-- .../Company/Workshops/CreateWorkshop.cshtml | 3990 ++--- .../Workshops/CreateWorkshop.cshtml.cs | 344 +- .../Pages/Company/Workshops/CreateZone.cshtml | 3 +- .../Pages/Company/Workshops/Details.cshtml | 283 +- .../Admin/Pages/Company/Workshops/Edit.cshtml | 788 +- .../Pages/Company/Workshops/Edit4.cshtml | 1566 +- .../Pages/Company/Workshops/Edit5.cshtml | 3659 ++-- .../Company/Workshops/EditWorkshop.cshtml | 4241 +++-- .../Company/Workshops/EditWorkshop.cshtml.cs | 311 +- .../Pages/Company/Workshops/Index.cshtml | 2334 ++- .../Pages/Company/Workshops/Index.cshtml.cs | 1603 +- .../Pages/Company/Workshops/clock.cshtml | 14653 ++++++++-------- .../Company/YearlySalaries/Create.cshtml | 370 +- .../Company/YearlySalaries/Details.cshtml | 359 +- .../Pages/Company/YearlySalaries/Edit.cshtml | 165 +- .../Pages/Company/YearlySalaries/Index.cshtml | 406 +- .../Company/YearlySalaries/Index.cshtml.cs | 297 +- .../Company/YearlySalaryTitles/Create.cshtml | 215 +- .../Company/YearlySalaryTitles/Details.cshtml | 359 +- .../Company/YearlySalaryTitles/Edit.cshtml | 296 +- .../Company/YearlySalaryTitles/Index.cshtml | 209 +- .../YearlySalaryTitles/Index.cshtml.cs | 149 +- .../age_gender_model-weights_manifest.json | 200 +- ...ace_expression_model-weights_manifest.json | 200 +- ...ce_landmark_68_model-weights_manifest.json | 302 +- ...ndmark_68_tiny_model-weights_manifest.json | 176 +- ...ce_recognition_model-weights_manifest.json | 662 +- .../models/mtcnn_model-weights_manifest.json | 58 +- ...sd_mobilenetv1_model-weights_manifest.json | 908 +- ..._face_detector_model-weights_manifest.json | 122 +- ServiceHost/Areas/Admin/Pages/Index.cshtml | 146 +- ServiceHost/Areas/Admin/Pages/Index.cshtml.cs | 305 +- .../Admin/Pages/Shared/_AdminLayout.cshtml | 635 +- .../Pages/Shared/_AdminLayoutCopy.cshtml | 160 +- .../Areas/Admin/Pages/Shared/_Menu.cshtml | 405 +- .../Shared/_ValidationScriptsPartial.cshtml | 2 +- .../Pages/Shared/_financialLayout.cshtml | 42 +- .../Areas/Admin/Pages/_ViewStart.cshtml | 4 +- .../AdminNew/Pages/Company/Task/Create.cshtml | 374 +- .../Pages/Company/Task/Create.cshtml.cs | 492 +- .../Pages/Company/Task/Group.cshtml.cs | 238 +- .../Pages/Company/Task/Index.cshtml.cs | 1175 +- .../Pages/Company/Task/OperationModal.cshtml | 40 +- ServiceHost/Areas/AdminNew/Pages/Index.cshtml | 210 +- .../Areas/AdminNew/Pages/Index.cshtml.cs | 81 +- .../AdminNew/Pages/Shared/_Header.cshtml | 285 +- .../AdminNew/Pages/Shared/_Layout.cshtml | 336 +- .../Areas/AdminNew/Pages/Shared/_Menu.cshtml | 482 +- .../Shared/_ValidationScriptsPartial.cshtml | 2 +- .../Pages/Shared/_validationAlert.cshtml | 72 +- .../Areas/AdminNew/Pages/_ViewStart.cshtml | 4 +- ServiceHost/Areas/Camera/Pages/Index.cshtml | 682 +- .../Areas/Camera/Pages/Index.cshtml.cs | 228 +- .../Camera/Pages/Shared/_CameraLayout.cshtml | 44 +- .../Shared/_ValidationScriptsPartial.cshtml | 2 +- .../Areas/Camera/Pages/_ViewImports.cshtml | 2 +- .../Areas/Camera/Pages/_ViewStart.cshtml | 4 +- .../Company/Checkouts/CheckoutPrintAll.cshtml | 4563 +++-- .../Checkouts/CheckoutPrintAll.cshtml.cs | 411 +- .../Pages/Company/Checkouts/CustomSet.cshtml | 130 +- .../Pages/Company/Checkouts/Index.cshtml | 3285 ++-- .../Pages/Company/Checkouts/Index.cshtml.cs | 317 +- .../Pages/Company/Checkouts/PrintAll.cshtml | 4394 +++-- .../Pages/Company/Checkouts/PrintOne.cshtml | 5275 +++--- .../Company/Checkouts/PrintOneMobile.cshtml | 5276 +++--- .../Pages/Company/Checkouts/alert.cshtml | 341 +- .../Company/Contracts/AutoExtension.cshtml | 1264 +- .../Company/Contracts/AutoExtension.cshtml.cs | 9195 +++++----- .../Company/Contracts/ContractList.cshtml | 1009 +- .../Company/Contracts/ContractPrintAll.cshtml | 870 +- .../Contracts/ContractPrintAll.cshtml.cs | 441 +- .../Company/Contracts/ContractStatus.cshtml | 522 +- .../Pages/Company/Contracts/Edit.cshtml | 2265 ++- .../Pages/Company/Contracts/Index.cshtml | 3284 ++-- .../Pages/Company/Contracts/Index.cshtml.cs | 480 +- .../Pages/Company/Contracts/PrintAll.cshtml | 603 +- .../Pages/Company/Contracts/PrintOne.cshtml | 672 +- .../Company/Contracts/PrintOneMobile.cshtml | 652 +- .../Company/Contracts/WorkshopList.cshtml | 235 +- .../Company/Contracts/WorkshopList.cshtml.cs | 45 +- .../Pages/Company/Contracts/clock.cshtml | 14431 ++++++++------- .../Pages/Company/Employees/ChangeCode.cshtml | 627 +- .../Employees/ContractCheckoutStatus.cshtml | 727 +- .../ContractCheckoutStatusPrint.cshtml | 759 +- .../Pages/Company/Employees/Create.cshtml | 2265 +-- .../Company/Employees/CreateLeave.cshtml | 1137 +- .../Pages/Company/Employees/Details.cshtml | 229 +- .../Pages/Company/Employees/Edit.cshtml | 1965 ++- .../Pages/Company/Employees/EditLeave.cshtml | 1167 +- .../Company/Employees/EditPaidLeave.cshtml | 341 +- .../Pages/Company/Employees/EditSick.cshtml | 674 +- .../Company/Employees/EmployeeList.cshtml | 491 +- .../Company/Employees/EmployeePayment.cshtml | 1254 +- .../Employees/EmployeePayment.cshtml.cs | 129 +- .../Pages/Company/Employees/Index.cshtml | 180 +- .../Pages/Company/Employees/Index.cshtml.cs | 852 +- .../Pages/Company/Employees/Leave.cshtml | 4423 ++--- .../Pages/Company/Employees/Leave.cshtml.cs | 692 +- .../Company/Employees/LeaveCreateModal.cshtml | 1283 +- .../Company/Employees/LeavePrintAll.cshtml | 430 +- .../Company/Employees/LeavePrintAll.cshtml.cs | 421 +- .../Pages/Company/Employees/LeftWork.cshtml | 3258 ++-- .../Employees/LeftWorkInsurance.cshtml | 2849 +-- .../Pages/Company/Employees/PaidLeave.cshtml | 776 +- .../Company/Employees/PaidLeaveList.cshtml | 172 +- .../Pages/Company/Employees/PrintAll.cshtml | 252 +- .../PrintAllDetailsPersonnelInfo.cshtml | 292 +- .../PrintAllDetailsPersonnelInfoMobile.cshtml | 341 +- .../Company/Employees/PrintAllList.cshtml | 358 +- .../Employees/PrintAllPersonnelInfo.cshtml | 416 +- .../PrintAllPersonnelInfoMobile.cshtml | 430 +- .../Pages/Company/Employees/PrintOne.cshtml | 286 +- .../Company/Employees/PrintOneMobile.cshtml | 296 +- .../Employees/PrintOnePersonnelInfo.cshtml | 332 +- .../Pages/Company/Employees/SickLeave.cshtml | 846 +- .../Company/Employees/SickLeaveList.cshtml | 182 +- .../Company/Employees/WorkshopList.cshtml | 78 +- .../Company/Employees/WorkshopList.cshtml.cs | 41 +- .../Pages/Company/Employees/alert.cshtml | 226 +- .../Pages/Company/Employers/Actual.cshtml | 207 +- .../Pages/Company/Employers/Actual.cshtml.cs | 127 +- .../Pages/Company/Employers/Create.cshtml | 916 +- .../Pages/Company/Employers/Edit.cshtml | 889 +- .../Company/Employers/EmployerList.cshtml | 229 +- .../Pages/Company/Employers/Index.cshtml | 44 +- .../Pages/Company/Employers/Index.cshtml.cs | 73 +- .../Pages/Company/Employers/Legal.cshtml | 753 +- .../Pages/Company/Employers/LegalEdit.cshtml | 767 +- .../Pages/Company/Employers/LegalList.cshtml | 286 +- .../Company/Employers/LegalList.cshtml.cs | 84 +- .../Pages/Company/InsuranceList/Create.cshtml | 2306 ++- .../Pages/Company/InsuranceList/Edit.cshtml | 2312 ++- .../InsuranceList/EmployeeDatatable.cshtml | 258 +- .../InsuranceList/EmployeeListForEdit.cshtml | 237 +- .../Pages/Company/InsuranceList/Index.cshtml | 1635 +- .../Company/InsuranceList/Index.cshtml.cs | 2151 ++- .../InsuranceList/InsuranceConfirm.cshtml | 990 +- .../Company/InsuranceList/MainSearch.cshtml | 719 +- .../Company/InsuranceList/PrintOne.cshtml | 358 +- .../InsuranceList/PrintOneMobile.cshtml | 344 +- .../Company/InsuranceList/WorkshopList.cshtml | 186 +- .../InsuranceList/WorkshopList.cshtml.cs | 45 +- .../Company/PaymentToEmployee/Create.cshtml | 1168 +- .../Company/PaymentToEmployee/Index.cshtml | 2882 ++- .../Company/PaymentToEmployee/Index.cshtml.cs | 365 +- .../PrintAllWithCheckout.cshtml | 506 +- .../PrintAllWithoutCheckout.cshtml | 448 +- .../Company/Profile/ChangePassword.cshtml | 491 +- .../Pages/Company/Profile/Profile.cshtml | 431 +- .../Pages/Company/Profile/Profile.cshtml.cs | 159 +- .../Company/Reports/CheckoutReport.cshtml | 1885 +- .../Company/Reports/CheckoutReport.cshtml.cs | 217 +- .../Client/Pages/Company/Reports/Index.cshtml | 379 +- .../Pages/Company/Reports/Index.cshtml.cs | 77 +- .../Reports/PrintAllCheckoutReport.cshtml | 536 +- .../Company/RollCall/EmployeeUploadPic.cshtml | 429 +- .../RollCall/EmployeeUploadPic.cshtml.cs | 175 +- .../Pages/Company/RollCall/History.cshtml | 4 +- .../Pages/Company/RollCall/History.cshtml.cs | 36 +- .../Pages/Company/RollCall/Index.cshtml | 587 +- .../Pages/Company/RollCall/Index.cshtml.cs | 62 +- .../Client/Pages/Company/RollCall/List.cshtml | 4 +- .../Pages/Company/RollCall/List.cshtml.cs | 86 +- .../Company/RollCall/ModalOTPAction.cshtml | 666 +- .../Company/RollCall/ModalTakeImages.cshtml | 41 +- .../Pages/Company/RollCall/Plans.cshtml | 180 +- .../Pages/Company/RollCall/Plans.cshtml.cs | 452 +- .../Workshop/ConnectedPersonnels.cshtml | 142 +- .../ContractCheckoutYearlyStatus.cshtml | 1395 +- .../Pages/Company/Workshop/Create.cshtml | 1252 +- .../Client/Pages/Company/Workshop/Edit.cshtml | 1380 +- .../Pages/Company/Workshop/Employees.cshtml | 1010 +- .../Company/Workshop/Employees.cshtml.cs | 112 +- .../Pages/Company/Workshop/Index.cshtml | 299 +- .../Pages/Company/Workshop/Index.cshtml.cs | 1267 +- .../Company/Workshop/LeaveListAll.cshtml | 477 +- .../Workshop/PrintOnePersonnelInfo.cshtml | 332 +- .../Company/Workshop/WorkshopEmployee.cshtml | 349 +- .../Workshop/WorkshopEmployee.cshtml.cs | 48 +- .../Company/Workshop/WorkshopList.cshtml | 215 +- ServiceHost/Areas/Client/Pages/Index.cshtml | 272 +- .../Areas/Client/Pages/Index.cshtml.cs | 703 +- .../Areas/Client/Pages/LeaveCreate.cshtml | 1157 +- .../Areas/Client/Pages/LeaveList.cshtml | 420 +- .../Pages/PaymentToPersonnelCreate.cshtml | 361 +- .../Client/Pages/Shared/_ClientLayout.cshtml | 388 +- .../Areas/Client/Pages/Shared/_Menu.cshtml | 542 +- .../Shared/_ValidationScriptsPartial.cshtml | 2 +- .../Pages/Shared/_headerAndFooter.cshtml | 416 +- .../Pages/Shared/_validationAlert.cshtml | 72 +- .../Areas/Client/Pages/_ViewStart.cshtml | 4 +- .../Areas/Financial/Pages/Index.cshtml | 338 +- .../Areas/Financial/Pages/Index.cshtml.cs | 271 +- .../Shared/_ValidationScriptsPartial.cshtml | 2 +- .../Pages/Shared/_financialLayout.cshtml | 44 +- .../Areas/Financial/Pages/_ViewImports.cshtml | 2 +- .../Areas/Financial/Pages/_ViewStart.cshtml | 4 +- 428 files changed, 191790 insertions(+), 190526 deletions(-) diff --git a/ServiceHost/Areas/Admin/Pages/Accounts/Account/ChangePassword.cshtml b/ServiceHost/Areas/Admin/Pages/Accounts/Account/ChangePassword.cshtml index 0360813f..1d1afe83 100644 --- a/ServiceHost/Areas/Admin/Pages/Accounts/Account/ChangePassword.cshtml +++ b/ServiceHost/Areas/Admin/Pages/Accounts/Account/ChangePassword.cshtml @@ -1,58 +1,49 @@ -@using Microsoft.EntityFrameworkCore -@using Microsoft.AspNetCore.Components.Forms -@using Microsoft.AspNetCore.Mvc.ModelBinding -@using System.Net.Mime -@model AccountManagement.Application.Contracts.Account.ChangePassword +@model AccountManagement.Application.Contracts.Account.ChangePassword @{ - + }
- - - - -
- + + \ No newline at end of file diff --git a/ServiceHost/Areas/Admin/Pages/Accounts/Account/Create.cshtml b/ServiceHost/Areas/Admin/Pages/Accounts/Account/Create.cshtml index c38bc978..113c9545 100644 --- a/ServiceHost/Areas/Admin/Pages/Accounts/Account/Create.cshtml +++ b/ServiceHost/Areas/Admin/Pages/Accounts/Account/Create.cshtml @@ -1,97 +1,90 @@ -@using Microsoft.EntityFrameworkCore -@using Microsoft.AspNetCore.Components.Forms -@using Microsoft.AspNetCore.Mvc.ModelBinding -@using System.Net.Mime -@model AccountManagement.Application.Contracts.Account.CreateAccount +@model AccountManagement.Application.Contracts.Account.CreateAccount @{ - + }
-
+ @**@ + + + \ No newline at end of file diff --git a/ServiceHost/Areas/Admin/Pages/Accounts/Account/CreateRole.cshtml b/ServiceHost/Areas/Admin/Pages/Accounts/Account/CreateRole.cshtml index 0499b73b..7fa34c8a 100644 --- a/ServiceHost/Areas/Admin/Pages/Accounts/Account/CreateRole.cshtml +++ b/ServiceHost/Areas/Admin/Pages/Accounts/Account/CreateRole.cshtml @@ -1,12 +1,6 @@ -@using Microsoft.EntityFrameworkCore -@using Microsoft.AspNetCore.Components.Forms -@using Microsoft.AspNetCore.Mvc.ModelBinding -@using System.Net.Mime -@model AccountManagement.Application.Contracts.Role.CreateRole +@model AccountManagement.Application.Contracts.Role.CreateRole @{ - - - } - +
-
+
-

- ایجاد کاربر جدید +

+ ایجاد کاربر جدید -

-

- ایجاد نقش جدید +

+

+ ایجاد نقش جدید -

-

- +

+

+ -

- -
+

+ +
@@ -90,187 +86,190 @@
@*==================================================================Adminusers=====*@
-
-
-
-
-

جستجو در کاربران

-
-
-
-
-
-
-
- - -
-
-
-
- - +
+
+
+
+

جستجو در کاربران

+
+
+ +
+
+
+
+ + +
+
+
+
+ + -
+
-
-
+
+
-
- - -
-
-
+
+ + +
+
+
-
- - -
-
+
+ + +
+
+ + +
+ +
+
+ + مشاهده همه +
+ + +
+ + +
+ + +
+ + +
+ + + +
+
+
+
+ +
+
+
+
+
+
+
+
+ + + + + + + + @**@ + + + + + + + @foreach (var item in Model.AdminAccounts.OrderBy(x => x.Id)) + { + + + + + + @**@ + + + @{ + i++; + } + + + + } - - - - -
-
- - مشاهده همه -
- - -
- - -
- - -
- - - - - - - - - - - - -
-
-
-
-
-
-
-
-
#عکسنامنام کاربری شماره تماس نقش تاریخ ثبت نام عملیات
@i + @if (!string.IsNullOrWhiteSpace(item.ProfilePhoto)) + { + + } + + @item.Fullname@item.Username@item.Mobile@item.Role@item.CreationDate + + + تغییر گذرواژه + + + + + @if (item.IsActiveString == "true" && item.Role != "مدیر سیستم") + { + + + + } + else if (item.IsActiveString == "false") + { + + + + } +
- - - - - - - @**@ - - - - - - - @foreach (var item in @Model.AdminAccounts.OrderBy(x=>x.Id)) - { - - - - - - - @**@ - - - @{ - i++; - } - - - - - - } - - - - -
#عکسنامنام کاربری شماره تماس نقش تاریخ ثبت نام عملیات
@i - @if (!string.IsNullOrWhiteSpace(@item.ProfilePhoto)) - { - - } - - @item.Fullname@item.Username@item.Mobile@item.Role@item.CreationDate - - - تغییر گذرواژه - - - - - @if (item.IsActiveString == "true" && item.Role != "مدیر سیستم") - { - - } - else if(item.IsActiveString == "false") - { - - } -
-
-
-
-
-
-
+ + +
+
+
+
+
+
@@ -278,65 +277,61 @@
+
+
+
+
+

لیست نقش ها

+
+
+
+
+ + + + + + + + + + + + + + @foreach (var items in Model.Roless) + { + + + + + + + + @{ + r++; + } + + + + } -
-
-
-
-

لیست نقش ها

-
-
-
-
-
#نام تاریخ ثبت عملیات
@r@items.Name@items.CreationDate + + + + +
- - - - - - - - - - - - - @foreach (var items in Model.Roless) - { - - - - - - - - - @{ - r++; - } - - - - } - - - - -
#نام تاریخ ثبت عملیات
@r@items.Name@items.CreationDate - - - - -
-
-
-
-
-
-
+ + +
+
+
+ + + @@ -344,416 +339,403 @@ @*==================================================================Clientusers=====*@
-
-
-
-
-

جستجو در کاربران

-
-
-
-
-
-
-
- - -
-
-
-
- - +
+
+
+
+

جستجو در کاربران

+
+
+ +
+
+
+
+ + +
+
+
+
+ + -
+
-
-
+
+
-
- - -
-
-
+
+ + +
+
+
-
- - -
-
+
+ + +
+
+ + +
+ +
+
+ + مشاهده همه +
+ + +
+ +
+ + +
+ + +
+ + + +
+
+
+
+ +
+
+
+
+

لیست کاربران

+
+
+
+
+ + + + + + + + @**@ + + + + + + + @foreach (var item in Model.ClientAccounts.OrderBy(x => x.Id)) + { + + + + + + @**@ + + + @{ + j++; + } + + + + } - - - - -
-
- - مشاهده همه -
- - -
- -
- - -
- - - - - - - - - - - - -
-
-
-
-

لیست کاربران

-
-
-
-
-
#عکسنامنام کاربری شماره تماس نقش تاریخ ثبت نام عملیات
@j + @if (!string.IsNullOrWhiteSpace(item.ProfilePhoto)) + { + + } + @item.Fullname@item.Username@item.Mobile@item.Role@item.CreationDate + + ورود به کلاینت + + + + + + + + + @if (item.IsActiveString == "true" && item.Role != "مدیر سیستم") + { + + + + } + else if (item.IsActiveString == "false") + { + + + + } + +
- - - - - - - @**@ - - - - - - - @foreach (var item in @Model.ClientAccounts.OrderBy(x=>x.Id)) - { - - - - - - - @**@ - - - @{ - j++; - } - - - - - - } - - - - -
#عکسنامنام کاربری شماره تماس نقش تاریخ ثبت نام عملیات
@j - @if (!string.IsNullOrWhiteSpace(@item.ProfilePhoto)) - { - - } - @item.Fullname@item.Username@item.Mobile@item.Role@item.CreationDate - - ورود به کلاینت - - - - - - - - - @if (item.IsActiveString == "true" && item.Role != "مدیر سیستم") - { - - } - else if (item.IsActiveString == "false") - { - - } - -
-
-
-
-
-
-
+ + +
+
+
+
+
+
- - - - - - @section Script { - - - - - + + + + - - - + + + + - - - -} - + $.ajax({ + // async: false, + dataType: 'json', + type: 'GET', + url: '@Url.Page("./Index", "SendAccountSms")', + headers: { "RequestVerificationToken": $('@Html.AntiForgeryToken()').val() }, + success: function(response) { + if (response.isSuccess) { + $('#createProcess').hide(); + } else { + const mess = `خطا : تعداد(${response.contractCount})مورد انجام نشد`; + $("#errSend").append(`

${mess}

`); + } + } + }); + }); + +} \ No newline at end of file diff --git a/ServiceHost/Areas/Admin/Pages/Accounts/Account/Index.cshtml.cs b/ServiceHost/Areas/Admin/Pages/Accounts/Account/Index.cshtml.cs index ae4e6a7d..2aa12722 100644 --- a/ServiceHost/Areas/Admin/Pages/Accounts/Account/Index.cshtml.cs +++ b/ServiceHost/Areas/Admin/Pages/Accounts/Account/Index.cshtml.cs @@ -1,10 +1,7 @@ -using System.Collections.Generic; -using System.Security.Claims; -using _0_Framework.Application; +using _0_Framework.Application; using _0_Framework.Application.Sms; using AccountManagement.Application.Contracts.Account; using AccountManagement.Application.Contracts.Role; -using AccountManagement.Domain.RoleAgg; using Microsoft.AspNetCore.Authorization; using Microsoft.AspNetCore.Mvc; using Microsoft.AspNetCore.Mvc.RazorPages; @@ -12,247 +9,203 @@ using Microsoft.AspNetCore.Mvc.Rendering; using Microsoft.AspNetCore.SignalR; using ServiceHost.Hubs; -namespace ServiceHost.Areas.Admin.Pages.Accounts.Account +namespace ServiceHost.Areas.Admin.Pages.Accounts.Account; + +[Authorize] +public class IndexModel : PageModel { - [Authorize] - public class IndexModel : PageModel - { - - public AccountSearchModel SearchModel; - public List AdminAccounts; - public List ClientAccounts; - public SelectList Roles; - public List Roless; - private readonly IRoleApplication _roleApplication; - private readonly IAccountApplication _accountApplication; - private readonly IHubContext _hubContext; - private readonly IAuthHelper _authHelper; - private readonly ISmsService _smsService; - public long CurrntAccountId; + private readonly IAccountApplication _accountApplication; + private readonly IAuthHelper _authHelper; + private readonly IHubContext _hubContext; + private readonly IRoleApplication _roleApplication; + private readonly ISmsService _smsService; + public List AdminAccounts; + public List ClientAccounts; + public long CurrntAccountId; + public SelectList Roles; + public List Roless; - public IndexModel(IAccountApplication accountApplication, IRoleApplication roleApplication, IAuthHelper authHelper, ISmsService smsService, IHubContext hubContext) - { - _accountApplication = accountApplication; - _roleApplication = roleApplication; + public AccountSearchModel SearchModel; - _authHelper = authHelper; - _smsService = smsService; - _hubContext = hubContext; - } + public IndexModel(IAccountApplication accountApplication, IRoleApplication roleApplication, IAuthHelper authHelper, + ISmsService smsService, IHubContext hubContext) + { + _accountApplication = accountApplication; + _roleApplication = roleApplication; + + _authHelper = authHelper; + _smsService = smsService; + _hubContext = hubContext; + } - public void OnGet(AccountSearchModel searchModel) - { - - Roles = new SelectList(_roleApplication.List(), "Id", "Name"); - AdminAccounts = _accountApplication.Search(searchModel).Where(x=>x.RoleId != 15).ToList(); - ClientAccounts = _accountApplication.Search(searchModel).Where(x => x.RoleId == 15).ToList(); - Roless = _roleApplication.List(); + public void OnGet(AccountSearchModel searchModel) + { + Roles = new SelectList(_roleApplication.List(), "Id", "Name"); + AdminAccounts = _accountApplication.Search(searchModel).Where(x => x.RoleId != 15).ToList(); + ClientAccounts = _accountApplication.Search(searchModel).Where(x => x.RoleId == 15).ToList(); + Roless = _roleApplication.List(); - CurrntAccountId = _authHelper.CurrentAccountId(); - - } - - - - public IActionResult OnGetCreate() - { - var command = new CreateAccount - { - Roles = _roleApplication.List() - }; - return Partial("./Create", command); - } - - - - public IActionResult OnPostCreate(CreateAccount command) - { - var result = _accountApplication.Create(command); - return new JsonResult(result); - - } - - public IActionResult OnGetCreateRole() - { - var command = new CreateRole(); - - return Partial("./CreateRole", command); - } - - public IActionResult OnPostCreateRole(CreateRole command) - { - var result = _roleApplication.Create(command); - return new JsonResult(result); - - } - - - public IActionResult OnGetEdit(long id) - { - var account = _accountApplication.GetDetails(id); - account.Roles = _roleApplication.List(); - return Partial("Edit", account); - } - - + CurrntAccountId = _authHelper.CurrentAccountId(); + } - public JsonResult OnPostEdit(EditAccount command) - { - - var result = _accountApplication.Edit(command); - return new JsonResult(result); - - } - - public IActionResult OnGetEditRole(long id) - { - var role = _roleApplication.GetDetails(id); - var rol = new List(); - foreach (var item in role.MappedPermissions) - { - rol.Add(item.Code); - } - - role.Permissions = rol; - - return Partial("EditRole", role); - } - - public JsonResult OnPostEditRole(EditRole command) - { - - var result = _roleApplication.Edit(command); - return new JsonResult(result); - - } - public IActionResult OnGetChangePassword(long id) - { - var command = new ChangePassword {Id = id}; - return Partial("ChangePassword", command); - } - - public IActionResult OnGetSendAccountSms() - { - var currntAcc = _authHelper.CurrentAccountId(); + public IActionResult OnGetCreate() + { + var command = new CreateAccount + { + Roles = _roleApplication.List() + }; + return Partial("./Create", command); + } - var fix = _accountApplication.GetClientsAccount(); - List falseIds = new List(){182, 191, 192, 219, 229, 254, 268, 276, 289}; - var accountsList = fix.Where(x => falseIds.Contains(x.Id)).ToList(); - double maxNumber = (double)accountsList.Count; - int n = 1; - foreach (var account in accountsList) - { + public IActionResult OnPostCreate(CreateAccount command) + { + var result = _accountApplication.Create(command); + return new JsonResult(result); + } - - var sendResult = _smsService.SendAccountsInfo(account.Mobile, account.Fullname, account.Username); - if (sendResult) - { - Console.WriteLine(sendResult + " - id : " + account.Id + " - " + account.Username); - } - else - { - Console.WriteLine(sendResult + " - id : " + account.Id + " - " + account.Username); - } + public IActionResult OnGetCreateRole() + { + var command = new CreateRole(); - var percent = ((n / maxNumber) * 100); - _hubContext.Clients.Group(SendAccountMessage.GetGroupName(currntAcc)) - .SendAsync("showStatus", (int)percent); + return Partial("./CreateRole", command); + } - n += 1; - Thread.Sleep(3000); - } - - if (n >= accountsList.Count) - { - return new JsonResult(new - { - isSuccess = true, - contractCount = n, - }); - } - else - { - var failds = accountsList.Count - n; - return new JsonResult(new - { - isSuccess = false, - contractCount = failds, - }); - } - - } - - public JsonResult OnPostChangePassword(ChangePassword command) - { - - var result = _accountApplication.ChangePassword(command); - return new JsonResult(result); - - } - - public IActionResult OnGetDeActive(long id) - { - var result = _accountApplication.DeActive(id); - - if (result.IsSuccedded) - { - return new JsonResult(new - { - isSuccedded = true, - }); - } - else - { - return new JsonResult(new - { - isSuccedded = false, - }); - } - - - - } - - public IActionResult OnGetActive(long id) - { - var result = _accountApplication.Active(id); - if (result.IsSuccedded) - { - return new JsonResult(new - { - isSuccedded = true, - }); - } - else - { - return new JsonResult(new - { - isSuccedded = false, - }); - } - } + public IActionResult OnPostCreateRole(CreateRole command) + { + var result = _roleApplication.Create(command); + return new JsonResult(result); + } - public IActionResult OnPostLoginToClient(long id) - { - - var result = _accountApplication.DirectLogin(id); - if (result.IsSuccedded) - { - return new JsonResult(new - { - isSuccess = true, - }); + public IActionResult OnGetEdit(long id) + { + var account = _accountApplication.GetDetails(id); + account.Roles = _roleApplication.List(); + return Partial("Edit", account); + } - } - return new JsonResult(new - { - isSuccess = false, - }); - } - } -} + public JsonResult OnPostEdit(EditAccount command) + { + var result = _accountApplication.Edit(command); + return new JsonResult(result); + } + + public IActionResult OnGetEditRole(long id) + { + var role = _roleApplication.GetDetails(id); + var rol = new List(); + foreach (var item in role.MappedPermissions) rol.Add(item.Code); + + role.Permissions = rol; + + return Partial("EditRole", role); + } + + public JsonResult OnPostEditRole(EditRole command) + { + var result = _roleApplication.Edit(command); + return new JsonResult(result); + } + + public IActionResult OnGetChangePassword(long id) + { + var command = new ChangePassword { Id = id }; + return Partial("ChangePassword", command); + } + + public IActionResult OnGetSendAccountSms() + { + var currntAcc = _authHelper.CurrentAccountId(); + + + var fix = _accountApplication.GetClientsAccount(); + var falseIds = new List { 182, 191, 192, 219, 229, 254, 268, 276, 289 }; + var accountsList = fix.Where(x => falseIds.Contains(x.Id)).ToList(); + double maxNumber = accountsList.Count; + var n = 1; + foreach (var account in accountsList) + { + var sendResult = _smsService.SendAccountsInfo(account.Mobile, account.Fullname, account.Username); + if (sendResult) + Console.WriteLine(sendResult + " - id : " + account.Id + " - " + account.Username); + else + Console.WriteLine(sendResult + " - id : " + account.Id + " - " + account.Username); + + var percent = n / maxNumber * 100; + _hubContext.Clients.Group(SendAccountMessage.GetGroupName(currntAcc)) + .SendAsync("showStatus", (int)percent); + + n += 1; + Thread.Sleep(3000); + } + + if (n >= accountsList.Count) + return new JsonResult(new + { + isSuccess = true, + contractCount = n + }); + + var failds = accountsList.Count - n; + return new JsonResult(new + { + isSuccess = false, + contractCount = failds + }); + } + + public JsonResult OnPostChangePassword(ChangePassword command) + { + var result = _accountApplication.ChangePassword(command); + return new JsonResult(result); + } + + public IActionResult OnGetDeActive(long id) + { + var result = _accountApplication.DeActive(id); + + if (result.IsSuccedded) + return new JsonResult(new + { + isSuccedded = true + }); + return new JsonResult(new + { + isSuccedded = false + }); + } + + public IActionResult OnGetActive(long id) + { + var result = _accountApplication.Active(id); + if (result.IsSuccedded) + return new JsonResult(new + { + isSuccedded = true + }); + return new JsonResult(new + { + isSuccedded = false + }); + } + + + public IActionResult OnPostLoginToClient(long id) + { + var result = _accountApplication.DirectLogin(id); + if (result.IsSuccedded) + return new JsonResult(new + { + isSuccess = true + }); + + return new JsonResult(new + { + isSuccess = false + }); + } +} \ No newline at end of file diff --git a/ServiceHost/Areas/Admin/Pages/Company/Bill/Create.cshtml b/ServiceHost/Areas/Admin/Pages/Company/Bill/Create.cshtml index 5dddd6b0..605ecac1 100644 --- a/ServiceHost/Areas/Admin/Pages/Company/Bill/Create.cshtml +++ b/ServiceHost/Areas/Admin/Pages/Company/Bill/Create.cshtml @@ -2,8 +2,7 @@ @{ } @{ - - - } +} + + + - - + + + \ No newline at end of file diff --git a/ServiceHost/Areas/Admin/Pages/Company/Bill/CreateBill.cshtml b/ServiceHost/Areas/Admin/Pages/Company/Bill/CreateBill.cshtml index 1cbcf429..96b54c91 100644 --- a/ServiceHost/Areas/Admin/Pages/Company/Bill/CreateBill.cshtml +++ b/ServiceHost/Areas/Admin/Pages/Company/Bill/CreateBill.cshtml @@ -1,75 +1,75 @@ @page @model ServiceHost.Areas.Admin.Pages.Company.Bill.CreateBillModel
-
-

لایحه جدید

-
-
-
-
-
-
-
-
-
-
- +
+

لایحه جدید

+
+
+ +
+
+
+
+
+
+
+ - - -
-
-
-
- - - -
-
-
-
- - - -
-
-
-
- - - -
-
+ + +
+
+
+
+ + + +
+
+
+
+ + + +
+
+
+
+ + + +
+
-
- - برگشت به لیست -
-
- - - -
-
-
-
-
-
- @**@ - - برگشت به لیست -
+
+ + + + +
+ @**@ + + برگشت به لیست + - + @section PanelScripts{ - - - - - + + + + + + - - } + \ No newline at end of file diff --git a/ServiceHost/Areas/Admin/Pages/Company/Bill/CreateBill.cshtml.cs b/ServiceHost/Areas/Admin/Pages/Company/Bill/CreateBill.cshtml.cs index f294360c..5c6d5bda 100644 --- a/ServiceHost/Areas/Admin/Pages/Company/Bill/CreateBill.cshtml.cs +++ b/ServiceHost/Areas/Admin/Pages/Company/Bill/CreateBill.cshtml.cs @@ -1,160 +1,159 @@ -using Microsoft.AspNetCore.Mvc; -using Microsoft.AspNetCore.Mvc.RazorPages; -using Microsoft.AspNetCore.Mvc.Rendering; -using System.Collections.Generic; -using System.Linq; -using CompanyManagment.App.Contracts.Bill; +using CompanyManagment.App.Contracts.Bill; using CompanyManagment.App.Contracts.Contact2; using CompanyManagment.App.Contracts.OriginalTitle; using CompanyManagment.App.Contracts.Subtitle; using CompanyManagment.App.Contracts.TextManager; +using Microsoft.AspNetCore.Mvc; +using Microsoft.AspNetCore.Mvc.RazorPages; +using Microsoft.AspNetCore.Mvc.Rendering; +namespace ServiceHost.Areas.Admin.Pages.Company.Bill; -namespace ServiceHost.Areas.Admin.Pages.Company.Bill +public class CreateBillModel : PageModel { - public class CreateBillModel : PageModel - { - + private readonly IBillApplication _billApplication; + private readonly IContactApplication2 _contactApplication; + private readonly IOriginalTitleApplication _originalTitleApplication; + private readonly ISubtitleApplication _subtitleApplication; + private ITextManagerApplication _textManagerApplication; - public List Bills; - private readonly IBillApplication _billApplication; - private readonly IContactApplication2 _contactApplication; - private readonly ISubtitleApplication _subtitleApplication; - private readonly IOriginalTitleApplication _originalTitleApplication; - private ITextManagerApplication _textManagerApplication; + public List Bills; - public CreateBillModel(IBillApplication billApplication, ITextManagerApplication textManagerApplication, ISubtitleApplication subtitleApplication, IOriginalTitleApplication originalTitleApplication, IContactApplication2 contactApplication) - { - _subtitleApplication = subtitleApplication; - _originalTitleApplication = originalTitleApplication; - _textManagerApplication = textManagerApplication; - _billApplication = billApplication; - _contactApplication = contactApplication; - } + public CreateBillModel(IBillApplication billApplication, ITextManagerApplication textManagerApplication, + ISubtitleApplication subtitleApplication, IOriginalTitleApplication originalTitleApplication, + IContactApplication2 contactApplication) + { + _subtitleApplication = subtitleApplication; + _originalTitleApplication = originalTitleApplication; + _textManagerApplication = textManagerApplication; + _billApplication = billApplication; + _contactApplication = contactApplication; + } + [BindProperty] public CreateBill CreateBill { get; set; } - [BindProperty] - public CreateBill CreateBill { get; set; } + public void OnGet() + { + var ObjList = ListAppointed(); + var ObjProcessingStage = ListProcessingStage(); - public void OnGet() - { - List ObjList = ListAppointed(); - List ObjProcessingStage = ListProcessingStage(); - - var createBill = new CreateBill - { - SelectListOriginalTitle = _originalTitleApplication.GetAllOriginalTitle().ToList().Select(x => new SelectListItem { Text = x.Title, Value = x.Id.ToString() }).ToList(), - SubtitleViewModels = _subtitleApplication.GetAllSubtitle(), - }; - CreateBill=createBill; - } + var createBill = new CreateBill + { + SelectListOriginalTitle = _originalTitleApplication.GetAllOriginalTitle().ToList() + .Select(x => new SelectListItem { Text = x.Title, Value = x.Id.ToString() }).ToList(), + SubtitleViewModels = _subtitleApplication.GetAllSubtitle() + }; + CreateBill = createBill; + } - public IActionResult OnGetSearch() - { - var viewSearchTextManager = new ViewSearchTextManager - { - SelectListOriginalTitle = _originalTitleApplication.GetAllOriginalTitle().ToList().Select(x => new SelectListItem { Text = x.Title, Value = x.Id.ToString() }).ToList(), - SelectListSubtitle = _subtitleApplication.GetAllSubtitle().ToList().Select(x => new SelectListItem { Text = x.Subtitle, Value = x.Id.ToString() }).ToList(), - }; - - - - return Partial("./Search", viewSearchTextManager); - } + public IActionResult OnGetSearch() + { + var viewSearchTextManager = new ViewSearchTextManager + { + SelectListOriginalTitle = _originalTitleApplication.GetAllOriginalTitle().ToList() + .Select(x => new SelectListItem { Text = x.Title, Value = x.Id.ToString() }).ToList(), + SelectListSubtitle = _subtitleApplication.GetAllSubtitle().ToList() + .Select(x => new SelectListItem { Text = x.Subtitle, Value = x.Id.ToString() }).ToList() + }; - - public IActionResult OnPostCreate(CreateBill command) - { - var result = _billApplication.Create(command=CreateBill); - var ggg= new JsonResult(result); - return RedirectToPage("Index"); - } - public IActionResult OnGetOriginalTitleViewModels(string q) - { - var query = _originalTitleApplication.GetAllOriginalTitle().Where(x=>x.Title.Contains(q)).Select(x => new SelectListItem { Text = x.Title, Value = x.Id.ToString() }).ToList(); - - return new JsonResult(new { items = query }); - } - - public IActionResult OnGetDescriptionTextManager(string term, string cid) - { - var a = HttpContext.Request.Query["originalTitle"].ToString(); - // var names = _textManagerApplication.GetAllTextManager().Where(p => p.Description.Contains(term)&& p.OriginalTitle_Id== int.Parse(term1)).Select(p => p.Description).ToList(); - var names = _textManagerApplication.GetAllTextManager().Where(p => p.Description.Contains(term) ).Select(p => p.Description).ToList(); - return new JsonResult(names); - } - - public IActionResult OnGetDescriptionTextManager1(string term, int parentId) - { - //var a = HttpContext.Request.Query["originalTitle"].ToString(); - var names = _textManagerApplication.GetAllTextManager().Where(p => p.Description.Contains(term) ).Select(p => p.Description).ToList(); - //var names = _textManagerApplication.GetAllTextManager().Select(p => p.Description).ToList(); - return new JsonResult(names); - } - - public IActionResult OnGetContact(string term) - { - var names = _contactApplication.GetAllContact().Where(p => p.NameContact.Contains(term)).Select(p => p.NameContact).ToList(); - return new JsonResult(names); - } - public IActionResult OnGetAppointed(string term) - { - var names = ListAppointed().Where(p => p.Name.Contains(term)).Select(p => p.Name).ToList(); - return new JsonResult(names); - } - public IActionResult OnGetProcessingStage(string term) - { - var names = ListProcessingStage().Where(p => p.Name.Contains(term)).Select(p => p.Name).ToList(); - return new JsonResult(names); - } - private static List ListAppointed() - { - return new List() - { - - new Appointed {Id=1,Name="موکل1" }, - new Appointed {Id=2,Name="موکل2" }, - new Appointed {Id=3,Name="موکل3" }, - new Appointed {Id=4,Name="موکل4" }, - new Appointed {Id=5,Name="موکل4" }, - new Appointed {Id=6,Name="موکل5" }, - new Appointed {Id=7,Name="موکل6" } - - }; - } - private static List ListProcessingStage() - { - return new List() - { - - new ProcessingStage {Id=1,Name="رسیدگی1" }, - new ProcessingStage {Id=2,Name="رسیدگی2" }, - new ProcessingStage {Id=3,Name="رسیدگی3" }, - new ProcessingStage {Id=4,Name="رسیدگی4" }, - new ProcessingStage {Id=5,Name="رسیدگی4" }, - new ProcessingStage {Id=6,Name="رسیدگی5" }, - new ProcessingStage {Id=7,Name="رسیدگی6" } - - }; - } - private class Appointed - { - public int Id { get; set; } - public string Name { get; set; } - - } - private class ProcessingStage - { - public int Id { get; set; } - public string Name { get; set; } - } + return Partial("./Search", viewSearchTextManager); + } - - } + public IActionResult OnPostCreate(CreateBill command) + { + var result = _billApplication.Create(command = CreateBill); + var ggg = new JsonResult(result); + return RedirectToPage("Index"); + } + + public IActionResult OnGetOriginalTitleViewModels(string q) + { + var query = _originalTitleApplication.GetAllOriginalTitle().Where(x => x.Title.Contains(q)) + .Select(x => new SelectListItem { Text = x.Title, Value = x.Id.ToString() }).ToList(); + + return new JsonResult(new { items = query }); + } + + public IActionResult OnGetDescriptionTextManager(string term, string cid) + { + var a = HttpContext.Request.Query["originalTitle"].ToString(); + // var names = _textManagerApplication.GetAllTextManager().Where(p => p.Description.Contains(term)&& p.OriginalTitle_Id== int.Parse(term1)).Select(p => p.Description).ToList(); + var names = _textManagerApplication.GetAllTextManager().Where(p => p.Description.Contains(term)) + .Select(p => p.Description).ToList(); + return new JsonResult(names); + } + + public IActionResult OnGetDescriptionTextManager1(string term, int parentId) + { + //var a = HttpContext.Request.Query["originalTitle"].ToString(); + var names = _textManagerApplication.GetAllTextManager().Where(p => p.Description.Contains(term)) + .Select(p => p.Description).ToList(); + //var names = _textManagerApplication.GetAllTextManager().Select(p => p.Description).ToList(); + return new JsonResult(names); + } + + public IActionResult OnGetContact(string term) + { + var names = _contactApplication.GetAllContact().Where(p => p.NameContact.Contains(term)) + .Select(p => p.NameContact).ToList(); + return new JsonResult(names); + } + + public IActionResult OnGetAppointed(string term) + { + var names = ListAppointed().Where(p => p.Name.Contains(term)).Select(p => p.Name).ToList(); + return new JsonResult(names); + } + + public IActionResult OnGetProcessingStage(string term) + { + var names = ListProcessingStage().Where(p => p.Name.Contains(term)).Select(p => p.Name).ToList(); + return new JsonResult(names); + } + + private static List ListAppointed() + { + return new List + { + new() { Id = 1, Name = "موکل1" }, + new() { Id = 2, Name = "موکل2" }, + new() { Id = 3, Name = "موکل3" }, + new() { Id = 4, Name = "موکل4" }, + new() { Id = 5, Name = "موکل4" }, + new() { Id = 6, Name = "موکل5" }, + new() { Id = 7, Name = "موکل6" } + }; + } + + private static List ListProcessingStage() + { + return new List + { + new() { Id = 1, Name = "رسیدگی1" }, + new() { Id = 2, Name = "رسیدگی2" }, + new() { Id = 3, Name = "رسیدگی3" }, + new() { Id = 4, Name = "رسیدگی4" }, + new() { Id = 5, Name = "رسیدگی4" }, + new() { Id = 6, Name = "رسیدگی5" }, + new() { Id = 7, Name = "رسیدگی6" } + }; + } + + private class Appointed + { + public int Id { get; set; } + public string Name { get; set; } + } + + private class ProcessingStage + { + public int Id { get; set; } + public string Name { get; set; } + } } \ No newline at end of file diff --git a/ServiceHost/Areas/Admin/Pages/Company/Bill/Edit.cshtml b/ServiceHost/Areas/Admin/Pages/Company/Bill/Edit.cshtml index 2cd45759..abd87a4d 100644 --- a/ServiceHost/Areas/Admin/Pages/Company/Bill/Edit.cshtml +++ b/ServiceHost/Areas/Admin/Pages/Company/Bill/Edit.cshtml @@ -4,59 +4,59 @@ }
-
-

ویرایش لایحه

-
-
-
- @**@ -
-
-
-
-
-
-
- +
+

ویرایش لایحه

+
+
+ + @**@ +
+
+
+
+
+
+
+ - - -
-
-
-
- - - -
-
-
-
- - - -
-
-
-
- - - -
-
+ + +
+
+
+
+ + + +
+
+
+
+ + + +
+
+
+
+ + + +
+
-
- - برگشت به لیست -
-
- - -
-
-
-
-
-
- - - برگشت به لیست -
+
+ + + + +
+ + + برگشت به لیست + - + - - - - - - - - @section PanelScripts{ - - - - - + + + + + } @@ -194,4 +186,4 @@ overflow-y: scroll; background: #cbdacf; } - + \ No newline at end of file diff --git a/ServiceHost/Areas/Admin/Pages/Company/Bill/Edit.cshtml.cs b/ServiceHost/Areas/Admin/Pages/Company/Bill/Edit.cshtml.cs index 7f0d4dad..79a25180 100644 --- a/ServiceHost/Areas/Admin/Pages/Company/Bill/Edit.cshtml.cs +++ b/ServiceHost/Areas/Admin/Pages/Company/Bill/Edit.cshtml.cs @@ -1,7 +1,4 @@ - -using System.Collections.Generic; -using System.Linq; -using CompanyManagment.App.Contracts.Bill; +using CompanyManagment.App.Contracts.Bill; using CompanyManagment.App.Contracts.Contact2; using CompanyManagment.App.Contracts.OriginalTitle; using CompanyManagment.App.Contracts.Subtitle; @@ -10,136 +7,151 @@ using Microsoft.AspNetCore.Mvc; using Microsoft.AspNetCore.Mvc.RazorPages; using Microsoft.AspNetCore.Mvc.Rendering; +namespace ServiceHost.Areas.Admin.Pages.Company.Bill; -namespace ServiceHost.Areas.Admin.Pages.Company.Bill +public class EditModel : PageModel { - - public class EditModel : PageModel - { - public List Bills; - private readonly IBillApplication _billApplication; - private readonly IContactApplication2 _contactApplication; - private readonly ISubtitleApplication _subtitleApplication; - private readonly IOriginalTitleApplication _originalTitleApplication; - private ITextManagerApplication _textManagerApplication; + private readonly IBillApplication _billApplication; + private readonly IContactApplication2 _contactApplication; + private readonly IOriginalTitleApplication _originalTitleApplication; + private readonly ISubtitleApplication _subtitleApplication; + private ITextManagerApplication _textManagerApplication; + public List Bills; - public EditModel(IBillApplication billApplication, ITextManagerApplication textManagerApplication, ISubtitleApplication subtitleApplication, IOriginalTitleApplication originalTitleApplication, IContactApplication2 contactApplication) - { - _subtitleApplication = subtitleApplication; - _originalTitleApplication = originalTitleApplication; - _textManagerApplication = textManagerApplication; - _billApplication = billApplication; - _contactApplication = contactApplication; - } - [BindProperty] - public EditBill EditBill { get; set; } + public EditModel(IBillApplication billApplication, ITextManagerApplication textManagerApplication, + ISubtitleApplication subtitleApplication, IOriginalTitleApplication originalTitleApplication, + IContactApplication2 contactApplication) + { + _subtitleApplication = subtitleApplication; + _originalTitleApplication = originalTitleApplication; + _textManagerApplication = textManagerApplication; + _billApplication = billApplication; + _contactApplication = contactApplication; + } - public void OnGet(long id) - { - List ObjList = ListAppointed(); - List ObjProcessingStage = ListProcessingStage(); - var bill = _billApplication.GetDetails(id); - var billEdit = new EditBill - { - Id = id, - SubjectBill = bill.SubjectBill, - Description = bill.Description, - Status = bill.Status, - Appointed = bill.Appointed, - Contact = bill.Contact, - ProcessingStage = bill.ProcessingStage, - }; - EditBill = billEdit; - } - //public JsonResult OnPostEdit(EditBill command) - //{ - // var result = _billApplication.Edit(command); - // return new JsonResult(result); - //} - public IActionResult OnGetSearch() - { - var viewSearchTextManager = new ViewSearchTextManager - { - SelectListOriginalTitle = _originalTitleApplication.GetAllOriginalTitle().ToList().Select(x => new SelectListItem { Text = x.Title, Value = x.Id.ToString() }).ToList(), - SelectListSubtitle = _subtitleApplication.GetAllSubtitle().ToList().Select(x => new SelectListItem { Text = x.Subtitle, Value = x.Id.ToString() }).ToList(), - }; - return Partial("./Search", viewSearchTextManager); - } - public IActionResult OnPostEdit(EditBill command) - { - var result = _billApplication.Edit(command = EditBill); - var ggg = new JsonResult(result); - return RedirectToPage("Index"); - } - public IActionResult OnGetOriginalTitleViewModels(string q) - { - var query = _originalTitleApplication.GetAllOriginalTitle().Where(x => x.Title.Contains(q)).Select(x => new SelectListItem { Text = x.Title, Value = x.Id.ToString() }).ToList(); + [BindProperty] public EditBill EditBill { get; set; } - return new JsonResult(new { items = query }); - } - public IActionResult OnGetDescriptionTextManager(string term, string cid) - { - var a = HttpContext.Request.Query["originalTitle"].ToString(); - var names = _textManagerApplication.GetAllTextManager().Where(p => p.Description.Contains(term)).Select(p => p.Description).ToList(); - return new JsonResult(names); - } - public IActionResult OnGetDescriptionTextManager1(string term, int parentId) - { - var names = _textManagerApplication.GetAllTextManager().Where(p => p.Description.Contains(term)).Select(p => p.Description).ToList(); - return new JsonResult(names); - } - public IActionResult OnGetContact(string term) - { - var names = _contactApplication.GetAllContact().Where(p => p.NameContact.Contains(term)).Select(p => p.NameContact).ToList(); - return new JsonResult(names); - } - public IActionResult OnGetAppointed(string term) - { - var names = ListAppointed().Where(p => p.Name.Contains(term)).Select(p => p.Name).ToList(); - return new JsonResult(names); - } - public IActionResult OnGetProcessingStage(string term) - { - var names = ListProcessingStage().Where(p => p.Name.Contains(term)).Select(p => p.Name).ToList(); - return new JsonResult(names); - } - private static List ListAppointed() - { - return new List() - { - new Appointed {Id=1,Name="موکل1" }, - new Appointed {Id=2,Name="موکل2" }, - new Appointed {Id=3,Name="موکل3" }, - new Appointed {Id=4,Name="موکل4" }, - new Appointed {Id=5,Name="موکل4" }, - new Appointed {Id=6,Name="موکل5" }, - new Appointed {Id=7,Name="موکل6" } - }; - } - private static List ListProcessingStage() - { - return new List() - { - new ProcessingStage {Id=1,Name="رسیدگی1" }, - new ProcessingStage {Id=2,Name="رسیدگی2" }, - new ProcessingStage {Id=3,Name="رسیدگی3" }, - new ProcessingStage {Id=4,Name="رسیدگی4" }, - new ProcessingStage {Id=5,Name="رسیدگی4" }, - new ProcessingStage {Id=6,Name="رسیدگی5" }, - new ProcessingStage {Id=7,Name="رسیدگی6" } - }; - } - private class Appointed - { - public int Id { get; set; } - public string Name { get; set; } + public void OnGet(long id) + { + var ObjList = ListAppointed(); + var ObjProcessingStage = ListProcessingStage(); + var bill = _billApplication.GetDetails(id); + var billEdit = new EditBill + { + Id = id, + SubjectBill = bill.SubjectBill, + Description = bill.Description, + Status = bill.Status, + Appointed = bill.Appointed, + Contact = bill.Contact, + ProcessingStage = bill.ProcessingStage + }; + EditBill = billEdit; + } - } - private class ProcessingStage - { - public int Id { get; set; } - public string Name { get; set; } - } + //public JsonResult OnPostEdit(EditBill command) + //{ + // var result = _billApplication.Edit(command); + // return new JsonResult(result); + //} + public IActionResult OnGetSearch() + { + var viewSearchTextManager = new ViewSearchTextManager + { + SelectListOriginalTitle = _originalTitleApplication.GetAllOriginalTitle().ToList() + .Select(x => new SelectListItem { Text = x.Title, Value = x.Id.ToString() }).ToList(), + SelectListSubtitle = _subtitleApplication.GetAllSubtitle().ToList() + .Select(x => new SelectListItem { Text = x.Subtitle, Value = x.Id.ToString() }).ToList() + }; + return Partial("./Search", viewSearchTextManager); + } - } -} + public IActionResult OnPostEdit(EditBill command) + { + var result = _billApplication.Edit(command = EditBill); + var ggg = new JsonResult(result); + return RedirectToPage("Index"); + } + + public IActionResult OnGetOriginalTitleViewModels(string q) + { + var query = _originalTitleApplication.GetAllOriginalTitle().Where(x => x.Title.Contains(q)) + .Select(x => new SelectListItem { Text = x.Title, Value = x.Id.ToString() }).ToList(); + + return new JsonResult(new { items = query }); + } + + public IActionResult OnGetDescriptionTextManager(string term, string cid) + { + var a = HttpContext.Request.Query["originalTitle"].ToString(); + var names = _textManagerApplication.GetAllTextManager().Where(p => p.Description.Contains(term)) + .Select(p => p.Description).ToList(); + return new JsonResult(names); + } + + public IActionResult OnGetDescriptionTextManager1(string term, int parentId) + { + var names = _textManagerApplication.GetAllTextManager().Where(p => p.Description.Contains(term)) + .Select(p => p.Description).ToList(); + return new JsonResult(names); + } + + public IActionResult OnGetContact(string term) + { + var names = _contactApplication.GetAllContact().Where(p => p.NameContact.Contains(term)) + .Select(p => p.NameContact).ToList(); + return new JsonResult(names); + } + + public IActionResult OnGetAppointed(string term) + { + var names = ListAppointed().Where(p => p.Name.Contains(term)).Select(p => p.Name).ToList(); + return new JsonResult(names); + } + + public IActionResult OnGetProcessingStage(string term) + { + var names = ListProcessingStage().Where(p => p.Name.Contains(term)).Select(p => p.Name).ToList(); + return new JsonResult(names); + } + + private static List ListAppointed() + { + return new List + { + new() { Id = 1, Name = "موکل1" }, + new() { Id = 2, Name = "موکل2" }, + new() { Id = 3, Name = "موکل3" }, + new() { Id = 4, Name = "موکل4" }, + new() { Id = 5, Name = "موکل4" }, + new() { Id = 6, Name = "موکل5" }, + new() { Id = 7, Name = "موکل6" } + }; + } + + private static List ListProcessingStage() + { + return new List + { + new() { Id = 1, Name = "رسیدگی1" }, + new() { Id = 2, Name = "رسیدگی2" }, + new() { Id = 3, Name = "رسیدگی3" }, + new() { Id = 4, Name = "رسیدگی4" }, + new() { Id = 5, Name = "رسیدگی4" }, + new() { Id = 6, Name = "رسیدگی5" }, + new() { Id = 7, Name = "رسیدگی6" } + }; + } + + private class Appointed + { + public int Id { get; set; } + public string Name { get; set; } + } + + private class ProcessingStage + { + public int Id { get; set; } + public string Name { get; set; } + } +} \ No newline at end of file diff --git a/ServiceHost/Areas/Admin/Pages/Company/Bill/Index.cshtml b/ServiceHost/Areas/Admin/Pages/Company/Bill/Index.cshtml index ed64498d..57116055 100644 --- a/ServiceHost/Areas/Admin/Pages/Company/Bill/Index.cshtml +++ b/ServiceHost/Areas/Admin/Pages/Company/Bill/Index.cshtml @@ -1,15 +1,15 @@ @page +@using Microsoft.AspNetCore.Http.Extensions @model ServiceHost.Areas.Admin.Pages.Company.Bill.IndexModel -@using Microsoft.AspNetCore.Http.Extensions; @{ - string url = HttpContext.Request.GetEncodedUrl(); - int i = 1; + var url = HttpContext.Request.GetEncodedUrl(); + var i = 1; } @{ - //Layout = "~/Pages/Shared/_Layout.cshtml"; - Layout = "Shared/_AdminLayout"; - ViewData["title"] = "مدیریت لایحه"; - } \ No newline at end of file diff --git a/ServiceHost/Areas/Admin/Pages/Company/Chapter/Index.cshtml b/ServiceHost/Areas/Admin/Pages/Company/Chapter/Index.cshtml index 327b303c..46436d4f 100644 --- a/ServiceHost/Areas/Admin/Pages/Company/Chapter/Index.cshtml +++ b/ServiceHost/Areas/Admin/Pages/Company/Chapter/Index.cshtml @@ -1,18 +1,17 @@ @page +@using Microsoft.AspNetCore.Http.Extensions @model ServiceHost.Areas.Admin.Pages.Company.Chapter.IndexModel -@using Microsoft.AspNetCore.Http.Extensions; @{ } @{ - string url = HttpContext.Request.GetEncodedUrl(); - //string colaps = "in"; - //string act = "active"; - int i = 1; + var url = HttpContext.Request.GetEncodedUrl(); + //string colaps = "in"; + //string act = "active"; + var i = 1; } @{ - - Layout = "Shared/_AdminLayout"; - ViewData["title"] = "فصل"; + Layout = "Shared/_AdminLayout"; + ViewData["title"] = "فصل"; }
-
- -
+
+ +
- -
-
-
- -
-
-
-
-
-
-
-
- -
-
- +
+
+ +
+
+
+
+ +
+
+
+ +
+
+ -
-
- - -
+
+
+ + +
-
-
-
-
- - -
-
- - مشاهده همه -
-
-
- -
-
-
-
-
-
+
+
+
+
+ + +
+
+ + مشاهده همه +
+
+
+ +
+
+
+
+
+
-
-
-

لیست فصل

-
-
-
-
- - - - - - - - +
+
+

لیست فصل

+
+
+
+
+
#عنوان بخش فصل
+ + + + + + + - + - - - - @foreach (var item in Model.Chapters) - { - - - - - - - @{ - i++; - } + + + + @foreach (var item in Model.Chapters) + { + + + + + + + @{ + i++; + } - - - } - -
#عنوان بخش فصل - -        - - - - - - + + +        + + + + + + -
- - @i @item.OriginalTitle @item.Subtitle @item.Chapter
+ + @i @item.OriginalTitle @item.Subtitle @item.Chapter + - - - + + + - @if (item.IsActiveString == "true") - { - - } - else - { - { } - } -
-
-
-
-
+ @if (item.IsActiveString == "true") + { + + + + } + else + { + + + + { + } + } + + + } + + +
+ + + + @section PanelScripts{ - - - - - + + + + - - + + + - - + - + if (document.getElementById("checkSelect").checked == false) { + $.Notification.autoHideNotify('error', 'top center', 'پیام سیستم ', " هیچ بخشی انتخاب نشده است "); + } else { + if (document.getElementById("sercheCheck").value == "false") { + $.Notification.autoHideNotify('error', 'top center', 'پیام سیستم ', " لطفا در قسمت جستجوی متن حداقل یکی از فیلدهای عنوان وبخش را انتخاب نموده و سپس جستجو را کلیک کنید "); + } else if (document.getElementById("sercheCheck").value == "true") { + swal({ + title: "آیا غیرفعال نمودن این موارد انتخاب شده اطمینان دارید؟", + text: "", + type: "warning", + showCancelButton: true, + confirmButtonColor: "#DD6B55", + confirmButtonText: "بله", + cancelButtonText: "خیر", + closeOnConfirm: false + }, + function(isConfirm) { + if (isConfirm) { + checkboxes2 = document.getElementsByName('foo'); + let url3b = ''; + for (var i2 = 0, n2 = checkboxes2.length; i2 < n2; i2++) { + if (checkboxes2[i2].checked == true) { + const u2 = `&ids=${checkboxes2[i2].value}`; + console.log(u2); + url3b = url3b + u2; + console.log(url3b); + } + } + const url2b = '@Url.Page("/Company/Chapter/Index", "GroupDeActive")'; + window.location.href = url2b + url3b; + console.log(url2b); + } + }); + + } + } + } + + - + }); + } \ No newline at end of file diff --git a/ServiceHost/Areas/Admin/Pages/Company/Chapter/Index.cshtml.cs b/ServiceHost/Areas/Admin/Pages/Company/Chapter/Index.cshtml.cs index 517541bc..3125820b 100644 --- a/ServiceHost/Areas/Admin/Pages/Company/Chapter/Index.cshtml.cs +++ b/ServiceHost/Areas/Admin/Pages/Company/Chapter/Index.cshtml.cs @@ -1,5 +1,3 @@ -using System.Collections.Generic; -using System.Linq; using CompanyManagment.App.Contracts.Chapter; using CompanyManagment.App.Contracts.OriginalTitle; using CompanyManagment.App.Contracts.Subtitle; @@ -7,134 +5,135 @@ using Microsoft.AspNetCore.Mvc; using Microsoft.AspNetCore.Mvc.RazorPages; using Microsoft.AspNetCore.Mvc.Rendering; -namespace ServiceHost.Areas.Admin.Pages.Company.Chapter +namespace ServiceHost.Areas.Admin.Pages.Company.Chapter; + +public class IndexModel : PageModel { + private readonly IChapterApplication _chapterApplication; + private readonly IOriginalTitleApplication _originalTitleApplication; - public class IndexModel : PageModel - { - public string ChapterSearch = "false"; - public string Message { get; set; } - public ChapterSearchModel searchModel; - public SelectList SelectListOriginalTitle; + private readonly ISubtitleApplication _subtitleApplication; + public SelectList categoryListItems; - public SelectList SelectListSubtitles; + public List Chapters; + public string ChapterSearch = "false"; + public ChapterSearchModel searchModel; + public SelectList SelectListOriginalTitle; - public List Chapters; - public SelectList categoryListItems; + public SelectList SelectListSubtitles; - private readonly ISubtitleApplication _subtitleApplication; - private readonly IOriginalTitleApplication _originalTitleApplication; - private readonly IChapterApplication _chapterApplication; + public IndexModel(IChapterApplication chapterApplication, ISubtitleApplication subtitleApplication, + IOriginalTitleApplication originalTitleApplication) + { + _subtitleApplication = subtitleApplication; + _originalTitleApplication = originalTitleApplication; - public IndexModel(IChapterApplication chapterApplication, ISubtitleApplication subtitleApplication, IOriginalTitleApplication originalTitleApplication) - { - _subtitleApplication = subtitleApplication; - _originalTitleApplication = originalTitleApplication; + _chapterApplication = chapterApplication; + } - _chapterApplication = chapterApplication; - } + public string Message { get; set; } - public void OnGet(ChapterSearchModel searchModel) - { - Chapters = _chapterApplication.Search(searchModel); - SelectListOriginalTitle = new SelectList(_originalTitleApplication.GetAllOriginalTitle(), "Id", "Title"); - SelectListSubtitles = new SelectList(_subtitleApplication.GetAllSubtitle(), "Id", "Subtitle"); + public void OnGet(ChapterSearchModel searchModel) + { + Chapters = _chapterApplication.Search(searchModel); + SelectListOriginalTitle = new SelectList(_originalTitleApplication.GetAllOriginalTitle(), "Id", "Title"); + SelectListSubtitles = new SelectList(_subtitleApplication.GetAllSubtitle(), "Id", "Subtitle"); - if (Chapters != null) - { - if (searchModel.Subtitle_Id != 0) - { - ChapterSearch = "true"; - } + if (Chapters != null) + if (searchModel.Subtitle_Id != 0) + ChapterSearch = "true"; + } - } + public IActionResult OnGetCreate() + { + var allCategory = new CreateChapter + { + OriginalTitleViewModels = _originalTitleApplication.GetAllOriginalTitle().ToList() + .Select(x => new SelectListItem { Text = x.Title, Value = x.Id.ToString() }).ToList(), + SubtitleViewModels = _subtitleApplication.GetAllSubtitle().ToList() + .Select(x => new SelectListItem { Text = x.Subtitle, Value = x.Id.ToString() }).ToList() + }; + return Partial("./Create", allCategory); + } + public IActionResult OnPostCreate(CreateChapter command) + { + var result = _chapterApplication.Create(command); + return new JsonResult(result); + } - } - public IActionResult OnGetCreate() - { - var allCategory = new CreateChapter - { - OriginalTitleViewModels = _originalTitleApplication.GetAllOriginalTitle().ToList().Select(x => new SelectListItem { Text = x.Title, Value = x.Id.ToString() }).ToList(), - SubtitleViewModels = _subtitleApplication.GetAllSubtitle().ToList().Select(x => new SelectListItem { Text = x.Subtitle, Value = x.Id.ToString() }).ToList() - }; - return Partial("./Create", allCategory); - } - public IActionResult OnPostCreate(CreateChapter command) - { - var result = _chapterApplication.Create(command); - return new JsonResult(result); - } + public IActionResult OnGetEdit(long id) + { + var Chapter = _chapterApplication.GetDetails(id); + var ChapterEdit = new EditChapter + { + Id = id, - public IActionResult OnGetEdit(long id) - { - var Chapter = _chapterApplication.GetDetails(id); - var ChapterEdit = new EditChapter - { - Id = id, + Chapter = Chapter.Chapter, + Subtitle_Id = Chapter.Subtitle_Id, + OriginalTitle_Id = _subtitleApplication.GetAllSubtitle().ToList().Where(s => s.Id == Chapter.Subtitle_Id) + .SingleOrDefault().OriginalTitle_Id, + OriginalTitleViewModels = _originalTitleApplication.GetAllOriginalTitle().ToList() + .Select(x => new SelectListItem { Text = x.Title, Value = x.Id.ToString() }).ToList(), + SubtitleViewModels = _subtitleApplication.GetAllSubtitle().ToList() + .Select(x => new SelectListItem { Text = x.Subtitle, Value = x.Id.ToString() }).ToList() + }; + return Partial("Edit", ChapterEdit); + } - Chapter = Chapter.Chapter, - Subtitle_Id = Chapter.Subtitle_Id, - OriginalTitle_Id = _subtitleApplication.GetAllSubtitle().ToList().Where(s => s.Id == Chapter.Subtitle_Id).SingleOrDefault().OriginalTitle_Id, - OriginalTitleViewModels = _originalTitleApplication.GetAllOriginalTitle().ToList().Select(x => new SelectListItem { Text = x.Title, Value = x.Id.ToString() }).ToList(), - SubtitleViewModels = _subtitleApplication.GetAllSubtitle().ToList().Select(x => new SelectListItem { Text = x.Subtitle, Value = x.Id.ToString() }).ToList() + public JsonResult OnPostEdit(EditChapter command) + { + var result = _chapterApplication.Edit(command); + return new JsonResult(result); + } - }; - return Partial("Edit", ChapterEdit); - } - public JsonResult OnPostEdit(EditChapter command) - { - var result = _chapterApplication.Edit(command); - return new JsonResult(result); - } - public JsonResult OnPostDelete(EditChapter command) - { - var result = _chapterApplication.Edit(command); - return new JsonResult(result); - } + public JsonResult OnPostDelete(EditChapter command) + { + var result = _chapterApplication.Edit(command); + return new JsonResult(result); + } - public IActionResult OnGetDetails(long id) - { - var editchapter = _chapterApplication.GetDetails(id); - return Partial("Details", editchapter); - } - public IActionResult OnGetGroupDeActive(List ids) - { + public IActionResult OnGetDetails(long id) + { + var editchapter = _chapterApplication.GetDetails(id); + return Partial("Details", editchapter); + } - foreach (var item in ids) - { - var result = _chapterApplication.DeActive(item); - } - return RedirectToPage("./Index"); + public IActionResult OnGetGroupDeActive(List ids) + { + foreach (var item in ids) + { + var result = _chapterApplication.DeActive(item); + } - } - public IActionResult OnGetGroupReActive(List ids) - { + return RedirectToPage("./Index"); + } - foreach (var item in ids) - { - var result = _chapterApplication.Active(item); - } - return RedirectToPage("./Index"); - } + public IActionResult OnGetGroupReActive(List ids) + { + foreach (var item in ids) + { + var result = _chapterApplication.Active(item); + } - public IActionResult OnGetDeActive(long id, string url) - { - var result = _chapterApplication.DeActive(id); - if (result.IsSuccedded) - return new JsonResult(url); - Message = result.Message; - return RedirectToPage(url); - } - public IActionResult OnGetIsActive(long id, string url) - { - var result = _chapterApplication.Active(id); - if (result.IsSuccedded) - return new JsonResult(url); - Message = result.Message; - return RedirectToPage(url); - } - } + return RedirectToPage("./Index"); + } + public IActionResult OnGetDeActive(long id, string url) + { + var result = _chapterApplication.DeActive(id); + if (result.IsSuccedded) + return new JsonResult(url); + Message = result.Message; + return RedirectToPage(url); + } -} + public IActionResult OnGetIsActive(long id, string url) + { + var result = _chapterApplication.Active(id); + if (result.IsSuccedded) + return new JsonResult(url); + Message = result.Message; + return RedirectToPage(url); + } +} \ No newline at end of file diff --git a/ServiceHost/Areas/Admin/Pages/Company/Checkouts/CheckoutPrintAll.cshtml b/ServiceHost/Areas/Admin/Pages/Company/Checkouts/CheckoutPrintAll.cshtml index 09acb59d..b4a9027f 100644 --- a/ServiceHost/Areas/Admin/Pages/Company/Checkouts/CheckoutPrintAll.cshtml +++ b/ServiceHost/Areas/Admin/Pages/Company/Checkouts/CheckoutPrintAll.cshtml @@ -1,7 +1,7 @@ @page @model ServiceHost.Areas.Admin.Pages.Company.Checkouts.CheckoutPrintAllModel @{ - - - var btnActive = "btn-active"; - var btnDeactive = "btn-deactive"; - var inputDeactive = "input-deactive"; + + var btnActive = "btn-active"; + var btnDeactive = "btn-deactive"; + var inputDeactive = "input-deactive"; } - - -
- -
-
-
- +} - } +
+
- - - - - - @section Script{ - - - - }); + + $(this).next('.form-inline').find('.sendData').click(); + + $(this).next('.form-inline').find('.sendData').remove(); + const counter = $(this).siblings('.counter'); + $(counter).addClass('btncounter-text-disable'); + $(this).addClass('btn-text-disable'); + + + }); + + }); + } \ No newline at end of file diff --git a/ServiceHost/Areas/Admin/Pages/Company/Checkouts/CheckoutPrintAll.cshtml.cs b/ServiceHost/Areas/Admin/Pages/Company/Checkouts/CheckoutPrintAll.cshtml.cs index 3f2d8af9..47cd1818 100644 --- a/ServiceHost/Areas/Admin/Pages/Company/Checkouts/CheckoutPrintAll.cshtml.cs +++ b/ServiceHost/Areas/Admin/Pages/Company/Checkouts/CheckoutPrintAll.cshtml.cs @@ -1,239 +1,226 @@ -using System; -using System.Collections.Generic; -using System.Linq; using System.Text.RegularExpressions; -using System.Threading.Tasks; using CompanyManagment.App.Contracts.Checkout; using Microsoft.AspNetCore.Mvc; using Microsoft.AspNetCore.Mvc.RazorPages; -namespace ServiceHost.Areas.Admin.Pages.Company.Checkouts +namespace ServiceHost.Areas.Admin.Pages.Company.Checkouts; + +public class CheckoutPrintAllModel : PageModel { - public class CheckoutPrintAllModel : PageModel - { - private readonly ICheckoutApplication _checkoutApplication; - public List GroupPrintList; - public ChekoutDividPrintViewModel DividList; - public int StartPrint; - public int EndPrint; - public List printIdList; - public CheckoutGroupPrintViewModel sendIds; + private readonly ICheckoutApplication _checkoutApplication; + public ChekoutDividPrintViewModel DividList; + public int EndPrint; + public List GroupPrintList; + public List printIdList; + public CheckoutGroupPrintViewModel sendIds; + public int StartPrint; + public CheckoutPrintAllModel(ICheckoutApplication checkoutApplication) + { + _checkoutApplication = checkoutApplication; + } - public CheckoutPrintAllModel(ICheckoutApplication checkoutApplication) - { - _checkoutApplication = checkoutApplication; - } + public void OnGet(string idlist) + { + var ids = ExtractNumbers(idlist); + var resultList = new List(); - public void OnGet(string idlist) - { - var ids = ExtractNumbers(idlist); - var resultList = new List(); + var res = _checkoutApplication.PrintAll(ids); - var res = _checkoutApplication.PrintAll(ids); - - var printCounter = res.Count(); - if (printCounter <= 25) - { - GroupPrintList = res; - var addToList = new CheckoutGroupPrintViewModel() - { - CheckoutIdList = res.Select(x => x.Id).ToList(), - StartPrint = 1, - EndPrint = printCounter, - }; + var printCounter = res.Count(); + if (printCounter <= 25) + { + GroupPrintList = res; + var addToList = new CheckoutGroupPrintViewModel + { + CheckoutIdList = res.Select(x => x.Id).ToList(), + StartPrint = 1, + EndPrint = printCounter + }; - resultList.Add(addToList); - var finalResult = new ChekoutDividPrintViewModel() - { - CheckoutGroupPrintViewModels = resultList, - ButtonConter = resultList.Count, - }; - DividList = finalResult; - } - else - { - var divide20 = printCounter / 20; - var multiple = printCounter - (divide20 * 20); - if (multiple == 0) - { - for (int i = 1; i <= printCounter; i += 20) - { - var start = i; - var end = i + 19; - if (i == 1) - { - GroupPrintList = res.Where(x => x.PrintCounter >= start && x.PrintCounter <= end).ToList(); - - var addToList = new CheckoutGroupPrintViewModel() - { - CheckoutIdList = res.Where(x => x.PrintCounter >= start && x.PrintCounter <= end).Select(x => x.Id).ToList(), - StartPrint = start, - EndPrint = end, - }; + resultList.Add(addToList); + var finalResult = new ChekoutDividPrintViewModel + { + CheckoutGroupPrintViewModels = resultList, + ButtonConter = resultList.Count + }; + DividList = finalResult; + } + else + { + var divide20 = printCounter / 20; + var multiple = printCounter - divide20 * 20; + if (multiple == 0) + { + for (var i = 1; i <= printCounter; i += 20) + { + var start = i; + var end = i + 19; + if (i == 1) + { + GroupPrintList = res.Where(x => x.PrintCounter >= start && x.PrintCounter <= end).ToList(); - resultList.Add(addToList); - } - else - { - var addToList = new CheckoutGroupPrintViewModel() - { - CheckoutIdList = res.Where(x => x.PrintCounter >= start && x.PrintCounter <= end).Select(x => x.Id).ToList(), - StartPrint = start, - EndPrint = end, - }; - resultList.Add(addToList); - } - + var addToList = new CheckoutGroupPrintViewModel + { + CheckoutIdList = res.Where(x => x.PrintCounter >= start && x.PrintCounter <= end) + .Select(x => x.Id).ToList(), + StartPrint = start, + EndPrint = end + }; - } + resultList.Add(addToList); + } + else + { + var addToList = new CheckoutGroupPrintViewModel + { + CheckoutIdList = res.Where(x => x.PrintCounter >= start && x.PrintCounter <= end) + .Select(x => x.Id).ToList(), + StartPrint = start, + EndPrint = end + }; + resultList.Add(addToList); + } + } - var finalResult = new ChekoutDividPrintViewModel() - { - CheckoutGroupPrintViewModels = resultList, - ButtonConter = resultList.Count, - }; - DividList = finalResult; + var finalResult = new ChekoutDividPrintViewModel + { + CheckoutGroupPrintViewModels = resultList, + ButtonConter = resultList.Count + }; + DividList = finalResult; + } + else if (multiple <= 5) + { + var endOfround = 0; + for (var i = 1; i <= printCounter - 26; i += 20) + { + var start = i; + var end = i + 19; - } - else if (multiple <= 5) - { - int endOfround = 0; - - for (int i = 1; i <= printCounter-26; i += 20) - { - var start = i; - var end = i + 19; - - if (i == 1) - { - GroupPrintList = res.Where(x => x.PrintCounter >= start && x.PrintCounter <= end).ToList(); - - endOfround = end; - var addToList = new CheckoutGroupPrintViewModel() - { - CheckoutIdList = res.Where(x => x.PrintCounter >= start && x.PrintCounter <= end).Select(x => x.Id).ToList(), - StartPrint = start, - EndPrint = end, - }; - - resultList.Add(addToList); - } - else - { - var addToList = new CheckoutGroupPrintViewModel() - { - CheckoutIdList = res.Where(x => x.PrintCounter >= start && x.PrintCounter <= end).Select(x => x.Id).ToList(), - StartPrint = start, - EndPrint = end, - }; - endOfround = end; - resultList.Add(addToList); - } + if (i == 1) + { + GroupPrintList = res.Where(x => x.PrintCounter >= start && x.PrintCounter <= end).ToList(); + endOfround = end; + var addToList = new CheckoutGroupPrintViewModel + { + CheckoutIdList = res.Where(x => x.PrintCounter >= start && x.PrintCounter <= end) + .Select(x => x.Id).ToList(), + StartPrint = start, + EndPrint = end + }; - } + resultList.Add(addToList); + } + else + { + var addToList = new CheckoutGroupPrintViewModel + { + CheckoutIdList = res.Where(x => x.PrintCounter >= start && x.PrintCounter <= end) + .Select(x => x.Id).ToList(), + StartPrint = start, + EndPrint = end + }; + endOfround = end; + resultList.Add(addToList); + } + } - var count = res.Where(x => x.PrintCounter > endOfround).ToList(); - var addLastPart = new CheckoutGroupPrintViewModel() - { - CheckoutIdList = res.Where(x => x.PrintCounter > endOfround).Select(x => x.Id).ToList(), - StartPrint = count.Select(x=>x.PrintCounter).FirstOrDefault(), - EndPrint = count.Select(x => x.PrintCounter).LastOrDefault(), - }; - resultList.Add(addLastPart); - var finalResult = new ChekoutDividPrintViewModel() - { - CheckoutGroupPrintViewModels = resultList, - ButtonConter = resultList.Count, - }; - DividList = finalResult; - }else if (multiple > 5) - { - int endOfround = 0; - var pcounter = multiple + 1; - for (int i = 1; i <= printCounter - pcounter; i += 20) - { - var start = i; - var end = i + 19; + var count = res.Where(x => x.PrintCounter > endOfround).ToList(); + var addLastPart = new CheckoutGroupPrintViewModel + { + CheckoutIdList = res.Where(x => x.PrintCounter > endOfround).Select(x => x.Id).ToList(), + StartPrint = count.Select(x => x.PrintCounter).FirstOrDefault(), + EndPrint = count.Select(x => x.PrintCounter).LastOrDefault() + }; + resultList.Add(addLastPart); + var finalResult = new ChekoutDividPrintViewModel + { + CheckoutGroupPrintViewModels = resultList, + ButtonConter = resultList.Count + }; + DividList = finalResult; + } + else if (multiple > 5) + { + var endOfround = 0; + var pcounter = multiple + 1; + for (var i = 1; i <= printCounter - pcounter; i += 20) + { + var start = i; + var end = i + 19; - if (i == 1) - { - GroupPrintList = res.Where(x => x.PrintCounter >= start && x.PrintCounter <= end).ToList(); + if (i == 1) + { + GroupPrintList = res.Where(x => x.PrintCounter >= start && x.PrintCounter <= end).ToList(); - endOfround = end; - var addToList = new CheckoutGroupPrintViewModel() - { - CheckoutIdList = res.Where(x => x.PrintCounter >= start && x.PrintCounter <= end).Select(x => x.Id).ToList(), - StartPrint = start, - EndPrint = end, - }; + endOfround = end; + var addToList = new CheckoutGroupPrintViewModel + { + CheckoutIdList = res.Where(x => x.PrintCounter >= start && x.PrintCounter <= end) + .Select(x => x.Id).ToList(), + StartPrint = start, + EndPrint = end + }; - resultList.Add(addToList); - } - else - { - var addToList = new CheckoutGroupPrintViewModel() - { - CheckoutIdList = res.Where(x => x.PrintCounter >= start && x.PrintCounter <= end).Select(x => x.Id).ToList(), - StartPrint = start, - EndPrint = end, - }; - endOfround = end; - resultList.Add(addToList); - } + resultList.Add(addToList); + } + else + { + var addToList = new CheckoutGroupPrintViewModel + { + CheckoutIdList = res.Where(x => x.PrintCounter >= start && x.PrintCounter <= end) + .Select(x => x.Id).ToList(), + StartPrint = start, + EndPrint = end + }; + endOfround = end; + resultList.Add(addToList); + } + } + var count = res.Where(x => x.PrintCounter > endOfround).ToList(); + var addLastPart = new CheckoutGroupPrintViewModel + { + CheckoutIdList = res.Where(x => x.PrintCounter > endOfround).Select(x => x.Id).ToList(), + StartPrint = count.Select(x => x.PrintCounter).FirstOrDefault(), + EndPrint = count.Select(x => x.PrintCounter).LastOrDefault() + }; + resultList.Add(addLastPart); + var finalResult = new ChekoutDividPrintViewModel + { + CheckoutGroupPrintViewModels = resultList, + ButtonConter = resultList.Count + }; + DividList = finalResult; + } + } + } - } + public IActionResult OnGetPrintAll(CheckoutGroupPrintViewModel sendIds) + { + var res = _checkoutApplication.PrintAll(sendIds.CheckoutIdList); + var result = new CheckoutGroupPrintViewModel + { + CheckoutViewModels = res + }; + return Partial("PrintAll", result); + } - var count = res.Where(x => x.PrintCounter > endOfround).ToList(); - var addLastPart = new CheckoutGroupPrintViewModel() - { - CheckoutIdList = res.Where(x => x.PrintCounter > endOfround).Select(x => x.Id).ToList(), - StartPrint = count.Select(x => x.PrintCounter).FirstOrDefault(), - EndPrint = count.Select(x => x.PrintCounter).LastOrDefault(), - }; - resultList.Add(addLastPart); - var finalResult = new ChekoutDividPrintViewModel() - { - CheckoutGroupPrintViewModels = resultList, - ButtonConter = resultList.Count, - }; - DividList = finalResult; - } - } + private static List ExtractNumbers(string input) + { + var numbers = new List(); + var pattern = @"\d+"; // Matches one or more digits - } + var matches = Regex.Matches(input, pattern); - public IActionResult OnGetPrintAll(CheckoutGroupPrintViewModel sendIds) - { - - var res = _checkoutApplication.PrintAll(sendIds.CheckoutIdList); - var result = new CheckoutGroupPrintViewModel() - { - CheckoutViewModels = res, - }; - return Partial("PrintAll", result); - } + foreach (Match match in matches) + if (long.TryParse(match.Value, out var number)) + numbers.Add(number); - static List ExtractNumbers(string input) - { - List numbers = new List(); - string pattern = @"\d+"; // Matches one or more digits - - MatchCollection matches = Regex.Matches(input, pattern); - - foreach (Match match in matches) - { - if (long.TryParse(match.Value, out long number)) - { - numbers.Add(number); - } - } - - return numbers; - } - } -} + return numbers; + } +} \ No newline at end of file diff --git a/ServiceHost/Areas/Admin/Pages/Company/Checkouts/Create.cshtml b/ServiceHost/Areas/Admin/Pages/Company/Checkouts/Create.cshtml index bcb0b40b..0ea8611e 100644 --- a/ServiceHost/Areas/Admin/Pages/Company/Checkouts/Create.cshtml +++ b/ServiceHost/Areas/Admin/Pages/Company/Checkouts/Create.cshtml @@ -1,13 +1,6 @@ -@using _0_Framework.Application -@model CompanyManagment.App.Contracts.Checkout.CreateCheckout +@model CompanyManagment.App.Contracts.Checkout.CreateCheckout @{ - - - - - - - - @section Styles{ - - - - } +@section Styles{ + + + +} @*@section Script{ }*@ }
-
-
+
+
-

- ایجاد تصفیه حساب -@* ویرایش *@ +

+ ایجاد تصفیه حساب + @* ویرایش *@ -

- @*href="#showmodal=@Url.Page("./Index", "PrintAll", new {ids = idss})"*@ -
-
-
-
+

+ @*href="#showmodal=@Url.Page("./Index", "PrintAll", new {ids = idss})"*@ +
+
+
+
- - + + -
-
-

- -

+
+ -
-
- @*===================================================================================================================*@ -
-
-
-
-
-
-
- -
-
-
-
- -
-
-
- - - -
-
    -
-
-
-
-
- - -
-
-
-
-
-
-
- انتخاب تاریخ -
-
- -
-
- -
-
-
-
- @**@ - -
+
+
+
+ @*===================================================================================================================*@ +
+
+ +
+
+
+
+ +
+
+
+
+ +
+
+
+ + + +
+
    +
+
+
+
+
+ + +
+
+
+
+
+
+
+ انتخاب تاریخ +
+
+ +
+
+ +
+
+
+
+ @**@ + +
-
-
-
- @**@ +
+
+
+ @**@ - -
-
+ +
+
-
-
- @**@ - @* @@ -735,169 +734,167 @@ *@ -
-
-
-
-
- @* *@ - @* *@ -
+
-
- جستجو - - مشاهده همه -
-
-
- +
+ جستجو + + مشاهده همه +
+
+
+ -
-
- @*==================================================================personal=====*@ -
-
-
-
-
+
+
+ @*==================================================================personal=====*@ +
+
+
+
+
-
-
-
-

لیست تصفیه حساب ها

-
-
-
-
- -
-
-
-
-
+
+
+
+

لیست تصفیه حساب ها

+
+
+
+
+ +
+
+
+
+
- @section Script { - - - - - + + + + - + - + - + - + + $('.search').click(); + $(".personel-select").select2({ + language: "fa", + dir: "rtl", - @* + + @**@ - - + - + - -} + } + function signatureAll() { + $('.sweet-alert').removeClass("successSwall"); + $('.sweet-alert').removeClass("errorSwall"); + var workshopId = Number($("#workshops").val()); + var year = $("#SearchModel_Year").val(); + var month = $("#SearchModel_Month").val(); + if (year.trim() == "" && month.trim() == "" && workshopId == "0") { + swal({ + title: "لطفا در قسمت جستجوی تصفیه حساب آیتمهای کارگاه، سال و ماه را انتخاب نموده و روی کلید جستجو کلیک کنید ", + text: "", + type: "warning", + showCancelButton: true, + confirmButtonColor: "#DD6B55", + //confirmButtonText: "بستن", + cancelButtonText: "بستن", + closeOnConfirm: false, + customClass: "errorSwall" + }); + //$.Notification.autoHideNotify('error', 'top center', 'پیام سیستم ', " ابتدا آیتمهای کارگاه و سال , ماه را انتخاب کنید "); + } else if (year.trim() == "" && month.trim() == "" && workshopId != "0") { + swal({ + title: "لطفا در قسمت جستجوی تصفیه حساب آیتمهای سال و ماه را انتخاب نموده و روی کلید جستجو کلیک کنید ", + text: "", + type: "warning", + showCancelButton: true, + confirmButtonColor: "#DD6B55", + //confirmButtonText: "بستن", + cancelButtonText: "بستن", + closeOnConfirm: false, + customClass: "errorSwall" + }); + //$.Notification.autoHideNotify('error', 'top center', 'پیام سیستم ', " ابتدا آیتمهای سال و ماه را انتخاب کنید "); + } else if (year.trim() != "" && month.trim() == "" && workshopId == "0") { + swal({ + title: "لطفا در قسمت جستجوی تصفیه حساب آیتمهای کارگاه و ماه را انتخاب نموده و روی کلید جستجو کلیک کنید ", + text: "", + type: "warning", + showCancelButton: true, + confirmButtonColor: "#DD6B55", + //confirmButtonText: "بستن", + cancelButtonText: "بستن", + closeOnConfirm: false, + customClass: "errorSwall" + }); + //$.Notification.autoHideNotify('error', 'top center', 'پیام سیستم ', " ابتدا آیتمهای کارگاه و ماه را انتخاب کنید "); + } else if (year.trim() == "" && month.trim() != "" && workshopId == "0") { + //$.Notification.autoHideNotify('error', 'top center', 'پیام سیستم ', " ابتدا آیتمهای کارگاه و سال را انتخاب کنید "); + swal({ + title: "لطفا در قسمت جستجوی تصفیه حساب آیتمهای کارگاه و سال را انتخاب نموده و روی کلید جستجو کلیک کنید ", + text: "", + type: "warning", + showCancelButton: true, + confirmButtonColor: "#DD6B55", + //confirmButtonText: "بستن", + cancelButtonText: "بستن", + closeOnConfirm: false, + customClass: "errorSwall" + }); + } else if (year.trim() != "" && month.trim() == "" && workshopId != "0") { + swal({ + title: "لطفا در قسمت جستجوی تصفیه حساب آیتم ماه را انتخاب نموده و روی کلید جستجو کلیک کنید ", + text: "", + type: "warning", + showCancelButton: true, + confirmButtonColor: "#DD6B55", + //confirmButtonText: "بستن", + cancelButtonText: "بستن", + closeOnConfirm: false, + customClass: "errorSwall" + }); + //$.Notification.autoHideNotify('error', 'top center', 'پیام سیستم ', " ابتدا آیتم ماه را انتخاب کنید "); + } else if (year.trim() != "" && month.trim() != "" && workshopId == "0") { + swal({ + title: "لطفا در قسمت جستجوی تصفیه حساب آیتم کارگاه را انتخاب نموده و روی کلید جستجو کلیک کنید ", //"ابتدا آیتم کارگاه را انتخاب کنید ", + text: "", + type: "warning", + showCancelButton: true, + confirmButtonColor: "#DD6B55", + //confirmButtonText: "بستن", + cancelButtonText: "بستن", + closeOnConfirm: false, + customClass: "errorSwall" + }); + // $.Notification.autoHideNotify('error', 'top center', 'پیام سیستم ', " ابتدا آیتم کارگاه را انتخاب کنید "); + } else if (year.trim() == "" && month.trim() != "" && workshopId != "0") { + //$.Notification.autoHideNotify('error', 'top center', 'پیام سیستم ', " ابتدا آیتم سال را انتخاب کنید "); + swal({ + title: "لطفا در قسمت جستجوی تصفیه حساب آیتم سال را انتخاب نموده و روی کلید جستجو کلیک کنید ", + text: "", + type: "warning", + showCancelButton: true, + confirmButtonColor: "#DD6B55", + //confirmButtonText: "بستن", + cancelButtonText: "بستن", + closeOnConfirm: false, + customClass: "errorSwall" + }); + } else { + let ids = []; + $("input[name=foo]:checked").each(function() { + const id = $(this).val(); + ids.push(id); + }); + if (ids.length == 0) { + //$.Notification.autoHideNotify('error', 'top center', 'پیام سیستم ', " هیچ تصفیه حسابی انتخاب نشده است "); + swal({ + title: "هیچ تصفیه حسابی انتخاب نشده است ", + text: "لطفا از تیک های سمت راست جدول، تصفیه حسابهای مورد نظر را انتخاب کنید.", + type: "warning", + showCancelButton: true, + confirmButtonColor: "#DD6B55", + //confirmButtonText: "بستن", + cancelButtonText: "بستن", + closeOnConfirm: false, + customClass: "errorSwall" + }); + + } else if (document.getElementById("sercheSignCheck").value == "false") { + swal({ + title: "لطفا روی کلید جستجو کلیک کنید ", + text: "", + type: "warning", + showCancelButton: true, + confirmButtonColor: "#DD6B55", + //confirmButtonText: "بستن", + cancelButtonText: "بستن", + closeOnConfirm: false, + customClass: "errorSwall" + }); + } else { + swal({ + title: "آیا امضای تصفیه حسابهای انتخاب شده اطمینان دارید؟", + text: "", + type: "warning", + showCancelButton: true, + confirmButtonColor: "#DD6B55", + confirmButtonText: "بله", + cancelButtonText: "خیر", + closeOnConfirm: false, + closeOnCancel: true + }, + function(isConfirm) { + if (isConfirm) { + $(".alarm").removeClass('alarm'); + $.ajax({ + async: false, + dataType: 'json', + type: 'POST', + url: '@Url.Page("/Company/Checkouts/Index", "SignatureAll")', + headers: { "RequestVerificationToken": $('@Html.AntiForgeryToken()').val() }, + data: { "ids": ids, "workshopId": workshopId }, + success: function(response) { + console.log(response); + if (response.isSuccedded) { + swal({ + title: "امضای تصفیه حسابهای انتخاب شده با موفقیت انجام شد ", + text: "", + type: "success", + showCancelButton: true, + confirmButtonColor: "#DD6B55", + confirmButtonText: "بستن", + cancelButtonText: "خیر", + closeOnConfirm: true, + customClass: "successSwall" + }, + function(isConfirm) { + if (isConfirm) { + for (let index = 0; index < ids.length; index++) { + $(`#td_${ids[index]}`).html(` `); + } + $('.myLinkSign').click(function(event) { + signAjax(event, this); + }); + } + }); + } + //$.Notification.notify('success', 'top center', 'پیام سیستم ', " امضای تصفیه حسابهای انتخاب شده با موفقیت انجام شد."); + else + //$.Notification.notify('error', 'top center', 'پیام سیستم ', " امضای تصفیه حسابهای انتخاب شده با خطا مواجه شد."); + { + swal({ + title: "امضای تصفیه حسابهای انتخاب شده با خطا مواجه شد ", + text: "", + type: "warning", + showCancelButton: true, + confirmButtonColor: "#DD6B55", + //confirmButtonText: "بستن", + cancelButtonText: "بستن", + closeOnConfirm: false, + customClass: "errorSwall" + }); + } + }, + failure: function(response) { + //console.log(5, response); + } + }); + } + }); + } + } + } + + function deleteAllSignature() { + $('.sweet-alert').removeClass("successSwall"); + $('.sweet-alert').removeClass("errorSwall"); + var workshopId = Number($("#workshops").val()); + var year = $("#SearchModel_Year").val(); + var month = $("#SearchModel_Month").val(); + if (year.trim() == "" && month.trim() == "" && workshopId == "0") { + swal({ + title: "لطفا در قسمت جستجوی تصفیه حساب آیتمهای کارگاه، سال و ماه را انتخاب نموده و روی کلید جستجو کلیک کنید ", + text: "", + type: "warning", + showCancelButton: true, + confirmButtonColor: "#DD6B55", + //confirmButtonText: "بستن", + cancelButtonText: "بستن", + closeOnConfirm: false, + customClass: "errorSwall" + }); + //$.Notification.autoHideNotify('error', 'top center', 'پیام سیستم ', " ابتدا آیتمهای کارگاه و سال , ماه را انتخاب کنید "); + } else if (year.trim() == "" && month.trim() == "" && workshopId != "0") { + swal({ + title: "لطفا در قسمت جستجوی تصفیه حساب آیتمهای سال و ماه را انتخاب نموده و روی کلید جستجو کلیک کنید ", + text: "", + type: "warning", + showCancelButton: true, + confirmButtonColor: "#DD6B55", + //confirmButtonText: "بستن", + cancelButtonText: "بستن", + closeOnConfirm: false, + customClass: "errorSwall" + }); + //$.Notification.autoHideNotify('error', 'top center', 'پیام سیستم ', " ابتدا آیتمهای سال و ماه را انتخاب کنید "); + } else if (year.trim() != "" && month.trim() == "" && workshopId == "0") { + swal({ + title: "لطفا در قسمت جستجوی تصفیه حساب آیتمهای کارگاه و ماه را انتخاب نموده و روی کلید جستجو کلیک کنید ", + text: "", + type: "warning", + showCancelButton: true, + confirmButtonColor: "#DD6B55", + //confirmButtonText: "بستن", + cancelButtonText: "بستن", + closeOnConfirm: false, + customClass: "errorSwall" + }); + //$.Notification.autoHideNotify('error', 'top center', 'پیام سیستم ', " ابتدا آیتمهای کارگاه و ماه را انتخاب کنید "); + } else if (year.trim() == "" && month.trim() != "" && workshopId == "0") { + //$.Notification.autoHideNotify('error', 'top center', 'پیام سیستم ', " ابتدا آیتمهای کارگاه و سال را انتخاب کنید "); + swal({ + title: "لطفا در قسمت جستجوی تصفیه حساب آیتمهای کارگاه و سال را انتخاب نموده و روی کلید جستجو کلیک کنید ", + text: "", + type: "warning", + showCancelButton: true, + confirmButtonColor: "#DD6B55", + //confirmButtonText: "بستن", + cancelButtonText: "بستن", + closeOnConfirm: false, + customClass: "errorSwall" + }); + } else if (year.trim() != "" && month.trim() == "" && workshopId != "0") { + swal({ + title: "لطفا در قسمت جستجوی تصفیه حساب آیتم ماه را انتخاب نموده و روی کلید جستجو کلیک کنید ", + text: "", + type: "warning", + showCancelButton: true, + confirmButtonColor: "#DD6B55", + //confirmButtonText: "بستن", + cancelButtonText: "بستن", + closeOnConfirm: false, + customClass: "errorSwall" + }); + //$.Notification.autoHideNotify('error', 'top center', 'پیام سیستم ', " ابتدا آیتم ماه را انتخاب کنید "); + } else if (year.trim() != "" && month.trim() != "" && workshopId == "0") { + swal({ + title: "لطفا در قسمت جستجوی تصفیه حساب آیتم کارگاه را انتخاب نموده و روی کلید جستجو کلیک کنید ", //"ابتدا آیتم کارگاه را انتخاب کنید ", + text: "", + type: "warning", + showCancelButton: true, + confirmButtonColor: "#DD6B55", + //confirmButtonText: "بستن", + cancelButtonText: "بستن", + closeOnConfirm: false, + customClass: "errorSwall" + }); + // $.Notification.autoHideNotify('error', 'top center', 'پیام سیستم ', " ابتدا آیتم کارگاه را انتخاب کنید "); + } else if (year.trim() == "" && month.trim() != "" && workshopId != "0") { + //$.Notification.autoHideNotify('error', 'top center', 'پیام سیستم ', " ابتدا آیتم سال را انتخاب کنید "); + swal({ + title: "لطفا در قسمت جستجوی تصفیه حساب آیتم سال را انتخاب نموده و روی کلید جستجو کلیک کنید ", + text: "", + type: "warning", + showCancelButton: true, + confirmButtonColor: "#DD6B55", + //confirmButtonText: "بستن", + cancelButtonText: "بستن", + closeOnConfirm: false, + customClass: "errorSwall" + }); + } else { + let ids = []; + $("input[name=foo]:checked").each(function() { + const id = $(this).val(); + ids.push(id); + }); + if (ids.length == 0) { + swal({ + title: "هیچ تصفیه حسابی انتخاب نشده است ", + text: "لطفا از تیک های سمت راست جدول، تصفیه حسابهای مورد نظر را انتخاب کنید.", + type: "warning", + showCancelButton: true, + confirmButtonColor: "#DD6B55", + //confirmButtonText: "بستن", + cancelButtonText: "بستن", + closeOnConfirm: false, + customClass: "errorSwall" + }); + //$.Notification.autoHideNotify('error', 'top center', 'پیام سیستم ', " هیچ تصفیه حسابی انتخاب نشده است "); + } else if (document.getElementById("sercheSignCheck").value != "true") { + swal({ + title: "لطفا روی کلید جستجو کلیک کنید ", + text: "", + type: "warning", + showCancelButton: true, + confirmButtonColor: "#DD6B55", + //confirmButtonText: "بستن", + cancelButtonText: "بستن", + closeOnConfirm: false, + customClass: "errorSwall" + }); + } else { + swal({ + title: "آیا از حذف امضای تصفیه حسابهای انتخاب شده اطمینان دارید؟", + text: "", + type: "warning", + showCancelButton: true, + confirmButtonColor: "#DD6B55", + confirmButtonText: "بله", + cancelButtonText: "خیر", + closeOnConfirm: false, + closeOnCancel: true + }, + function(isConfirm) { + if (isConfirm) { + $(".alarm").removeClass('alarm'); + $.ajax({ + async: false, + dataType: 'json', + type: 'POST', + url: '@Url.Page("/Company/Checkouts/Index", "DeleteAllSignature")', + headers: { "RequestVerificationToken": $('@Html.AntiForgeryToken()').val() }, + data: { "ids": ids, "workshopId": workshopId }, + success: function(response) { + if (response.isSuccedded) { + //$.Notification.notify('success', 'top center', 'پیام سیستم ', "حذف امضای تصفیه حسابهای انتخاب شده با موفقیت انجام شد."); + swal({ + title: "حذف امضای تصفیه حسابهای انتخاب شده با موفقیت انجام شد ", + text: "", + type: "success", + showCancelButton: true, + confirmButtonColor: "#DD6B55", + confirmButtonText: "بستن", + //cancelButtonText: "خیر", + closeOnConfirm: true, + customClass: "successSwall" + }, + function(isConfirm) { + if (isConfirm) { + for (let index = 0; index < ids.length; index++) { + $(`#td_${ids[index]}`).html(` `); + } + $('.myLinkSign').click(function(event) { + signAjax(event, this); + }); + } + }); + + } else { + swal({ + title: "حذف امضای تصفیه حسابهای انتخاب شده با خطا مواجه شد", + text: "", + type: "warning", + showCancelButton: true, + confirmButtonColor: "#DD6B55", + //confirmButtonText: "بستن", + cancelButtonText: "بستن", + closeOnConfirm: false, + customClass: "errorSwall" + }); + } + + }, + failure: function(response) { + //console.log(5, response); + } + }); + } + }); + } + } + } + + $("#empSearch").keypress(function(event) { + if (event.keyCode === 13) { + if ($("#SearchModel_EmployeeId").val() == "0") + $("#SearchModel_EmployeeName").val($("#empSearch").val()); + $("#btnSearch").click(); + } + }); + + //------------End new Change--------------- + +} \ No newline at end of file diff --git a/ServiceHost/Areas/Admin/Pages/Company/Checkouts/Index.cshtml.cs b/ServiceHost/Areas/Admin/Pages/Company/Checkouts/Index.cshtml.cs index ccad4c61..474b621b 100644 --- a/ServiceHost/Areas/Admin/Pages/Company/Checkouts/Index.cshtml.cs +++ b/ServiceHost/Areas/Admin/Pages/Company/Checkouts/Index.cshtml.cs @@ -1,14 +1,6 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Threading; -using System.Threading.Tasks; -using System.Timers; -using _0_Framework.Application; +using _0_Framework.Application; using Company.Domain.ContractAgg; -using Company.Domain.EmployeeAgg; using Company.Domain.HolidayItemAgg; -using Company.Domain.WorkshopAgg; using Company.Domain.YearlySalaryAgg; using CompanyManagment.App.Contracts.Checkout; using CompanyManagment.App.Contracts.Contract; @@ -25,7214 +17,6877 @@ using CompanyManagment.App.Contracts.WorkingHoursItems; using CompanyManagment.App.Contracts.WorkingHoursTemp; using CompanyManagment.App.Contracts.Workshop; using CompanyManagment.App.Contracts.YearlySalary; -using CompanyManagment.EFCore.Migrations; using Microsoft.AspNetCore.Authorization; using Microsoft.AspNetCore.Mvc; -using Microsoft.AspNetCore.Mvc.Razor; using Microsoft.AspNetCore.Mvc.RazorPages; using Microsoft.AspNetCore.Mvc.Rendering; -using Microsoft.Extensions.Logging; -using PersianTools.Core; using Microsoft.AspNetCore.SignalR; +using PersianTools.Core; using ServiceHost.Hubs; -using static Microsoft.EntityFrameworkCore.DbLoggerCategory.Database; -namespace ServiceHost.Areas.Admin.Pages.Company.Checkouts +namespace ServiceHost.Areas.Admin.Pages.Company.Checkouts; + +[Authorize] +public class IndexModel : PageModel { - [Authorize] - public class IndexModel : PageModel - { - - public string Message { get; set; } - - public CheckoutSearchModel SearchModel; - - public List chekoutlist; - public List Contracts2; - public List EmployeeList; - public List EmployersList; - public List WorkshopList; - public List ComputingView; - public string WorkshopSearch = "false"; - public bool falseCheck { get; set; } - - - public List JobList; - public List WorkshopEmployer; - - public List PersonnelList; - - public SelectList Workshops; - public SelectList WorkshopsCode; - public SelectList Employees; - public SelectList Employers; - public string employeeFullName; - private string InterferenceMessage = string.Empty; - public List YearlyList; - private readonly IRollCallMandatoryApplication _rollCallMandatoryApplication; - private readonly ICheckoutApplication _checkoutApplication; - private readonly IContractApplication _contractApplication; - private readonly IWorkshopApplication _workshopApplication; - private readonly IEmployeeApplication _employeeApplication; - private readonly IEmployerApplication _employerApplication; - private readonly IYearlySalaryApplication _yearlySalaryApplication; - private readonly IYearlySalaryRepository _yearlySalaryRepository; - private readonly IContractRepository _contractRepository; - private readonly IWorkingHoursApplication _workingHoursApplication; - private readonly IWorkingHoursItemsApplication _workingHoursItemsApplication; - private readonly IAuthHelper _authHelper; - private readonly IWorkingHoursTempApplication _workingHoursTempApplication; - private readonly IHolidayItemRepository _holidayItemRepository; - private readonly ILeftWorkApplication _leftWorkApplication; - private readonly IPersonalContractingPartyApp _personalContractingPartyApp; - private readonly ILeaveApplication _leaveApplication; - private readonly IHubContext _hubContext; - private readonly IEmployeeComputeOptionsApplication _employeeComputeOptionsApplication; - - public IndexModel(IContractApplication contractApplication, IWorkshopApplication workshopApplication, - IEmployeeApplication employeeApplication, - IEmployerApplication employerApplication, - IYearlySalaryApplication yearlySalaryApplication, - IContractRepository contractRepository, - IWorkingHoursApplication workingHoursApplication, - IWorkingHoursItemsApplication workingHoursItemsApplication, - IAuthHelper authHelper, ICheckoutApplication checkoutApplication, - IYearlySalaryRepository yearlySalaryRepository, - IWorkingHoursTempApplication workingHoursTempApplication, - IHolidayItemRepository holidayItemRepository, ILeftWorkApplication leftWorkApplication, - IPersonalContractingPartyApp personalContractingPartyApp, - ILeaveApplication leaveApplication, IHubContext hubContext, - IEmployeeComputeOptionsApplication employeeComputeOptionsApplication, - IRollCallMandatoryApplication rollCallMandatoryApplication) - { - _contractApplication = contractApplication; - _workshopApplication = workshopApplication; - _employeeApplication = employeeApplication; - _employerApplication = employerApplication; - _yearlySalaryApplication = yearlySalaryApplication; - - _contractRepository = contractRepository; - _workingHoursApplication = workingHoursApplication; - _workingHoursItemsApplication = workingHoursItemsApplication; - _authHelper = authHelper; - _checkoutApplication = checkoutApplication; - _yearlySalaryRepository = yearlySalaryRepository; - _workingHoursTempApplication = workingHoursTempApplication; - _holidayItemRepository = holidayItemRepository; - _leftWorkApplication = leftWorkApplication; - _personalContractingPartyApp = personalContractingPartyApp; - _leaveApplication = leaveApplication; - _hubContext = hubContext; - _employeeComputeOptionsApplication = employeeComputeOptionsApplication; - _rollCallMandatoryApplication = rollCallMandatoryApplication; - - } - - - public async Task OnGet(CheckoutSearchModel searchModel) - { - if (searchModel.WorkshopId != 0 || searchModel.EmployeeId != 0) - { - WorkshopSearch = "true"; - } - - //EmployerList = _employerApplication.GetEmployers(); - //EmployeeList = _employeeApplication.GetEmployee(); - //WorkshopList = _workshopApplication.GetWorkshop(); - - - - //Employees = - // new SelectList(await _employeeApplication.GetEmployeeToList(), "Id", "EmployeeFullName"); - - //Employers = - // new SelectList(_employerApplication.GetEmployers(), "Id", "FullName"); - YearlyList = - _yearlySalaryApplication.GetYears(); - - //chekoutlist = await _checkoutApplication.Search(searchModel); - - } - - public async Task OnGetSearch(CheckoutSearchModel searchModel) - { - - var searchResult = await _checkoutApplication.Search(searchModel); - var result = new MainViewModel(); - result.MainList = searchResult; - if (searchModel.WorkshopId != 0 || searchModel.EmployeeId != 0) - { - result.WorkshopSearch = "true"; - } - else - { - result.WorkshopSearch = "false"; - } - - if (searchModel.EmployeeId > 0) - { - employeeFullName = searchResult.Select(x => x.EmployeeFullName).FirstOrDefault(); - } - else - { - employeeFullName = searchModel.EmployeeName; - } - return Partial("./MainSearch", result); - } - - - public IActionResult OnGetWorkshopMainList() - { - - var workshop = _workshopApplication.GetWorkshopAccount(); - - //Workshops = - // new SelectList(workshop, "Id", "WorkshopFullName"); - - //WorkshopsCode = - // new SelectList(workshop, "Id", "ArchiveCode"); - return new JsonResult(new - { - IsSuccedded = true, - mylist = workshop, - - - }); - } - - public async Task OnGetPersonelMainList(string searchEmployee) - { - - PersonnelList = await _employeeApplication.GetEmployeeToList(); - var person = PersonnelList.Where(x => x.EmployeeFullName.Contains(searchEmployee)).Take(200).ToList(); - person = person.OrderBy(x => x.EmployeeFullName.Length).ToList(); - - - - return new JsonResult(new - { - IsSuccedded = true, - mylist = person, - - - }); - } - - public IActionResult OnGetEmployerMainList() - { - - var employers = _employerApplication.GetEmployers(); - - - - return new JsonResult(new - { - IsSuccedded = true, - mylist = employers, - - - }); - } - public IActionResult OnPostLoadWorkshops(long id) - { - var result = _workshopApplication.GetWorkshopInfo(id); - return new JsonResult(new - { - IsSuccedded = true, - InsurancCode = result.InsuranceCode, - archiveCode = result.ArchiveCode, - state = result.State, - city = result.City, - address = result.Address, - adres = result.State + "-" + result.City + "-" + result.Address, - empList = result.EmpList, - employeeList = result.EmployeeList - - }); - } - public IActionResult OnGetCreate() - { - - - var command = new CreateCheckout() - { - UserId = _authHelper.CurrentAccountId(), - Yearlist = _yearlySalaryApplication.GetYears(), - - WorkshopNameSelectList = new SelectList(_workshopApplication.GetWorkshopAccount(), "Id", "WorkshopFullName"), - WorkshopCodeSelectList = new SelectList(_workshopApplication.GetWorkshopAccount(), "Id", "ArchiveCode") - }; - - - - - - return Partial("./Create", command); - } - - public async Task OnGetCorrectCheckout() - { - var result = await _workingHoursTempApplication.Correct(); - - var ContractsId = result.Select(x => x.Id).ToList(); - int i = 1; - int c = 1; - foreach (var item in ContractsId) - { - - var contract = _contractApplication.GetDetails(item); - - var workingHours = _workingHoursTempApplication.GetByContractIdConvertToShiftwork4(contract.Id); - if (workingHours.ShiftWorkTemp == "1") - { - var serchModel = new CheckoutSearchModel() - { - ContractNo = contract.ContractNo, - ContractId = item, - }; - var getChekouts = _checkoutApplication.SimpleSearch(serchModel); - if (getChekouts != null) - { - foreach (var checkout in getChekouts) - { - - var separation = checkout; - var removeCheckout = _checkoutApplication.DeleteCheckout(checkout.Id); - workingHours.ContractStartGr = separation.ContractStartGr; - workingHours.ContractEndGr = separation.ContractEndGr; - workingHours.ContarctStart = separation.ContractStart; - workingHours.ContractEnd = separation.ContractEnd; - workingHours.GetWorkDate = contract.GetWorkDate; - workingHours.GetWorkDateHide = contract.GetWorkDate; - workingHours.WorkshopId = contract.WorkshopIds; - workingHours.EmployeeId = contract.EmployeeId; - Thread.Sleep(100); - - - var mandatoryCompute = MandatoryHours(workingHours, 0); - - var employee = _employeeApplication.GetDetails(contract.EmployeeId); - var workshop = _workshopApplication.GetDetails(contract.WorkshopIds); - var officialHoliday = mandatoryCompute.OfficialHoliday; - var Friday = int.Parse(mandatoryCompute.NumberOfFriday); - var fridayStartToEnd = mandatoryCompute.FridayStartToEnd; - var totalHoursH = mandatoryCompute.TotalHoursesH; - var totalHoursM = mandatoryCompute.TotalHoursesM; - var dayliWage = mandatoryCompute.SalaryCompute.MoneyToDouble(); - var consumableItemDouble = mandatoryCompute.ConsumableItems.MoneyToDouble(); - var housingAllowanceDouble = mandatoryCompute.HousingAllowance.MoneyToDouble(); - var familyAllowanceDouble = mandatoryCompute.FamilyAllowance.MoneyToDouble(); - var overTimeWorking = _yearlySalaryRepository.GetOverTimeWorking(dayliWage, mandatoryCompute.OverTimeWorkH, mandatoryCompute.OverTimeWorkM); - var overNightWorking = _yearlySalaryRepository.GetOverNightWorking(dayliWage, mandatoryCompute.OverNightWorkH, mandatoryCompute.OverNightWorkM, mandatoryCompute.SumTime44, officialHoliday, Friday, separation.ContractStartGr, separation.ContractEndGr, totalHoursH, totalHoursM); - var leavePay = _yearlySalaryRepository.GetLeavePay(separation.ContractStartGr, separation.ContractEndGr, - dayliWage, consumableItemDouble, housingAllowanceDouble, familyAllowanceDouble, mandatoryCompute.SumTime44, officialHoliday, Friday, totalHoursH, totalHoursM); - - var command = new CreateCheckout() - { - EmployeeFullName = employee.EmployeeFullName, - FathersName = employee.FatherName, - NationalCode = employee.NationalCode, - DateOfBirth = employee.DateOfBirth, - EmployeeId = employee.Id, - - WorkshopName = workshop.WorkshopFullName, - WorkshopId = workshop.Id, - ArchiveCode = workshop.ArchiveCode, - - ContractNo = contract.ContractNo, - ContractStartGr = separation.ContractStartGr, - ContractEndGr = separation.ContractEndGr, - ContractStart = separation.ContractStart, - ContractEnd = separation.ContractEnd, - Month = separation.Month, - Year = separation.Year, - ContractId = contract.Id, - PersonnelCode = contract.PersonnelCode.ToString(), - - WorkingHoursId = workingHours.WorknigHoursId, - OvertimePay = overTimeWorking, - NightworkPay = overNightWorking, - ConsumableItems = mandatoryCompute.ConsumableItems, - HousingAllowance = mandatoryCompute.HousingAllowance, - FamilyAllowance = mandatoryCompute.FamilyAllowance, - DayliWage = mandatoryCompute.SalaryCompute, - LeavePay = leavePay, - - WorkingWeeklyTime = mandatoryCompute.SumTime44, - officialholiday = officialHoliday, - friday = Friday, - totalHoursH = totalHoursH, - totalHorsM = totalHoursM, - WeeklyTime = mandatoryCompute.weeklyTime, - ShiftPay = mandatoryCompute.ShiftPay, - Basic = mandatoryCompute.Basic, - FridayStarttoEnd = fridayStartToEnd, - TotalHolidaysAndNotH = mandatoryCompute.TotalHolidayAndNotH, - TotalHolidaysAndNotM = mandatoryCompute.TotalHolidayAndNotM, - DailFeeComplete = mandatoryCompute.DayliFeeComplete, - Signature = checkout.Signature - }; - _checkoutApplication.Create(command); - //if (checkout.Signature == "1") - //{ - // var search = new CheckoutSearchModel() - // { - // EmployeeId = checkout.EmployeeId, - // WorkshopId = checkout.WorkshopId, - // ContractStart = checkout.ContractStart, - // ContractEnd = checkout.ContractEnd, - // }; - // var checkoutId = _checkoutApplication.SimpleSearch(search).FirstOrDefault(); - // _checkoutApplication.Sign(checkoutId.Id); - //} - if (checkout.Signature == "1") - { - Console.WriteLine(c + "-" + i + "- finish checkout : " + contract.ContractNo + "Signature" + " . wID " + checkout.WorkshopId + " eID " + checkout.EmployeeId); - } - else - { - Console.WriteLine(c + "-" + i + "- finish checkout : " + contract.ContractNo); - } - - Thread.Sleep(30); - i++; - } - - _contractApplication.EditAgreement(item); - c++; - } - } - - - - - - } - Console.WriteLine("complete"); - return RedirectToPage("./Index"); - } - public IActionResult OnGetProgress() - { - string progress = HttpContext.Response.Headers["X-Progress"]; - - if (string.IsNullOrEmpty(progress)) - { - return new JsonResult(300); - } - - return new JsonResult(int.Parse(progress)); - } - public IActionResult OnPostCreate(List ContractsId, string ConvertYear, string ConvertMonth) - { - var currntAcc = _authHelper.CurrentAccountId(); - - - //IProgress progress = new Progress(value => { - - // // report progress to client - // Response.Headers.Add($"X-Progress-{Guid.NewGuid()}", value.ToString()); - //}); - //var watch = System.Diagnostics.Stopwatch.StartNew(); - if (ConvertYear == "0" && ConvertMonth == "0") - { - var today = DateTime.Now; - var FaToday = today.ToFarsi(); - var year = FaToday.Substring(0, 4); - var month = FaToday.Substring(5, 2); - - ConvertYear = year; - ConvertMonth = month; - - } - else if (ConvertYear == "0" || ConvertMonth == "0") - { - var opration2 = new OperationResult() - { - IsSuccedded = false, - Message = "لطفا ماه و سال را انتخاب کنید", - }; - return new JsonResult(opration2); - } - - ContractsId = ContractsId.Where(x => x != 0).ToList(); - int n = 1; - double maxNumber = Convert.ToDouble(ContractsId.Count()); - if (ContractsId.Count > 0) - { - //int i = 0; - foreach (var item in ContractsId) - { - - var contract = _contractApplication.GetDetails(item); - //var workingHours = _workingHoursApplication.GetByContractId(contract.Id); - var workingHours = _workingHoursTempApplication.GetByContractIdConvertToShiftwork4(contract.Id); - var separation = _contractApplication.contractSeparation(ConvertYear, ConvertMonth, - contract.ContractStartGr, contract.ContractEndGr, contract.EmployeeId, contract.WorkshopIds); - - if (separation.checker) - { - - workingHours.ContractStartGr = separation.ContractStartGr; - workingHours.ContractEndGr = separation.ContractEndGr; - workingHours.ContarctStart = separation.ContarctStart; - workingHours.ContractEnd = separation.ContractEnd; - workingHours.GetWorkDate = contract.GetWorkDate; - workingHours.GetWorkDateHide = contract.GetWorkDate; - workingHours.WorkshopId = contract.WorkshopIds; - workingHours.EmployeeId = contract.EmployeeId; - - var mandatoryCompute = new ComputingViewModel(); - - if (_rollCallMandatoryApplication.HasRollCallRecord(contract.EmployeeId, contract.WorkshopIds, - separation.ContractStartGr)) - { - mandatoryCompute = _rollCallMandatoryApplication.MandatoryCompute(contract.EmployeeId, contract.WorkshopIds, - separation.ContractStartGr,separation.ContractEndGr,workingHours,0); - - } - else - { - mandatoryCompute = MandatoryHours(workingHours, 0); - var hasLeave = _leaveApplication.LeavOnChekout(separation.ContractStartGr, - separation.ContractEndGr, contract.EmployeeId, contract.WorkshopIds); - if (hasLeave != null) - { - var LeaveCompute = MandatoryHours(workingHours, hasLeave.Id); - } + private readonly IAuthHelper _authHelper; + private readonly ICheckoutApplication _checkoutApplication; + private readonly IContractApplication _contractApplication; + private readonly IContractRepository _contractRepository; + private readonly IEmployeeApplication _employeeApplication; + private readonly IEmployeeComputeOptionsApplication _employeeComputeOptionsApplication; + private readonly IEmployerApplication _employerApplication; + private readonly IHolidayItemRepository _holidayItemRepository; + private readonly IHubContext _hubContext; + private readonly ILeaveApplication _leaveApplication; + private readonly ILeftWorkApplication _leftWorkApplication; + private readonly IPersonalContractingPartyApp _personalContractingPartyApp; + private readonly IRollCallMandatoryApplication _rollCallMandatoryApplication; + private readonly IWorkingHoursApplication _workingHoursApplication; + private readonly IWorkingHoursItemsApplication _workingHoursItemsApplication; + private readonly IWorkingHoursTempApplication _workingHoursTempApplication; + private readonly IWorkshopApplication _workshopApplication; + private readonly IYearlySalaryApplication _yearlySalaryApplication; + private readonly IYearlySalaryRepository _yearlySalaryRepository; + + public List chekoutlist; + public List ComputingView; + public List Contracts2; + public string employeeFullName; + public List EmployeeList; + public SelectList Employees; + public SelectList Employers; + public List EmployersList; + private string InterferenceMessage = string.Empty; + + + public List JobList; + + public List PersonnelList; + + public CheckoutSearchModel SearchModel; + public List WorkshopEmployer; + public List WorkshopList; + + public SelectList Workshops; + public SelectList WorkshopsCode; + public string WorkshopSearch = "false"; + public List YearlyList; + + public IndexModel(IContractApplication contractApplication, IWorkshopApplication workshopApplication, + IEmployeeApplication employeeApplication, + IEmployerApplication employerApplication, + IYearlySalaryApplication yearlySalaryApplication, + IContractRepository contractRepository, + IWorkingHoursApplication workingHoursApplication, + IWorkingHoursItemsApplication workingHoursItemsApplication, + IAuthHelper authHelper, ICheckoutApplication checkoutApplication, + IYearlySalaryRepository yearlySalaryRepository, + IWorkingHoursTempApplication workingHoursTempApplication, + IHolidayItemRepository holidayItemRepository, ILeftWorkApplication leftWorkApplication, + IPersonalContractingPartyApp personalContractingPartyApp, + ILeaveApplication leaveApplication, IHubContext hubContext, + IEmployeeComputeOptionsApplication employeeComputeOptionsApplication, + IRollCallMandatoryApplication rollCallMandatoryApplication) + { + _contractApplication = contractApplication; + _workshopApplication = workshopApplication; + _employeeApplication = employeeApplication; + _employerApplication = employerApplication; + _yearlySalaryApplication = yearlySalaryApplication; + + _contractRepository = contractRepository; + _workingHoursApplication = workingHoursApplication; + _workingHoursItemsApplication = workingHoursItemsApplication; + _authHelper = authHelper; + _checkoutApplication = checkoutApplication; + _yearlySalaryRepository = yearlySalaryRepository; + _workingHoursTempApplication = workingHoursTempApplication; + _holidayItemRepository = holidayItemRepository; + _leftWorkApplication = leftWorkApplication; + _personalContractingPartyApp = personalContractingPartyApp; + _leaveApplication = leaveApplication; + _hubContext = hubContext; + _employeeComputeOptionsApplication = employeeComputeOptionsApplication; + _rollCallMandatoryApplication = rollCallMandatoryApplication; + } + + public string Message { get; set; } + public bool falseCheck { get; set; } + + + public async Task OnGet(CheckoutSearchModel searchModel) + { + if (searchModel.WorkshopId != 0 || searchModel.EmployeeId != 0) WorkshopSearch = "true"; + + //EmployerList = _employerApplication.GetEmployers(); + //EmployeeList = _employeeApplication.GetEmployee(); + //WorkshopList = _workshopApplication.GetWorkshop(); + + + //Employees = + // new SelectList(await _employeeApplication.GetEmployeeToList(), "Id", "EmployeeFullName"); + + //Employers = + // new SelectList(_employerApplication.GetEmployers(), "Id", "FullName"); + YearlyList = + _yearlySalaryApplication.GetYears(); + + //chekoutlist = await _checkoutApplication.Search(searchModel); + } + + public async Task OnGetSearch(CheckoutSearchModel searchModel) + { + var searchResult = await _checkoutApplication.Search(searchModel); + var result = new MainViewModel(); + result.MainList = searchResult; + if (searchModel.WorkshopId != 0 || searchModel.EmployeeId != 0) + result.WorkshopSearch = "true"; + else + result.WorkshopSearch = "false"; + + if (searchModel.EmployeeId > 0) + employeeFullName = searchResult.Select(x => x.EmployeeFullName).FirstOrDefault(); + else + employeeFullName = searchModel.EmployeeName; + return Partial("./MainSearch", result); + } + + + public IActionResult OnGetWorkshopMainList() + { + var workshop = _workshopApplication.GetWorkshopAccount(); + + //Workshops = + // new SelectList(workshop, "Id", "WorkshopFullName"); + + //WorkshopsCode = + // new SelectList(workshop, "Id", "ArchiveCode"); + return new JsonResult(new + { + IsSuccedded = true, + mylist = workshop + }); + } + + public async Task OnGetPersonelMainList(string searchEmployee) + { + PersonnelList = await _employeeApplication.GetEmployeeToList(); + var person = PersonnelList.Where(x => x.EmployeeFullName.Contains(searchEmployee)).Take(200).ToList(); + person = person.OrderBy(x => x.EmployeeFullName.Length).ToList(); + + + return new JsonResult(new + { + IsSuccedded = true, + mylist = person + }); + } + + public IActionResult OnGetEmployerMainList() + { + var employers = _employerApplication.GetEmployers(); + + + return new JsonResult(new + { + IsSuccedded = true, + mylist = employers + }); + } + + public IActionResult OnPostLoadWorkshops(long id) + { + var result = _workshopApplication.GetWorkshopInfo(id); + return new JsonResult(new + { + IsSuccedded = true, + InsurancCode = result.InsuranceCode, + archiveCode = result.ArchiveCode, + state = result.State, + city = result.City, + address = result.Address, + adres = result.State + "-" + result.City + "-" + result.Address, + empList = result.EmpList, + employeeList = result.EmployeeList + }); + } + + public IActionResult OnGetCreate() + { + var command = new CreateCheckout + { + UserId = _authHelper.CurrentAccountId(), + Yearlist = _yearlySalaryApplication.GetYears(), + + WorkshopNameSelectList = + new SelectList(_workshopApplication.GetWorkshopAccount(), "Id", "WorkshopFullName"), + WorkshopCodeSelectList = new SelectList(_workshopApplication.GetWorkshopAccount(), "Id", "ArchiveCode") + }; + + + return Partial("./Create", command); + } + + public async Task OnGetCorrectCheckout() + { + var result = await _workingHoursTempApplication.Correct(); + + var ContractsId = result.Select(x => x.Id).ToList(); + var i = 1; + var c = 1; + foreach (var item in ContractsId) + { + var contract = _contractApplication.GetDetails(item); + + var workingHours = _workingHoursTempApplication.GetByContractIdConvertToShiftwork4(contract.Id); + if (workingHours.ShiftWorkTemp == "1") + { + var serchModel = new CheckoutSearchModel + { + ContractNo = contract.ContractNo, + ContractId = item + }; + var getChekouts = _checkoutApplication.SimpleSearch(serchModel); + if (getChekouts != null) + { + foreach (var checkout in getChekouts) + { + var separation = checkout; + var removeCheckout = _checkoutApplication.DeleteCheckout(checkout.Id); + workingHours.ContractStartGr = separation.ContractStartGr; + workingHours.ContractEndGr = separation.ContractEndGr; + workingHours.ContarctStart = separation.ContractStart; + workingHours.ContractEnd = separation.ContractEnd; + workingHours.GetWorkDate = contract.GetWorkDate; + workingHours.GetWorkDateHide = contract.GetWorkDate; + workingHours.WorkshopId = contract.WorkshopIds; + workingHours.EmployeeId = contract.EmployeeId; + Thread.Sleep(100); + + + var mandatoryCompute = MandatoryHours(workingHours, 0); + + var employee = _employeeApplication.GetDetails(contract.EmployeeId); + var workshop = _workshopApplication.GetDetails(contract.WorkshopIds); + var officialHoliday = mandatoryCompute.OfficialHoliday; + var Friday = int.Parse(mandatoryCompute.NumberOfFriday); + var fridayStartToEnd = mandatoryCompute.FridayStartToEnd; + var totalHoursH = mandatoryCompute.TotalHoursesH; + var totalHoursM = mandatoryCompute.TotalHoursesM; + var dayliWage = mandatoryCompute.SalaryCompute.MoneyToDouble(); + var consumableItemDouble = mandatoryCompute.ConsumableItems.MoneyToDouble(); + var housingAllowanceDouble = mandatoryCompute.HousingAllowance.MoneyToDouble(); + var familyAllowanceDouble = mandatoryCompute.FamilyAllowance.MoneyToDouble(); + var overTimeWorking = _yearlySalaryRepository.GetOverTimeWorking(dayliWage, + mandatoryCompute.OverTimeWorkH, mandatoryCompute.OverTimeWorkM); + var overNightWorking = _yearlySalaryRepository.GetOverNightWorking(dayliWage, + mandatoryCompute.OverNightWorkH, mandatoryCompute.OverNightWorkM, + mandatoryCompute.SumTime44, officialHoliday, Friday, separation.ContractStartGr, + separation.ContractEndGr, totalHoursH, totalHoursM); + var leavePay = _yearlySalaryRepository.GetLeavePay(separation.ContractStartGr, + separation.ContractEndGr, + dayliWage, consumableItemDouble, housingAllowanceDouble, familyAllowanceDouble, + mandatoryCompute.SumTime44, officialHoliday, Friday, totalHoursH, totalHoursM); + + var command = new CreateCheckout + { + EmployeeFullName = employee.EmployeeFullName, + FathersName = employee.FatherName, + NationalCode = employee.NationalCode, + DateOfBirth = employee.DateOfBirth, + EmployeeId = employee.Id, + + WorkshopName = workshop.WorkshopFullName, + WorkshopId = workshop.Id, + ArchiveCode = workshop.ArchiveCode, + + ContractNo = contract.ContractNo, + ContractStartGr = separation.ContractStartGr, + ContractEndGr = separation.ContractEndGr, + ContractStart = separation.ContractStart, + ContractEnd = separation.ContractEnd, + Month = separation.Month, + Year = separation.Year, + ContractId = contract.Id, + PersonnelCode = contract.PersonnelCode.ToString(), + + WorkingHoursId = workingHours.WorknigHoursId, + OvertimePay = overTimeWorking, + NightworkPay = overNightWorking, + ConsumableItems = mandatoryCompute.ConsumableItems, + HousingAllowance = mandatoryCompute.HousingAllowance, + FamilyAllowance = mandatoryCompute.FamilyAllowance, + DayliWage = mandatoryCompute.SalaryCompute, + LeavePay = leavePay, + + WorkingWeeklyTime = mandatoryCompute.SumTime44, + officialholiday = officialHoliday, + friday = Friday, + totalHoursH = totalHoursH, + totalHorsM = totalHoursM, + WeeklyTime = mandatoryCompute.weeklyTime, + ShiftPay = mandatoryCompute.ShiftPay, + Basic = mandatoryCompute.Basic, + FridayStarttoEnd = fridayStartToEnd, + TotalHolidaysAndNotH = mandatoryCompute.TotalHolidayAndNotH, + TotalHolidaysAndNotM = mandatoryCompute.TotalHolidayAndNotM, + DailFeeComplete = mandatoryCompute.DayliFeeComplete, + Signature = checkout.Signature + }; + _checkoutApplication.Create(command); + //if (checkout.Signature == "1") + //{ + // var search = new CheckoutSearchModel() + // { + // EmployeeId = checkout.EmployeeId, + // WorkshopId = checkout.WorkshopId, + // ContractStart = checkout.ContractStart, + // ContractEnd = checkout.ContractEnd, + // }; + // var checkoutId = _checkoutApplication.SimpleSearch(search).FirstOrDefault(); + // _checkoutApplication.Sign(checkoutId.Id); + //} + if (checkout.Signature == "1") + Console.WriteLine(c + "-" + i + "- finish checkout : " + contract.ContractNo + "Signature" + + " . wID " + checkout.WorkshopId + " eID " + checkout.EmployeeId); + else + Console.WriteLine(c + "-" + i + "- finish checkout : " + contract.ContractNo); + + Thread.Sleep(30); + i++; + } + + _contractApplication.EditAgreement(item); + c++; + } + } + } + + Console.WriteLine("complete"); + return RedirectToPage("./Index"); + } + + public IActionResult OnGetProgress() + { + string progress = HttpContext.Response.Headers["X-Progress"]; + + if (string.IsNullOrEmpty(progress)) return new JsonResult(300); + + return new JsonResult(int.Parse(progress)); + } + + public IActionResult OnPostCreate(List ContractsId, string ConvertYear, string ConvertMonth) + { + var currntAcc = _authHelper.CurrentAccountId(); + + + //IProgress progress = new Progress(value => { + + // // report progress to client + // Response.Headers.Add($"X-Progress-{Guid.NewGuid()}", value.ToString()); + //}); + //var watch = System.Diagnostics.Stopwatch.StartNew(); + if (ConvertYear == "0" && ConvertMonth == "0") + { + var today = DateTime.Now; + var FaToday = today.ToFarsi(); + var year = FaToday.Substring(0, 4); + var month = FaToday.Substring(5, 2); + + ConvertYear = year; + ConvertMonth = month; + } + else if (ConvertYear == "0" || ConvertMonth == "0") + { + var opration2 = new OperationResult + { + IsSuccedded = false, + Message = "لطفا ماه و سال را انتخاب کنید" + }; + return new JsonResult(opration2); + } + + ContractsId = ContractsId.Where(x => x != 0).ToList(); + var n = 1; + var maxNumber = Convert.ToDouble(ContractsId.Count()); + if (ContractsId.Count > 0) + { + //int i = 0; + foreach (var item in ContractsId) + { + var contract = _contractApplication.GetDetails(item); + //var workingHours = _workingHoursApplication.GetByContractId(contract.Id); + var workingHours = _workingHoursTempApplication.GetByContractIdConvertToShiftwork4(contract.Id); + var separation = _contractApplication.contractSeparation(ConvertYear, ConvertMonth, + contract.ContractStartGr, contract.ContractEndGr, contract.EmployeeId, contract.WorkshopIds); + + if (separation.checker) + { + workingHours.ContractStartGr = separation.ContractStartGr; + workingHours.ContractEndGr = separation.ContractEndGr; + workingHours.ContarctStart = separation.ContarctStart; + workingHours.ContractEnd = separation.ContractEnd; + workingHours.GetWorkDate = contract.GetWorkDate; + workingHours.GetWorkDateHide = contract.GetWorkDate; + workingHours.WorkshopId = contract.WorkshopIds; + workingHours.EmployeeId = contract.EmployeeId; + + var mandatoryCompute = new ComputingViewModel(); + + if (_rollCallMandatoryApplication.HasRollCallRecord(contract.EmployeeId, contract.WorkshopIds, + separation.ContractStartGr)) + { + mandatoryCompute = _rollCallMandatoryApplication.MandatoryCompute(contract.EmployeeId, + contract.WorkshopIds, + separation.ContractStartGr, separation.ContractEndGr, workingHours, 0); + } + else + { + mandatoryCompute = MandatoryHours(workingHours, 0); + var hasLeave = _leaveApplication.LeavOnChekout(separation.ContractStartGr, + separation.ContractEndGr, contract.EmployeeId, contract.WorkshopIds); + if (hasLeave != null) + { + var LeaveCompute = MandatoryHours(workingHours, hasLeave.Id); + } + } + + + var employee = _employeeApplication.GetDetails(contract.EmployeeId); + var workshop = _workshopApplication.GetDetails(contract.WorkshopIds); + var officialHoliday = mandatoryCompute.OfficialHoliday; + var Friday = int.Parse(mandatoryCompute.NumberOfFriday); + var fridayStartToEnd = mandatoryCompute.FridayStartToEnd; + + var totalHoursH = mandatoryCompute.TotalHoursesH; + var totalHoursM = mandatoryCompute.TotalHoursesM; + var dayliWage = mandatoryCompute.SalaryCompute.MoneyToDouble(); + var consumableItemDouble = mandatoryCompute.ConsumableItems.MoneyToDouble(); + var housingAllowanceDouble = mandatoryCompute.HousingAllowance.MoneyToDouble(); + var familyAllowanceDouble = mandatoryCompute.FamilyAllowance.MoneyToDouble(); + var marriedAllowanceDouble = mandatoryCompute.MarriedAllowance.MoneyToDouble(); + var overTimeWorking = _yearlySalaryRepository.GetOverTimeWorking(dayliWage, + mandatoryCompute.OverTimeWorkH, mandatoryCompute.OverTimeWorkM); + var overNightWorking = _yearlySalaryRepository.GetOverNightWorking(dayliWage, + mandatoryCompute.OverNightWorkH, mandatoryCompute.OverNightWorkM, mandatoryCompute.SumTime44, + officialHoliday, Friday, separation.ContractStartGr, separation.ContractEndGr, totalHoursH, + totalHoursM); + //مزد مرخصی + //var leavePay = _yearlySalaryRepository.GetLeavePay(separation.ContractStartGr, separation.ContractEndGr, + // dayliWage, consumableItemDouble, housingAllowanceDouble, familyAllowanceDouble, mandatoryCompute.SumTime44, officialHoliday, Friday, totalHoursH, totalHoursM); + + //manual + //if ((contract.EmployeeId == 7003 && contract.WorkshopIds == 216) || + // (contract.EmployeeId == 7106 && contract.WorkshopIds == 216)) + //{ + // workshop.YearsOptions = "OnEndOfContract"; + // workshop.BonusesOptions = "OnEndOfContract"; + // workshop.ComputeOptions = "OnEndOfContract"; + //} + + var employeeOptions = + _employeeComputeOptionsApplication.GetAllByWorkshopId(contract.WorkshopIds); + var getYearsOption = employeeOptions.FirstOrDefault(x => x.EmployeeId == contract.EmployeeId); + var yearsOption = getYearsOption == null ? workshop.YearsOptions : getYearsOption.YearsOptions; + var getBonusesOption = employeeOptions.FirstOrDefault(x => x.EmployeeId == contract.EmployeeId); + var bonusesOption = getBonusesOption == null + ? workshop.BonusesOptions + : getBonusesOption.BonusesOptions; + var getComputeOption = employeeOptions.FirstOrDefault(x => x.EmployeeId == contract.EmployeeId); + var computeOption = getComputeOption == null + ? workshop.ComputeOptions + : getComputeOption.ComputeOptions; + //سنوات + //var leftNull = "1500/01/01"; + //var leftNullGr = leftNull.ToGeorgianDateTime(); + //var leftWorkDateGr = new DateTime(2121,3,21); + //if (separation.LeftWorkDate < leftNullGr) + //{ + // leftWorkDateGr = separation.LeftWorkDate.AddDays(-1); + //} + //else + //{ + // leftWorkDateGr = separation.LeftWorkDate; + //} + + var yearsPay = _yearlySalaryRepository.Years(separation.ContractStartGr, separation.LeftWorkDate, + separation.ContractEndGr, + dayliWage, yearsOption, separation.HasLeft, separation.StartWorkDate, contract.ContractStartGr, + contract.ContractEndGr, contract.WorkshopIds, contract.EmployeeId, workshop.IsOldContract); + //عیدی + var bunosesPay = _yearlySalaryRepository.Bunoses(separation.ContarctStart, separation.LeftWorkDate, + separation.ContractStartGr, separation.ContractEndGr, + dayliWage, bonusesOption, separation.HasLeft, separation.StartWorkDate, + contract.ContractStartGr, + contract.ContractEndGr, contract.WorkshopIds, contract.EmployeeId, workshop.IsOldContract); + //مزد مرخصی جدید + var leavePayNew = _yearlySalaryRepository.LeavePay(separation.ContarctStart, + separation.LeftWorkDate, separation.ContractStartGr, separation.ContractEndGr, + dayliWage, computeOption, separation.HasLeft, separation.StartWorkDate, + contract.ContractStartGr, + contract.ContractEndGr, contract.WorkshopIds, contract.EmployeeId, fridayStartToEnd, + officialHoliday, totalHoursH, totalHoursM, consumableItemDouble, housingAllowanceDouble, + familyAllowanceDouble, marriedAllowanceDouble, workshop.IsOldContract); + var command = new CreateCheckout + { + EmployeeFullName = employee.EmployeeFullName, + FathersName = employee.FatherName, + NationalCode = employee.NationalCode, + DateOfBirth = employee.DateOfBirth, + EmployeeId = employee.Id, + + WorkshopName = workshop.WorkshopFullName, + WorkshopId = workshop.Id, + ArchiveCode = workshop.ArchiveCode, + + ContractNo = contract.ContractNo, + ContractStartGr = separation.ContractStartGr, + ContractEndGr = separation.ContractEndGr, + ContractStart = separation.ContarctStart, + ContractEnd = separation.ContractEnd, + Month = ConvertMonth, + Year = ConvertYear, + ContractId = contract.Id, + PersonnelCode = contract.PersonnelCode.ToString(), + + WorkingHoursId = workingHours.WorknigHoursId, + //فوق العاده اضافه کاری + OvertimePay = overTimeWorking, + //فوق العاده شب کاری + NightworkPay = overNightWorking, + //کمک هزینه اقلام + ConsumableItems = mandatoryCompute.ConsumableItems, + //کمک هزینه مسکن + HousingAllowance = mandatoryCompute.HousingAllowance, + // کمک هزینه عائله مندی + FamilyAllowance = mandatoryCompute.FamilyAllowance, + //دستمزد روزانه + DayliWage = mandatoryCompute.SalaryCompute, + //مزد مرخصی + LeavePay = leavePayNew.LeavPay, + //مدت طلب مرخصی + CreditLeaves = leavePayNew.CreditLeaves, + //حق تاهل + MarriedAllowance = mandatoryCompute.MarriedAllowance, + //سنوات + YearsPay = yearsPay, + //عیدی و پادادش + BonusesPay = bunosesPay, + //مدت غیبت + AbsencePeriod = leavePayNew.AbsencePeriod, + //کسری غیبت + AbsenceDeduction = leavePayNew.AbsenceDeduction, + //وضعیت تصفیه مزد مرخصی + LeaveCheckout = leavePayNew.LeaveCheckout, + //میانگین ساعت کار در روز + AverageHoursPerDay = leavePayNew.AverageHoursPerDay, + WorkingWeeklyTime = mandatoryCompute.SumTime44, + officialholiday = officialHoliday, + friday = Friday, + totalHoursH = totalHoursH, + totalHorsM = totalHoursM, + WeeklyTime = mandatoryCompute.weeklyTime, + // فوق العاده نوبت کاری + ShiftPay = mandatoryCompute.ShiftPay, + //سنوات--> + Basic = mandatoryCompute.Basic, + FridayStarttoEnd = fridayStartToEnd, + TotalHolidaysAndNotH = mandatoryCompute.TotalHolidayAndNotH, + TotalHolidaysAndNotM = mandatoryCompute.TotalHolidayAndNotM, + DailFeeComplete = mandatoryCompute.DayliFeeComplete + }; + _checkoutApplication.Create(command); + + //var workshopId = $"{contract.WorkshopIds}"; + //var userId = $"{currntAcc}"; + //var sumId = userId + workshopId; + //var groupId = Convert.ToInt64(sumId); + var percent = n / maxNumber * 100; + _hubContext.Clients.Group(CheckoutHub.GetGroupName(currntAcc)) + .SendAsync("showStatus", (int)percent); + + n += 1; + + //progress.Report((i + 1) * 100 / ContractsId.Count); + //i += 1; + } + } + } + else + { + var noSelect = new OperationResult + { + IsSuccedded = false, + Message = "هیچ قراردادی برای تصفیه انتخاب نشده است" + }; + return new JsonResult(noSelect); + } + + var opration = new OperationResult + { + IsSuccedded = true, + Message = "عملیات با موفقیت انجام شد" + }; + //Console.WriteLine(watch.Elapsed); + return new JsonResult(opration); + } + + public async Task OnGetLoadContracts(long WorkshopId, string Year, string Month, + string ContractStart, string ContractEnd, long EmployeeId) + { + var today = DateTime.Now; + var GrogorianEnd = new DateTime(); + var GrogorianStart = new DateTime(); + //var GrogorianThisMonthStart2 = new DateTime(); + //var GrogorianPreviusMonthStart2 = new DateTime(); + //var ConvertContractStartGr = new DateTime(); + //var ConvertContractEndGr = new DateTime(); + //var ConvertStartFarsi = string.Empty; + //var nextmonthEndfarsi = string.Empty; + var faToday = string.Empty; + var faToday2 = string.Empty; + var syear = 0; + var smonth = 0; + var eyear = 0; + var emonth = 0; + var ConvertStart = new DateTime(); + var ConvertEnd = new DateTime(); + if (string.IsNullOrWhiteSpace(ContractStart) && string.IsNullOrWhiteSpace(ContractEnd)) + { + if (Month == "0" && Year == "0") + faToday = today.ToFarsi(); + else + faToday = $"{Year}/{Month}/01"; + + syear = Convert.ToInt32(faToday.Substring(0, 4)); + smonth = Convert.ToInt32(faToday.Substring(5, 2)); + + var PersianStart = new PersianDateTime(syear, smonth, 01); + GrogorianStart = PersianStart.ToGregorianDateTime(); + var PersianEndFinde = new PersianDateTime(syear, smonth, 01); + PersianEndFinde = PersianEndFinde.AddMonths(1); + PersianEndFinde = PersianEndFinde.AddDays(-1); + GrogorianEnd = PersianEndFinde.ToGregorianDateTime(); + + ContractStart = GrogorianStart.ToFarsi(); + ContractEnd = GrogorianEnd.ToFarsi(); + + + //nextMonthStartFarsi = GrogorianThisMonthStart.ToFarsi(); + //nextmonthEndfarsi = nextMonthStartFarsi.FindeEndOfMonth(); + } + + var a = new ContractSearchModel + { + WorkshopIds = WorkshopId, + + ContarctStart = ContractStart, + ContractEnd = ContractEnd, + EmployeeId = EmployeeId + }; + + + var ContractSearch = _contractApplication.SearchForCheckout(a); + var ContractListNew = new List(); + foreach (var item in ContractSearch) + { + var separation = _contractApplication.contractSeparation(Year, Month, + item.ContractStartGr, item.ContractEndGr, item.EmployeeId, item.WorkshopIds); + //if (EmployeeId == 41256) //نوشین عینی فرد + //{ + // separation.ContarctStart = item.ContarctStart; + // separation.ContractEnd = item.ContractEnd; + //} + var search = new CheckoutSearchModel + { + ContractNo = item.ContractNo, + ContractId = item.Id, + ContractStart = separation.ContarctStart, + ContractEnd = separation.ContractEnd + }; + var checkedCHeckout = await _checkoutApplication.Search(search); + + if (checkedCHeckout.Count > 0) + { + item.RedColor = true; + item.Extension = false; + //x.ContractStartGr <= start && x.ContractEndGr >= endd || start <= x.ContractStartGr && endd > x.ContractStartGr || endd >= x.ContractEndGr && start < x.ContractEndGr + if (item.ContractStartGr < GrogorianStart || item.ContractEndGr > GrogorianEnd) + item.LaterThanEnd = true; + + item.MoreThanOneMonth = true; + } + else + { + if (item.ContractStartGr < GrogorianStart || item.ContractEndGr > GrogorianEnd) + { + item.LaterThanEnd = true; + item.Extension = true; + item.RedColor = false; + } + else + { + item.RedColor = false; + item.Extension = true; + } + } + + + ContractListNew.Add(item); + } + + var command2 = new CreateCheckout + { + Contracts = ContractListNew + }; + return Partial("./alert", command2); + } + + public IActionResult OnGetExtension() + { + var today = DateTime.Now; + var faToday = string.Empty; + + + faToday = today.ToFarsi(); + var syear = Convert.ToInt32(faToday.Substring(0, 4)); + var smonth = Convert.ToInt32(faToday.Substring(5, 2)); + var PersianStartMonth = new PersianDateTime(syear, smonth, 01); + var year = PersianStartMonth.Year.ToString(); + var Getmonth = PersianStartMonth.ToString(); + var month = Getmonth.Substring(5, 2); + + var ConvertStartPersian = PersianStartMonth.AddMonths(1); + var convertYear = ConvertStartPersian.Year.ToString(); + var GetConvertMonth = ConvertStartPersian.ToString(); + var convertMonth = GetConvertMonth.Substring(5, 2); + + + var command = new ExtensionViewModel + { + Workshops = _workshopApplication.GetWorkshopAccount(), + + Employees = _employeeApplication.GetEmployee(), + + Employers = _employerApplication.GetEmployers(), + + Yearlist = _yearlySalaryApplication.GetYears(), + + Year = year, + Month = month, + ConvertYear = convertYear, + ConvertMonth = convertMonth + }; + return Partial("./Extension", command); + } + + + public IActionResult OnPostExtension3(string ConvertMonth, string ConvertYear, string ContarctStart, + string ContractEnd, List ContractsId, + string ConvertContractStart, string ConvertContractEnd) + { + var today = DateTime.Now; + var faToday2 = string.Empty; + var CStart = string.Empty; + var CEnd = string.Empty; + var GrogorianThisMonthStart2 = new DateTime(); + + + var syear2 = 0; + var smonth2 = 0; + if (string.IsNullOrWhiteSpace(ConvertContractStart) && string.IsNullOrWhiteSpace(ConvertContractEnd)) + { + if (ConvertMonth == "0" && ConvertYear == "0") + { + today = today.AddMonths(1); + faToday2 = today.ToFarsi(); + } + else + { + faToday2 = $"{ConvertYear}/{ConvertMonth}/01"; + } + + syear2 = Convert.ToInt32(faToday2.Substring(0, 4)); + smonth2 = Convert.ToInt32(faToday2.Substring(5, 2)); + var PersianStartMonth2 = new PersianDateTime(syear2, smonth2, 01); + + GrogorianThisMonthStart2 = PersianStartMonth2.ToGregorianDateTime(); + + + CStart = GrogorianThisMonthStart2.ToFarsi(); + CEnd = CStart.FindeEndOfMonth(); + } + else + { + CStart = ConvertContractStart; + CEnd = ConvertContractEnd; + } + + + var step3 = _workingHoursItemsApplication.GetWorkingHoursItems(); + + + var op = new OperationResult(); + var contList = new List(); + var ContractIdList = ContractsId; + ContractIdList = ContractIdList.Where(x => x != 0).ToList(); + if (ContractIdList.Count > 0) + { + foreach (var item in ContractIdList) + { + var step1 = _contractApplication.GetDetails(item); + var step2 = _workingHoursApplication.GetByContractId(item); + + var step4 = step3.Where(x => x.WorkingHoursId == step2.Id).ToList(); + var RestTime = step4.Where(x => x.DayOfWork == "0").Select(x => x.RestTime).SingleOrDefault(); + var RestTimeYekshanbeh = + step4.Where(x => x.DayOfWork == "1").Select(x => x.RestTime).SingleOrDefault(); + var RestTimeDoshanbeh = + step4.Where(x => x.DayOfWork == "2").Select(x => x.RestTime).SingleOrDefault(); + var RestTimeSeshanbeh = + step4.Where(x => x.DayOfWork == "3").Select(x => x.RestTime).SingleOrDefault(); + var RestTimeCheharshanbeh = + step4.Where(x => x.DayOfWork == "4").Select(x => x.RestTime).SingleOrDefault(); + var RestTimePanjshanbeh = + step4.Where(x => x.DayOfWork == "5").Select(x => x.RestTime).SingleOrDefault(); + var RestTimeJomeh = step4.Where(x => x.DayOfWork == "6").Select(x => x.RestTime).SingleOrDefault(); + + var SingleShift1 = step4.Where(x => x.DayOfWork == "0").Select(x => x.Start1).SingleOrDefault(); + var SingleShift2 = step4.Where(x => x.DayOfWork == "0").Select(x => x.End1).SingleOrDefault(); + var SingleShift1Yekshanbeh = + step4.Where(x => x.DayOfWork == "1").Select(x => x.Start1).SingleOrDefault(); + var SingleShift2Yekshanbeh = step4.Where(x => x.DayOfWork == "1").Select(x => x.End1).SingleOrDefault(); + var SingleShift1Doshanbeh = + step4.Where(x => x.DayOfWork == "2").Select(x => x.Start1).SingleOrDefault(); + var SingleShift2Doshanbeh = step4.Where(x => x.DayOfWork == "2").Select(x => x.End1).SingleOrDefault(); + var SingleShift1Seshanbeh = + step4.Where(x => x.DayOfWork == "3").Select(x => x.Start1).SingleOrDefault(); + var SingleShift2Seshanbeh = step4.Where(x => x.DayOfWork == "3").Select(x => x.End1).SingleOrDefault(); + var SingleShift1Cheharshanbeh = + step4.Where(x => x.DayOfWork == "4").Select(x => x.Start1).SingleOrDefault(); + var SingleShift2Cheharshanbeh = + step4.Where(x => x.DayOfWork == "4").Select(x => x.End1).SingleOrDefault(); + var SingleShift1Panjshanbeh = + step4.Where(x => x.DayOfWork == "5").Select(x => x.Start1).SingleOrDefault(); + var SingleShift2Panjshanbeh = + step4.Where(x => x.DayOfWork == "5").Select(x => x.End1).SingleOrDefault(); + var SingleShift1Jomeh = step4.Where(x => x.DayOfWork == "6").Select(x => x.Start1).SingleOrDefault(); + var SingleShift2Jomeh = step4.Where(x => x.DayOfWork == "6").Select(x => x.End1).SingleOrDefault(); + + + var TowShifts1 = step4.Where(x => x.DayOfWork == "0").Select(x => x.Start2).SingleOrDefault(); + var TowShifts2 = step4.Where(x => x.DayOfWork == "0").Select(x => x.End2).SingleOrDefault(); + var TowShifts1Yekshanbeh = step4.Where(x => x.DayOfWork == "1").Select(x => x.Start2).SingleOrDefault(); + var TowShifts2Yekshanbeh = step4.Where(x => x.DayOfWork == "1").Select(x => x.End2).SingleOrDefault(); + var TowShifts1Doshanbeh = step4.Where(x => x.DayOfWork == "2").Select(x => x.Start2).SingleOrDefault(); + var TowShifts2Doshanbeh = step4.Where(x => x.DayOfWork == "2").Select(x => x.End2).SingleOrDefault(); + var TowShifts1Seshanbeh = step4.Where(x => x.DayOfWork == "3").Select(x => x.Start2).SingleOrDefault(); + var TowShifts2Seshanbeh = step4.Where(x => x.DayOfWork == "3").Select(x => x.End2).SingleOrDefault(); + var TowShifts1Cheharshanbeh = + step4.Where(x => x.DayOfWork == "4").Select(x => x.Start1).SingleOrDefault(); + var TowShifts2Cheharshanbeh = + step4.Where(x => x.DayOfWork == "4").Select(x => x.End2).SingleOrDefault(); + var TowShifts1Panjshanbeh = + step4.Where(x => x.DayOfWork == "5").Select(x => x.Start2).SingleOrDefault(); + var TowShifts2Panjshanbeh = step4.Where(x => x.DayOfWork == "5").Select(x => x.End2).SingleOrDefault(); + var TowShifts1Jomeh = step4.Where(x => x.DayOfWork == "6").Select(x => x.Start2).SingleOrDefault(); + var TowShifts2Jomeh = step4.Where(x => x.DayOfWork == "6").Select(x => x.End2).SingleOrDefault(); + + var Start1224 = step4.Where(x => x.DayOfWork == "7").Select(x => x.ComplexStart).SingleOrDefault(); + var End1224 = step4.Where(x => x.DayOfWork == "7").Select(x => x.ComplexEnd).SingleOrDefault(); + var Start1236 = step4.Where(x => x.DayOfWork == "7").Select(x => x.ComplexStart).SingleOrDefault(); + var End1236 = step4.Where(x => x.DayOfWork == "7").Select(x => x.ComplexEnd).SingleOrDefault(); + var Start2424 = step4.Where(x => x.DayOfWork == "7").Select(x => x.ComplexStart).SingleOrDefault(); + var End2424 = step4.Where(x => x.DayOfWork == "7").Select(x => x.ComplexEnd).SingleOrDefault(); + var Start2448 = step4.Where(x => x.DayOfWork == "7").Select(x => x.ComplexStart).SingleOrDefault(); + var End2448 = step4.Where(x => x.DayOfWork == "7").Select(x => x.ComplexEnd).SingleOrDefault(); + + var computing = new CreateContract + { + ShiftWork = step2.ShiftWork, + RestTime = RestTime, + RestTimeYekshanbeh = RestTimeYekshanbeh, + RestTimeDoshanbeh = RestTimeDoshanbeh, + RestTimeSeshanbeh = RestTimeSeshanbeh, + RestTimeCheharshanbeh = RestTimeCheharshanbeh, + RestTimePanjshanbeh = RestTimePanjshanbeh, + RestTimeJomeh = RestTimeJomeh, + + SingleShift1 = SingleShift1, + SingleShift2 = SingleShift2, + SingleShift1Yekshanbeh = SingleShift1Yekshanbeh, + SingleShift2Yekshanbeh = SingleShift2Yekshanbeh, + SingleShift1Doshanbeh = SingleShift1Doshanbeh, + SingleShift2Doshanbeh = SingleShift2Doshanbeh, + SingleShift1Seshanbeh = SingleShift1Seshanbeh, + SingleShift2Seshanbeh = SingleShift2Seshanbeh, + SingleShift1Cheharshanbeh = SingleShift1Cheharshanbeh, + SingleShift2Cheharshanbeh = SingleShift2Cheharshanbeh, + SingleShift1Panjshanbeh = SingleShift1Panjshanbeh, + SingleShift2Panjshanbeh = SingleShift2Panjshanbeh, + SingleShift1Jomeh = SingleShift1Jomeh, + SingleShift2Jomeh = SingleShift2Jomeh, + + + TowShifts1 = TowShifts1, + TowShifts2 = TowShifts2, + TowShifts1Yekshanbeh = TowShifts1Yekshanbeh, + TowShifts2Yekshanbeh = TowShifts2Yekshanbeh, + TowShifts1Doshanbeh = TowShifts1Doshanbeh, + TowShifts2Doshanbeh = TowShifts2Doshanbeh, + TowShifts1Seshanbeh = TowShifts1Seshanbeh, + TowShifts2Seshanbeh = TowShifts2Seshanbeh, + TowShifts1Cheharshanbeh = TowShifts1Cheharshanbeh, + TowShifts2Cheharshanbeh = TowShifts2Cheharshanbeh, + TowShifts1Panjshanbeh = TowShifts1Panjshanbeh, + TowShifts2Panjshanbeh = TowShifts2Panjshanbeh, + TowShifts1Jomeh = TowShifts1Jomeh, + TowShifts2Jomeh = TowShifts2Jomeh, + + Start1224 = Start1224, + End1224 = End1224, + Start1236 = Start1236, + End1236 = End1236, + Start2424 = Start2424, + End2424 = End2424, + Start2448 = Start2448, + End2448 = End2448, + EmployeeId = step1.EmployeeId, + ContarctStart = CStart, + ContractEnd = CEnd, + GetWorkDateHide = step1.GetWorkDate + }; + var step5 = _contractApplication.MandatoryHours(computing); + var workingDays = string.Empty; + if (step5.NumberOfWorkingDays == "0") + workingDays = step5.ComplexNumberOfWorkingDays; + else + workingDays = step5.NumberOfWorkingDays; + + + var createNew = new CreateContract + { + EmployeeId = step1.EmployeeId, + EmployerId = step1.EmployerId, + WorkshopIds = step1.WorkshopIds, + GetWorkDate = step1.GetWorkDate, + SetContractDate = CStart, + ArchiveCode = step1.ArchiveCode, + ContarctStart = CStart, + ContractEnd = CEnd, + YearlySalaryId = step1.YearlySalaryId, + ConsumableItems = step5.ConsumableItems, + HousingAllowance = step5.HousingAllowance, + DayliWage = step5.SalaryCompute, + FamilyAllowance = step5.FamilyAllowance, + WeeklyWorkingTime = step5.SumTime44, + WorkingHoursWeekly = step5.SumTime44, + JobType = step1.JobType, + JobTypeId = step1.JobTypeId, + ContractType = step1.ContractType, + WorkshopAddress1 = step1.WorkshopAddress1, + WorkshopAddress2 = step1.WorkshopAddress2, + AgreementSalary = step1.AgreementSalary, + ContractPeriod = step1.ContractPeriod, + + ShiftWork = step2.ShiftWork, + RestTime = RestTime, + RestTimeYekshanbeh = RestTimeYekshanbeh, + RestTimeDoshanbeh = RestTimeDoshanbeh, + RestTimeSeshanbeh = RestTimeSeshanbeh, + RestTimeCheharshanbeh = RestTimeCheharshanbeh, + RestTimePanjshanbeh = RestTimePanjshanbeh, + RestTimeJomeh = RestTimeJomeh, + + SingleShift1 = SingleShift1, + SingleShift2 = SingleShift2, + SingleShift1Yekshanbeh = SingleShift1Yekshanbeh, + SingleShift2Yekshanbeh = SingleShift2Yekshanbeh, + SingleShift1Doshanbeh = SingleShift1Doshanbeh, + SingleShift2Doshanbeh = SingleShift2Doshanbeh, + SingleShift1Seshanbeh = SingleShift1Seshanbeh, + SingleShift2Seshanbeh = SingleShift2Seshanbeh, + SingleShift1Cheharshanbeh = SingleShift1Cheharshanbeh, + SingleShift2Cheharshanbeh = SingleShift2Cheharshanbeh, + SingleShift1Panjshanbeh = SingleShift1Panjshanbeh, + SingleShift2Panjshanbeh = SingleShift2Panjshanbeh, + SingleShift1Jomeh = SingleShift1Jomeh, + SingleShift2Jomeh = SingleShift2Jomeh, + + + TowShifts1 = TowShifts1, + TowShifts2 = TowShifts2, + TowShifts1Yekshanbeh = TowShifts1Yekshanbeh, + TowShifts2Yekshanbeh = TowShifts2Yekshanbeh, + TowShifts1Doshanbeh = TowShifts1Doshanbeh, + TowShifts2Doshanbeh = TowShifts2Doshanbeh, + TowShifts1Seshanbeh = TowShifts1Seshanbeh, + TowShifts2Seshanbeh = TowShifts2Seshanbeh, + TowShifts1Cheharshanbeh = TowShifts1Cheharshanbeh, + TowShifts2Cheharshanbeh = TowShifts2Cheharshanbeh, + TowShifts1Panjshanbeh = TowShifts1Panjshanbeh, + TowShifts2Panjshanbeh = TowShifts2Panjshanbeh, + TowShifts1Jomeh = TowShifts1Jomeh, + TowShifts2Jomeh = TowShifts2Jomeh, + + Start1224 = Start1224, + End1224 = End1224, + Start1236 = Start1236, + End1236 = End1236, + Start2424 = Start2424, + End2424 = End2424, + Start2448 = Start2448, + End2448 = End2448, + + NumberOfWorkingDays = workingDays, + NumberOfFriday = step5.NumberOfFriday, + TotalHoursesH = step5.TotalHoursesH == "0" ? "" : step5.TotalHoursesH, + TotalHoursesM = step5.TotalHoursesM == "0" ? "" : step5.TotalHoursesM, + OverTimeWorkH = step5.OverTimeWorkH == "0" ? "" : step5.OverTimeWorkH, + OverTimeWorkM = step5.OverTimeWorkM == "0" ? "" : step5.OverTimeWorkM, + OverNightWorkH = step5.OverNightWorkH == "0" ? "" : step5.OverNightWorkH, + OverNightWorkM = step5.OverNightWorkM == "0" ? "" : step5.OverNightWorkM + }; + var resss = _contractApplication.Create(createNew); + } + + + var res = op.Succcedded(); + return new JsonResult(res); + } + + op = op.Failed("هیچ قراردادی برای تمدید انتخاب نشده است"); + + return new JsonResult(op); + } + + public IActionResult OnPostCheck(ExtensionViewModel command) + { + var a = command.ConvertYear; + var b = command.ConvertMonth; + + + var op = new OperationResult(); + if (command.ContractsId == null) + { + op = op.Failed("هیچ قراردادی برای تمدید انتخاب نشده است"); + + return new JsonResult(op); + } + + op = op.Succcedded(); + return new JsonResult(op); + } + + public IActionResult OnGetComputing() + { + return Partial("./Create"); + } + + public IActionResult OnPostComputing(CreateContract command) + { + var result = _contractApplication.MandatoryHours(command); + + + return new JsonResult(result); + } + + + public IActionResult OnGetEdit(long id) + { + var res = _contractApplication.GetDetails(id); + var workshoplist = new List(); + var wrk = _workshopApplication.GetDetails(res.WorkshopIds); + var workshop = new WorkshopViewModel + { + Id = wrk.Id, + WorkshopName = wrk.WorkshopName, + ArchiveCode = wrk.ArchiveCode + }; + workshoplist.Add(workshop); + + var employeeLists = new List(); + var employees = _employeeApplication.GetDetails(res.EmployeeId); + var emp = new EmployeeViewModel + { + Id = employees.Id, + EmployeeFullName = employees.FName + " " + employees.LName + }; + employeeLists.Add(emp); + + var workingHours = _workingHoursApplication.GetByContractId(id); + res.ShiftWork = workingHours.ShiftWork; + + switch (workingHours.ShiftWork) + { + case "1": + var checkShanbeh = workingHours.WorkingHoursItemsList + .Any(x => x.DayOfWork == "0"); + if (checkShanbeh) + { + var item = workingHours.WorkingHoursItemsList.FirstOrDefault(x => x.DayOfWork == "0"); + res.shanbeh = true; + res.SingleShift1 = item.Start1; + res.SingleShift2 = item.End1; + res.RestTime = item.RestTime; + } + + var check1Shanbeh = workingHours.WorkingHoursItemsList + .Any(x => x.DayOfWork == "1"); + if (check1Shanbeh) + { + var item = workingHours.WorkingHoursItemsList.FirstOrDefault(x => x.DayOfWork == "1"); + res.yekshanbeh = true; + res.SingleShift1Yekshanbeh = item.Start1; + res.SingleShift2Yekshanbeh = item.End1; + res.RestTimeYekshanbeh = item.RestTime; + } + + var check2Shanbeh = workingHours.WorkingHoursItemsList + .Any(x => x.DayOfWork == "2"); + if (check2Shanbeh) + { + var item = workingHours.WorkingHoursItemsList.FirstOrDefault(x => x.DayOfWork == "2"); + res.doshanbeh = true; + res.SingleShift1Doshanbeh = item.Start1; + res.SingleShift2Doshanbeh = item.End1; + res.RestTimeDoshanbeh = item.RestTime; + } + + var check3Shanbeh = workingHours.WorkingHoursItemsList + .Any(x => x.DayOfWork == "3"); + if (check3Shanbeh) + { + var item = workingHours.WorkingHoursItemsList.FirstOrDefault(x => x.DayOfWork == "3"); + res.seshanbeh = true; + res.SingleShift1Seshanbeh = item.Start1; + res.SingleShift2Seshanbeh = item.End1; + res.RestTimeSeshanbeh = item.RestTime; + } + + var check4Shanbeh = workingHours.WorkingHoursItemsList + .Any(x => x.DayOfWork == "4"); + if (check4Shanbeh) + { + var item = workingHours.WorkingHoursItemsList.FirstOrDefault(x => x.DayOfWork == "4"); + res.cheharshanbeh = true; + res.SingleShift1Cheharshanbeh = item.Start1; + res.SingleShift2Cheharshanbeh = item.End1; + res.RestTimeCheharshanbeh = item.RestTime; + } + + var check5Shanbeh = workingHours.WorkingHoursItemsList + .Any(x => x.DayOfWork == "5"); + if (check5Shanbeh) + { + var item = workingHours.WorkingHoursItemsList.FirstOrDefault(x => x.DayOfWork == "5"); + res.pangshanbeh = true; + res.SingleShift1Panjshanbeh = item.Start1; + res.SingleShift2Panjshanbeh = item.End1; + res.RestTimePanjshanbeh = item.RestTime; + } + + var jomeh = workingHours.WorkingHoursItemsList + .Any(x => x.DayOfWork == "6"); + if (jomeh) + { + var item = workingHours.WorkingHoursItemsList.FirstOrDefault(x => x.DayOfWork == "6"); + res.jomeh = true; + res.SingleShift1Jomeh = item.Start1; + res.SingleShift2Jomeh = item.End1; + res.RestTimeJomeh = item.RestTime; + } + + break; + + case "2": + var checkShanbeh2 = workingHours.WorkingHoursItemsList + .Any(x => x.DayOfWork == "0"); + if (checkShanbeh2) + { + var item = workingHours.WorkingHoursItemsList.FirstOrDefault(x => x.DayOfWork == "0"); + res.shanbeh = true; + res.SingleShift1 = item.Start1; + res.SingleShift2 = item.End1; + res.TowShifts1 = item.Start2; + res.TowShifts2 = item.End2; + } + + var check1Shanbeh2 = workingHours.WorkingHoursItemsList + .Any(x => x.DayOfWork == "1"); + if (check1Shanbeh2) + { + var item = workingHours.WorkingHoursItemsList.FirstOrDefault(x => x.DayOfWork == "1"); + res.yekshanbeh = true; + res.SingleShift1Yekshanbeh = item.Start1; + res.SingleShift2Yekshanbeh = item.End1; + res.TowShifts1Yekshanbeh = item.Start2; + res.TowShifts2Yekshanbeh = item.End2; + } + + var check2Shanbeh2 = workingHours.WorkingHoursItemsList + .Any(x => x.DayOfWork == "2"); + if (check2Shanbeh2) + { + var item = workingHours.WorkingHoursItemsList.FirstOrDefault(x => x.DayOfWork == "2"); + res.doshanbeh = true; + res.SingleShift1Doshanbeh = item.Start1; + res.SingleShift2Doshanbeh = item.End1; + res.TowShifts1Doshanbeh = item.Start2; + res.TowShifts2Doshanbeh = item.End2; + } + + var check3Shanbeh2 = workingHours.WorkingHoursItemsList + .Any(x => x.DayOfWork == "3"); + if (check3Shanbeh2) + { + var item = workingHours.WorkingHoursItemsList.FirstOrDefault(x => x.DayOfWork == "3"); + res.seshanbeh = true; + res.SingleShift1Seshanbeh = item.Start1; + res.SingleShift2Seshanbeh = item.End1; + res.TowShifts1Seshanbeh = item.Start2; + res.TowShifts2Seshanbeh = item.End2; + } + + var check4Shanbeh2 = workingHours.WorkingHoursItemsList + .Any(x => x.DayOfWork == "4"); + if (check4Shanbeh2) + { + var item = workingHours.WorkingHoursItemsList.FirstOrDefault(x => x.DayOfWork == "4"); + res.cheharshanbeh = true; + res.SingleShift1Cheharshanbeh = item.Start1; + res.SingleShift2Cheharshanbeh = item.End1; + res.TowShifts1Cheharshanbeh = item.Start2; + res.TowShifts2Cheharshanbeh = item.End2; + } + + var check5Shanbeh2 = workingHours.WorkingHoursItemsList + .Any(x => x.DayOfWork == "5"); + if (check5Shanbeh2) + { + var item = workingHours.WorkingHoursItemsList.FirstOrDefault(x => x.DayOfWork == "5"); + res.pangshanbeh = true; + res.SingleShift1Panjshanbeh = item.Start1; + res.SingleShift2Panjshanbeh = item.End1; + res.TowShifts1Panjshanbeh = item.Start2; + res.TowShifts2Panjshanbeh = item.End2; + } + + var jomeh2 = workingHours.WorkingHoursItemsList + .Any(x => x.DayOfWork == "6"); + if (jomeh2) + { + var item = workingHours.WorkingHoursItemsList.FirstOrDefault(x => x.DayOfWork == "6"); + res.jomeh = true; + res.SingleShift1Jomeh = item.Start1; + res.SingleShift2Jomeh = item.End1; + res.TowShifts1Jomeh = item.Start2; + res.TowShifts2Jomeh = item.End2; + } + + break; + + case "3": + var checkShanbeh3 = workingHours.WorkingHoursItemsList + .Any(x => x.DayOfWork == "0"); + if (checkShanbeh3) + { + var item = workingHours.WorkingHoursItemsList.FirstOrDefault(x => x.DayOfWork == "0"); + res.shanbeh = true; + res.SingleShift1 = item.Start1; + res.SingleShift2 = item.End1; + res.TowShifts1 = item.Start2; + res.TowShifts2 = item.End2; + res.ThreeShift1 = item.Start3; + res.ThreeShift2 = item.End3; + } + + var check1Shanbeh3 = workingHours.WorkingHoursItemsList + .Any(x => x.DayOfWork == "1"); + if (check1Shanbeh3) + { + var item = workingHours.WorkingHoursItemsList.FirstOrDefault(x => x.DayOfWork == "1"); + res.yekshanbeh = true; + res.SingleShift1Yekshanbeh = item.Start1; + res.SingleShift2Yekshanbeh = item.End1; + res.TowShifts1Yekshanbeh = item.Start2; + res.TowShifts2Yekshanbeh = item.End2; + res.ThreeShift1Yekshanbeh = item.Start3; + res.ThreeShift2Yekshanbeh = item.End3; + } + + var check2Shanbeh3 = workingHours.WorkingHoursItemsList + .Any(x => x.DayOfWork == "2"); + if (check2Shanbeh3) + { + var item = workingHours.WorkingHoursItemsList.FirstOrDefault(x => x.DayOfWork == "2"); + res.doshanbeh = true; + res.SingleShift1Doshanbeh = item.Start1; + res.SingleShift2Doshanbeh = item.End1; + res.TowShifts1Doshanbeh = item.Start2; + res.TowShifts2Doshanbeh = item.End2; + res.ThreeShift1Doshanbeh = item.Start3; + res.ThreeShift2Doshanbeh = item.End3; + } + + var check3Shanbeh3 = workingHours.WorkingHoursItemsList + .Any(x => x.DayOfWork == "3"); + if (check3Shanbeh3) + { + var item = workingHours.WorkingHoursItemsList.FirstOrDefault(x => x.DayOfWork == "3"); + res.seshanbeh = true; + res.SingleShift1Seshanbeh = item.Start1; + res.SingleShift2Seshanbeh = item.End1; + res.TowShifts1Seshanbeh = item.Start2; + res.TowShifts2Seshanbeh = item.End2; + res.ThreeShift1Seshanbeh = item.Start3; + res.ThreeShift2Seshanbeh = item.End3; + } + + var check4Shanbeh3 = workingHours.WorkingHoursItemsList + .Any(x => x.DayOfWork == "4"); + if (check4Shanbeh3) + { + var item = workingHours.WorkingHoursItemsList.FirstOrDefault(x => x.DayOfWork == "4"); + res.cheharshanbeh = true; + res.SingleShift1Cheharshanbeh = item.Start1; + res.SingleShift2Cheharshanbeh = item.End1; + res.TowShifts1Cheharshanbeh = item.Start2; + res.TowShifts2Cheharshanbeh = item.End2; + res.ThreeShift1Cheharshanbeh = item.Start3; + res.ThreeShift2Cheharshanbeh = item.End3; + } + + var check5Shanbeh3 = workingHours.WorkingHoursItemsList + .Any(x => x.DayOfWork == "5"); + if (check5Shanbeh3) + { + var item = workingHours.WorkingHoursItemsList.FirstOrDefault(x => x.DayOfWork == "5"); + res.pangshanbeh = true; + res.SingleShift1Panjshanbeh = item.Start1; + res.SingleShift2Panjshanbeh = item.End1; + res.TowShifts1Panjshanbeh = item.Start2; + res.TowShifts2Panjshanbeh = item.End2; + res.ThreeShift1Panjshanbeh = item.Start3; + res.ThreeShift2Panjshanbeh = item.End3; + } + + var jomeh3 = workingHours.WorkingHoursItemsList + .Any(x => x.DayOfWork == "6"); + if (jomeh3) + { + var item = workingHours.WorkingHoursItemsList.FirstOrDefault(x => x.DayOfWork == "6"); + res.jomeh = true; + res.SingleShift1Jomeh = item.Start1; + res.SingleShift2Jomeh = item.End1; + res.TowShifts1Jomeh = item.Start2; + res.TowShifts2Jomeh = item.End2; + res.ThreeShift1Jomeh = item.Start3; + res.ThreeShift2Jomeh = item.End3; + } + + break; + + case "4": + break; + + case "5": //12-24 + var check1224 = workingHours.WorkingHoursItemsList + .Any(x => x.DayOfWork == "7"); + if (check1224) + { + var item = workingHours.WorkingHoursItemsList.FirstOrDefault(x => x.DayOfWork == "7"); + + res.Start1224 = item.ComplexStart; + res.End1224 = item.ComplexEnd; + } + + break; + + case "6": //24-24 + var check2424 = workingHours.WorkingHoursItemsList + .Any(x => x.DayOfWork == "7"); + if (check2424) + { + var item = workingHours.WorkingHoursItemsList.FirstOrDefault(x => x.DayOfWork == "7"); + + res.Start2424 = item.ComplexStart; + res.End2424 = item.ComplexEnd; + } + + break; + + case "7": //12-36 + var check1236 = workingHours.WorkingHoursItemsList + .Any(x => x.DayOfWork == "7"); + if (check1236) + { + var item = workingHours.WorkingHoursItemsList.FirstOrDefault(x => x.DayOfWork == "7"); + + res.Start1236 = item.ComplexStart; + res.End1236 = item.ComplexEnd; + } + + break; + + case "8": //24-48 + var check2448 = workingHours.WorkingHoursItemsList + .Any(x => x.DayOfWork == "7"); + if (check2448) + { + var item = workingHours.WorkingHoursItemsList.FirstOrDefault(x => x.DayOfWork == "7"); + + res.Start2448 = item.ComplexStart; + res.End2448 = item.ComplexEnd; + } + + break; + } + //res.WorkshopEmployerList = _contractRepository.GetWorkshopEmployer(); + //res.EmployeeSelectList = new SelectList(_employeeApplication.GetEmployee(), "Id", "EmployeeFullName"); + //res.Employees = _employeeApplication.GetEmployee(); + //res.Workshops = _workshopApplication.GetWorkshopAccount(); + //res.YearlySalaries = _yearlySalaryApplication.GetYearlySalary(); + //res.Employers = _employerApplication.GetEmployers(); + + res.ConsumableItems = ""; + res.AgreementSalary = ""; + res.FamilyAllowance = ""; + res.WorkshopNameSelectList = + new SelectList(workshoplist, "Id", "WorkshopFullName"); + res.WorkshopCodeSelectList = new SelectList(workshoplist, "Id", "ArchiveCode"); + res.EmployeeSelectList = new SelectList(employeeLists, "Id", "EmployeeFullName"); + return Partial("./Edit", res); + } + + + public JsonResult OnPostEdit(EditContract command) + { + if (ModelState.IsValid) + { + } + + + var result = _contractApplication.Edit(command); + return new JsonResult(result); + } + + + public IActionResult OnGetDetails(long id) + { + var res = _contractApplication.GetDetails(id); + //res.WorkshopEmployerList = _contractRepository.GetWorkshopEmployer(); + //res.Employers = _employerApplication.GetEmployers(); + //res.Employees = _employeeApplication.GetEmployee(); + //res.Workshops = _workshopApplication.GetWorkshop(); + return Partial("Details", res); + } + + + public IActionResult OnGetPrintOne(long id) + { + var res = _checkoutApplication.PrintOne(id); + + //var res = _contractApplication.PrintAll(ids); + + return Partial("Details", res); + } + + public IActionResult OnGetPrintLeave(long id) + { + var res = _checkoutApplication.LeavePrint(id); + return Partial("PrintLeave", res); + } + + public IActionResult OnGetDeActive(long id) + { + var result = _checkoutApplication.DeActive(id); + + if (result.IsSuccedded) + return RedirectToPage("./Index"); + Message = result.Message; + return RedirectToPage("./Index"); + } + + public IActionResult OnGetIsActive(long id) + { + var result = _checkoutApplication.Active(id); + if (result.IsSuccedded) + return RedirectToPage("./Index"); + Message = result.Message; + return RedirectToPage("./Index"); + } + + public IActionResult OnGetSign(string Id) + { + var id = Convert.ToInt64(Id); + var result = _checkoutApplication.Sign(id); + if (result.IsSuccedded) + return new JsonResult(new + { + IsSuccedded = true, id + }); + return new JsonResult(new + { + IsSuccedded = false, id + }); + } + + public IActionResult OnGetUnSign(string Id) + { + var id = Convert.ToInt64(Id); + var permissions = _authHelper.GetPermissions(); + var checkHasPermission = permissions.Any(n => n.Equals(20222)); + if (checkHasPermission) + { + var result = _checkoutApplication.UnSign(id); + if (result.IsSuccedded) + return new JsonResult(new + { + IsSuccedded = true, id + }); + return new JsonResult(new + { + IsSuccedded = false, id + }); + } + + return new JsonResult(new + { + IsSuccedded = false, id + }); + } + + public IActionResult OnGetGroupDeActive(List ids) + { + foreach (var item in ids) + { + var result = _checkoutApplication.DeActive(item); + } + + return RedirectToPage("./Index"); + } + + + public IActionResult OnGetGroupReActive(List ids) + { + foreach (var item in ids) + { + var result = _checkoutApplication.Active(item); + } + + + //if (result.IsSuccedded) + // return RedirectToPage("./Index"); + + return RedirectToPage("./Index"); + } + + + public IActionResult OnGetGroupSign(List ids) + { + foreach (var item in ids) + { + var result = _checkoutApplication.Sign(item); + } + + return RedirectToPage("./Index"); + } + + public IActionResult OnGetGroupUnSign(List ids) + { + foreach (var item in ids) + { + var result = _checkoutApplication.UnSign(item); + } + + return RedirectToPage("./Index"); + } + + public IActionResult OnGetRemoveOneCheckout(long id) + { + var result = _checkoutApplication.RemoveCheckout(id); + return RedirectToPage("./Index"); + //if (result.IsSuccedded) + //{ + // return new JsonResult(new + // { + // IsSuccedded = true, + // message = $"تصفیه حساب انتخاب شده حذف شد", + + // }); + //} + //else + //{ + // return new JsonResult(new + // { + // IsSuccedded = false, + // message = $"خطایی رخ داده است", + + // }); + //} + } + + public IActionResult OnGetMultiRemoveCheckout(List ids) + { + foreach (var item in ids) + { + var result = _checkoutApplication.RemoveCheckout(item); + } + + return RedirectToPage("./Index"); + } + + public IActionResult OnGetCustomSet(long id) + { + var checkout = _checkoutApplication.GetDetails(id); + var salaryAidDeduction = checkout.SalaryAidDeduction.ToMoney(); + var rewardPay = checkout.RewardPay.ToMoneyNullable(); + var command = new CheckoutViewModel + { + Id = id, + RewardPay = rewardPay, + SalaryAidDeduction = salaryAidDeduction, + Year = checkout.Year, + Month = checkout.Month, + EmployeeFullName = checkout.EmployeeFullName + }; + return Partial("CustomSet", command); + } + + public IActionResult OnPostCustomSet(CheckoutViewModel command) + { + var rewardPay = command.RewardPay.MoneyToDouble(); + var salaryAidDeduction = command.SalaryAidDeduction.MoneyToDouble(); + + + var checkout = _checkoutApplication.CustomSet(command.Id, rewardPay, salaryAidDeduction); + + return new JsonResult(checkout); + } + + + ///////////////Mandatory Compute////////////////////// + + #region MandatoryCompute + + public ComputingViewModel MandatoryHours(CreateWorkingHoursTemp command, long leavId) + { + #region entityes + + var Notholiday = string.Empty; + var Holidays = string.Empty; + double dayliFeeComplete = 0; + var SingleShiftResult = string.Empty; + var shift1Hourse = "0"; + var shift1Minuts = "0"; + var shift1HolidayHours = "0"; + var shift1HolidayMinuts = "0"; + var overMandatoryHours = "0"; + var overMandatoryMinuts = "0"; + var shiftOver22Hours = "0"; + var shiftOver22Minuts = "0"; + double ShiftPayResult = 0; + var SumWorkeTime = string.Empty; + var weeklyTime = new TimeSpan(); + var FridayStartToEnd = 0; + var overNight = false; + var overNightTow = false; + var singleOver24 = new TimeSpan(); + var towOver24 = new TimeSpan(); + var panjshanbehOver24 = new TimeSpan(); + var panjshanbehOver24Tow = new TimeSpan(); + var rest = new TimeSpan(); + var Over22 = new TimeSpan(); + + var starTimeSingel1 = new DateTime(); + var endTimeSingel2 = new DateTime(); + var singleShiftOver24 = new DateTime(); + var startTimeTowSh1 = new DateTime(); + var endTimeTowSh2 = new DateTime(); + var nightWork22 = new DateTime(); + var nightWork6 = new DateTime(); + + var rotatingResultList = new List(); + + + singleShiftOver24 = Convert.ToDateTime("00:00"); + nightWork22 = Convert.ToDateTime("22:00"); + nightWork6 = Convert.ToDateTime("06:00"); + + var rest0 = new TimeSpan(); + var rest1 = new TimeSpan(); + var rest2 = new TimeSpan(); + var rest3 = new TimeSpan(); + var rest4 = new TimeSpan(); + var rest5 = new TimeSpan(); + var rest6 = new TimeSpan(); + + var rest0w1 = new TimeSpan(); + var rest1w1 = new TimeSpan(); + var rest2w1 = new TimeSpan(); + var rest3w1 = new TimeSpan(); + var rest4w1 = new TimeSpan(); + var rest5w1 = new TimeSpan(); + var rest6w1 = new TimeSpan(); + + var rest0w2 = new TimeSpan(); + var rest1w2 = new TimeSpan(); + var rest2w2 = new TimeSpan(); + var rest3w2 = new TimeSpan(); + var rest4w2 = new TimeSpan(); + var rest5w2 = new TimeSpan(); + var rest6w2 = new TimeSpan(); + + var rest0w3 = new TimeSpan(); + var rest1w3 = new TimeSpan(); + var rest2w3 = new TimeSpan(); + var rest3w3 = new TimeSpan(); + var rest4w3 = new TimeSpan(); + var rest5w3 = new TimeSpan(); + var rest6w3 = new TimeSpan(); + + var rest0w4 = new TimeSpan(); + var rest1w4 = new TimeSpan(); + var rest2w4 = new TimeSpan(); + var rest3w4 = new TimeSpan(); + var rest4w4 = new TimeSpan(); + var rest5w4 = new TimeSpan(); + var rest6w4 = new TimeSpan(); + + var SumSingle = new TimeSpan(); + var SumTow = new TimeSpan(); + var SumSingleHourses = 0; + var SumTowHourses = 0; + + var sumRest = new TimeSpan(); + var SumComplexDays = 0; + var OfficialHoliday = 0; + + var conStartGr = command.ContarctStart.ToGeorgianDateTime(); + var conEndGr = command.ContractEnd.ToGeorgianDateTime(); + + #endregion + + #region SumRestTimesOneShift + + switch (command.ShiftWork) + { + case "1": + case "2": + command.RestTime = command.RestTime == "0" ? "00" : command.RestTime; + command.RestTimeYekshanbeh = command.RestTimeYekshanbeh == "0" ? "00" : command.RestTimeYekshanbeh; + command.RestTimeDoshanbeh = command.RestTimeDoshanbeh == "0" ? "00" : command.RestTimeDoshanbeh; + command.RestTimeSeshanbeh = command.RestTimeSeshanbeh == "0" ? "00" : command.RestTimeSeshanbeh; + command.RestTimeCheharshanbeh = + command.RestTimeCheharshanbeh == "0" ? "00" : command.RestTimeCheharshanbeh; + command.RestTimePanjshanbeh = command.RestTimePanjshanbeh == "0" ? "00" : command.RestTimePanjshanbeh; + command.RestTimeJomeh = command.RestTimeJomeh == "0" ? "00" : command.RestTimeJomeh; + command.RestTimeMin = command.RestTimeMin == "0" ? "00" : command.RestTimeMin; + command.RestTimeYekshanbehMin = + command.RestTimeYekshanbehMin == "0" ? "00" : command.RestTimeYekshanbehMin; + command.RestTimeDoshanbehMin = + command.RestTimeDoshanbehMin == "0" ? "00" : command.RestTimeDoshanbehMin; + command.RestTimeSeshanbehMin = + command.RestTimeSeshanbehMin == "0" ? "00" : command.RestTimeSeshanbehMin; + command.RestTimeCheharshanbehMin = + command.RestTimeCheharshanbehMin == "0" ? "00" : command.RestTimeCheharshanbehMin; + command.RestTimePanjshanbehMin = + command.RestTimePanjshanbehMin == "0" ? "00" : command.RestTimePanjshanbehMin; + command.RestTimeJomehMin = command.RestTimeJomehMin == "0" ? "00" : command.RestTimeJomehMin; + + rest0 = TimeSpan.Parse($"{command.RestTime}:{command.RestTimeMin}"); + sumRest = sumRest.Add(rest0); + rest1 = TimeSpan.Parse($"{command.RestTimeYekshanbeh}:{command.RestTimeYekshanbehMin}"); + sumRest = sumRest.Add(rest1); + rest2 = TimeSpan.Parse($"{command.RestTimeDoshanbeh}:{command.RestTimeDoshanbehMin}"); + sumRest = sumRest.Add(rest2); + rest3 = TimeSpan.Parse($"{command.RestTimeSeshanbeh}:{command.RestTimeSeshanbehMin}"); + sumRest = sumRest.Add(rest3); + rest4 = TimeSpan.Parse($"{command.RestTimeCheharshanbeh}:{command.RestTimeCheharshanbehMin}"); + sumRest = sumRest.Add(rest4); + rest5 = TimeSpan.Parse($"{command.RestTimePanjshanbeh}:{command.RestTimePanjshanbehMin}"); + sumRest = sumRest.Add(rest5); + rest6 = TimeSpan.Parse($"{command.RestTimeJomeh}:{command.RestTimeJomehMin}"); + sumRest = sumRest.Add(rest6); + break; + + case "4": + //week1 + command.RestTimeShanbe1 = command.RestTimeShanbe1 == "0" ? "00" : command.RestTimeShanbe1; + command.RestTimeShanbe1Min = command.RestTimeShanbe1Min == "0" ? "00" : command.RestTimeShanbe1Min; + command.RestTimeYekShanbe1 = command.RestTimeYekShanbe1 == "0" ? "00" : command.RestTimeYekShanbe1; + command.RestTimeYekShanbe1Min = + command.RestTimeYekShanbe1Min == "0" ? "00" : command.RestTimeYekShanbe1Min; + command.RestTimeDoShanbe1 = command.RestTimeDoShanbe1 == "0" ? "00" : command.RestTimeDoShanbe1; + command.RestTimeDoShanbe1Min = + command.RestTimeDoShanbe1Min == "0" ? "00" : command.RestTimeDoShanbe1Min; + command.RestTimeSeShanbe1 = command.RestTimeSeShanbe1 == "0" ? "00" : command.RestTimeSeShanbe1; + command.RestTimeSeShanbe1Min = + command.RestTimeSeShanbe1Min == "0" ? "00" : command.RestTimeSeShanbe1Min; + command.RestTimeCheharShanbe1 = + command.RestTimeCheharShanbe1 == "0" ? "00" : command.RestTimeCheharShanbe1; + command.RestTimeCheharShanbe1Min = + command.RestTimeCheharShanbe1Min == "0" ? "00" : command.RestTimeCheharShanbe1Min; + command.RestTimePanjShanbe1 = command.RestTimePanjShanbe1 == "0" ? "00" : command.RestTimePanjShanbe1; + command.RestTimePanjShanbe1Min = + command.RestTimePanjShanbe1Min == "0" ? "00" : command.RestTimePanjShanbe1Min; + command.RestTimeJome1 = command.RestTimeJome1 == "0" ? "00" : command.RestTimeJome1; + command.RestTimeJome1Min = command.RestTimeJome1Min == "0" ? "00" : command.RestTimeJome1Min; + + //week2 + command.RestTimeShanbe2 = command.RestTimeShanbe2 == "0" ? "00" : command.RestTimeShanbe2; + command.RestTimeShanbe2Min = command.RestTimeShanbe2Min == "0" ? "00" : command.RestTimeShanbe2Min; + command.RestTimeYekShanbe2 = command.RestTimeYekShanbe2 == "0" ? "00" : command.RestTimeYekShanbe2; + command.RestTimeYekShanbe2Min = + command.RestTimeYekShanbe2Min == "0" ? "00" : command.RestTimeYekShanbe2Min; + command.RestTimeDoShanbe2 = command.RestTimeDoShanbe2 == "0" ? "00" : command.RestTimeDoShanbe2; + command.RestTimeDoShanbe2Min = + command.RestTimeDoShanbe2Min == "0" ? "00" : command.RestTimeDoShanbe2Min; + command.RestTimeSeShanbe2 = command.RestTimeSeShanbe2 == "0" ? "00" : command.RestTimeSeShanbe2; + command.RestTimeSeShanbe2Min = + command.RestTimeSeShanbe2Min == "0" ? "00" : command.RestTimeSeShanbe2Min; + command.RestTimeCheharShanbe2 = + command.RestTimeCheharShanbe2 == "0" ? "00" : command.RestTimeCheharShanbe2; + command.RestTimeCheharShanbe2Min = + command.RestTimeCheharShanbe2Min == "0" ? "00" : command.RestTimeCheharShanbe2Min; + command.RestTimePanjShanbe2 = command.RestTimePanjShanbe2 == "0" ? "00" : command.RestTimePanjShanbe2; + command.RestTimePanjShanbe2Min = + command.RestTimePanjShanbe2Min == "0" ? "00" : command.RestTimePanjShanbe2Min; + command.RestTimeJome2 = command.RestTimeJome2 == "0" ? "00" : command.RestTimeJome2; + command.RestTimeJome2Min = command.RestTimeJome2Min == "0" ? "00" : command.RestTimeJome2Min; + + //week3 + command.RestTimeShanbe3 = command.RestTimeShanbe3 == "0" ? "00" : command.RestTimeShanbe3; + command.RestTimeShanbe3Min = command.RestTimeShanbe3Min == "0" ? "00" : command.RestTimeShanbe3Min; + command.RestTimeYekShanbe3 = command.RestTimeYekShanbe3 == "0" ? "00" : command.RestTimeYekShanbe3; + command.RestTimeYekShanbe3Min = + command.RestTimeYekShanbe3Min == "0" ? "00" : command.RestTimeYekShanbe3Min; + command.RestTimeDoShanbe3 = command.RestTimeDoShanbe3 == "0" ? "00" : command.RestTimeDoShanbe3; + command.RestTimeDoShanbe3Min = + command.RestTimeDoShanbe3Min == "0" ? "00" : command.RestTimeDoShanbe3Min; + command.RestTimeSeShanbe3 = command.RestTimeSeShanbe3 == "0" ? "00" : command.RestTimeSeShanbe3; + command.RestTimeSeShanbe3Min = + command.RestTimeSeShanbe3Min == "0" ? "00" : command.RestTimeSeShanbe3Min; + command.RestTimeCheharShanbe3 = + command.RestTimeCheharShanbe3 == "0" ? "00" : command.RestTimeCheharShanbe3; + command.RestTimeCheharShanbe3Min = + command.RestTimeCheharShanbe3Min == "0" ? "00" : command.RestTimeCheharShanbe3Min; + command.RestTimePanjShanbe3 = command.RestTimePanjShanbe3 == "0" ? "00" : command.RestTimePanjShanbe3; + command.RestTimePanjShanbe3Min = + command.RestTimePanjShanbe3Min == "0" ? "00" : command.RestTimePanjShanbe3Min; + command.RestTimeJome3 = command.RestTimeJome3 == "0" ? "00" : command.RestTimeJome3; + command.RestTimeJome3Min = command.RestTimeJome3Min == "0" ? "00" : command.RestTimeJome3Min; + + //week4 + command.RestTimeShanbe4 = command.RestTimeShanbe4 == "0" ? "00" : command.RestTimeShanbe4; + command.RestTimeShanbe4Min = command.RestTimeShanbe4Min == "0" ? "00" : command.RestTimeShanbe4Min; + command.RestTimeYekShanbe4 = command.RestTimeYekShanbe4 == "0" ? "00" : command.RestTimeYekShanbe4; + command.RestTimeYekShanbe4Min = + command.RestTimeYekShanbe4Min == "0" ? "00" : command.RestTimeYekShanbe4Min; + command.RestTimeDoShanbe4 = command.RestTimeDoShanbe4 == "0" ? "00" : command.RestTimeDoShanbe4; + command.RestTimeDoShanbe4Min = + command.RestTimeDoShanbe4Min == "0" ? "00" : command.RestTimeDoShanbe4Min; + command.RestTimeSeShanbe4 = command.RestTimeSeShanbe4 == "0" ? "00" : command.RestTimeSeShanbe4; + command.RestTimeSeShanbe4Min = + command.RestTimeSeShanbe4Min == "0" ? "00" : command.RestTimeSeShanbe4Min; + command.RestTimeCheharShanbe4 = + command.RestTimeCheharShanbe4 == "0" ? "00" : command.RestTimeCheharShanbe4; + command.RestTimeCheharShanbe4Min = + command.RestTimeCheharShanbe4Min == "0" ? "00" : command.RestTimeCheharShanbe4Min; + command.RestTimePanjShanbe4 = command.RestTimePanjShanbe4 == "0" ? "00" : command.RestTimePanjShanbe4; + command.RestTimePanjShanbe4Min = + command.RestTimePanjShanbe4Min == "0" ? "00" : command.RestTimePanjShanbe4Min; + command.RestTimeJome4 = command.RestTimeJome4 == "0" ? "00" : command.RestTimeJome4; + command.RestTimeJome4Min = command.RestTimeJome4Min == "0" ? "00" : command.RestTimeJome4Min; + + // sumrest week1 + rest0w1 = TimeSpan.Parse($"{command.RestTimeShanbe1}:{command.RestTimeShanbe1Min}"); + rest1w1 = TimeSpan.Parse($"{command.RestTimeYekShanbe1}:{command.RestTimeYekShanbe1Min}"); + rest2w1 = TimeSpan.Parse($"{command.RestTimeDoShanbe1}:{command.RestTimeDoShanbe1Min}"); + rest3w1 = TimeSpan.Parse($"{command.RestTimeSeShanbe1}:{command.RestTimeSeShanbe1Min}"); + rest4w1 = TimeSpan.Parse($"{command.RestTimeCheharShanbe1}:{command.RestTimeCheharShanbe1Min}"); + rest5w1 = TimeSpan.Parse($"{command.RestTimePanjShanbe1}:{command.RestTimePanjShanbe1Min}"); + rest6w1 = TimeSpan.Parse($"{command.RestTimeJome1}:{command.RestTimeJome1Min}"); + + // sumrest week2 + rest0w2 = TimeSpan.Parse($"{command.RestTimeShanbe2}:{command.RestTimeShanbe2Min}"); + rest1w2 = TimeSpan.Parse($"{command.RestTimeYekShanbe2}:{command.RestTimeYekShanbe2Min}"); + rest2w2 = TimeSpan.Parse($"{command.RestTimeDoShanbe2}:{command.RestTimeDoShanbe2Min}"); + rest3w2 = TimeSpan.Parse($"{command.RestTimeSeShanbe2}:{command.RestTimeSeShanbe2Min}"); + rest4w2 = TimeSpan.Parse($"{command.RestTimeCheharShanbe2}:{command.RestTimeCheharShanbe2Min}"); + rest5w2 = TimeSpan.Parse($"{command.RestTimePanjShanbe2}:{command.RestTimePanjShanbe2Min}"); + rest6w2 = TimeSpan.Parse($"{command.RestTimeJome2}:{command.RestTimeJome2Min}"); + + // sumrest week3 + rest0w3 = TimeSpan.Parse($"{command.RestTimeShanbe3}:{command.RestTimeShanbe3Min}"); + rest1w3 = TimeSpan.Parse($"{command.RestTimeYekShanbe3}:{command.RestTimeYekShanbe3Min}"); + rest2w3 = TimeSpan.Parse($"{command.RestTimeDoShanbe3}:{command.RestTimeDoShanbe3Min}"); + rest3w3 = TimeSpan.Parse($"{command.RestTimeSeShanbe3}:{command.RestTimeSeShanbe3Min}"); + rest4w3 = TimeSpan.Parse($"{command.RestTimeCheharShanbe3}:{command.RestTimeCheharShanbe3Min}"); + rest5w3 = TimeSpan.Parse($"{command.RestTimePanjShanbe3}:{command.RestTimePanjShanbe3Min}"); + rest6w3 = TimeSpan.Parse($"{command.RestTimeJome3}:{command.RestTimeJome3Min}"); + + // sumrest week4 + rest0w4 = TimeSpan.Parse($"{command.RestTimeShanbe4}:{command.RestTimeShanbe4Min}"); + rest1w4 = TimeSpan.Parse($"{command.RestTimeYekShanbe4}:{command.RestTimeYekShanbe4Min}"); + rest2w4 = TimeSpan.Parse($"{command.RestTimeDoShanbe4}:{command.RestTimeDoShanbe4Min}"); + rest3w4 = TimeSpan.Parse($"{command.RestTimeSeShanbe4}:{command.RestTimeSeShanbe4Min}"); + rest4w4 = TimeSpan.Parse($"{command.RestTimeCheharShanbe4}:{command.RestTimeCheharShanbe4Min}"); + rest5w4 = TimeSpan.Parse($"{command.RestTimePanjShanbe4}:{command.RestTimePanjShanbe4Min}"); + rest6w4 = TimeSpan.Parse($"{command.RestTimeJome4}:{command.RestTimeJome4Min}"); + break; + } + + #endregion + + #region SumSingleAndTowShifts + + var StartShanbehSingle = Convert.ToDateTime(command.SingleShift1); + var EndShanbehSingle = Convert.ToDateTime(command.SingleShift2); + if (StartShanbehSingle > EndShanbehSingle) + EndShanbehSingle = EndShanbehSingle.AddDays(1); + var ShanbehSingle = EndShanbehSingle - StartShanbehSingle; + SumSingle = SumSingle.Add(ShanbehSingle); + + var StartYekShanbehSingle = Convert.ToDateTime(command.SingleShift1Yekshanbeh); + var EndYekShanbehSingle = Convert.ToDateTime(command.SingleShift2Yekshanbeh); + if (StartYekShanbehSingle > EndYekShanbehSingle) + EndYekShanbehSingle = EndYekShanbehSingle.AddDays(1); + var YekShanbehSingle = EndYekShanbehSingle - StartYekShanbehSingle; + SumSingle = SumSingle.Add(YekShanbehSingle); + + var StartDoShanbehSingle = Convert.ToDateTime(command.SingleShift1Doshanbeh); + var EndDoShanbehSingle = Convert.ToDateTime(command.SingleShift2Doshanbeh); + if (StartDoShanbehSingle > EndDoShanbehSingle) + EndDoShanbehSingle = EndDoShanbehSingle.AddDays(1); + var DoShanbehSingle = EndDoShanbehSingle - StartDoShanbehSingle; + SumSingle = SumSingle.Add(DoShanbehSingle); + + + var StartSehShanbehSingle = Convert.ToDateTime(command.SingleShift1Seshanbeh); + var EndSehShanbehSingle = Convert.ToDateTime(command.SingleShift2Seshanbeh); + if (StartSehShanbehSingle > EndSehShanbehSingle) + EndSehShanbehSingle = EndSehShanbehSingle.AddDays(1); + var SeShanbehSingle = EndSehShanbehSingle - StartSehShanbehSingle; + SumSingle = SumSingle.Add(SeShanbehSingle); + + var StartCheharShanbehSingle = Convert.ToDateTime(command.SingleShift1Cheharshanbeh); + var EndCheharShanbehSingle = Convert.ToDateTime(command.SingleShift2Cheharshanbeh); + if (StartCheharShanbehSingle > EndCheharShanbehSingle) + EndCheharShanbehSingle = EndCheharShanbehSingle.AddDays(1); + var CheharShanbehSingle = EndCheharShanbehSingle - StartCheharShanbehSingle; + SumSingle = SumSingle.Add(CheharShanbehSingle); + + var StartPanjShanbehSingle = Convert.ToDateTime(command.SingleShift1Panjshanbeh); + var EndPanjShanbehSingle = Convert.ToDateTime(command.SingleShift2Panjshanbeh); + if (StartPanjShanbehSingle > EndPanjShanbehSingle) + EndPanjShanbehSingle = EndPanjShanbehSingle.AddDays(1); + var PanjShanbehSingle = EndPanjShanbehSingle - StartPanjShanbehSingle; + SumSingle = SumSingle.Add(PanjShanbehSingle); + + var StartJomehSingle = Convert.ToDateTime(command.SingleShift1Jomeh); + var EndjomehSingle = Convert.ToDateTime(command.SingleShift2Jomeh); + if (StartJomehSingle > EndjomehSingle) + EndjomehSingle = EndjomehSingle.AddDays(1); + var JomehSingle = EndjomehSingle - StartJomehSingle; + SumSingle = SumSingle.Add(JomehSingle); + if (command.ShiftWork == "1") SumSingle = SumSingle.Subtract(sumRest); + //SumSingleHourses = (int)SumSingle.TotalHours; + + + var StartShanbehTow = Convert.ToDateTime(command.TowShifts1); + var EndShanbehTow = Convert.ToDateTime(command.TowShifts2); + if (StartShanbehTow > EndShanbehTow) + EndShanbehTow = EndShanbehTow.AddDays(1); + var ShanbehTow = EndShanbehTow - StartShanbehTow; + SumTow = SumTow.Add(ShanbehTow); + + var StartYekShanbehTow = Convert.ToDateTime(command.TowShifts1Yekshanbeh); + var EndYekShanbehTow = Convert.ToDateTime(command.TowShifts2Yekshanbeh); + if (StartYekShanbehTow > EndYekShanbehTow) + EndYekShanbehTow = EndYekShanbehTow.AddDays(1); + var YekShanbehTow = EndYekShanbehTow - StartYekShanbehTow; + SumTow = SumTow.Add(YekShanbehTow); + + var StartDoShanbehTow = Convert.ToDateTime(command.TowShifts1Doshanbeh); + var EndDoShanbehTow = Convert.ToDateTime(command.TowShifts2Doshanbeh); + if (StartDoShanbehTow > EndDoShanbehTow) + EndDoShanbehTow = EndDoShanbehTow.AddDays(1); + var DoShanbehTow = EndDoShanbehTow - StartDoShanbehTow; + SumTow = SumTow.Add(DoShanbehTow); + + + var StartSehShanbehTow = Convert.ToDateTime(command.TowShifts1Seshanbeh); + var EndSehShanbehTow = Convert.ToDateTime(command.TowShifts2Seshanbeh); + if (StartSehShanbehTow > EndSehShanbehTow) + EndSehShanbehTow = EndSehShanbehTow.AddDays(1); + var SeShanbehTow = EndSehShanbehTow - StartSehShanbehTow; + SumTow = SumTow.Add(SeShanbehTow); + + var StartCheharShanbehTow = Convert.ToDateTime(command.TowShifts1Cheharshanbeh); + var EndCheharShanbehTow = Convert.ToDateTime(command.TowShifts2Cheharshanbeh); + if (StartCheharShanbehTow > EndCheharShanbehTow) + EndCheharShanbehTow = EndCheharShanbehTow.AddDays(1); + var CheharShanbehTow = EndCheharShanbehTow - StartCheharShanbehTow; + SumTow = SumTow.Add(CheharShanbehTow); + + var StartPanjShanbehTow = Convert.ToDateTime(command.TowShifts1Panjshanbeh); + var EndPanjShanbehTow = Convert.ToDateTime(command.TowShifts2Panjshanbeh); + if (StartPanjShanbehTow > EndPanjShanbehTow) + EndPanjShanbehTow = EndPanjShanbehTow.AddDays(1); + var PanjShanbehTow = EndPanjShanbehTow - StartPanjShanbehTow; + SumTow = SumTow.Add(PanjShanbehTow); + + var StartJomehTow = Convert.ToDateTime(command.TowShifts1Jomeh); + var EndjomehTow = Convert.ToDateTime(command.TowShifts2Jomeh); + if (StartJomehTow > EndjomehTow) + EndjomehTow = EndjomehTow.AddDays(1); + var jomehTow = EndjomehTow - StartJomehTow; + SumTow = SumTow.Add(jomehTow); + + //SumTowHourses = (int)SumTow.TotalHours; + + #endregion + + #region ComplexSumWorkTime + + if (command.ShiftWork == "5") + SumWorkeTime = "24 - 12"; + else if (command.ShiftWork == "6") + SumWorkeTime = "24 - 24"; + else if (command.ShiftWork == "7") + SumWorkeTime = "36 - 12"; + else if (command.ShiftWork == "8") SumWorkeTime = "48 - 24"; + + #endregion + + #region OneAndTowShiftsCompute + + var dailyFix = TimeSpan.Parse("07:20"); + var notHolidays = new TimeSpan(); + var HolidaysAndNot = new TimeSpan(); + var jomeh = new TimeSpan(); + + var sdate = command.ContarctStart.ToEnglishNumber(); + var edate = command.ContractEnd.ToEnglishNumber(); + var syear = Convert.ToInt32(sdate.Substring(0, 4)); + var smonth = Convert.ToInt32(sdate.Substring(5, 2)); + var sday = Convert.ToInt32(sdate.Substring(8, 2)); + + var eyear = Convert.ToInt32(edate.Substring(0, 4)); + var emonth = Convert.ToInt32(edate.Substring(5, 2)); + var eday = Convert.ToInt32(edate.Substring(8, 2)); + + var d1 = new PersianDateTime(syear, smonth, sday); + var d2 = new PersianDateTime(eyear, emonth, eday); + int i = 0, i1 = 0, i2 = 0, i3 = 0, i4 = 0, i5 = 0, i6 = 0; + var holidayList = _holidayItemRepository.GetHolidayItem(sdate.Substring(0, 4)); + var leavInfo = leavId > 0 ? _leaveApplication.GetDetails(leavId) : null; + + #region shiftWork 1&2 + + if (command.ShiftWork == "1" || command.ShiftWork == "2") + { + for (var da = d1; da <= d2; da.AddDays(1)) + { + var currentDay = da.ToGregorianDateTime(); + + if (da.DayOfWeek == "شنبه" && command.shanbeh && leavId == 0) + { + var checkHoliday = _holidayItemRepository.GetHoliday(currentDay); + if (checkHoliday == false) + { + i += 1; + if (command.ShiftWork == "1") + { + starTimeSingel1 = Convert.ToDateTime(command.SingleShift1); + endTimeSingel2 = Convert.ToDateTime(command.SingleShift2); + if (starTimeSingel1 > endTimeSingel2) + { + overNight = true; + endTimeSingel2 = endTimeSingel2.AddDays(1); + } + + var singleSpan1 = endTimeSingel2 - starTimeSingel1; + + singleSpan1 = singleSpan1.Subtract(rest0); + + notHolidays = notHolidays.Add(singleSpan1); + var Over22Compute = Over22Check(starTimeSingel1, endTimeSingel2); + //Over22Compute = Over22Compute.Subtract(rest); + Over22 = Over22.Add(Over22Compute); + } + else if (command.ShiftWork == "2") + { + starTimeSingel1 = Convert.ToDateTime(command.SingleShift1); + endTimeSingel2 = Convert.ToDateTime(command.SingleShift2); + startTimeTowSh1 = Convert.ToDateTime(command.TowShifts1); + endTimeTowSh2 = Convert.ToDateTime(command.TowShifts2); + if (starTimeSingel1 > endTimeSingel2) + { + overNight = true; + endTimeSingel2 = endTimeSingel2.AddDays(1); + } + + if (startTimeTowSh1 > endTimeTowSh2) + { + overNight = true; + endTimeTowSh2 = endTimeTowSh2.AddDays(1); + } + + var singleSpanTow1 = endTimeSingel2 - starTimeSingel1; + var singleSpanTow2 = endTimeTowSh2 - startTimeTowSh1; + notHolidays = notHolidays.Add(singleSpanTow1); + notHolidays = notHolidays.Add(singleSpanTow2); + + var Over22ComputeTow1 = Over22Check(starTimeSingel1, endTimeSingel2); + Over22 = Over22.Add(Over22ComputeTow1); + var Over22ComputeTow2 = Over22Check(startTimeTowSh1, endTimeTowSh2); + Over22 = Over22.Add(Over22ComputeTow2); + } + } + } + else if (da.DayOfWeek == "شنبه" && command.shanbeh && leavId > 0) + { + if (currentDay >= leavInfo.StartLeaveGr && currentDay <= leavInfo.EndLeaveGr) + if (leavInfo.LeaveType == "استحقاقی" && leavInfo.PaidLeaveType == "ساعتی") + { + var leaavHoursesInt = Convert.ToInt32(leavInfo.LeaveHourses); + var leavHourses = new TimeSpan(0, leaavHoursesInt, 0, 0); + i += 1; + if (command.ShiftWork == "1") + { + starTimeSingel1 = Convert.ToDateTime(command.SingleShift1); + endTimeSingel2 = Convert.ToDateTime(command.SingleShift2); + if (starTimeSingel1 > endTimeSingel2) + { + overNight = true; + endTimeSingel2 = endTimeSingel2.AddDays(1); + } + + var singleSpan1 = endTimeSingel2 - starTimeSingel1; + + singleSpan1 = singleSpan1.Subtract(rest0); + //کم کردن مرخصی ساعتی از ساعت کارکرد آن روز + singleSpan1 = singleSpan1.Subtract(leavHourses); + + notHolidays = notHolidays.Add(singleSpan1); + //کم کردن ساعت مرخصی از پایان ساعات کاری + endTimeSingel2 = endTimeSingel2.AddHours(-leaavHoursesInt); + var Over22Compute = Over22Check(starTimeSingel1, endTimeSingel2); + + Over22 = Over22.Add(Over22Compute); + } + else if (command.ShiftWork == "2") + { + starTimeSingel1 = Convert.ToDateTime(command.SingleShift1); + endTimeSingel2 = Convert.ToDateTime(command.SingleShift2); + startTimeTowSh1 = Convert.ToDateTime(command.TowShifts1); + endTimeTowSh2 = Convert.ToDateTime(command.TowShifts2); + if (starTimeSingel1 > endTimeSingel2) + { + overNight = true; + endTimeSingel2 = endTimeSingel2.AddDays(1); + } + + if (startTimeTowSh1 > endTimeTowSh2) + { + overNight = true; + endTimeTowSh2 = endTimeTowSh2.AddDays(1); + } + + var singleSpanTow1 = endTimeSingel2 - starTimeSingel1; + var singleSpanTow2 = endTimeTowSh2 - startTimeTowSh1; + notHolidays = notHolidays.Add(singleSpanTow1); + notHolidays = notHolidays.Add(singleSpanTow2); + + var Over22ComputeTow1 = Over22Check(starTimeSingel1, endTimeSingel2); + Over22 = Over22.Add(Over22ComputeTow1); + var Over22ComputeTow2 = Over22Check(startTimeTowSh1, endTimeTowSh2); + Over22 = Over22.Add(Over22ComputeTow2); + } + } + } + + if (da.DayOfWeek == "یکشنبه" && command.yekshanbeh && leavId == 0) + { + var test = da.ToGregorianDateTime(); + var checkHoliday = _holidayItemRepository.GetHoliday(test); + if (checkHoliday == false) + { + i1 += 1; + + if (command.ShiftWork == "1") + { + starTimeSingel1 = Convert.ToDateTime(command.SingleShift1Yekshanbeh); + endTimeSingel2 = Convert.ToDateTime(command.SingleShift2Yekshanbeh); + if (starTimeSingel1 > endTimeSingel2) + { + overNight = true; + endTimeSingel2 = endTimeSingel2.AddDays(1); + } + + var singleSpan1 = endTimeSingel2 - starTimeSingel1; + + singleSpan1 = singleSpan1.Subtract(rest1); + + notHolidays = notHolidays.Add(singleSpan1); + + var Over22Compute = Over22Check(starTimeSingel1, endTimeSingel2); + //Over22Compute = Over22Compute.Subtract(rest); + Over22 = Over22.Add(Over22Compute); } - - - - var employee = _employeeApplication.GetDetails(contract.EmployeeId); - var workshop = _workshopApplication.GetDetails(contract.WorkshopIds); - var officialHoliday = mandatoryCompute.OfficialHoliday; - var Friday = int.Parse(mandatoryCompute.NumberOfFriday); - var fridayStartToEnd = mandatoryCompute.FridayStartToEnd; - - var totalHoursH = mandatoryCompute.TotalHoursesH; - var totalHoursM = mandatoryCompute.TotalHoursesM; - var dayliWage = mandatoryCompute.SalaryCompute.MoneyToDouble(); - var consumableItemDouble = mandatoryCompute.ConsumableItems.MoneyToDouble(); - var housingAllowanceDouble = mandatoryCompute.HousingAllowance.MoneyToDouble(); - var familyAllowanceDouble = mandatoryCompute.FamilyAllowance.MoneyToDouble(); - var marriedAllowanceDouble = mandatoryCompute.MarriedAllowance.MoneyToDouble(); - var overTimeWorking = _yearlySalaryRepository.GetOverTimeWorking(dayliWage, mandatoryCompute.OverTimeWorkH, mandatoryCompute.OverTimeWorkM); - var overNightWorking = _yearlySalaryRepository.GetOverNightWorking(dayliWage, mandatoryCompute.OverNightWorkH, mandatoryCompute.OverNightWorkM, mandatoryCompute.SumTime44, officialHoliday, Friday, separation.ContractStartGr, separation.ContractEndGr, totalHoursH, totalHoursM); - //مزد مرخصی - //var leavePay = _yearlySalaryRepository.GetLeavePay(separation.ContractStartGr, separation.ContractEndGr, - // dayliWage, consumableItemDouble, housingAllowanceDouble, familyAllowanceDouble, mandatoryCompute.SumTime44, officialHoliday, Friday, totalHoursH, totalHoursM); - - //manual - //if ((contract.EmployeeId == 7003 && contract.WorkshopIds == 216) || - // (contract.EmployeeId == 7106 && contract.WorkshopIds == 216)) - //{ - // workshop.YearsOptions = "OnEndOfContract"; - // workshop.BonusesOptions = "OnEndOfContract"; - // workshop.ComputeOptions = "OnEndOfContract"; - //} - - var employeeOptions = - _employeeComputeOptionsApplication.GetAllByWorkshopId(contract.WorkshopIds); - var getYearsOption = employeeOptions.FirstOrDefault(x => x.EmployeeId == contract.EmployeeId); - var yearsOption = getYearsOption == null ? workshop.YearsOptions : getYearsOption.YearsOptions; - var getBonusesOption = employeeOptions.FirstOrDefault(x => x.EmployeeId == contract.EmployeeId); - var bonusesOption = getBonusesOption == null ? workshop.BonusesOptions : getBonusesOption.BonusesOptions; - var getComputeOption = employeeOptions.FirstOrDefault(x => x.EmployeeId == contract.EmployeeId); - var computeOption = getComputeOption == null ? workshop.ComputeOptions : getComputeOption.ComputeOptions; - //سنوات - //var leftNull = "1500/01/01"; - //var leftNullGr = leftNull.ToGeorgianDateTime(); - //var leftWorkDateGr = new DateTime(2121,3,21); - //if (separation.LeftWorkDate < leftNullGr) - //{ - // leftWorkDateGr = separation.LeftWorkDate.AddDays(-1); - //} - //else - //{ - // leftWorkDateGr = separation.LeftWorkDate; - //} - - var yearsPay = _yearlySalaryRepository.Years(separation.ContractStartGr, separation.LeftWorkDate ,separation.ContractEndGr, - dayliWage, yearsOption, separation.HasLeft,separation.StartWorkDate, contract.ContractStartGr, - contract.ContractEndGr, contract.WorkshopIds, contract.EmployeeId, workshop.IsOldContract); - //عیدی - var bunosesPay = _yearlySalaryRepository.Bunoses(separation.ContarctStart, separation.LeftWorkDate, separation.ContractStartGr, separation.ContractEndGr, - dayliWage, bonusesOption, separation.HasLeft, separation.StartWorkDate, contract.ContractStartGr, - contract.ContractEndGr, contract.WorkshopIds, contract.EmployeeId, workshop.IsOldContract); - //مزد مرخصی جدید - var leavePayNew = _yearlySalaryRepository.LeavePay(separation.ContarctStart, - separation.LeftWorkDate ,separation.ContractStartGr, separation.ContractEndGr, - dayliWage, computeOption, separation.HasLeft, separation.StartWorkDate, - contract.ContractStartGr, - contract.ContractEndGr, contract.WorkshopIds, contract.EmployeeId, fridayStartToEnd,officialHoliday, totalHoursH, totalHoursM,consumableItemDouble,housingAllowanceDouble,familyAllowanceDouble, marriedAllowanceDouble, workshop.IsOldContract); - var command = new CreateCheckout() - { - EmployeeFullName = employee.EmployeeFullName, - FathersName = employee.FatherName, - NationalCode = employee.NationalCode, - DateOfBirth = employee.DateOfBirth, - EmployeeId = employee.Id, - - WorkshopName = workshop.WorkshopFullName, - WorkshopId = workshop.Id, - ArchiveCode = workshop.ArchiveCode, - - ContractNo = contract.ContractNo, - ContractStartGr = separation.ContractStartGr, - ContractEndGr = separation.ContractEndGr, - ContractStart = separation.ContarctStart, - ContractEnd = separation.ContractEnd, - Month = ConvertMonth, - Year = ConvertYear, - ContractId = contract.Id, - PersonnelCode = contract.PersonnelCode.ToString(), - - WorkingHoursId = workingHours.WorknigHoursId, - //فوق العاده اضافه کاری - OvertimePay = overTimeWorking, - //فوق العاده شب کاری - NightworkPay = overNightWorking, - //کمک هزینه اقلام - ConsumableItems = mandatoryCompute.ConsumableItems, - //کمک هزینه مسکن - HousingAllowance = mandatoryCompute.HousingAllowance, - // کمک هزینه عائله مندی - FamilyAllowance = mandatoryCompute.FamilyAllowance, - //دستمزد روزانه - DayliWage = mandatoryCompute.SalaryCompute, - //مزد مرخصی - LeavePay = leavePayNew.LeavPay, - //مدت طلب مرخصی - CreditLeaves = leavePayNew.CreditLeaves, - //حق تاهل - MarriedAllowance = mandatoryCompute.MarriedAllowance, - //سنوات - YearsPay = yearsPay, - //عیدی و پادادش - BonusesPay = bunosesPay, - //مدت غیبت - AbsencePeriod = leavePayNew.AbsencePeriod, - //کسری غیبت - AbsenceDeduction = leavePayNew.AbsenceDeduction, - //وضعیت تصفیه مزد مرخصی - LeaveCheckout = leavePayNew.LeaveCheckout, - //میانگین ساعت کار در روز - AverageHoursPerDay = leavePayNew.AverageHoursPerDay, - WorkingWeeklyTime = mandatoryCompute.SumTime44, - officialholiday = officialHoliday, - friday = Friday, - totalHoursH = totalHoursH, - totalHorsM = totalHoursM, - WeeklyTime = mandatoryCompute.weeklyTime, - // فوق العاده نوبت کاری - ShiftPay = mandatoryCompute.ShiftPay, - //سنوات--> - Basic = mandatoryCompute.Basic, - FridayStarttoEnd = fridayStartToEnd, - TotalHolidaysAndNotH = mandatoryCompute.TotalHolidayAndNotH, - TotalHolidaysAndNotM = mandatoryCompute.TotalHolidayAndNotM, - DailFeeComplete = mandatoryCompute.DayliFeeComplete, - - }; - _checkoutApplication.Create(command); - - //var workshopId = $"{contract.WorkshopIds}"; - //var userId = $"{currntAcc}"; - //var sumId = userId + workshopId; - //var groupId = Convert.ToInt64(sumId); - var percent = (n / maxNumber) * 100; - _hubContext.Clients.Group(CheckoutHub.GetGroupName(currntAcc)) - .SendAsync("showStatus", (int)percent); - - n += 1; - - //progress.Report((i + 1) * 100 / ContractsId.Count); - //i += 1; - } - - } - } - else - { - var noSelect = new OperationResult() - { - IsSuccedded = false, - Message = "هیچ قراردادی برای تصفیه انتخاب نشده است", - }; - return new JsonResult(noSelect); - } - - var opration = new OperationResult() - { - IsSuccedded = true, - Message = "عملیات با موفقیت انجام شد", - }; - //Console.WriteLine(watch.Elapsed); - return new JsonResult(opration); - } - - public async Task OnGetLoadContracts(long WorkshopId, string Year, string Month, string ContractStart, string ContractEnd, long EmployeeId) - { - var today = DateTime.Now; - var GrogorianEnd = new DateTime(); - var GrogorianStart = new DateTime(); - //var GrogorianThisMonthStart2 = new DateTime(); - //var GrogorianPreviusMonthStart2 = new DateTime(); - //var ConvertContractStartGr = new DateTime(); - //var ConvertContractEndGr = new DateTime(); - //var ConvertStartFarsi = string.Empty; - //var nextmonthEndfarsi = string.Empty; - var faToday = string.Empty; - var faToday2 = string.Empty; - int syear = 0; - int smonth = 0; - int eyear = 0; - int emonth = 0; - var ConvertStart = new DateTime(); - var ConvertEnd = new DateTime(); - if (string.IsNullOrWhiteSpace(ContractStart) && string.IsNullOrWhiteSpace(ContractEnd)) - { - if (Month == "0" && Year == "0") - { - faToday = today.ToFarsi(); - } - else - { - - faToday = $"{Year}/{Month}/01"; - } - - syear = Convert.ToInt32(faToday.Substring(0, 4)); - smonth = Convert.ToInt32(faToday.Substring(5, 2)); - - var PersianStart = new PersianDateTime(syear, smonth, 01); - GrogorianStart = PersianStart.ToGregorianDateTime(); - var PersianEndFinde = new PersianDateTime(syear, smonth, 01); - PersianEndFinde = PersianEndFinde.AddMonths(1); - PersianEndFinde = PersianEndFinde.AddDays(-1); - GrogorianEnd = PersianEndFinde.ToGregorianDateTime(); - - ContractStart = GrogorianStart.ToFarsi(); - ContractEnd = GrogorianEnd.ToFarsi(); - - - - - //nextMonthStartFarsi = GrogorianThisMonthStart.ToFarsi(); - //nextmonthEndfarsi = nextMonthStartFarsi.FindeEndOfMonth(); - } - - var a = new ContractSearchModel() - { - WorkshopIds = WorkshopId, - - ContarctStart = ContractStart, - ContractEnd = ContractEnd, - EmployeeId = EmployeeId, - - - }; - - - - var ContractSearch = _contractApplication.SearchForCheckout(a); - var ContractListNew = new List(); - foreach (var item in ContractSearch) - { - - var separation = _contractApplication.contractSeparation(Year, Month, - item.ContractStartGr, item.ContractEndGr, item.EmployeeId, item.WorkshopIds); - //if (EmployeeId == 41256) //نوشین عینی فرد - //{ - // separation.ContarctStart = item.ContarctStart; - // separation.ContractEnd = item.ContractEnd; - //} - var search = new CheckoutSearchModel() - { - ContractNo = item.ContractNo, - ContractId = item.Id, - ContractStart = separation.ContarctStart, - ContractEnd = separation.ContractEnd, - }; - var checkedCHeckout = await _checkoutApplication.Search(search); - - if (checkedCHeckout.Count > 0) - { - - item.RedColor = true; - item.Extension = false; - //x.ContractStartGr <= start && x.ContractEndGr >= endd || start <= x.ContractStartGr && endd > x.ContractStartGr || endd >= x.ContractEndGr && start < x.ContractEndGr - if (item.ContractStartGr < GrogorianStart || item.ContractEndGr > GrogorianEnd) - { - item.LaterThanEnd = true; - - } - - item.MoreThanOneMonth = true; - } - else - { - if (item.ContractStartGr < GrogorianStart || item.ContractEndGr > GrogorianEnd) - { - item.LaterThanEnd = true; - item.Extension = true; - item.RedColor = false; - } - else - { + else if (command.ShiftWork == "2") + { + starTimeSingel1 = Convert.ToDateTime(command.SingleShift1Yekshanbeh); + endTimeSingel2 = Convert.ToDateTime(command.SingleShift2Yekshanbeh); + startTimeTowSh1 = Convert.ToDateTime(command.TowShifts1Yekshanbeh); + endTimeTowSh2 = Convert.ToDateTime(command.TowShifts2Yekshanbeh); + if (starTimeSingel1 > endTimeSingel2) + { + overNight = true; + endTimeSingel2 = endTimeSingel2.AddDays(1); + } + + if (startTimeTowSh1 > endTimeTowSh2) + { + overNight = true; + endTimeTowSh2 = endTimeTowSh2.AddDays(1); + } + + var singleSpanTow1 = endTimeSingel2 - starTimeSingel1; + var singleSpanTow2 = endTimeTowSh2 - startTimeTowSh1; + notHolidays = notHolidays.Add(singleSpanTow1); + notHolidays = notHolidays.Add(singleSpanTow2); + + var Over22ComputeTow1 = Over22Check(starTimeSingel1, endTimeSingel2); + Over22 = Over22.Add(Over22ComputeTow1); + var Over22ComputeTow2 = Over22Check(startTimeTowSh1, endTimeTowSh2); + Over22 = Over22.Add(Over22ComputeTow2); + } + } + } + else if (da.DayOfWeek == "یکشنبه" && command.yekshanbeh && leavId > 0) + { + } + + if (da.DayOfWeek == "دوشنبه" && command.doshanbeh && leavId == 0) + { + var test = da.ToGregorianDateTime(); + var checkHoliday = _holidayItemRepository.GetHoliday(test); + if (checkHoliday == false) + { + i2 += 1; + switch (command.ShiftWork) + { + case "1": + + starTimeSingel1 = Convert.ToDateTime(command.SingleShift1Doshanbeh); + endTimeSingel2 = Convert.ToDateTime(command.SingleShift2Doshanbeh); + if (starTimeSingel1 > endTimeSingel2) + { + overNight = true; + endTimeSingel2 = endTimeSingel2.AddDays(1); + } + + var singleSpan1 = endTimeSingel2 - starTimeSingel1; + + singleSpan1 = singleSpan1.Subtract(rest2); + + notHolidays = notHolidays.Add(singleSpan1); + + var Over22Compute = Over22Check(starTimeSingel1, endTimeSingel2); + + Over22 = Over22.Add(Over22Compute); + break; + + case "2": + starTimeSingel1 = Convert.ToDateTime(command.SingleShift1Doshanbeh); + endTimeSingel2 = Convert.ToDateTime(command.SingleShift2Doshanbeh); + startTimeTowSh1 = Convert.ToDateTime(command.TowShifts1Doshanbeh); + endTimeTowSh2 = Convert.ToDateTime(command.TowShifts2Doshanbeh); + if (starTimeSingel1 > endTimeSingel2) + { + overNight = true; + endTimeSingel2 = endTimeSingel2.AddDays(1); + } + + if (startTimeTowSh1 > endTimeTowSh2) + { + overNight = true; + endTimeTowSh2 = endTimeTowSh2.AddDays(1); + } + + var singleSpanTow1 = endTimeSingel2 - starTimeSingel1; + var singleSpanTow2 = endTimeTowSh2 - startTimeTowSh1; + notHolidays = notHolidays.Add(singleSpanTow1); + notHolidays = notHolidays.Add(singleSpanTow2); + + var Over22ComputeTow1 = Over22Check(starTimeSingel1, endTimeSingel2); + Over22 = Over22.Add(Over22ComputeTow1); + var Over22ComputeTow2 = Over22Check(startTimeTowSh1, endTimeTowSh2); + Over22 = Over22.Add(Over22ComputeTow2); + break; + } + } + } + else if (da.DayOfWeek == "دوشنبه" && command.doshanbeh && leavId > 0) + { + } + + if (da.DayOfWeek == "سه شنبه" && command.seshanbeh && leavId == 0) + { + var test = da.ToGregorianDateTime(); + var checkHoliday = _holidayItemRepository.GetHoliday(test); + if (checkHoliday == false) + { + i3 += 1; + switch (command.ShiftWork) + { + case "1": + starTimeSingel1 = Convert.ToDateTime(command.SingleShift1Seshanbeh); + endTimeSingel2 = Convert.ToDateTime(command.SingleShift2Seshanbeh); + if (starTimeSingel1 > endTimeSingel2) + { + overNight = true; + endTimeSingel2 = endTimeSingel2.AddDays(1); + } + + var singleSpan1 = endTimeSingel2 - starTimeSingel1; + + singleSpan1 = singleSpan1.Subtract(rest3); + + notHolidays = notHolidays.Add(singleSpan1); + + var Over22Compute = Over22Check(starTimeSingel1, endTimeSingel2); + Over22 = Over22.Add(Over22Compute); + break; + + case "2": + starTimeSingel1 = Convert.ToDateTime(command.SingleShift1Seshanbeh); + endTimeSingel2 = Convert.ToDateTime(command.SingleShift2Seshanbeh); + startTimeTowSh1 = Convert.ToDateTime(command.TowShifts1Seshanbeh); + endTimeTowSh2 = Convert.ToDateTime(command.TowShifts2Seshanbeh); + if (starTimeSingel1 > endTimeSingel2) + { + overNight = true; + endTimeSingel2 = endTimeSingel2.AddDays(1); + } + + if (startTimeTowSh1 > endTimeTowSh2) + { + overNight = true; + endTimeTowSh2 = endTimeTowSh2.AddDays(1); + } + + var singleSpanTow1 = endTimeSingel2 - starTimeSingel1; + var singleSpanTow2 = endTimeTowSh2 - startTimeTowSh1; + notHolidays = notHolidays.Add(singleSpanTow1); + notHolidays = notHolidays.Add(singleSpanTow2); + + var Over22ComputeTow1 = Over22Check(starTimeSingel1, endTimeSingel2); + Over22 = Over22.Add(Over22ComputeTow1); + var Over22ComputeTow2 = Over22Check(startTimeTowSh1, endTimeTowSh2); + Over22 = Over22.Add(Over22ComputeTow2); + break; + } + } + } + else if (da.DayOfWeek == "سه شنبه" && command.seshanbeh && leavId > 0) + { + } + + if (da.DayOfWeek == "چهارشنبه" && command.cheharshanbeh && leavId == 0) + { + var test = da.ToGregorianDateTime(); + var checkHoliday = _holidayItemRepository.GetHoliday(test); + if (checkHoliday == false) + { + i4 += 1; + switch (command.ShiftWork) + { + case "1": + starTimeSingel1 = Convert.ToDateTime(command.SingleShift1Cheharshanbeh); + endTimeSingel2 = Convert.ToDateTime(command.SingleShift2Cheharshanbeh); + if (starTimeSingel1 > endTimeSingel2) + { + overNight = true; + endTimeSingel2 = endTimeSingel2.AddDays(1); + } + + var singleSpan1 = endTimeSingel2 - starTimeSingel1; + + singleSpan1 = singleSpan1.Subtract(rest4); + + notHolidays = notHolidays.Add(singleSpan1); + + var Over22Compute = Over22Check(starTimeSingel1, endTimeSingel2); + Over22 = Over22.Add(Over22Compute); + break; + + case "2": + starTimeSingel1 = Convert.ToDateTime(command.SingleShift1Cheharshanbeh); + endTimeSingel2 = Convert.ToDateTime(command.SingleShift2Cheharshanbeh); + startTimeTowSh1 = Convert.ToDateTime(command.TowShifts1Cheharshanbeh); + endTimeTowSh2 = Convert.ToDateTime(command.TowShifts2Cheharshanbeh); + if (starTimeSingel1 > endTimeSingel2) + { + overNight = true; + endTimeSingel2 = endTimeSingel2.AddDays(1); + } + + if (startTimeTowSh1 > endTimeTowSh2) + { + overNight = true; + endTimeTowSh2 = endTimeTowSh2.AddDays(1); + } + + var singleSpanTow1 = endTimeSingel2 - starTimeSingel1; + var singleSpanTow2 = endTimeTowSh2 - startTimeTowSh1; + notHolidays = notHolidays.Add(singleSpanTow1); + notHolidays = notHolidays.Add(singleSpanTow2); + + var Over22ComputeTow1 = Over22Check(starTimeSingel1, endTimeSingel2); + Over22 = Over22.Add(Over22ComputeTow1); + var Over22ComputeTow2 = Over22Check(startTimeTowSh1, endTimeTowSh2); + Over22 = Over22.Add(Over22ComputeTow2); + break; + } + } + } + else if (da.DayOfWeek == "چهارشنبه" && command.cheharshanbeh && leavId > 0) + { + } + + if (da.DayOfWeek == "پنج شنبه" && command.pangshanbeh && leavId == 0) + { + var test = da.ToGregorianDateTime(); + var checkHoliday = _holidayItemRepository.GetHoliday(test); + if (checkHoliday == false) + { + i5 += 1; + switch (command.ShiftWork) + { + case "1": + starTimeSingel1 = Convert.ToDateTime(command.SingleShift1Panjshanbeh); + endTimeSingel2 = Convert.ToDateTime(command.SingleShift2Panjshanbeh); + if (starTimeSingel1 > endTimeSingel2) + { + overNight = true; + singleOver24 = endTimeSingel2 - singleShiftOver24; + endTimeSingel2 = endTimeSingel2.AddDays(1); + } + + var singleSpan1 = endTimeSingel2 - starTimeSingel1; + + singleSpan1 = singleSpan1.Subtract(rest5); + + singleSpan1 = singleSpan1.Subtract(singleOver24); + jomeh = jomeh.Add(singleOver24); + notHolidays = notHolidays.Add(singleSpan1); + + var Over22Compute = Over22Check(starTimeSingel1, endTimeSingel2); + Over22 = Over22.Add(Over22Compute); + break; + + case "2": + starTimeSingel1 = Convert.ToDateTime(command.SingleShift1Panjshanbeh); + endTimeSingel2 = Convert.ToDateTime(command.SingleShift2Panjshanbeh); + startTimeTowSh1 = Convert.ToDateTime(command.TowShifts1Panjshanbeh); + endTimeTowSh2 = Convert.ToDateTime(command.TowShifts2Panjshanbeh); + var singleOver24Tow = new TimeSpan(); + if (starTimeSingel1 > endTimeSingel2) + { + overNight = true; + singleOver24 = endTimeSingel2 - singleShiftOver24; + endTimeSingel2 = endTimeSingel2.AddDays(1); + } + + if (startTimeTowSh1 > endTimeTowSh2) + { + overNight = true; + singleOver24Tow = endTimeTowSh2 - singleShiftOver24; + endTimeTowSh2 = endTimeTowSh2.AddDays(1); + } + + var singleSpanTow1 = endTimeSingel2 - starTimeSingel1; + var singleSpanTow2 = endTimeTowSh2 - startTimeTowSh1; + + + singleSpanTow1 = singleSpanTow1.Subtract(singleOver24); + singleSpanTow2 = singleSpanTow2.Subtract(singleOver24Tow); + + jomeh = jomeh.Add(singleOver24); + jomeh = jomeh.Add(singleOver24Tow); + + notHolidays = notHolidays.Add(singleSpanTow1); + notHolidays = notHolidays.Add(singleSpanTow2); + + var Over22ComputeTow1 = Over22Check(starTimeSingel1, endTimeSingel2); + Over22 = Over22.Add(Over22ComputeTow1); + var Over22ComputeTow2 = Over22Check(startTimeTowSh1, endTimeTowSh2); + Over22 = Over22.Add(Over22ComputeTow2); + break; + } + } + } + else if (da.DayOfWeek == "پنج شنبه" && command.pangshanbeh && leavId > 0) + { + } + + if (da.DayOfWeek == "جمعه" && command.jomeh && leavId == 0) + { + i6 += 1; + switch (command.ShiftWork) + { + case "1": + starTimeSingel1 = Convert.ToDateTime(command.SingleShift1Jomeh); + endTimeSingel2 = Convert.ToDateTime(command.SingleShift2Jomeh); + if (starTimeSingel1 > endTimeSingel2) + { + overNight = true; + endTimeSingel2 = endTimeSingel2.AddDays(1); + } + + var singleSpan1 = endTimeSingel2 - starTimeSingel1; + singleSpan1 = singleSpan1.Subtract(rest6); + + jomeh = jomeh.Add(singleSpan1); + + var Over22Compute = Over22Check(starTimeSingel1, endTimeSingel2); + Over22 = Over22.Add(Over22Compute); + break; + + case "2": + starTimeSingel1 = Convert.ToDateTime(command.SingleShift1Jomeh); + endTimeSingel2 = Convert.ToDateTime(command.SingleShift2Jomeh); + startTimeTowSh1 = Convert.ToDateTime(command.TowShifts1Jomeh); + endTimeTowSh2 = Convert.ToDateTime(command.TowShifts2Jomeh); + if (starTimeSingel1 > endTimeSingel2) + { + overNight = true; + endTimeSingel2 = endTimeSingel2.AddDays(1); + } + + if (startTimeTowSh1 > endTimeTowSh2) + { + overNight = true; + endTimeTowSh2 = endTimeTowSh2.AddDays(1); + } + + var singleSpanTow1 = endTimeSingel2 - starTimeSingel1; + var singleSpanTow2 = endTimeTowSh2 - startTimeTowSh1; + jomeh = jomeh.Add(singleSpanTow1); + jomeh = jomeh.Add(singleSpanTow2); + + var Over22ComputeTow1 = Over22Check(starTimeSingel1, endTimeSingel2); + Over22 = Over22.Add(Over22ComputeTow1); + var Over22ComputeTow2 = Over22Check(startTimeTowSh1, endTimeTowSh2); + Over22 = Over22.Add(Over22ComputeTow2); + break; + } + } + else if (da.DayOfWeek == "جمعه" && command.jomeh && leavId > 0) + { + } + else if (command.jomeh == false) + { + i6 = 0; + } + + if (da.DayOfWeek == "جمعه") FridayStartToEnd += 1; + } + } + + #endregion + + #endregion + + #region Rotating + + else if (command.ShiftWork == "4") + { + for (var da = d1; da <= d2; da.AddDays(1)) + { + var FirstDayOfMonth = new PersianDateTime(da.Year, da.Month, 1); + var w1 = 0; + var w2 = 0; + var w3 = 0; + var w4 = 0; + var w5 = 0; + var w6 = 0; + + switch (FirstDayOfMonth.DayOfWeek) + { + case "شنبه": + w1 = 7; + w2 = 14; + w3 = 28; + w4 = 31; + break; + case "یکشنبه": + w1 = 6; + w2 = 13; + w3 = 20; + w4 = 27; + w5 = 31; + break; + case "دوشنبه": + w1 = 5; + w2 = 12; + w3 = 19; + w4 = 26; + w5 = 31; + break; + case "سه شنبه": + w1 = 4; + w2 = 11; + w3 = 18; + w4 = 25; + w5 = 31; + break; + case "چهارشنبه": + w1 = 3; + w2 = 10; + w3 = 17; + w4 = 24; + w5 = 31; + break; + case "پنج شنبه": + w1 = 2; + w2 = 9; + w3 = 16; + w4 = 23; + w5 = 30; + w6 = 31; + break; + case "جمعه": + w1 = 1; + w2 = 8; + w3 = 15; + w4 = 22; + w5 = 29; + w6 = 31; + break; + } + + switch (da.DayOfWeek) + { + case "شنبه": + if (da.Day <= w1) + { + if (command.Shanbe1 && leavId == 0) + { + var test = $"{da}"; + var checkHoliday = holidayList.Any(x => x == test); + if (checkHoliday == false) + { + i += 1; + SumComplexDays += 1; + starTimeSingel1 = Convert.ToDateTime(command.SingleShift1Shanbe1); + endTimeSingel2 = Convert.ToDateTime(command.SingleShift2Shanbe1); + startTimeTowSh1 = Convert.ToDateTime(command.TowShifts1Shanbe1); + endTimeTowSh2 = Convert.ToDateTime(command.TowShifts2Shanbe1); + //if (string.IsNullOrWhiteSpace(command.TowShifts1Shanbe1)) + if (endTimeSingel2 - starTimeSingel1 >= rest0w1) + endTimeSingel2 = endTimeSingel2.Subtract(rest0w1); + sumRest = sumRest.Add(rest0w1); + + var rotatingCheck = RotatingShiftCheck(starTimeSingel1, endTimeSingel2, + startTimeTowSh1, endTimeTowSh2); + rotatingCheck.RotatingDate = test; + rotatingResultList.Add(rotatingCheck); + notHolidays = notHolidays.Add(rotatingCheck.TotalWorkingTime); + Over22 = Over22.Add(rotatingCheck.NightWorkSpan); + } + else + { + starTimeSingel1 = Convert.ToDateTime(command.SingleShift1Shanbe1); + endTimeSingel2 = Convert.ToDateTime(command.SingleShift2Shanbe1); + startTimeTowSh1 = Convert.ToDateTime(command.TowShifts1Shanbe1); + endTimeTowSh2 = Convert.ToDateTime(command.TowShifts2Shanbe1); + //if (string.IsNullOrWhiteSpace(command.TowShifts1Shanbe1)) + if (endTimeSingel2 - starTimeSingel1 >= rest0w1) + endTimeSingel2 = endTimeSingel2.Subtract(rest0w1); + + + var rotatingCheck = RotatingShiftCheck(starTimeSingel1, endTimeSingel2, + startTimeTowSh1, endTimeTowSh2); + HolidaysAndNot = HolidaysAndNot.Add(rotatingCheck.TotalWorkingTime); + } + } + else if (command.Shanbe1 && leavId > 0) + { + } + } + else if (da.Day > w1 && da.Day <= w2) + { + if (command.Shanbe2 && leavId == 0) + { + var test = $"{da}"; + var checkHoliday = holidayList.Any(x => x == test); + if (checkHoliday == false) + { + i += 1; + SumComplexDays += 1; + starTimeSingel1 = Convert.ToDateTime(command.SingleShift1Shanbe2); + endTimeSingel2 = Convert.ToDateTime(command.SingleShift2Shanbe2); + startTimeTowSh1 = Convert.ToDateTime(command.TowShifts1Shanbe2); + endTimeTowSh2 = Convert.ToDateTime(command.TowShifts2Shanbe2); + //if (string.IsNullOrWhiteSpace(command.TowShifts1Shanbe2)) + if (endTimeSingel2 - starTimeSingel1 >= rest0w2) + endTimeSingel2 = endTimeSingel2.Subtract(rest0w2); + sumRest = sumRest.Add(rest0w2); + + var rotatingCheck = RotatingShiftCheck(starTimeSingel1, endTimeSingel2, + startTimeTowSh1, endTimeTowSh2); + rotatingCheck.RotatingDate = test; + rotatingResultList.Add(rotatingCheck); + notHolidays = notHolidays.Add(rotatingCheck.TotalWorkingTime); + Over22 = Over22.Add(rotatingCheck.NightWorkSpan); + } + else + { + starTimeSingel1 = Convert.ToDateTime(command.SingleShift1Shanbe2); + endTimeSingel2 = Convert.ToDateTime(command.SingleShift2Shanbe2); + startTimeTowSh1 = Convert.ToDateTime(command.TowShifts1Shanbe2); + endTimeTowSh2 = Convert.ToDateTime(command.TowShifts2Shanbe2); + //if (string.IsNullOrWhiteSpace(command.TowShifts1Shanbe2)) + if (endTimeSingel2 - starTimeSingel1 >= rest0w2) + endTimeSingel2 = endTimeSingel2.Subtract(rest0w2); + var rotatingCheck = RotatingShiftCheck(starTimeSingel1, endTimeSingel2, + startTimeTowSh1, endTimeTowSh2); + HolidaysAndNot = HolidaysAndNot.Add(rotatingCheck.TotalWorkingTime); + } + } + else if (command.Shanbe2 && leavId > 0) + { + } + } + else if (da.Day > w2 && da.Day <= w3) + { + if (command.Shanbe3 && leavId == 0) + { + var test = $"{da}"; + var checkHoliday = holidayList.Any(x => x == test); + if (checkHoliday == false) + { + i += 1; + SumComplexDays += 1; + starTimeSingel1 = Convert.ToDateTime(command.SingleShift1Shanbe3); + endTimeSingel2 = Convert.ToDateTime(command.SingleShift2Shanbe3); + startTimeTowSh1 = Convert.ToDateTime(command.TowShifts1Shanbe3); + endTimeTowSh2 = Convert.ToDateTime(command.TowShifts2Shanbe3); + //if (string.IsNullOrWhiteSpace(command.TowShifts1Shanbe3)) + if (endTimeSingel2 - starTimeSingel1 >= rest0w3) + endTimeSingel2 = endTimeSingel2.Subtract(rest0w3); + sumRest = sumRest.Add(rest0w3); + + var rotatingCheck = RotatingShiftCheck(starTimeSingel1, endTimeSingel2, + startTimeTowSh1, endTimeTowSh2); + rotatingCheck.RotatingDate = test; + rotatingResultList.Add(rotatingCheck); + notHolidays = notHolidays.Add(rotatingCheck.TotalWorkingTime); + Over22 = Over22.Add(rotatingCheck.NightWorkSpan); + } + else + { + starTimeSingel1 = Convert.ToDateTime(command.SingleShift1Shanbe3); + endTimeSingel2 = Convert.ToDateTime(command.SingleShift2Shanbe3); + startTimeTowSh1 = Convert.ToDateTime(command.TowShifts1Shanbe3); + endTimeTowSh2 = Convert.ToDateTime(command.TowShifts2Shanbe3); + // if (string.IsNullOrWhiteSpace(command.TowShifts1Shanbe3)) + if (endTimeSingel2 - starTimeSingel1 >= rest0w3) + endTimeSingel2 = endTimeSingel2.Subtract(rest0w3); + + var rotatingCheck = RotatingShiftCheck(starTimeSingel1, endTimeSingel2, + startTimeTowSh1, endTimeTowSh2); + HolidaysAndNot = HolidaysAndNot.Add(rotatingCheck.TotalWorkingTime); + } + } + else if (command.Shanbe3 && leavId > 0) + { + } + } + else if (da.Day > w3 && da.Day <= w4) + { + if (command.Shanbe4 && leavId == 0) + { + var test = $"{da}"; + var checkHoliday = holidayList.Any(x => x == test); + if (checkHoliday == false) + { + i += 1; + SumComplexDays += 1; + starTimeSingel1 = Convert.ToDateTime(command.SingleShift1Shanbe4); + endTimeSingel2 = Convert.ToDateTime(command.SingleShift2Shanbe4); + startTimeTowSh1 = Convert.ToDateTime(command.TowShifts1Shanbe4); + endTimeTowSh2 = Convert.ToDateTime(command.TowShifts2Shanbe4); + // if (string.IsNullOrWhiteSpace(command.TowShifts1Shanbe4)) + if (endTimeSingel2 - starTimeSingel1 >= rest0w4) + endTimeSingel2 = endTimeSingel2.Subtract(rest0w4); + sumRest = sumRest.Add(rest0w4); + + var rotatingCheck = RotatingShiftCheck(starTimeSingel1, endTimeSingel2, + startTimeTowSh1, endTimeTowSh2); + rotatingCheck.RotatingDate = test; + rotatingResultList.Add(rotatingCheck); + notHolidays = notHolidays.Add(rotatingCheck.TotalWorkingTime); + Over22 = Over22.Add(rotatingCheck.NightWorkSpan); + } + else + { + starTimeSingel1 = Convert.ToDateTime(command.SingleShift1Shanbe4); + endTimeSingel2 = Convert.ToDateTime(command.SingleShift2Shanbe4); + startTimeTowSh1 = Convert.ToDateTime(command.TowShifts1Shanbe4); + endTimeTowSh2 = Convert.ToDateTime(command.TowShifts2Shanbe4); + // if (string.IsNullOrWhiteSpace(command.TowShifts1Shanbe4)) + if (endTimeSingel2 - starTimeSingel1 >= rest0w3) + endTimeSingel2 = endTimeSingel2.Subtract(rest0w4); + var rotatingCheck = RotatingShiftCheck(starTimeSingel1, endTimeSingel2, + startTimeTowSh1, endTimeTowSh2); + HolidaysAndNot = HolidaysAndNot.Add(rotatingCheck.TotalWorkingTime); + } + } + else if (command.Shanbe4 && leavId > 0) + { + } + } + else if (da.Day > w4 && da.Day <= w5) + { + if (command.Shanbe1 && leavId == 0) + { + var test = $"{da}"; + var checkHoliday = holidayList.Any(x => x == test); + if (checkHoliday == false) + { + i += 1; + SumComplexDays += 1; + starTimeSingel1 = Convert.ToDateTime(command.SingleShift1Shanbe1); + endTimeSingel2 = Convert.ToDateTime(command.SingleShift2Shanbe1); + startTimeTowSh1 = Convert.ToDateTime(command.TowShifts1Shanbe1); + endTimeTowSh2 = Convert.ToDateTime(command.TowShifts2Shanbe1); + //if (string.IsNullOrWhiteSpace(command.TowShifts1Shanbe1)) + if (endTimeSingel2 - starTimeSingel1 >= rest0w1) + endTimeSingel2 = endTimeSingel2.Subtract(rest0w1); + sumRest = sumRest.Add(rest0w1); + + var rotatingCheck = RotatingShiftCheck(starTimeSingel1, endTimeSingel2, + startTimeTowSh1, endTimeTowSh2); + rotatingCheck.RotatingDate = test; + rotatingResultList.Add(rotatingCheck); + notHolidays = notHolidays.Add(rotatingCheck.TotalWorkingTime); + Over22 = Over22.Add(rotatingCheck.NightWorkSpan); + } + else + { + starTimeSingel1 = Convert.ToDateTime(command.SingleShift1Shanbe1); + endTimeSingel2 = Convert.ToDateTime(command.SingleShift2Shanbe1); + startTimeTowSh1 = Convert.ToDateTime(command.TowShifts1Shanbe1); + endTimeTowSh2 = Convert.ToDateTime(command.TowShifts2Shanbe1); + //if (string.IsNullOrWhiteSpace(command.TowShifts1Shanbe1)) + if (endTimeSingel2 - starTimeSingel1 >= rest0w1) + endTimeSingel2 = endTimeSingel2.Subtract(rest0w1); + + var rotatingCheck = RotatingShiftCheck(starTimeSingel1, endTimeSingel2, + startTimeTowSh1, endTimeTowSh2); + HolidaysAndNot = HolidaysAndNot.Add(rotatingCheck.TotalWorkingTime); + } + } + else if (command.Shanbe1 && leavId > 0) + { + } + } + else if (da.Day > w5 && da.Day <= w6) + { + if (command.Shanbe2 && leavId == 0) + { + var test = $"{da}"; + var checkHoliday = holidayList.Any(x => x == test); + if (checkHoliday == false) + { + i += 1; + SumComplexDays += 1; + starTimeSingel1 = Convert.ToDateTime(command.SingleShift1Shanbe2); + endTimeSingel2 = Convert.ToDateTime(command.SingleShift2Shanbe2); + startTimeTowSh1 = Convert.ToDateTime(command.TowShifts1Shanbe2); + endTimeTowSh2 = Convert.ToDateTime(command.TowShifts2Shanbe2); + //if (string.IsNullOrWhiteSpace(command.TowShifts1Shanbe2)) + if (endTimeSingel2 - starTimeSingel1 >= rest0w2) + endTimeSingel2 = endTimeSingel2.Subtract(rest0w2); + sumRest = sumRest.Add(rest0w2); + + var rotatingCheck = RotatingShiftCheck(starTimeSingel1, endTimeSingel2, + startTimeTowSh1, endTimeTowSh2); + rotatingCheck.RotatingDate = test; + rotatingResultList.Add(rotatingCheck); + notHolidays = notHolidays.Add(rotatingCheck.TotalWorkingTime); + Over22 = Over22.Add(rotatingCheck.NightWorkSpan); + } + else + { + starTimeSingel1 = Convert.ToDateTime(command.SingleShift1Shanbe2); + endTimeSingel2 = Convert.ToDateTime(command.SingleShift2Shanbe2); + startTimeTowSh1 = Convert.ToDateTime(command.TowShifts1Shanbe2); + endTimeTowSh2 = Convert.ToDateTime(command.TowShifts2Shanbe2); + // if (string.IsNullOrWhiteSpace(command.TowShifts1Shanbe2)) + if (endTimeSingel2 - starTimeSingel1 >= rest0w2) + endTimeSingel2 = endTimeSingel2.Subtract(rest0w2); + var rotatingCheck = RotatingShiftCheck(starTimeSingel1, endTimeSingel2, + startTimeTowSh1, endTimeTowSh2); + HolidaysAndNot = HolidaysAndNot.Add(rotatingCheck.TotalWorkingTime); + } + } + else if (command.Shanbe2 && leavId > 0) + { + } + } + + break; + case "یکشنبه": + if (da.Day <= w1) + { + if (command.YekShanbe1 && leavId == 0) + { + var test = $"{da}"; + var checkHoliday = holidayList.Any(x => x == test); + if (checkHoliday == false) + { + i += 1; + SumComplexDays += 1; + starTimeSingel1 = Convert.ToDateTime(command.SingleShift1YekShanbe1); + endTimeSingel2 = Convert.ToDateTime(command.SingleShift2YekShanbe1); + startTimeTowSh1 = Convert.ToDateTime(command.TowShifts1YekShanbe1); + endTimeTowSh2 = Convert.ToDateTime(command.TowShifts2YekShanbe1); + // if (string.IsNullOrWhiteSpace(command.TowShifts1YekShanbe1)) + if (endTimeSingel2 - starTimeSingel1 >= rest1w1) + endTimeSingel2 = endTimeSingel2.Subtract(rest1w1); + sumRest = sumRest.Add(rest1w1); + + var rotatingCheck = RotatingShiftCheck(starTimeSingel1, endTimeSingel2, + startTimeTowSh1, endTimeTowSh2); + rotatingCheck.RotatingDate = test; + rotatingResultList.Add(rotatingCheck); + notHolidays = notHolidays.Add(rotatingCheck.TotalWorkingTime); + Over22 = Over22.Add(rotatingCheck.NightWorkSpan); + } + else + { + starTimeSingel1 = Convert.ToDateTime(command.SingleShift1YekShanbe1); + endTimeSingel2 = Convert.ToDateTime(command.SingleShift2YekShanbe1); + startTimeTowSh1 = Convert.ToDateTime(command.TowShifts1YekShanbe1); + endTimeTowSh2 = Convert.ToDateTime(command.TowShifts2YekShanbe1); + //if (string.IsNullOrWhiteSpace(command.TowShifts1YekShanbe1)) + if (endTimeSingel2 - starTimeSingel1 >= rest1w1) + endTimeSingel2 = endTimeSingel2.Subtract(rest1w1); + + var rotatingCheck = RotatingShiftCheck(starTimeSingel1, endTimeSingel2, + startTimeTowSh1, endTimeTowSh2); + HolidaysAndNot = HolidaysAndNot.Add(rotatingCheck.TotalWorkingTime); + } + } + else if (command.YekShanbe1 && leavId > 0) + { + } + } + else if (da.Day > w1 && da.Day <= w2) + { + if (command.YekShanbe2 && leavId == 0) + { + var test = $"{da}"; + var checkHoliday = holidayList.Any(x => x == test); + if (checkHoliday == false) + { + i += 1; + SumComplexDays += 1; + starTimeSingel1 = Convert.ToDateTime(command.SingleShift1YekShanbe2); + endTimeSingel2 = Convert.ToDateTime(command.SingleShift2YekShanbe2); + startTimeTowSh1 = Convert.ToDateTime(command.TowShifts1YekShanbe2); + endTimeTowSh2 = Convert.ToDateTime(command.TowShifts2YekShanbe2); + //if (string.IsNullOrWhiteSpace(command.TowShifts1YekShanbe2)) + if (endTimeSingel2 - starTimeSingel1 >= rest1w2) + endTimeSingel2 = endTimeSingel2.Subtract(rest1w2); + sumRest = sumRest.Add(rest1w2); + + var rotatingCheck = RotatingShiftCheck(starTimeSingel1, endTimeSingel2, + startTimeTowSh1, endTimeTowSh2); + rotatingCheck.RotatingDate = test; + rotatingResultList.Add(rotatingCheck); + notHolidays = notHolidays.Add(rotatingCheck.TotalWorkingTime); + Over22 = Over22.Add(rotatingCheck.NightWorkSpan); + } + else + { + starTimeSingel1 = Convert.ToDateTime(command.SingleShift1YekShanbe2); + endTimeSingel2 = Convert.ToDateTime(command.SingleShift2YekShanbe2); + startTimeTowSh1 = Convert.ToDateTime(command.TowShifts1YekShanbe2); + endTimeTowSh2 = Convert.ToDateTime(command.TowShifts2YekShanbe2); + //if (string.IsNullOrWhiteSpace(command.TowShifts1YekShanbe2)) + if (endTimeSingel2 - starTimeSingel1 >= rest1w2) + endTimeSingel2 = endTimeSingel2.Subtract(rest1w2); + + var rotatingCheck = RotatingShiftCheck(starTimeSingel1, endTimeSingel2, + startTimeTowSh1, endTimeTowSh2); + HolidaysAndNot = HolidaysAndNot.Add(rotatingCheck.TotalWorkingTime); + } + } + else if (command.YekShanbe2 && leavId > 0) + { + } + } + else if (da.Day > w2 && da.Day <= w3) + { + if (command.YekShanbe3 && leavId == 0) + { + var test = $"{da}"; + var checkHoliday = holidayList.Any(x => x == test); + if (checkHoliday == false) + { + i += 1; + SumComplexDays += 1; + starTimeSingel1 = Convert.ToDateTime(command.SingleShift1YekShanbe3); + endTimeSingel2 = Convert.ToDateTime(command.SingleShift2YekShanbe3); + startTimeTowSh1 = Convert.ToDateTime(command.TowShifts1YekShanbe3); + endTimeTowSh2 = Convert.ToDateTime(command.TowShifts2YekShanbe3); + // if (string.IsNullOrWhiteSpace(command.TowShifts1YekShanbe3)) + if (endTimeSingel2 - starTimeSingel1 >= rest1w3) + endTimeSingel2 = endTimeSingel2.Subtract(rest1w3); + sumRest = sumRest.Add(rest1w3); + + var rotatingCheck = RotatingShiftCheck(starTimeSingel1, endTimeSingel2, + startTimeTowSh1, endTimeTowSh2); + rotatingCheck.RotatingDate = test; + rotatingResultList.Add(rotatingCheck); + notHolidays = notHolidays.Add(rotatingCheck.TotalWorkingTime); + Over22 = Over22.Add(rotatingCheck.NightWorkSpan); + } + else + { + starTimeSingel1 = Convert.ToDateTime(command.SingleShift1YekShanbe3); + endTimeSingel2 = Convert.ToDateTime(command.SingleShift2YekShanbe3); + startTimeTowSh1 = Convert.ToDateTime(command.TowShifts1YekShanbe3); + endTimeTowSh2 = Convert.ToDateTime(command.TowShifts2YekShanbe3); + //if (string.IsNullOrWhiteSpace(command.TowShifts1YekShanbe3)) + if (endTimeSingel2 - starTimeSingel1 >= rest1w3) + endTimeSingel2 = endTimeSingel2.Subtract(rest1w3); + + var rotatingCheck = RotatingShiftCheck(starTimeSingel1, endTimeSingel2, + startTimeTowSh1, endTimeTowSh2); + HolidaysAndNot = HolidaysAndNot.Add(rotatingCheck.TotalWorkingTime); + } + } + else if (command.YekShanbe3 && leavId > 0) + { + } + } + else if (da.Day > w3 && da.Day <= w4) + { + if (command.YekShanbe4 && leavId == 0) + { + var test = $"{da}"; + var checkHoliday = holidayList.Any(x => x == test); + if (checkHoliday == false) + { + i += 1; + SumComplexDays += 1; + starTimeSingel1 = Convert.ToDateTime(command.SingleShift1YekShanbe4); + endTimeSingel2 = Convert.ToDateTime(command.SingleShift2YekShanbe4); + startTimeTowSh1 = Convert.ToDateTime(command.TowShifts1YekShanbe4); + endTimeTowSh2 = Convert.ToDateTime(command.TowShifts2YekShanbe4); + //if (string.IsNullOrWhiteSpace(command.TowShifts1YekShanbe4)) + if (endTimeSingel2 - starTimeSingel1 >= rest1w4) + endTimeSingel2 = endTimeSingel2.Subtract(rest1w4); + sumRest = sumRest.Add(rest1w4); + + var rotatingCheck = RotatingShiftCheck(starTimeSingel1, endTimeSingel2, + startTimeTowSh1, endTimeTowSh2); + rotatingCheck.RotatingDate = test; + rotatingResultList.Add(rotatingCheck); + notHolidays = notHolidays.Add(rotatingCheck.TotalWorkingTime); + Over22 = Over22.Add(rotatingCheck.NightWorkSpan); + } + else + { + starTimeSingel1 = Convert.ToDateTime(command.SingleShift1YekShanbe4); + endTimeSingel2 = Convert.ToDateTime(command.SingleShift2YekShanbe4); + startTimeTowSh1 = Convert.ToDateTime(command.TowShifts1YekShanbe4); + endTimeTowSh2 = Convert.ToDateTime(command.TowShifts2YekShanbe4); + //if (string.IsNullOrWhiteSpace(command.TowShifts1YekShanbe4)) + if (endTimeSingel2 - starTimeSingel1 >= rest1w4) + endTimeSingel2 = endTimeSingel2.Subtract(rest1w4); + + var rotatingCheck = RotatingShiftCheck(starTimeSingel1, endTimeSingel2, + startTimeTowSh1, endTimeTowSh2); + HolidaysAndNot = HolidaysAndNot.Add(rotatingCheck.TotalWorkingTime); + } + } + else if (command.YekShanbe4 && leavId > 0) + { + } + } + else if (da.Day > w4 && da.Day <= w5) + { + if (command.YekShanbe1 && leavId == 0) + { + var test = $"{da}"; + var checkHoliday = holidayList.Any(x => x == test); + if (checkHoliday == false) + { + i += 1; + SumComplexDays += 1; + starTimeSingel1 = Convert.ToDateTime(command.SingleShift1YekShanbe1); + endTimeSingel2 = Convert.ToDateTime(command.SingleShift2YekShanbe1); + startTimeTowSh1 = Convert.ToDateTime(command.TowShifts1YekShanbe1); + endTimeTowSh2 = Convert.ToDateTime(command.TowShifts2YekShanbe1); + //if (string.IsNullOrWhiteSpace(command.TowShifts1YekShanbe1)) + if (endTimeSingel2 - starTimeSingel1 >= rest1w1) + endTimeSingel2 = endTimeSingel2.Subtract(rest1w1); + sumRest = sumRest.Add(rest1w1); + + var rotatingCheck = RotatingShiftCheck(starTimeSingel1, endTimeSingel2, + startTimeTowSh1, endTimeTowSh2); + rotatingCheck.RotatingDate = test; + rotatingResultList.Add(rotatingCheck); + notHolidays = notHolidays.Add(rotatingCheck.TotalWorkingTime); + Over22 = Over22.Add(rotatingCheck.NightWorkSpan); + } + else + { + starTimeSingel1 = Convert.ToDateTime(command.SingleShift1YekShanbe1); + endTimeSingel2 = Convert.ToDateTime(command.SingleShift2YekShanbe1); + startTimeTowSh1 = Convert.ToDateTime(command.TowShifts1YekShanbe1); + endTimeTowSh2 = Convert.ToDateTime(command.TowShifts2YekShanbe1); + //if (string.IsNullOrWhiteSpace(command.TowShifts1YekShanbe1)) + if (endTimeSingel2 - starTimeSingel1 >= rest1w1) + endTimeSingel2 = endTimeSingel2.Subtract(rest1w1); + + var rotatingCheck = RotatingShiftCheck(starTimeSingel1, endTimeSingel2, + startTimeTowSh1, endTimeTowSh2); + HolidaysAndNot = HolidaysAndNot.Add(rotatingCheck.TotalWorkingTime); + } + } + else if (command.YekShanbe1 && leavId > 0) + { + } + } + else if (da.Day > w5 && da.Day <= w6) + { + if (command.YekShanbe2 && leavId == 0) + { + var test = $"{da}"; + var checkHoliday = holidayList.Any(x => x == test); + if (checkHoliday == false) + { + i += 1; + SumComplexDays += 1; + starTimeSingel1 = Convert.ToDateTime(command.SingleShift1YekShanbe2); + endTimeSingel2 = Convert.ToDateTime(command.SingleShift2YekShanbe2); + startTimeTowSh1 = Convert.ToDateTime(command.TowShifts1YekShanbe2); + endTimeTowSh2 = Convert.ToDateTime(command.TowShifts2YekShanbe2); + //if (string.IsNullOrWhiteSpace(command.TowShifts1YekShanbe2)) + if (endTimeSingel2 - starTimeSingel1 >= rest1w2) + endTimeSingel2 = endTimeSingel2.Subtract(rest1w2); + sumRest = sumRest.Add(rest1w2); + + var rotatingCheck = RotatingShiftCheck(starTimeSingel1, endTimeSingel2, + startTimeTowSh1, endTimeTowSh2); + rotatingCheck.RotatingDate = test; + rotatingResultList.Add(rotatingCheck); + notHolidays = notHolidays.Add(rotatingCheck.TotalWorkingTime); + Over22 = Over22.Add(rotatingCheck.NightWorkSpan); + } + else + { + starTimeSingel1 = Convert.ToDateTime(command.SingleShift1YekShanbe2); + endTimeSingel2 = Convert.ToDateTime(command.SingleShift2YekShanbe2); + startTimeTowSh1 = Convert.ToDateTime(command.TowShifts1YekShanbe2); + endTimeTowSh2 = Convert.ToDateTime(command.TowShifts2YekShanbe2); + //if (string.IsNullOrWhiteSpace(command.TowShifts1YekShanbe2)) + if (endTimeSingel2 - starTimeSingel1 >= rest1w2) + endTimeSingel2 = endTimeSingel2.Subtract(rest1w2); + + var rotatingCheck = RotatingShiftCheck(starTimeSingel1, endTimeSingel2, + startTimeTowSh1, endTimeTowSh2); + HolidaysAndNot = HolidaysAndNot.Add(rotatingCheck.TotalWorkingTime); + } + } + else if (command.YekShanbe2 && leavId > 0) + { + } + } + + break; + case "دوشنبه": + if (da.Day <= w1) + { + if (command.DoShanbe1 && leavId == 0) + { + var test = $"{da}"; + var checkHoliday = holidayList.Any(x => x == test); + if (checkHoliday == false) + { + i += 1; + SumComplexDays += 1; + starTimeSingel1 = Convert.ToDateTime(command.SingleShift1DoShanbe1); + endTimeSingel2 = Convert.ToDateTime(command.SingleShift2DoShanbe1); + startTimeTowSh1 = Convert.ToDateTime(command.TowShifts1DoShanbe1); + endTimeTowSh2 = Convert.ToDateTime(command.TowShifts2DoShanbe1); + //if (string.IsNullOrWhiteSpace(command.TowShifts1DoShanbe1)) + if (endTimeSingel2 - starTimeSingel1 >= rest2w1) + endTimeSingel2 = endTimeSingel2.Subtract(rest2w1); + + sumRest = sumRest.Add(rest2w1); + + var rotatingCheck = RotatingShiftCheck(starTimeSingel1, endTimeSingel2, + startTimeTowSh1, endTimeTowSh2); + rotatingCheck.RotatingDate = test; + rotatingResultList.Add(rotatingCheck); + notHolidays = notHolidays.Add(rotatingCheck.TotalWorkingTime); + Over22 = Over22.Add(rotatingCheck.NightWorkSpan); + } + else + { + starTimeSingel1 = Convert.ToDateTime(command.SingleShift1DoShanbe1); + endTimeSingel2 = Convert.ToDateTime(command.SingleShift2DoShanbe1); + startTimeTowSh1 = Convert.ToDateTime(command.TowShifts1DoShanbe1); + endTimeTowSh2 = Convert.ToDateTime(command.TowShifts2DoShanbe1); + //if (string.IsNullOrWhiteSpace(command.TowShifts1DoShanbe1)) + if (endTimeSingel2 - starTimeSingel1 >= rest2w1) + endTimeSingel2 = endTimeSingel2.Subtract(rest2w1); + + var rotatingCheck = RotatingShiftCheck(starTimeSingel1, endTimeSingel2, + startTimeTowSh1, endTimeTowSh2); + HolidaysAndNot = HolidaysAndNot.Add(rotatingCheck.TotalWorkingTime); + } + } + else if (command.DoShanbe1 && leavId > 0) + { + } + } + else if (da.Day > w1 && da.Day <= w2) + { + if (command.DoShanbe2 && leavId == 0) + { + var test = $"{da}"; + var checkHoliday = holidayList.Any(x => x == test); + if (checkHoliday == false) + { + i += 1; + SumComplexDays += 1; + starTimeSingel1 = Convert.ToDateTime(command.SingleShift1DoShanbe2); + endTimeSingel2 = Convert.ToDateTime(command.SingleShift2DoShanbe2); + startTimeTowSh1 = Convert.ToDateTime(command.TowShifts1DoShanbe2); + endTimeTowSh2 = Convert.ToDateTime(command.TowShifts2DoShanbe2); + // if (string.IsNullOrWhiteSpace(command.TowShifts1DoShanbe2)) + if (endTimeSingel2 - starTimeSingel1 >= rest2w2) + endTimeSingel2 = endTimeSingel2.Subtract(rest2w2); + sumRest = sumRest.Add(rest2w2); + + var rotatingCheck = RotatingShiftCheck(starTimeSingel1, endTimeSingel2, + startTimeTowSh1, endTimeTowSh2); + rotatingCheck.RotatingDate = test; + rotatingResultList.Add(rotatingCheck); + notHolidays = notHolidays.Add(rotatingCheck.TotalWorkingTime); + Over22 = Over22.Add(rotatingCheck.NightWorkSpan); + } + else + { + starTimeSingel1 = Convert.ToDateTime(command.SingleShift1DoShanbe2); + endTimeSingel2 = Convert.ToDateTime(command.SingleShift2DoShanbe2); + startTimeTowSh1 = Convert.ToDateTime(command.TowShifts1DoShanbe2); + endTimeTowSh2 = Convert.ToDateTime(command.TowShifts2DoShanbe2); + //if (string.IsNullOrWhiteSpace(command.TowShifts1DoShanbe2)) + if (endTimeSingel2 - starTimeSingel1 >= rest2w2) + endTimeSingel2 = endTimeSingel2.Subtract(rest2w2); + + var rotatingCheck = RotatingShiftCheck(starTimeSingel1, endTimeSingel2, + startTimeTowSh1, endTimeTowSh2); + HolidaysAndNot = HolidaysAndNot.Add(rotatingCheck.TotalWorkingTime); + } + } + else if (command.DoShanbe2 && leavId > 0) + { + } + } + else if (da.Day > w2 && da.Day <= w3) + { + if (command.DoShanbe3 && leavId == 0) + { + var test = $"{da}"; + var checkHoliday = holidayList.Any(x => x == test); + if (checkHoliday == false) + { + i += 1; + SumComplexDays += 1; + starTimeSingel1 = Convert.ToDateTime(command.SingleShift1DoShanbe3); + endTimeSingel2 = Convert.ToDateTime(command.SingleShift2DoShanbe3); + startTimeTowSh1 = Convert.ToDateTime(command.TowShifts1DoShanbe3); + endTimeTowSh2 = Convert.ToDateTime(command.TowShifts2DoShanbe3); + //if (string.IsNullOrWhiteSpace(command.TowShifts1DoShanbe3)) + if (endTimeSingel2 - starTimeSingel1 >= rest2w3) + endTimeSingel2 = endTimeSingel2.Subtract(rest2w3); + sumRest = sumRest.Add(rest2w3); + + var rotatingCheck = RotatingShiftCheck(starTimeSingel1, endTimeSingel2, + startTimeTowSh1, endTimeTowSh2); + rotatingCheck.RotatingDate = test; + rotatingResultList.Add(rotatingCheck); + notHolidays = notHolidays.Add(rotatingCheck.TotalWorkingTime); + Over22 = Over22.Add(rotatingCheck.NightWorkSpan); + } + else + { + starTimeSingel1 = Convert.ToDateTime(command.SingleShift1DoShanbe3); + endTimeSingel2 = Convert.ToDateTime(command.SingleShift2DoShanbe3); + startTimeTowSh1 = Convert.ToDateTime(command.TowShifts1DoShanbe3); + endTimeTowSh2 = Convert.ToDateTime(command.TowShifts2DoShanbe3); + //if (string.IsNullOrWhiteSpace(command.TowShifts1DoShanbe3)) + if (endTimeSingel2 - starTimeSingel1 >= rest2w3) + endTimeSingel2 = endTimeSingel2.Subtract(rest2w3); + + var rotatingCheck = RotatingShiftCheck(starTimeSingel1, endTimeSingel2, + startTimeTowSh1, endTimeTowSh2); + HolidaysAndNot = HolidaysAndNot.Add(rotatingCheck.TotalWorkingTime); + } + } + else if (command.DoShanbe3 && leavId > 0) + { + } + } + else if (da.Day > w3 && da.Day <= w4) + { + if (command.DoShanbe4 && leavId == 0) + { + var test = $"{da}"; + var checkHoliday = holidayList.Any(x => x == test); + if (checkHoliday == false) + { + i += 1; + SumComplexDays += 1; + starTimeSingel1 = Convert.ToDateTime(command.SingleShift1DoShanbe4); + endTimeSingel2 = Convert.ToDateTime(command.SingleShift2DoShanbe4); + startTimeTowSh1 = Convert.ToDateTime(command.TowShifts1DoShanbe4); + endTimeTowSh2 = Convert.ToDateTime(command.TowShifts2DoShanbe4); + //if (string.IsNullOrWhiteSpace(command.TowShifts1DoShanbe4)) + if (endTimeSingel2 - starTimeSingel1 >= rest2w4) + endTimeSingel2 = endTimeSingel2.Subtract(rest2w4); + sumRest = sumRest.Add(rest2w4); + + var rotatingCheck = RotatingShiftCheck(starTimeSingel1, endTimeSingel2, + startTimeTowSh1, endTimeTowSh2); + rotatingCheck.RotatingDate = test; + rotatingResultList.Add(rotatingCheck); + notHolidays = notHolidays.Add(rotatingCheck.TotalWorkingTime); + Over22 = Over22.Add(rotatingCheck.NightWorkSpan); + } + else + { + starTimeSingel1 = Convert.ToDateTime(command.SingleShift1DoShanbe4); + endTimeSingel2 = Convert.ToDateTime(command.SingleShift2DoShanbe4); + startTimeTowSh1 = Convert.ToDateTime(command.TowShifts1DoShanbe4); + endTimeTowSh2 = Convert.ToDateTime(command.TowShifts2DoShanbe4); + // if (string.IsNullOrWhiteSpace(command.TowShifts1DoShanbe4)) + if (endTimeSingel2 - starTimeSingel1 >= rest2w4) + endTimeSingel2 = endTimeSingel2.Subtract(rest2w4); + + var rotatingCheck = RotatingShiftCheck(starTimeSingel1, endTimeSingel2, + startTimeTowSh1, endTimeTowSh2); + HolidaysAndNot = HolidaysAndNot.Add(rotatingCheck.TotalWorkingTime); + } + } + else if (command.DoShanbe4 && leavId > 0) + { + } + } + else if (da.Day > w4 && da.Day <= w5) + { + if (command.DoShanbe1 && leavId == 0) + { + var test = $"{da}"; + var checkHoliday = holidayList.Any(x => x == test); + if (checkHoliday == false) + { + i += 1; + SumComplexDays += 1; + starTimeSingel1 = Convert.ToDateTime(command.SingleShift1DoShanbe1); + endTimeSingel2 = Convert.ToDateTime(command.SingleShift2DoShanbe1); + startTimeTowSh1 = Convert.ToDateTime(command.TowShifts1DoShanbe1); + endTimeTowSh2 = Convert.ToDateTime(command.TowShifts2DoShanbe1); + //if (string.IsNullOrWhiteSpace(command.TowShifts1DoShanbe1)) + if (endTimeSingel2 - starTimeSingel1 >= rest2w1) + endTimeSingel2 = endTimeSingel2.Subtract(rest2w1); + sumRest = sumRest.Add(rest2w1); + + var rotatingCheck = RotatingShiftCheck(starTimeSingel1, endTimeSingel2, + startTimeTowSh1, endTimeTowSh2); + rotatingCheck.RotatingDate = test; + rotatingResultList.Add(rotatingCheck); + notHolidays = notHolidays.Add(rotatingCheck.TotalWorkingTime); + Over22 = Over22.Add(rotatingCheck.NightWorkSpan); + } + else + { + starTimeSingel1 = Convert.ToDateTime(command.SingleShift1DoShanbe1); + endTimeSingel2 = Convert.ToDateTime(command.SingleShift2DoShanbe1); + startTimeTowSh1 = Convert.ToDateTime(command.TowShifts1DoShanbe1); + endTimeTowSh2 = Convert.ToDateTime(command.TowShifts2DoShanbe1); + //if (string.IsNullOrWhiteSpace(command.TowShifts1DoShanbe1)) + if (endTimeSingel2 - starTimeSingel1 >= rest2w1) + endTimeSingel2 = endTimeSingel2.Subtract(rest2w1); + + var rotatingCheck = RotatingShiftCheck(starTimeSingel1, endTimeSingel2, + startTimeTowSh1, endTimeTowSh2); + HolidaysAndNot = HolidaysAndNot.Add(rotatingCheck.TotalWorkingTime); + } + } + else if (command.DoShanbe1 && leavId > 0) + { + } + } + else if (da.Day > w5 && da.Day <= w6) + { + if (command.DoShanbe2 && leavId == 0) + { + var test = $"{da}"; + var checkHoliday = holidayList.Any(x => x == test); + if (checkHoliday == false) + { + i += 1; + SumComplexDays += 1; + starTimeSingel1 = Convert.ToDateTime(command.SingleShift1DoShanbe2); + endTimeSingel2 = Convert.ToDateTime(command.SingleShift2DoShanbe2); + startTimeTowSh1 = Convert.ToDateTime(command.TowShifts1DoShanbe2); + endTimeTowSh2 = Convert.ToDateTime(command.TowShifts2DoShanbe2); + //if (string.IsNullOrWhiteSpace(command.TowShifts1DoShanbe2)) + if (endTimeSingel2 - starTimeSingel1 >= rest2w2) + endTimeSingel2 = endTimeSingel2.Subtract(rest2w2); + sumRest = sumRest.Add(rest2w2); + + var rotatingCheck = RotatingShiftCheck(starTimeSingel1, endTimeSingel2, + startTimeTowSh1, endTimeTowSh2); + rotatingCheck.RotatingDate = test; + rotatingResultList.Add(rotatingCheck); + notHolidays = notHolidays.Add(rotatingCheck.TotalWorkingTime); + Over22 = Over22.Add(rotatingCheck.NightWorkSpan); + } + else + { + starTimeSingel1 = Convert.ToDateTime(command.SingleShift1DoShanbe2); + endTimeSingel2 = Convert.ToDateTime(command.SingleShift2DoShanbe2); + startTimeTowSh1 = Convert.ToDateTime(command.TowShifts1DoShanbe2); + endTimeTowSh2 = Convert.ToDateTime(command.TowShifts2DoShanbe2); + //if (string.IsNullOrWhiteSpace(command.TowShifts1DoShanbe2)) + if (endTimeSingel2 - starTimeSingel1 >= rest2w2) + endTimeSingel2 = endTimeSingel2.Subtract(rest2w2); + + var rotatingCheck = RotatingShiftCheck(starTimeSingel1, endTimeSingel2, + startTimeTowSh1, endTimeTowSh2); + HolidaysAndNot = HolidaysAndNot.Add(rotatingCheck.TotalWorkingTime); + } + } + else if (command.DoShanbe2 && leavId > 0) + { + } + } + + break; + case "سه شنبه": + if (da.Day <= w1) + { + if (command.SeShanbe1 && leavId == 0) + { + var test = $"{da}"; + var checkHoliday = holidayList.Any(x => x == test); + if (checkHoliday == false) + { + i += 1; + SumComplexDays += 1; + starTimeSingel1 = Convert.ToDateTime(command.SingleShift1SeShanbe1); + endTimeSingel2 = Convert.ToDateTime(command.SingleShift2SeShanbe1); + startTimeTowSh1 = Convert.ToDateTime(command.TowShifts1SeShanbe1); + endTimeTowSh2 = Convert.ToDateTime(command.TowShifts2SeShanbe1); + //if (string.IsNullOrWhiteSpace(command.TowShifts1SeShanbe1)) + if (endTimeSingel2 - starTimeSingel1 >= rest3w1) + endTimeSingel2 = endTimeSingel2.Subtract(rest3w1); + sumRest = sumRest.Add(rest3w1); + + var rotatingCheck = RotatingShiftCheck(starTimeSingel1, endTimeSingel2, + startTimeTowSh1, endTimeTowSh2); + rotatingCheck.RotatingDate = test; + rotatingResultList.Add(rotatingCheck); + notHolidays = notHolidays.Add(rotatingCheck.TotalWorkingTime); + Over22 = Over22.Add(rotatingCheck.NightWorkSpan); + } + else + { + starTimeSingel1 = Convert.ToDateTime(command.SingleShift1SeShanbe1); + endTimeSingel2 = Convert.ToDateTime(command.SingleShift2SeShanbe1); + startTimeTowSh1 = Convert.ToDateTime(command.TowShifts1SeShanbe1); + endTimeTowSh2 = Convert.ToDateTime(command.TowShifts2SeShanbe1); + //if (string.IsNullOrWhiteSpace(command.TowShifts1SeShanbe1)) + if (endTimeSingel2 - starTimeSingel1 >= rest3w1) + endTimeSingel2 = endTimeSingel2.Subtract(rest3w1); + + var rotatingCheck = RotatingShiftCheck(starTimeSingel1, endTimeSingel2, + startTimeTowSh1, endTimeTowSh2); + HolidaysAndNot = HolidaysAndNot.Add(rotatingCheck.TotalWorkingTime); + } + } + else if (command.SeShanbe1 && leavId > 0) + { + } + } + else if (da.Day > w1 && da.Day <= w2) + { + if (command.SeShanbe2 && leavId == 0) + { + var test = $"{da}"; + var checkHoliday = holidayList.Any(x => x == test); + if (checkHoliday == false) + { + i += 1; + SumComplexDays += 1; + starTimeSingel1 = Convert.ToDateTime(command.SingleShift1SeShanbe2); + endTimeSingel2 = Convert.ToDateTime(command.SingleShift2SeShanbe2); + startTimeTowSh1 = Convert.ToDateTime(command.TowShifts1SeShanbe2); + endTimeTowSh2 = Convert.ToDateTime(command.TowShifts2SeShanbe2); + //if (string.IsNullOrWhiteSpace(command.TowShifts1SeShanbe2)) + if (endTimeSingel2 - starTimeSingel1 >= rest3w2) + endTimeSingel2 = endTimeSingel2.Subtract(rest3w2); + sumRest = sumRest.Add(rest3w2); + + var rotatingCheck = RotatingShiftCheck(starTimeSingel1, endTimeSingel2, + startTimeTowSh1, endTimeTowSh2); + rotatingCheck.RotatingDate = test; + rotatingResultList.Add(rotatingCheck); + notHolidays = notHolidays.Add(rotatingCheck.TotalWorkingTime); + Over22 = Over22.Add(rotatingCheck.NightWorkSpan); + } + else + { + starTimeSingel1 = Convert.ToDateTime(command.SingleShift1SeShanbe2); + endTimeSingel2 = Convert.ToDateTime(command.SingleShift2SeShanbe2); + startTimeTowSh1 = Convert.ToDateTime(command.TowShifts1SeShanbe2); + endTimeTowSh2 = Convert.ToDateTime(command.TowShifts2SeShanbe2); + //if (string.IsNullOrWhiteSpace(command.TowShifts1SeShanbe2)) + if (endTimeSingel2 - starTimeSingel1 >= rest3w2) + endTimeSingel2 = endTimeSingel2.Subtract(rest3w2); + + var rotatingCheck = RotatingShiftCheck(starTimeSingel1, endTimeSingel2, + startTimeTowSh1, endTimeTowSh2); + HolidaysAndNot = HolidaysAndNot.Add(rotatingCheck.TotalWorkingTime); + } + } + else if (command.SeShanbe2 && leavId > 0) + { + } + } + else if (da.Day > w2 && da.Day <= w3) + { + if (command.SeShanbe3 && leavId == 0) + { + var test = $"{da}"; + var checkHoliday = holidayList.Any(x => x == test); + if (checkHoliday == false) + { + i += 1; + SumComplexDays += 1; + starTimeSingel1 = Convert.ToDateTime(command.SingleShift1SeShanbe3); + endTimeSingel2 = Convert.ToDateTime(command.SingleShift2SeShanbe3); + startTimeTowSh1 = Convert.ToDateTime(command.TowShifts1SeShanbe3); + endTimeTowSh2 = Convert.ToDateTime(command.TowShifts2SeShanbe3); + //if (string.IsNullOrWhiteSpace(command.TowShifts1SeShanbe3)) + if (endTimeSingel2 - starTimeSingel1 >= rest3w3) + endTimeSingel2 = endTimeSingel2.Subtract(rest3w3); + sumRest = sumRest.Add(rest3w3); + + var rotatingCheck = RotatingShiftCheck(starTimeSingel1, endTimeSingel2, + startTimeTowSh1, endTimeTowSh2); + rotatingCheck.RotatingDate = test; + rotatingResultList.Add(rotatingCheck); + notHolidays = notHolidays.Add(rotatingCheck.TotalWorkingTime); + Over22 = Over22.Add(rotatingCheck.NightWorkSpan); + } + else + { + starTimeSingel1 = Convert.ToDateTime(command.SingleShift1SeShanbe3); + endTimeSingel2 = Convert.ToDateTime(command.SingleShift2SeShanbe3); + startTimeTowSh1 = Convert.ToDateTime(command.TowShifts1SeShanbe3); + endTimeTowSh2 = Convert.ToDateTime(command.TowShifts2SeShanbe3); + //if (string.IsNullOrWhiteSpace(command.TowShifts1SeShanbe3)) + if (endTimeSingel2 - starTimeSingel1 >= rest3w3) + endTimeSingel2 = endTimeSingel2.Subtract(rest3w3); + + var rotatingCheck = RotatingShiftCheck(starTimeSingel1, endTimeSingel2, + startTimeTowSh1, endTimeTowSh2); + HolidaysAndNot = HolidaysAndNot.Add(rotatingCheck.TotalWorkingTime); + } + } + else if (command.SeShanbe3 && leavId > 0) + { + } + } + else if (da.Day > w3 && da.Day <= w4) + { + if (command.SeShanbe4 && leavId == 0) + { + var test = $"{da}"; + var checkHoliday = holidayList.Any(x => x == test); + if (checkHoliday == false) + { + i += 1; + SumComplexDays += 1; + starTimeSingel1 = Convert.ToDateTime(command.SingleShift1SeShanbe4); + endTimeSingel2 = Convert.ToDateTime(command.SingleShift2SeShanbe4); + startTimeTowSh1 = Convert.ToDateTime(command.TowShifts1SeShanbe4); + endTimeTowSh2 = Convert.ToDateTime(command.TowShifts2SeShanbe4); + //if (string.IsNullOrWhiteSpace(command.TowShifts1SeShanbe4)) + if (endTimeSingel2 - starTimeSingel1 >= rest3w4) + endTimeSingel2 = endTimeSingel2.Subtract(rest3w4); + sumRest = sumRest.Add(rest3w4); + + var rotatingCheck = RotatingShiftCheck(starTimeSingel1, endTimeSingel2, + startTimeTowSh1, endTimeTowSh2); + rotatingCheck.RotatingDate = test; + rotatingResultList.Add(rotatingCheck); + notHolidays = notHolidays.Add(rotatingCheck.TotalWorkingTime); + Over22 = Over22.Add(rotatingCheck.NightWorkSpan); + } + else + { + starTimeSingel1 = Convert.ToDateTime(command.SingleShift1SeShanbe4); + endTimeSingel2 = Convert.ToDateTime(command.SingleShift2SeShanbe4); + startTimeTowSh1 = Convert.ToDateTime(command.TowShifts1SeShanbe4); + endTimeTowSh2 = Convert.ToDateTime(command.TowShifts2SeShanbe4); + //if (string.IsNullOrWhiteSpace(command.TowShifts1SeShanbe4)) + if (endTimeSingel2 - starTimeSingel1 >= rest3w4) + endTimeSingel2 = endTimeSingel2.Subtract(rest3w4); + + var rotatingCheck = RotatingShiftCheck(starTimeSingel1, endTimeSingel2, + startTimeTowSh1, endTimeTowSh2); + HolidaysAndNot = HolidaysAndNot.Add(rotatingCheck.TotalWorkingTime); + } + } + else if (command.SeShanbe4 && leavId > 0) + { + } + } + else if (da.Day > w4 && da.Day <= w5) + { + if (command.SeShanbe1 && leavId == 0) + { + var test = $"{da}"; + var checkHoliday = holidayList.Any(x => x == test); + if (checkHoliday == false) + { + i += 1; + SumComplexDays += 1; + starTimeSingel1 = Convert.ToDateTime(command.SingleShift1SeShanbe1); + endTimeSingel2 = Convert.ToDateTime(command.SingleShift2SeShanbe1); + startTimeTowSh1 = Convert.ToDateTime(command.TowShifts1SeShanbe1); + endTimeTowSh2 = Convert.ToDateTime(command.TowShifts2SeShanbe1); + //if (string.IsNullOrWhiteSpace(command.TowShifts1SeShanbe1)) + if (endTimeSingel2 - starTimeSingel1 >= rest3w1) + endTimeSingel2 = endTimeSingel2.Subtract(rest3w1); + sumRest = sumRest.Add(rest3w1); + + var rotatingCheck = RotatingShiftCheck(starTimeSingel1, endTimeSingel2, + startTimeTowSh1, endTimeTowSh2); + rotatingCheck.RotatingDate = test; + rotatingResultList.Add(rotatingCheck); + notHolidays = notHolidays.Add(rotatingCheck.TotalWorkingTime); + Over22 = Over22.Add(rotatingCheck.NightWorkSpan); + } + else + { + starTimeSingel1 = Convert.ToDateTime(command.SingleShift1SeShanbe1); + endTimeSingel2 = Convert.ToDateTime(command.SingleShift2SeShanbe1); + startTimeTowSh1 = Convert.ToDateTime(command.TowShifts1SeShanbe1); + endTimeTowSh2 = Convert.ToDateTime(command.TowShifts2SeShanbe1); + //if (string.IsNullOrWhiteSpace(command.TowShifts1SeShanbe1)) + if (endTimeSingel2 - starTimeSingel1 >= rest3w1) + endTimeSingel2 = endTimeSingel2.Subtract(rest3w1); + + var rotatingCheck = RotatingShiftCheck(starTimeSingel1, endTimeSingel2, + startTimeTowSh1, endTimeTowSh2); + HolidaysAndNot = HolidaysAndNot.Add(rotatingCheck.TotalWorkingTime); + } + } + else if (command.SeShanbe1 && leavId > 0) + { + } + } + else if (da.Day > w5 && da.Day <= w6) + { + if (command.SeShanbe2 && leavId == 0) + { + var test = $"{da}"; + var checkHoliday = holidayList.Any(x => x == test); + if (checkHoliday == false) + { + i += 1; + SumComplexDays += 1; + starTimeSingel1 = Convert.ToDateTime(command.SingleShift1SeShanbe2); + endTimeSingel2 = Convert.ToDateTime(command.SingleShift2SeShanbe2); + startTimeTowSh1 = Convert.ToDateTime(command.TowShifts1SeShanbe2); + endTimeTowSh2 = Convert.ToDateTime(command.TowShifts2SeShanbe2); + //if (string.IsNullOrWhiteSpace(command.TowShifts1SeShanbe2)) + if (endTimeSingel2 - starTimeSingel1 >= rest3w2) + endTimeSingel2 = endTimeSingel2.Subtract(rest3w2); + sumRest = sumRest.Add(rest3w2); + + var rotatingCheck = RotatingShiftCheck(starTimeSingel1, endTimeSingel2, + startTimeTowSh1, endTimeTowSh2); + rotatingCheck.RotatingDate = test; + rotatingResultList.Add(rotatingCheck); + notHolidays = notHolidays.Add(rotatingCheck.TotalWorkingTime); + Over22 = Over22.Add(rotatingCheck.NightWorkSpan); + } + else + { + starTimeSingel1 = Convert.ToDateTime(command.SingleShift1SeShanbe2); + endTimeSingel2 = Convert.ToDateTime(command.SingleShift2SeShanbe2); + startTimeTowSh1 = Convert.ToDateTime(command.TowShifts1SeShanbe2); + endTimeTowSh2 = Convert.ToDateTime(command.TowShifts2SeShanbe2); + //if (string.IsNullOrWhiteSpace(command.TowShifts1SeShanbe2)) + if (endTimeSingel2 - starTimeSingel1 >= rest3w2) + endTimeSingel2 = endTimeSingel2.Subtract(rest3w2); + + var rotatingCheck = RotatingShiftCheck(starTimeSingel1, endTimeSingel2, + startTimeTowSh1, endTimeTowSh2); + HolidaysAndNot = HolidaysAndNot.Add(rotatingCheck.TotalWorkingTime); + } + } + else if (command.SeShanbe2 && leavId > 0) + { + } + } + + break; + case "چهارشنبه": + if (da.Day <= w1) + { + if (command.CheharShanbe1 && leavId == 0) + { + var test = $"{da}"; + var checkHoliday = holidayList.Any(x => x == test); + if (checkHoliday == false) + { + i += 1; + SumComplexDays += 1; + starTimeSingel1 = Convert.ToDateTime(command.SingleShift1CheharShanbe1); + endTimeSingel2 = Convert.ToDateTime(command.SingleShift2CheharShanbe1); + startTimeTowSh1 = Convert.ToDateTime(command.TowShifts1CheharShanbe1); + endTimeTowSh2 = Convert.ToDateTime(command.TowShifts2CheharShanbe1); + //if (string.IsNullOrWhiteSpace(command.TowShifts1CheharShanbe1)) + if (endTimeSingel2 - starTimeSingel1 >= rest4w1) + endTimeSingel2 = endTimeSingel2.Subtract(rest4w1); + sumRest = sumRest.Add(rest4w1); + + var rotatingCheck = RotatingShiftCheck(starTimeSingel1, endTimeSingel2, + startTimeTowSh1, endTimeTowSh2); + rotatingCheck.RotatingDate = test; + rotatingResultList.Add(rotatingCheck); + notHolidays = notHolidays.Add(rotatingCheck.TotalWorkingTime); + Over22 = Over22.Add(rotatingCheck.NightWorkSpan); + } + else + { + starTimeSingel1 = Convert.ToDateTime(command.SingleShift1CheharShanbe1); + endTimeSingel2 = Convert.ToDateTime(command.SingleShift2CheharShanbe1); + startTimeTowSh1 = Convert.ToDateTime(command.TowShifts1CheharShanbe1); + endTimeTowSh2 = Convert.ToDateTime(command.TowShifts2CheharShanbe1); + //if (string.IsNullOrWhiteSpace(command.TowShifts1CheharShanbe1)) + if (endTimeSingel2 - starTimeSingel1 >= rest4w1) + endTimeSingel2 = endTimeSingel2.Subtract(rest4w1); + + var rotatingCheck = RotatingShiftCheck(starTimeSingel1, endTimeSingel2, + startTimeTowSh1, endTimeTowSh2); + HolidaysAndNot = HolidaysAndNot.Add(rotatingCheck.TotalWorkingTime); + } + } + else if (command.CheharShanbe1 && leavId > 0) + { + } + } + else if (da.Day > w1 && da.Day <= w2) + { + if (command.CheharShanbe2 && leavId == 0) + { + var test = $"{da}"; + var checkHoliday = holidayList.Any(x => x == test); + if (checkHoliday == false) + { + i += 1; + SumComplexDays += 1; + starTimeSingel1 = Convert.ToDateTime(command.SingleShift1CheharShanbe2); + endTimeSingel2 = Convert.ToDateTime(command.SingleShift2CheharShanbe2); + startTimeTowSh1 = Convert.ToDateTime(command.TowShifts1CheharShanbe2); + endTimeTowSh2 = Convert.ToDateTime(command.TowShifts2CheharShanbe2); + //if (string.IsNullOrWhiteSpace(command.TowShifts1CheharShanbe2)) + if (endTimeSingel2 - starTimeSingel1 >= rest4w2) + endTimeSingel2 = endTimeSingel2.Subtract(rest4w2); + sumRest = sumRest.Add(rest4w2); + + var rotatingCheck = RotatingShiftCheck(starTimeSingel1, endTimeSingel2, + startTimeTowSh1, endTimeTowSh2); + rotatingCheck.RotatingDate = test; + rotatingResultList.Add(rotatingCheck); + notHolidays = notHolidays.Add(rotatingCheck.TotalWorkingTime); + Over22 = Over22.Add(rotatingCheck.NightWorkSpan); + } + else + { + starTimeSingel1 = Convert.ToDateTime(command.SingleShift1CheharShanbe2); + endTimeSingel2 = Convert.ToDateTime(command.SingleShift2CheharShanbe2); + startTimeTowSh1 = Convert.ToDateTime(command.TowShifts1CheharShanbe2); + endTimeTowSh2 = Convert.ToDateTime(command.TowShifts2CheharShanbe2); + //if (string.IsNullOrWhiteSpace(command.TowShifts1CheharShanbe2)) + if (endTimeSingel2 - starTimeSingel1 >= rest4w2) + endTimeSingel2 = endTimeSingel2.Subtract(rest4w2); + + var rotatingCheck = RotatingShiftCheck(starTimeSingel1, endTimeSingel2, + startTimeTowSh1, endTimeTowSh2); + HolidaysAndNot = HolidaysAndNot.Add(rotatingCheck.TotalWorkingTime); + } + } + else if (command.CheharShanbe2 && leavId > 0) + { + } + } + else if (da.Day > w2 && da.Day <= w3) + { + if (command.CheharShanbe3 && leavId == 0) + { + var test = $"{da}"; + var checkHoliday = holidayList.Any(x => x == test); + if (checkHoliday == false) + { + i += 1; + SumComplexDays += 1; + starTimeSingel1 = Convert.ToDateTime(command.SingleShift1CheharShanbe3); + endTimeSingel2 = Convert.ToDateTime(command.SingleShift2CheharShanbe3); + startTimeTowSh1 = Convert.ToDateTime(command.TowShifts1CheharShanbe3); + endTimeTowSh2 = Convert.ToDateTime(command.TowShifts2CheharShanbe3); + //if (string.IsNullOrWhiteSpace(command.TowShifts1CheharShanbe3)) + if (endTimeSingel2 - starTimeSingel1 >= rest4w3) + endTimeSingel2 = endTimeSingel2.Subtract(rest4w3); + sumRest = sumRest.Add(rest4w3); + + var rotatingCheck = RotatingShiftCheck(starTimeSingel1, endTimeSingel2, + startTimeTowSh1, endTimeTowSh2); + rotatingCheck.RotatingDate = test; + rotatingResultList.Add(rotatingCheck); + notHolidays = notHolidays.Add(rotatingCheck.TotalWorkingTime); + Over22 = Over22.Add(rotatingCheck.NightWorkSpan); + } + else + { + starTimeSingel1 = Convert.ToDateTime(command.SingleShift1CheharShanbe3); + endTimeSingel2 = Convert.ToDateTime(command.SingleShift2CheharShanbe3); + startTimeTowSh1 = Convert.ToDateTime(command.TowShifts1CheharShanbe3); + endTimeTowSh2 = Convert.ToDateTime(command.TowShifts2CheharShanbe3); + // if (string.IsNullOrWhiteSpace(command.TowShifts1CheharShanbe3)) + if (endTimeSingel2 - starTimeSingel1 >= rest4w3) + endTimeSingel2 = endTimeSingel2.Subtract(rest4w3); + + var rotatingCheck = RotatingShiftCheck(starTimeSingel1, endTimeSingel2, + startTimeTowSh1, endTimeTowSh2); + HolidaysAndNot = HolidaysAndNot.Add(rotatingCheck.TotalWorkingTime); + } + } + else if (command.CheharShanbe3 && leavId > 0) + { + } + } + else if (da.Day > w3 && da.Day <= w4) + { + if (command.CheharShanbe4 && leavId == 0) + { + var test = $"{da}"; + var checkHoliday = holidayList.Any(x => x == test); + if (checkHoliday == false) + { + i += 1; + SumComplexDays += 1; + starTimeSingel1 = Convert.ToDateTime(command.SingleShift1CheharShanbe4); + endTimeSingel2 = Convert.ToDateTime(command.SingleShift2CheharShanbe4); + startTimeTowSh1 = Convert.ToDateTime(command.TowShifts1CheharShanbe4); + endTimeTowSh2 = Convert.ToDateTime(command.TowShifts2CheharShanbe4); + //if (string.IsNullOrWhiteSpace(command.TowShifts1CheharShanbe4)) + if (endTimeSingel2 - starTimeSingel1 >= rest4w4) + endTimeSingel2 = endTimeSingel2.Subtract(rest4w4); + sumRest = sumRest.Add(rest4w4); + + var rotatingCheck = RotatingShiftCheck(starTimeSingel1, endTimeSingel2, + startTimeTowSh1, endTimeTowSh2); + rotatingCheck.RotatingDate = test; + rotatingResultList.Add(rotatingCheck); + notHolidays = notHolidays.Add(rotatingCheck.TotalWorkingTime); + Over22 = Over22.Add(rotatingCheck.NightWorkSpan); + } + else + { + starTimeSingel1 = Convert.ToDateTime(command.SingleShift1CheharShanbe4); + endTimeSingel2 = Convert.ToDateTime(command.SingleShift2CheharShanbe4); + startTimeTowSh1 = Convert.ToDateTime(command.TowShifts1CheharShanbe4); + endTimeTowSh2 = Convert.ToDateTime(command.TowShifts2CheharShanbe4); + // if (string.IsNullOrWhiteSpace(command.TowShifts1CheharShanbe4)) + if (endTimeSingel2 - starTimeSingel1 >= rest4w4) + endTimeSingel2 = endTimeSingel2.Subtract(rest4w4); + + var rotatingCheck = RotatingShiftCheck(starTimeSingel1, endTimeSingel2, + startTimeTowSh1, endTimeTowSh2); + HolidaysAndNot = HolidaysAndNot.Add(rotatingCheck.TotalWorkingTime); + } + } + else if (command.CheharShanbe4 && leavId > 0) + { + } + } + else if (da.Day > w4 && da.Day <= w5) + { + if (command.CheharShanbe1 && leavId == 0) + { + var test = $"{da}"; + var checkHoliday = holidayList.Any(x => x == test); + if (checkHoliday == false) + { + i += 1; + SumComplexDays += 1; + starTimeSingel1 = Convert.ToDateTime(command.SingleShift1CheharShanbe1); + endTimeSingel2 = Convert.ToDateTime(command.SingleShift2CheharShanbe1); + startTimeTowSh1 = Convert.ToDateTime(command.TowShifts1CheharShanbe1); + endTimeTowSh2 = Convert.ToDateTime(command.TowShifts2CheharShanbe1); + //if (string.IsNullOrWhiteSpace(command.TowShifts1CheharShanbe1)) + if (endTimeSingel2 - starTimeSingel1 >= rest4w1) + endTimeSingel2 = endTimeSingel2.Subtract(rest4w1); + sumRest = sumRest.Add(rest4w1); + + var rotatingCheck = RotatingShiftCheck(starTimeSingel1, endTimeSingel2, + startTimeTowSh1, endTimeTowSh2); + rotatingCheck.RotatingDate = test; + rotatingResultList.Add(rotatingCheck); + notHolidays = notHolidays.Add(rotatingCheck.TotalWorkingTime); + Over22 = Over22.Add(rotatingCheck.NightWorkSpan); + } + else + { + starTimeSingel1 = Convert.ToDateTime(command.SingleShift1CheharShanbe1); + endTimeSingel2 = Convert.ToDateTime(command.SingleShift2CheharShanbe1); + startTimeTowSh1 = Convert.ToDateTime(command.TowShifts1CheharShanbe1); + endTimeTowSh2 = Convert.ToDateTime(command.TowShifts2CheharShanbe1); + // if (string.IsNullOrWhiteSpace(command.TowShifts1CheharShanbe1)) + if (endTimeSingel2 - starTimeSingel1 >= rest4w1) + endTimeSingel2 = endTimeSingel2.Subtract(rest4w1); + + var rotatingCheck = RotatingShiftCheck(starTimeSingel1, endTimeSingel2, + startTimeTowSh1, endTimeTowSh2); + HolidaysAndNot = HolidaysAndNot.Add(rotatingCheck.TotalWorkingTime); + } + } + else if (command.CheharShanbe1 && leavId > 0) + { + } + } + else if (da.Day > w5 && da.Day <= w6) + { + if (command.CheharShanbe2 && leavId == 0) + { + var test = $"{da}"; + var checkHoliday = holidayList.Any(x => x == test); + if (checkHoliday == false) + { + i += 1; + SumComplexDays += 1; + starTimeSingel1 = Convert.ToDateTime(command.SingleShift1CheharShanbe2); + endTimeSingel2 = Convert.ToDateTime(command.SingleShift2CheharShanbe2); + startTimeTowSh1 = Convert.ToDateTime(command.TowShifts1CheharShanbe2); + endTimeTowSh2 = Convert.ToDateTime(command.TowShifts2CheharShanbe2); + //if (string.IsNullOrWhiteSpace(command.TowShifts1CheharShanbe2)) + if (endTimeSingel2 - starTimeSingel1 >= rest4w2) + endTimeSingel2 = endTimeSingel2.Subtract(rest4w2); + sumRest = sumRest.Add(rest4w2); + + var rotatingCheck = RotatingShiftCheck(starTimeSingel1, endTimeSingel2, + startTimeTowSh1, endTimeTowSh2); + rotatingCheck.RotatingDate = test; + rotatingResultList.Add(rotatingCheck); + notHolidays = notHolidays.Add(rotatingCheck.TotalWorkingTime); + Over22 = Over22.Add(rotatingCheck.NightWorkSpan); + } + else + { + starTimeSingel1 = Convert.ToDateTime(command.SingleShift1CheharShanbe2); + endTimeSingel2 = Convert.ToDateTime(command.SingleShift2CheharShanbe2); + startTimeTowSh1 = Convert.ToDateTime(command.TowShifts1CheharShanbe2); + endTimeTowSh2 = Convert.ToDateTime(command.TowShifts2CheharShanbe2); + //if (string.IsNullOrWhiteSpace(command.TowShifts1CheharShanbe2)) + if (endTimeSingel2 - starTimeSingel1 >= rest4w2) + endTimeSingel2 = endTimeSingel2.Subtract(rest4w2); + + var rotatingCheck = RotatingShiftCheck(starTimeSingel1, endTimeSingel2, + startTimeTowSh1, endTimeTowSh2); + HolidaysAndNot = HolidaysAndNot.Add(rotatingCheck.TotalWorkingTime); + } + } + else if (command.CheharShanbe2 && leavId > 0) + { + } + } + + break; + case "پنج شنبه": + if (da.Day <= w1) + { + if (command.PanjShanbe1 && leavId == 0) + { + var test = $"{da}"; + var checkHoliday = holidayList.Any(x => x == test); + if (checkHoliday == false) + { + i += 1; + SumComplexDays += 1; + starTimeSingel1 = Convert.ToDateTime(command.SingleShift1PanjShanbe1); + endTimeSingel2 = Convert.ToDateTime(command.SingleShift2PanjShanbe1); + startTimeTowSh1 = Convert.ToDateTime(command.TowShifts1PanjShanbe1); + endTimeTowSh2 = Convert.ToDateTime(command.TowShifts2PanjShanbe1); + //if (string.IsNullOrWhiteSpace(command.TowShifts1PanjShanbe1)) + if (endTimeSingel2 - starTimeSingel1 >= rest5w1) + endTimeSingel2 = endTimeSingel2.Subtract(rest5w1); + sumRest = sumRest.Add(rest5w1); + + var rotatingCheck = RotatingShiftCheck(starTimeSingel1, endTimeSingel2, + startTimeTowSh1, endTimeTowSh2); + rotatingCheck.RotatingDate = test; + rotatingResultList.Add(rotatingCheck); + notHolidays = notHolidays.Add(rotatingCheck.TotalWorkingTime); + Over22 = Over22.Add(rotatingCheck.NightWorkSpan); + } + else + { + starTimeSingel1 = Convert.ToDateTime(command.SingleShift1PanjShanbe1); + endTimeSingel2 = Convert.ToDateTime(command.SingleShift2PanjShanbe1); + startTimeTowSh1 = Convert.ToDateTime(command.TowShifts1PanjShanbe1); + endTimeTowSh2 = Convert.ToDateTime(command.TowShifts2PanjShanbe1); + // if (string.IsNullOrWhiteSpace(command.TowShifts1PanjShanbe1)) + if (endTimeSingel2 - starTimeSingel1 >= rest5w1) + endTimeSingel2 = endTimeSingel2.Subtract(rest5w1); + + var rotatingCheck = RotatingShiftCheck(starTimeSingel1, endTimeSingel2, + startTimeTowSh1, endTimeTowSh2); + HolidaysAndNot = HolidaysAndNot.Add(rotatingCheck.TotalWorkingTime); + } + } + else if (command.PanjShanbe1 && leavId > 0) + { + } + } + else if (da.Day > w1 && da.Day <= w2) + { + if (command.PanjShanbe2 && leavId == 0) + { + var test = $"{da}"; + var checkHoliday = holidayList.Any(x => x == test); + if (checkHoliday == false) + { + i += 1; + SumComplexDays += 1; + starTimeSingel1 = Convert.ToDateTime(command.SingleShift1PanjShanbe2); + endTimeSingel2 = Convert.ToDateTime(command.SingleShift2PanjShanbe2); + startTimeTowSh1 = Convert.ToDateTime(command.TowShifts1PanjShanbe2); + endTimeTowSh2 = Convert.ToDateTime(command.TowShifts2PanjShanbe2); + // if (string.IsNullOrWhiteSpace(command.TowShifts1PanjShanbe2)) + if (endTimeSingel2 - starTimeSingel1 >= rest5w2) + endTimeSingel2 = endTimeSingel2.Subtract(rest5w2); + sumRest = sumRest.Add(rest5w2); + + var rotatingCheck = RotatingShiftCheck(starTimeSingel1, endTimeSingel2, + startTimeTowSh1, endTimeTowSh2); + rotatingCheck.RotatingDate = test; + rotatingResultList.Add(rotatingCheck); + notHolidays = notHolidays.Add(rotatingCheck.TotalWorkingTime); + Over22 = Over22.Add(rotatingCheck.NightWorkSpan); + } + else + { + starTimeSingel1 = Convert.ToDateTime(command.SingleShift1PanjShanbe2); + endTimeSingel2 = Convert.ToDateTime(command.SingleShift2PanjShanbe2); + startTimeTowSh1 = Convert.ToDateTime(command.TowShifts1PanjShanbe2); + endTimeTowSh2 = Convert.ToDateTime(command.TowShifts2PanjShanbe2); + //if (string.IsNullOrWhiteSpace(command.TowShifts1PanjShanbe2)) + if (endTimeSingel2 - starTimeSingel1 >= rest5w2) + endTimeSingel2 = endTimeSingel2.Subtract(rest5w2); + + var rotatingCheck = RotatingShiftCheck(starTimeSingel1, endTimeSingel2, + startTimeTowSh1, endTimeTowSh2); + HolidaysAndNot = HolidaysAndNot.Add(rotatingCheck.TotalWorkingTime); + } + } + else if (command.PanjShanbe2 && leavId > 0) + { + } + } + else if (da.Day > w2 && da.Day <= w3) + { + if (command.PanjShanbe3 && leavId == 0) + { + var test = $"{da}"; + var checkHoliday = holidayList.Any(x => x == test); + if (checkHoliday == false) + { + i += 1; + SumComplexDays += 1; + starTimeSingel1 = Convert.ToDateTime(command.SingleShift1PanjShanbe3); + endTimeSingel2 = Convert.ToDateTime(command.SingleShift2PanjShanbe3); + startTimeTowSh1 = Convert.ToDateTime(command.TowShifts1PanjShanbe3); + endTimeTowSh2 = Convert.ToDateTime(command.TowShifts2PanjShanbe3); + //if (string.IsNullOrWhiteSpace(command.TowShifts1PanjShanbe3)) + if (endTimeSingel2 - starTimeSingel1 >= rest5w3) + endTimeSingel2 = endTimeSingel2.Subtract(rest5w3); + sumRest = sumRest.Add(rest5w3); + + var rotatingCheck = RotatingShiftCheck(starTimeSingel1, endTimeSingel2, + startTimeTowSh1, endTimeTowSh2); + rotatingCheck.RotatingDate = test; + rotatingResultList.Add(rotatingCheck); + notHolidays = notHolidays.Add(rotatingCheck.TotalWorkingTime); + Over22 = Over22.Add(rotatingCheck.NightWorkSpan); + } + else + { + starTimeSingel1 = Convert.ToDateTime(command.SingleShift1PanjShanbe3); + endTimeSingel2 = Convert.ToDateTime(command.SingleShift2PanjShanbe3); + startTimeTowSh1 = Convert.ToDateTime(command.TowShifts1PanjShanbe3); + endTimeTowSh2 = Convert.ToDateTime(command.TowShifts2PanjShanbe3); + //if (string.IsNullOrWhiteSpace(command.TowShifts1PanjShanbe3)) + if (endTimeSingel2 - starTimeSingel1 >= rest5w3) + endTimeSingel2 = endTimeSingel2.Subtract(rest5w3); + + var rotatingCheck = RotatingShiftCheck(starTimeSingel1, endTimeSingel2, + startTimeTowSh1, endTimeTowSh2); + HolidaysAndNot = HolidaysAndNot.Add(rotatingCheck.TotalWorkingTime); + } + } + else if (command.PanjShanbe3 && leavId > 0) + { + } + } + else if (da.Day > w3 && da.Day <= w4) + { + if (command.PanjShanbe4 && leavId == 0) + { + var test = $"{da}"; + var checkHoliday = holidayList.Any(x => x == test); + if (checkHoliday == false) + { + i += 1; + SumComplexDays += 1; + starTimeSingel1 = Convert.ToDateTime(command.SingleShift1PanjShanbe4); + endTimeSingel2 = Convert.ToDateTime(command.SingleShift2PanjShanbe4); + startTimeTowSh1 = Convert.ToDateTime(command.TowShifts1PanjShanbe4); + endTimeTowSh2 = Convert.ToDateTime(command.TowShifts2PanjShanbe4); + //if (string.IsNullOrWhiteSpace(command.TowShifts1PanjShanbe4)) + if (endTimeSingel2 - starTimeSingel1 >= rest5w4) + endTimeSingel2 = endTimeSingel2.Subtract(rest5w4); + sumRest = sumRest.Add(rest5w4); + + var rotatingCheck = RotatingShiftCheck(starTimeSingel1, endTimeSingel2, + startTimeTowSh1, endTimeTowSh2); + rotatingCheck.RotatingDate = test; + rotatingResultList.Add(rotatingCheck); + notHolidays = notHolidays.Add(rotatingCheck.TotalWorkingTime); + Over22 = Over22.Add(rotatingCheck.NightWorkSpan); + } + else + { + starTimeSingel1 = Convert.ToDateTime(command.SingleShift1PanjShanbe4); + endTimeSingel2 = Convert.ToDateTime(command.SingleShift2PanjShanbe4); + startTimeTowSh1 = Convert.ToDateTime(command.TowShifts1PanjShanbe4); + endTimeTowSh2 = Convert.ToDateTime(command.TowShifts2PanjShanbe4); + //if (string.IsNullOrWhiteSpace(command.TowShifts1PanjShanbe4)) + if (endTimeSingel2 - starTimeSingel1 >= rest5w4) + endTimeSingel2 = endTimeSingel2.Subtract(rest5w4); + + var rotatingCheck = RotatingShiftCheck(starTimeSingel1, endTimeSingel2, + startTimeTowSh1, endTimeTowSh2); + HolidaysAndNot = HolidaysAndNot.Add(rotatingCheck.TotalWorkingTime); + } + } + else if (command.PanjShanbe4 && leavId > 0) + { + } + } + else if (da.Day > w4 && da.Day <= w5) + { + if (command.PanjShanbe1 && leavId == 0) + { + var test = $"{da}"; + var checkHoliday = holidayList.Any(x => x == test); + if (checkHoliday == false) + { + i += 1; + SumComplexDays += 1; + starTimeSingel1 = Convert.ToDateTime(command.SingleShift1PanjShanbe1); + endTimeSingel2 = Convert.ToDateTime(command.SingleShift2PanjShanbe1); + startTimeTowSh1 = Convert.ToDateTime(command.TowShifts1PanjShanbe1); + endTimeTowSh2 = Convert.ToDateTime(command.TowShifts2PanjShanbe1); + //if (string.IsNullOrWhiteSpace(command.TowShifts1PanjShanbe1)) + if (endTimeSingel2 - starTimeSingel1 >= rest5w1) + endTimeSingel2 = endTimeSingel2.Subtract(rest5w1); + sumRest = sumRest.Add(rest5w1); + + var rotatingCheck = RotatingShiftCheck(starTimeSingel1, endTimeSingel2, + startTimeTowSh1, endTimeTowSh2); + rotatingCheck.RotatingDate = test; + rotatingResultList.Add(rotatingCheck); + notHolidays = notHolidays.Add(rotatingCheck.TotalWorkingTime); + Over22 = Over22.Add(rotatingCheck.NightWorkSpan); + } + else + { + starTimeSingel1 = Convert.ToDateTime(command.SingleShift1PanjShanbe1); + endTimeSingel2 = Convert.ToDateTime(command.SingleShift2PanjShanbe1); + startTimeTowSh1 = Convert.ToDateTime(command.TowShifts1PanjShanbe1); + endTimeTowSh2 = Convert.ToDateTime(command.TowShifts2PanjShanbe1); + //if (string.IsNullOrWhiteSpace(command.TowShifts1PanjShanbe1)) + if (endTimeSingel2 - starTimeSingel1 >= rest5w1) + endTimeSingel2 = endTimeSingel2.Subtract(rest5w1); + + var rotatingCheck = RotatingShiftCheck(starTimeSingel1, endTimeSingel2, + startTimeTowSh1, endTimeTowSh2); + HolidaysAndNot = HolidaysAndNot.Add(rotatingCheck.TotalWorkingTime); + } + } + else if (command.PanjShanbe1 && leavId > 0) + { + } + } + else if (da.Day > w5 && da.Day <= w6) + { + if (command.PanjShanbe2 && leavId == 0) + { + var test = $"{da}"; + var checkHoliday = holidayList.Any(x => x == test); + if (checkHoliday == false) + { + i += 1; + SumComplexDays += 1; + starTimeSingel1 = Convert.ToDateTime(command.SingleShift1PanjShanbe2); + endTimeSingel2 = Convert.ToDateTime(command.SingleShift2PanjShanbe2); + startTimeTowSh1 = Convert.ToDateTime(command.TowShifts1PanjShanbe2); + endTimeTowSh2 = Convert.ToDateTime(command.TowShifts2PanjShanbe2); + //if (string.IsNullOrWhiteSpace(command.TowShifts1PanjShanbe2)) + if (endTimeSingel2 - starTimeSingel1 >= rest5w2) + endTimeSingel2 = endTimeSingel2.Subtract(rest5w2); + sumRest = sumRest.Add(rest5w2); + + var rotatingCheck = RotatingShiftCheck(starTimeSingel1, endTimeSingel2, + startTimeTowSh1, endTimeTowSh2); + rotatingCheck.RotatingDate = test; + rotatingResultList.Add(rotatingCheck); + notHolidays = notHolidays.Add(rotatingCheck.TotalWorkingTime); + Over22 = Over22.Add(rotatingCheck.NightWorkSpan); + } + else + { + starTimeSingel1 = Convert.ToDateTime(command.SingleShift1PanjShanbe2); + endTimeSingel2 = Convert.ToDateTime(command.SingleShift2PanjShanbe2); + startTimeTowSh1 = Convert.ToDateTime(command.TowShifts1PanjShanbe2); + endTimeTowSh2 = Convert.ToDateTime(command.TowShifts2PanjShanbe2); + //if (string.IsNullOrWhiteSpace(command.TowShifts1PanjShanbe2)) + if (endTimeSingel2 - starTimeSingel1 >= rest5w2) + endTimeSingel2 = endTimeSingel2.Subtract(rest5w2); + + var rotatingCheck = RotatingShiftCheck(starTimeSingel1, endTimeSingel2, + startTimeTowSh1, endTimeTowSh2); + HolidaysAndNot = HolidaysAndNot.Add(rotatingCheck.TotalWorkingTime); + } + } + else if (command.PanjShanbe2 && leavId > 0) + { + } + } + + break; + case "جمعه": + if (da.Day <= w1) + { + if (command.Jome1 && leavId == 0) + { + var test = $"{da}"; + + + i6 += 1; + SumComplexDays += 1; + starTimeSingel1 = Convert.ToDateTime(command.SingleShift1Jome1); + endTimeSingel2 = Convert.ToDateTime(command.SingleShift2Jome1); + startTimeTowSh1 = Convert.ToDateTime(command.TowShifts1Jome1); + endTimeTowSh2 = Convert.ToDateTime(command.TowShifts2Jome1); + //if (string.IsNullOrWhiteSpace(command.TowShifts1Jome1)) + if (endTimeSingel2 - starTimeSingel1 >= rest6w1) + endTimeSingel2 = endTimeSingel2.Subtract(rest6w1); + sumRest = sumRest.Add(rest6w1); + + var rotatingCheck = RotatingShiftCheck(starTimeSingel1, endTimeSingel2, startTimeTowSh1, + endTimeTowSh2); + rotatingCheck.RotatingDate = test; + rotatingResultList.Add(rotatingCheck); + jomeh = jomeh.Add(rotatingCheck.TotalWorkingTime); + Over22 = Over22.Add(rotatingCheck.NightWorkSpan); + } + else if (command.Jome1 && leavId > 0) + { + } + } + else if (da.Day > w1 && da.Day <= w2) + { + if (command.Jome2 && leavId == 0) + { + var test = $"{da}"; + + i6 += 1; + SumComplexDays += 1; + starTimeSingel1 = Convert.ToDateTime(command.SingleShift1Jome2); + endTimeSingel2 = Convert.ToDateTime(command.SingleShift2Jome2); + startTimeTowSh1 = Convert.ToDateTime(command.TowShifts1Jome2); + endTimeTowSh2 = Convert.ToDateTime(command.TowShifts2Jome2); + //if (string.IsNullOrWhiteSpace(command.TowShifts1Jome2)) + if (endTimeSingel2 - starTimeSingel1 >= rest6w2) + endTimeSingel2 = endTimeSingel2.Subtract(rest6w2); + sumRest = sumRest.Add(rest6w2); + + var rotatingCheck = RotatingShiftCheck(starTimeSingel1, endTimeSingel2, startTimeTowSh1, + endTimeTowSh2); + rotatingCheck.RotatingDate = test; + rotatingResultList.Add(rotatingCheck); + jomeh = jomeh.Add(rotatingCheck.TotalWorkingTime); + Over22 = Over22.Add(rotatingCheck.NightWorkSpan); + } + else if (command.Jome2 && leavId > 0) + { + } + } + else if (da.Day > w2 && da.Day <= w3) + { + if (command.Jome3 && leavId == 0) + { + var test = $"{da}"; + + i6 += 1; + SumComplexDays += 1; + starTimeSingel1 = Convert.ToDateTime(command.SingleShift1Jome3); + endTimeSingel2 = Convert.ToDateTime(command.SingleShift2Jome3); + startTimeTowSh1 = Convert.ToDateTime(command.TowShifts1Jome3); + endTimeTowSh2 = Convert.ToDateTime(command.TowShifts2Jome3); + //if (string.IsNullOrWhiteSpace(command.TowShifts1Jome3)) + if (endTimeSingel2 - starTimeSingel1 >= rest6w3) + endTimeSingel2 = endTimeSingel2.Subtract(rest6w3); + sumRest = sumRest.Add(rest6w3); + + var rotatingCheck = RotatingShiftCheck(starTimeSingel1, endTimeSingel2, startTimeTowSh1, + endTimeTowSh2); + rotatingCheck.RotatingDate = test; + rotatingResultList.Add(rotatingCheck); + jomeh = jomeh.Add(rotatingCheck.TotalWorkingTime); + Over22 = Over22.Add(rotatingCheck.NightWorkSpan); + } + else if (command.Jome3 && leavId > 0) + { + } + } + else if (da.Day > w3 && da.Day <= w4) + { + if (command.Jome4 && leavId == 0) + { + var test = $"{da}"; + + i6 += 1; + SumComplexDays += 1; + starTimeSingel1 = Convert.ToDateTime(command.SingleShift1Jome4); + endTimeSingel2 = Convert.ToDateTime(command.SingleShift2Jome4); + startTimeTowSh1 = Convert.ToDateTime(command.TowShifts1Jome4); + endTimeTowSh2 = Convert.ToDateTime(command.TowShifts2Jome4); + //if (string.IsNullOrWhiteSpace(command.TowShifts1Jome4)) + if (endTimeSingel2 - starTimeSingel1 >= rest6w4) + endTimeSingel2 = endTimeSingel2.Subtract(rest6w4); + sumRest = sumRest.Add(rest6w4); + + var rotatingCheck = RotatingShiftCheck(starTimeSingel1, endTimeSingel2, startTimeTowSh1, + endTimeTowSh2); + rotatingCheck.RotatingDate = test; + rotatingResultList.Add(rotatingCheck); + jomeh = jomeh.Add(rotatingCheck.TotalWorkingTime); + Over22 = Over22.Add(rotatingCheck.NightWorkSpan); + } + else if (command.Jome4 && leavId > 0) + { + } + } + else if (da.Day > w4 && da.Day <= w5) + { + if (command.Jome1 && leavId == 0) + { + var test = $"{da}"; + + i6 += 1; + SumComplexDays += 1; + starTimeSingel1 = Convert.ToDateTime(command.SingleShift1Jome1); + endTimeSingel2 = Convert.ToDateTime(command.SingleShift2Jome1); + startTimeTowSh1 = Convert.ToDateTime(command.TowShifts1Jome1); + endTimeTowSh2 = Convert.ToDateTime(command.TowShifts2Jome1); + // if (string.IsNullOrWhiteSpace(command.TowShifts1Jome1)) + if (endTimeSingel2 - starTimeSingel1 >= rest6w1) + endTimeSingel2 = endTimeSingel2.Subtract(rest6w1); + sumRest = sumRest.Add(rest6w1); + + var rotatingCheck = RotatingShiftCheck(starTimeSingel1, endTimeSingel2, startTimeTowSh1, + endTimeTowSh2); + rotatingCheck.RotatingDate = test; + rotatingResultList.Add(rotatingCheck); + jomeh = jomeh.Add(rotatingCheck.TotalWorkingTime); + Over22 = Over22.Add(rotatingCheck.NightWorkSpan); + } + else if (command.Jome1 && leavId > 0) + { + } + } + else if (da.Day > w5 && da.Day <= w6) + { + if (command.Jome2 && leavId == 0) + { + var test = $"{da}"; + + i6 += 1; + SumComplexDays += 1; + starTimeSingel1 = Convert.ToDateTime(command.SingleShift1Jome2); + endTimeSingel2 = Convert.ToDateTime(command.SingleShift2Jome2); + startTimeTowSh1 = Convert.ToDateTime(command.TowShifts1Jome2); + endTimeTowSh2 = Convert.ToDateTime(command.TowShifts2Jome2); + //if (string.IsNullOrWhiteSpace(command.TowShifts1Jome2)) + if (endTimeSingel2 - starTimeSingel1 >= rest6w2) + endTimeSingel2 = endTimeSingel2.Subtract(rest6w2); + sumRest = sumRest.Add(rest6w2); + + var rotatingCheck = RotatingShiftCheck(starTimeSingel1, endTimeSingel2, startTimeTowSh1, + endTimeTowSh2); + rotatingCheck.RotatingDate = test; + rotatingResultList.Add(rotatingCheck); + jomeh = jomeh.Add(rotatingCheck.TotalWorkingTime); + Over22 = Over22.Add(rotatingCheck.NightWorkSpan); + } + else if (command.Jome2 && leavId > 0) + { + } + } + + break; + } + + + if (da.DayOfWeek != "جمعه") + { + var testDay = $"{da}"; + var IsHoliday = holidayList.Any(x => x == testDay); + if (IsHoliday) OfficialHoliday += 1; + } + else + { + FridayStartToEnd += 1; + } + } + + rotatingResultList = rotatingResultList.Where(x => + x.IsMorningShift || x.IsEveningShift || x.IsNightShift).ToList(); + } + + #endregion + + #region ComplexCompute + + else if (command.ShiftWork == "5") //12-24 + { + var now = DateTime.Now; + var sdate2 = command.ContarctStart.ToEnglishNumber(); + var edate2 = command.ContractEnd.ToEnglishNumber(); + var syear2 = Convert.ToInt32(sdate.Substring(0, 4)); + var smonth2 = Convert.ToInt32(sdate.Substring(5, 2)); + var sday2 = Convert.ToInt32(sdate.Substring(8, 2)); + + var eyear2 = Convert.ToInt32(edate.Substring(0, 4)); + var emonth2 = Convert.ToInt32(edate.Substring(5, 2)); + var eday2 = Convert.ToInt32(edate.Substring(8, 2)); + + var d1b = new PersianDateTime(syear2, smonth2, sday2); + var d2b = new PersianDateTime(eyear2, emonth2, eday2, 23, 59); + + var start = Convert.ToDateTime(command.StartComplex); + var end = Convert.ToDateTime(command.EndComplex); + + + var sh = start.Hour; + var sm = start.Minute; + var eh = end.Hour; + var em = end.Minute; + var startDateAndTime = new PersianDateTime(syear2, smonth2, sday2, sh, sm); + var endDateTime = new PersianDateTime(syear2, smonth2, sday2, eh, em); + + end = endDateTime.ToGregorianDateTime(); + + + for (var da2 = startDateAndTime; da2 <= d2b; da2.AddHours(36)) + { + var test = $"{da2}"; + if (da2.DayOfWeek == "جمعه") + { + start = da2.ToGregorianDateTime(); + if (start.Date == end.Date && start.TimeOfDay > end.TimeOfDay) + end = end.AddDays(1); + + var singleSpanTow1 = new TimeSpan(); + + i6 += 1; + if (start.Date < end.Date) + { + overNight = true; + var over24 = new DateTime(end.Year, end.Month, end.Day, 0, 0, 0); + singleOver24 = end - over24; + + singleSpanTow1 = end - start; + singleSpanTow1 = singleSpanTow1.Subtract(singleOver24); + notHolidays = notHolidays.Add(singleOver24); + jomeh = jomeh.Add(singleSpanTow1); + i += 1; + } + else + { + singleSpanTow1 = end - start; + jomeh = jomeh.Add(singleSpanTow1); + } + + var startComplex = new DateTime(now.Year, now.Month, now.Day, start.Hour, start.Minute, + start.Second); + var endComplex = new DateTime(now.Year, now.Month, now.Day, end.Hour, end.Minute, + end.Second); + var rotatingCheck = RotatingShiftCheck(startComplex, endComplex, startTimeTowSh1, endTimeTowSh2); + rotatingCheck.RotatingDate = test; + rotatingResultList.Add(rotatingCheck); + //var Over22Computing = Over22Complex2424(start, end); + Over22 = Over22.Add(rotatingCheck.NightWorkSpan); + var endCal = end - start; + var NextStart = start.AddHours(36); + end = NextStart.Add(endCal); + } + else if (da2.DayOfWeek == "پنج شنبه") + { + start = da2.ToGregorianDateTime(); + if (start.Date == end.Date && start.TimeOfDay > end.TimeOfDay) + end = end.AddDays(1); + var singleSpan1 = new TimeSpan(); + i5 += 1; + if (start.Date < end.Date && start.Day != end.Day) + { + overNight = true; + var over24 = new DateTime(end.Year, end.Month, end.Day, 0, 0, 0); + singleOver24 = end - over24; + + + jomeh = jomeh.Add(singleOver24); + + i6 += 1; + + singleSpan1 = end - start; + singleSpan1 = singleSpan1.Subtract(singleOver24); + notHolidays = notHolidays.Add(singleSpan1); + } + else + { + singleSpan1 = end - start; + notHolidays = notHolidays.Add(singleSpan1); + } + + + var startComplex = new DateTime(now.Year, now.Month, now.Day, start.Hour, start.Minute, + start.Second); + var endComplex = new DateTime(now.Year, now.Month, now.Day, end.Hour, end.Minute, + end.Second); + var rotatingCheck = RotatingShiftCheck(startComplex, endComplex, startTimeTowSh1, endTimeTowSh2); + rotatingCheck.RotatingDate = test; + rotatingResultList.Add(rotatingCheck); + //var Over22Computing = Over22Complex2424(start, end); + Over22 = Over22.Add(rotatingCheck.NightWorkSpan); + + + var endCal = end - start; + var NextStart = start.AddHours(36); + end = NextStart.Add(endCal); + } + else if (da2.DayOfWeek == "شنبه") + { + start = da2.ToGregorianDateTime(); + if (start.Date == end.Date && start.TimeOfDay > end.TimeOfDay) + end = end.AddDays(1); + + var singleSpan1 = end - start; + notHolidays = notHolidays.Add(singleSpan1); + var startComplex = new DateTime(now.Year, now.Month, now.Day, start.Hour, start.Minute, + start.Second); + var endComplex = new DateTime(now.Year, now.Month, now.Day, end.Hour, end.Minute, + end.Second); + var rotatingCheck = RotatingShiftCheck(startComplex, endComplex, startTimeTowSh1, endTimeTowSh2); + rotatingCheck.RotatingDate = test; + rotatingResultList.Add(rotatingCheck); + //var Over22Computing = Over22Complex2424(start, end); + Over22 = Over22.Add(rotatingCheck.NightWorkSpan); + + + i += 1; + var NextStart = start.AddHours(36); + end = NextStart.Add(singleSpan1); + } + else if (da2.DayOfWeek == "یکشنبه") + { + start = da2.ToGregorianDateTime(); + if (start.Date == end.Date && start.TimeOfDay > end.TimeOfDay) + end = end.AddDays(1); + var singleSpan1 = end - start; + notHolidays = notHolidays.Add(singleSpan1); + var startComplex = new DateTime(now.Year, now.Month, now.Day, start.Hour, start.Minute, + start.Second); + var endComplex = new DateTime(now.Year, now.Month, now.Day, end.Hour, end.Minute, + end.Second); + var rotatingCheck = RotatingShiftCheck(startComplex, endComplex, startTimeTowSh1, endTimeTowSh2); + rotatingCheck.RotatingDate = test; + rotatingResultList.Add(rotatingCheck); + //var Over22Computing = Over22Complex2424(start, end); + Over22 = Over22.Add(rotatingCheck.NightWorkSpan); + + + i1 += 1; + + var NextStart = start.AddHours(36); + end = NextStart.Add(singleSpan1); + } + else if (da2.DayOfWeek == "دوشنبه") + { + start = da2.ToGregorianDateTime(); + if (start.Date == end.Date && start.TimeOfDay > end.TimeOfDay) + end = end.AddDays(1); + var singleSpan1 = end - start; + notHolidays = notHolidays.Add(singleSpan1); + var startComplex = new DateTime(now.Year, now.Month, now.Day, start.Hour, start.Minute, + start.Second); + var endComplex = new DateTime(now.Year, now.Month, now.Day, end.Hour, end.Minute, + end.Second); + var rotatingCheck = RotatingShiftCheck(startComplex, endComplex, startTimeTowSh1, endTimeTowSh2); + rotatingCheck.RotatingDate = test; + rotatingResultList.Add(rotatingCheck); + //var Over22Computing = Over22Complex2424(start, end); + Over22 = Over22.Add(rotatingCheck.NightWorkSpan); + + + i2 += 1; + + var NextStart = start.AddHours(36); + end = NextStart.Add(singleSpan1); + } + else if (da2.DayOfWeek == "سه شنبه") + { + start = da2.ToGregorianDateTime(); + if (start.Date == end.Date && start.TimeOfDay > end.TimeOfDay) + end = end.AddDays(1); + var singleSpan1 = end - start; + notHolidays = notHolidays.Add(singleSpan1); + var startComplex = new DateTime(now.Year, now.Month, now.Day, start.Hour, start.Minute, + start.Second); + var endComplex = new DateTime(now.Year, now.Month, now.Day, end.Hour, end.Minute, + end.Second); + var rotatingCheck = RotatingShiftCheck(startComplex, endComplex, startTimeTowSh1, endTimeTowSh2); + rotatingCheck.RotatingDate = test; + rotatingResultList.Add(rotatingCheck); + //var Over22Computing = Over22Complex2424(start, end); + Over22 = Over22.Add(rotatingCheck.NightWorkSpan); + + i3 += 1; + var NextStart = start.AddHours(36); + end = NextStart.Add(singleSpan1); + } + else if (da2.DayOfWeek == "چهارشنبه") + { + start = da2.ToGregorianDateTime(); + + var singleSpan1 = end - start; + notHolidays = notHolidays.Add(singleSpan1); + var startComplex = new DateTime(now.Year, now.Month, now.Day, start.Hour, start.Minute, + start.Second); + var endComplex = new DateTime(now.Year, now.Month, now.Day, end.Hour, end.Minute, + end.Second); + var rotatingCheck = RotatingShiftCheck(startComplex, endComplex, startTimeTowSh1, endTimeTowSh2); + rotatingCheck.RotatingDate = test; + rotatingResultList.Add(rotatingCheck); + //var Over22Computing = Over22Complex2424(start, end); + Over22 = Over22.Add(rotatingCheck.NightWorkSpan); + + + i4 += 1; + var NextStart = start.AddHours(36); + end = NextStart.Add(singleSpan1); + } + } + + + for (var daa = d1b; daa <= d2b; daa.AddDays(1)) + { + var test = daa.ToGregorianDateTime(); + var checkHoliday = _holidayItemRepository.GetHoliday(test); + if (daa.DayOfWeek != "جمعه") + { + if (checkHoliday == false) + SumComplexDays += 1; + else + OfficialHoliday += 1; + } + else + { + FridayStartToEnd += 1; + } + } + } + else if (command.ShiftWork == "6") //24-24 + { + var now = DateTime.Now; + var sdate2 = command.ContarctStart.ToEnglishNumber(); + var edate2 = command.ContractEnd.ToEnglishNumber(); + var syear2 = Convert.ToInt32(sdate.Substring(0, 4)); + var smonth2 = Convert.ToInt32(sdate.Substring(5, 2)); + var sday2 = Convert.ToInt32(sdate.Substring(8, 2)); + + var eyear2 = Convert.ToInt32(edate.Substring(0, 4)); + var emonth2 = Convert.ToInt32(edate.Substring(5, 2)); + var eday2 = Convert.ToInt32(edate.Substring(8, 2)); + + var d1b = new PersianDateTime(syear2, smonth2, sday2); + var d2b = new PersianDateTime(eyear2, emonth2, eday2, 23, 59); + + var start = Convert.ToDateTime(command.StartComplex); + var end = Convert.ToDateTime(command.EndComplex); + + + var sh = start.Hour; + var sm = start.Minute; + var eh = end.Hour; + var em = end.Minute; + var startDateAndTime = new PersianDateTime(syear2, smonth2, sday2, sh, sm); + var endDateTime = new PersianDateTime(syear2, smonth2, sday2, eh, em); + //if (start > end) + //{ + + // endDateTime.AddDays(1); + //} + + endDateTime.AddDays(1); + end = endDateTime.ToGregorianDateTime(); + + + for (var da2 = startDateAndTime; da2 <= d2b; da2.AddHours(48)) + { + var test = $"{da2}"; + if (da2.DayOfWeek == "جمعه") + { + start = da2.ToGregorianDateTime(); + + var singleSpanTow1 = new TimeSpan(); + var WorkHours = end - start; + i6 += 1; + if (start.Date < end.Date) + { + overNight = true; + var over24 = new DateTime(end.Year, end.Month, end.Day, 0, 0, 0); + singleOver24 = end - over24; + + singleSpanTow1 = end - start; + singleSpanTow1 = singleSpanTow1.Subtract(singleOver24); + notHolidays = notHolidays.Add(singleOver24); + jomeh = jomeh.Add(singleSpanTow1); + i += 1; + } + else + { + singleSpanTow1 = end - start; + jomeh = jomeh.Add(singleSpanTow1); + } + + var startComplex = new DateTime(now.Year, now.Month, now.Day, start.Hour, start.Minute, + start.Second); + var endComplex = new DateTime(now.Year, now.Month, now.Day, end.Hour, end.Minute, + end.Second); + var rotatingCheck = RotatingShiftCheck(startComplex, endComplex, startTimeTowSh1, endTimeTowSh2); + rotatingCheck.RotatingDate = test; + rotatingResultList.Add(rotatingCheck); + //var Over22Computing = Over22Complex2424(start, end); + Over22 = Over22.Add(rotatingCheck.NightWorkSpan); + + var NextStart = start.AddHours(48); + end = NextStart.Add(WorkHours); + } + else if (da2.DayOfWeek == "پنج شنبه") + { + start = da2.ToGregorianDateTime(); + var singleSpan1 = new TimeSpan(); + var WorkHours = end - start; + i5 += 1; + if (start.Date < end.Date && start.Day != end.Day) + { + overNight = true; + var over24 = new DateTime(end.Year, end.Month, end.Day, 0, 0, 0); + singleOver24 = end - over24; + + + jomeh = jomeh.Add(singleOver24); + + i6 += 1; + + singleSpan1 = end - start; + singleSpan1 = singleSpan1.Subtract(singleOver24); + notHolidays = notHolidays.Add(singleSpan1); + } + else + { + singleSpan1 = end - start; + notHolidays = notHolidays.Add(singleSpan1); + } + + var startComplex = new DateTime(now.Year, now.Month, now.Day, start.Hour, start.Minute, + start.Second); + var endComplex = new DateTime(now.Year, now.Month, now.Day, end.Hour, end.Minute, + end.Second); + var rotatingCheck = RotatingShiftCheck(startComplex, endComplex, startTimeTowSh1, endTimeTowSh2); + rotatingCheck.RotatingDate = test; + rotatingResultList.Add(rotatingCheck); + //var Over22Computing = Over22Complex2424(start, end); + Over22 = Over22.Add(rotatingCheck.NightWorkSpan); + + + var NextStart = start.AddHours(48); + end = NextStart.Add(WorkHours); + } + else if (da2.DayOfWeek == "شنبه") + { + start = da2.ToGregorianDateTime(); + + + var singleSpan1 = end - start; + notHolidays = notHolidays.Add(singleSpan1); + + var startComplex = new DateTime(now.Year, now.Month, now.Day, start.Hour, start.Minute, + start.Second); + var endComplex = new DateTime(now.Year, now.Month, now.Day, end.Hour, end.Minute, + end.Second); + var rotatingCheck = RotatingShiftCheck(startComplex, endComplex, startTimeTowSh1, endTimeTowSh2); + rotatingCheck.RotatingDate = test; + rotatingResultList.Add(rotatingCheck); + //var Over22Computing = Over22Complex2424(start, end); + Over22 = Over22.Add(rotatingCheck.NightWorkSpan); + + + i += 1; + var NextStart = start.AddHours(48); + end = NextStart.Add(singleSpan1); + } + else if (da2.DayOfWeek == "یکشنبه") + { + start = da2.ToGregorianDateTime(); + + var singleSpan1 = end - start; + notHolidays = notHolidays.Add(singleSpan1); + + var startComplex = new DateTime(now.Year, now.Month, now.Day, start.Hour, start.Minute, + start.Second); + var endComplex = new DateTime(now.Year, now.Month, now.Day, end.Hour, end.Minute, + end.Second); + var rotatingCheck = RotatingShiftCheck(startComplex, endComplex, startTimeTowSh1, endTimeTowSh2); + rotatingCheck.RotatingDate = test; + rotatingResultList.Add(rotatingCheck); + //var Over22Computing = Over22Complex2424(start, end); + Over22 = Over22.Add(rotatingCheck.NightWorkSpan); + + + i1 += 1; + + var NextStart = start.AddHours(48); + end = NextStart.Add(singleSpan1); + } + else if (da2.DayOfWeek == "دوشنبه") + { + start = da2.ToGregorianDateTime(); + + var singleSpan1 = end - start; + notHolidays = notHolidays.Add(singleSpan1); + + var startComplex = new DateTime(now.Year, now.Month, now.Day, start.Hour, start.Minute, + start.Second); + var endComplex = new DateTime(now.Year, now.Month, now.Day, end.Hour, end.Minute, + end.Second); + var rotatingCheck = RotatingShiftCheck(startComplex, endComplex, startTimeTowSh1, endTimeTowSh2); + rotatingCheck.RotatingDate = test; + rotatingResultList.Add(rotatingCheck); + //var Over22Computing = Over22Complex2424(start, end); + Over22 = Over22.Add(rotatingCheck.NightWorkSpan); + + + i2 += 1; + + var NextStart = start.AddHours(48); + end = NextStart.Add(singleSpan1); + } + else if (da2.DayOfWeek == "سه شنبه") + { + start = da2.ToGregorianDateTime(); + var singleSpan1 = end - start; + notHolidays = notHolidays.Add(singleSpan1); + + var startComplex = new DateTime(now.Year, now.Month, now.Day, start.Hour, start.Minute, + start.Second); + var endComplex = new DateTime(now.Year, now.Month, now.Day, end.Hour, end.Minute, + end.Second); + var rotatingCheck = RotatingShiftCheck(startComplex, endComplex, startTimeTowSh1, endTimeTowSh2); + rotatingCheck.RotatingDate = test; + rotatingResultList.Add(rotatingCheck); + //var Over22Computing = Over22Complex2424(start, end); + Over22 = Over22.Add(rotatingCheck.NightWorkSpan); + + + i3 += 1; + var NextStart = start.AddHours(48); + end = NextStart.Add(singleSpan1); + } + else if (da2.DayOfWeek == "چهارشنبه") + { + start = da2.ToGregorianDateTime(); + + var singleSpan1 = end - start; + notHolidays = notHolidays.Add(singleSpan1); + + var startComplex = new DateTime(now.Year, now.Month, now.Day, start.Hour, start.Minute, + start.Second); + var endComplex = new DateTime(now.Year, now.Month, now.Day, end.Hour, end.Minute, + end.Second); + var rotatingCheck = RotatingShiftCheck(startComplex, endComplex, startTimeTowSh1, endTimeTowSh2); + rotatingCheck.RotatingDate = test; + rotatingResultList.Add(rotatingCheck); + //var Over22Computing = Over22Complex2424(start, end); + Over22 = Over22.Add(rotatingCheck.NightWorkSpan); + + + i4 += 1; + var NextStart = start.AddHours(48); + end = NextStart.Add(singleSpan1); + } + } + + + for (var daa = d1b; daa <= d2b; daa.AddDays(1)) + { + var test = daa.ToGregorianDateTime(); + var checkHoliday = _holidayItemRepository.GetHoliday(test); + if (daa.DayOfWeek != "جمعه") + { + if (checkHoliday == false) + SumComplexDays += 1; + else + OfficialHoliday += 1; + } + else + { + FridayStartToEnd += 1; + } + } + } + else if (command.ShiftWork == "7") //12-36 + { + var now = DateTime.Now; + var sdate2 = command.ContarctStart.ToEnglishNumber(); + var edate2 = command.ContractEnd.ToEnglishNumber(); + var syear2 = Convert.ToInt32(sdate.Substring(0, 4)); + var smonth2 = Convert.ToInt32(sdate.Substring(5, 2)); + var sday2 = Convert.ToInt32(sdate.Substring(8, 2)); + + var eyear2 = Convert.ToInt32(edate.Substring(0, 4)); + var emonth2 = Convert.ToInt32(edate.Substring(5, 2)); + var eday2 = Convert.ToInt32(edate.Substring(8, 2)); + + var d1b = new PersianDateTime(syear2, smonth2, sday2); + var d2b = new PersianDateTime(eyear2, emonth2, eday2, 23, 59); + + var start = Convert.ToDateTime(command.StartComplex); + var end = Convert.ToDateTime(command.EndComplex); + + + var sh = start.Hour; + var sm = start.Minute; + var eh = end.Hour; + var em = end.Minute; + var startDateAndTime = new PersianDateTime(syear2, smonth2, sday2, sh, sm); + var endDateTime = new PersianDateTime(syear2, smonth2, sday2, eh, em); + //if (start > end) + //{ + + // endDateTime.AddDays(1); + //} + + //endDateTime.AddDays(1); + end = endDateTime.ToGregorianDateTime(); + + + for (var da2 = startDateAndTime; da2 <= d2b; da2.AddHours(48)) + { + var test = $"{da2}"; + if (da2.DayOfWeek == "جمعه") + { + start = da2.ToGregorianDateTime(); + if (start.Date == end.Date && start.TimeOfDay > end.TimeOfDay) + end = end.AddDays(1); + + var singleSpanTow1 = new TimeSpan(); + + i6 += 1; + if (start.Date < end.Date) + { + overNight = true; + var over24 = new DateTime(end.Year, end.Month, end.Day, 0, 0, 0); + singleOver24 = end - over24; + + singleSpanTow1 = end - start; + singleSpanTow1 = singleSpanTow1.Subtract(singleOver24); + notHolidays = notHolidays.Add(singleOver24); + jomeh = jomeh.Add(singleSpanTow1); + i += 1; + } + else + { + singleSpanTow1 = end - start; + jomeh = jomeh.Add(singleSpanTow1); + } + + var startComplex = new DateTime(now.Year, now.Month, now.Day, start.Hour, start.Minute, + start.Second); + var endComplex = new DateTime(now.Year, now.Month, now.Day, end.Hour, end.Minute, + end.Second); + var rotatingCheck = RotatingShiftCheck(startComplex, endComplex, startTimeTowSh1, endTimeTowSh2); + rotatingCheck.RotatingDate = test; + rotatingResultList.Add(rotatingCheck); + //var Over22Computing = Over22Complex2424(start, end); + Over22 = Over22.Add(rotatingCheck.NightWorkSpan); + + var WorkHours = end - start; + var NextStart = start.AddHours(48); + end = NextStart.Add(WorkHours); + } + else if (da2.DayOfWeek == "پنج شنبه") + { + start = da2.ToGregorianDateTime(); + if (start.Date == end.Date && start.TimeOfDay > end.TimeOfDay) + end = end.AddDays(1); + var singleSpan1 = new TimeSpan(); + + i5 += 1; + if (start.Date < end.Date && start.Day != end.Day) + { + overNight = true; + var over24 = new DateTime(end.Year, end.Month, end.Day, 0, 0, 0); + singleOver24 = end - over24; + + + jomeh = jomeh.Add(singleOver24); + + i6 += 1; + + singleSpan1 = end - start; + singleSpan1 = singleSpan1.Subtract(singleOver24); + notHolidays = notHolidays.Add(singleSpan1); + } + else + { + singleSpan1 = end - start; + notHolidays = notHolidays.Add(singleSpan1); + } + + + var startComplex = new DateTime(now.Year, now.Month, now.Day, start.Hour, start.Minute, + start.Second); + var endComplex = new DateTime(now.Year, now.Month, now.Day, end.Hour, end.Minute, + end.Second); + var rotatingCheck = RotatingShiftCheck(startComplex, endComplex, startTimeTowSh1, endTimeTowSh2); + rotatingCheck.RotatingDate = test; + rotatingResultList.Add(rotatingCheck); + //var Over22Computing = Over22Complex2424(start, end); + Over22 = Over22.Add(rotatingCheck.NightWorkSpan); + + var WorkHours = end - start; + var NextStart = start.AddHours(48); + end = NextStart.Add(WorkHours); + } + else if (da2.DayOfWeek == "شنبه") + { + start = da2.ToGregorianDateTime(); + if (start.Date == end.Date && start.TimeOfDay > end.TimeOfDay) + end = end.AddDays(1); + + var singleSpan1 = end - start; + notHolidays = notHolidays.Add(singleSpan1); + + var startComplex = new DateTime(now.Year, now.Month, now.Day, start.Hour, start.Minute, + start.Second); + var endComplex = new DateTime(now.Year, now.Month, now.Day, end.Hour, end.Minute, + end.Second); + var rotatingCheck = RotatingShiftCheck(startComplex, endComplex, startTimeTowSh1, endTimeTowSh2); + rotatingCheck.RotatingDate = test; + rotatingResultList.Add(rotatingCheck); + //var Over22Computing = Over22Complex2424(start, end); + Over22 = Over22.Add(rotatingCheck.NightWorkSpan); + + + i += 1; + var NextStart = start.AddHours(48); + end = NextStart.Add(singleSpan1); + } + else if (da2.DayOfWeek == "یکشنبه") + { + start = da2.ToGregorianDateTime(); + if (start.Date == end.Date && start.TimeOfDay > end.TimeOfDay) + end = end.AddDays(1); + var singleSpan1 = end - start; + notHolidays = notHolidays.Add(singleSpan1); + + var startComplex = new DateTime(now.Year, now.Month, now.Day, start.Hour, start.Minute, + start.Second); + var endComplex = new DateTime(now.Year, now.Month, now.Day, end.Hour, end.Minute, + end.Second); + var rotatingCheck = RotatingShiftCheck(startComplex, endComplex, startTimeTowSh1, endTimeTowSh2); + rotatingCheck.RotatingDate = test; + rotatingResultList.Add(rotatingCheck); + //var Over22Computing = Over22Complex2424(start, end); + Over22 = Over22.Add(rotatingCheck.NightWorkSpan); + + + i1 += 1; + + var NextStart = start.AddHours(48); + end = NextStart.Add(singleSpan1); + } + else if (da2.DayOfWeek == "دوشنبه") + { + start = da2.ToGregorianDateTime(); + if (start.Date == end.Date && start.TimeOfDay > end.TimeOfDay) + end = end.AddDays(1); + var singleSpan1 = end - start; + notHolidays = notHolidays.Add(singleSpan1); + + var startComplex = new DateTime(now.Year, now.Month, now.Day, start.Hour, start.Minute, + start.Second); + var endComplex = new DateTime(now.Year, now.Month, now.Day, end.Hour, end.Minute, + end.Second); + var rotatingCheck = RotatingShiftCheck(startComplex, endComplex, startTimeTowSh1, endTimeTowSh2); + rotatingCheck.RotatingDate = test; + rotatingResultList.Add(rotatingCheck); + //var Over22Computing = Over22Complex2424(start, end); + Over22 = Over22.Add(rotatingCheck.NightWorkSpan); + + + i2 += 1; + + var NextStart = start.AddHours(48); + end = NextStart.Add(singleSpan1); + } + else if (da2.DayOfWeek == "سه شنبه") + { + start = da2.ToGregorianDateTime(); + if (start.Date == end.Date && start.TimeOfDay > end.TimeOfDay) + end = end.AddDays(1); + var singleSpan1 = end - start; + notHolidays = notHolidays.Add(singleSpan1); + + var startComplex = new DateTime(now.Year, now.Month, now.Day, start.Hour, start.Minute, + start.Second); + var endComplex = new DateTime(now.Year, now.Month, now.Day, end.Hour, end.Minute, + end.Second); + var rotatingCheck = RotatingShiftCheck(startComplex, endComplex, startTimeTowSh1, endTimeTowSh2); + rotatingCheck.RotatingDate = test; + rotatingResultList.Add(rotatingCheck); + //var Over22Computing = Over22Complex2424(start, end); + Over22 = Over22.Add(rotatingCheck.NightWorkSpan); + + i3 += 1; + var NextStart = start.AddHours(48); + end = NextStart.Add(singleSpan1); + } + else if (da2.DayOfWeek == "چهارشنبه") + { + start = da2.ToGregorianDateTime(); + if (start.Date == end.Date && start.TimeOfDay > end.TimeOfDay) + end = end.AddDays(1); + var singleSpan1 = end - start; + notHolidays = notHolidays.Add(singleSpan1); + + var startComplex = new DateTime(now.Year, now.Month, now.Day, start.Hour, start.Minute, + start.Second); + var endComplex = new DateTime(now.Year, now.Month, now.Day, end.Hour, end.Minute, + end.Second); + var rotatingCheck = RotatingShiftCheck(startComplex, endComplex, startTimeTowSh1, endTimeTowSh2); + rotatingCheck.RotatingDate = test; + rotatingResultList.Add(rotatingCheck); + //var Over22Computing = Over22Complex2424(start, end); + Over22 = Over22.Add(rotatingCheck.NightWorkSpan); + + + i4 += 1; + var NextStart = start.AddHours(48); + end = NextStart.Add(singleSpan1); + } + } + + + for (var daa = d1b; daa <= d2b; daa.AddDays(1)) + { + var test = daa.ToGregorianDateTime(); + var checkHoliday = _holidayItemRepository.GetHoliday(test); + if (daa.DayOfWeek != "جمعه") + { + if (checkHoliday == false) + SumComplexDays += 1; + else + OfficialHoliday += 1; + } + else + { + FridayStartToEnd += 1; + } + } + } + else if (command.ShiftWork == "8") //24-48 + { + var now = DateTime.Now; + var sdate2 = command.ContarctStart.ToEnglishNumber(); + var edate2 = command.ContractEnd.ToEnglishNumber(); + var syear2 = Convert.ToInt32(sdate.Substring(0, 4)); + var smonth2 = Convert.ToInt32(sdate.Substring(5, 2)); + var sday2 = Convert.ToInt32(sdate.Substring(8, 2)); + + var eyear2 = Convert.ToInt32(edate.Substring(0, 4)); + var emonth2 = Convert.ToInt32(edate.Substring(5, 2)); + var eday2 = Convert.ToInt32(edate.Substring(8, 2)); + + var d1b = new PersianDateTime(syear2, smonth2, sday2); + var d2b = new PersianDateTime(eyear2, emonth2, eday2, 23, 59); + + var start = Convert.ToDateTime(command.StartComplex); + var end = Convert.ToDateTime(command.EndComplex); + + var sh = start.Hour; + var sm = start.Minute; + var eh = end.Hour; + var em = end.Minute; + var startDateAndTime = new PersianDateTime(syear2, smonth2, sday2, sh, sm); + var endDateTime = new PersianDateTime(syear2, smonth2, sday2, eh, em); + //if (start > end) + //{ + + // endDateTime.AddDays(1); + //} + + + end = endDateTime.ToGregorianDateTime(); + end = end.AddDays(1); + + + for (var da2 = startDateAndTime; da2 <= d2b; da2.AddHours(72)) + { + var test = $"{da2}"; + if (da2.DayOfWeek == "جمعه") + { + start = da2.ToGregorianDateTime(); + + var singleSpanTow1 = new TimeSpan(); + + i6 += 1; + if (start.Date < end.Date) + { + overNight = true; + var over24 = new DateTime(end.Year, end.Month, end.Day, 0, 0, 0); + singleOver24 = end - over24; + + singleSpanTow1 = end - start; + singleSpanTow1 = singleSpanTow1.Subtract(singleOver24); + notHolidays = notHolidays.Add(singleOver24); + jomeh = jomeh.Add(singleSpanTow1); + i += 1; + } + else + { + singleSpanTow1 = end - start; + jomeh = jomeh.Add(singleSpanTow1); + } + + var startComplex = new DateTime(now.Year, now.Month, now.Day, start.Hour, start.Minute, + start.Second); + var endComplex = new DateTime(now.Year, now.Month, now.Day, end.Hour, end.Minute, + end.Second); + var rotatingCheck = RotatingShiftCheck(startComplex, endComplex, startTimeTowSh1, endTimeTowSh2); + rotatingCheck.RotatingDate = test; + rotatingResultList.Add(rotatingCheck); + //var Over22Computing = Over22Complex2424(start, end); + Over22 = Over22.Add(rotatingCheck.NightWorkSpan); + + var WorkHours = end - start; + var NextStart = start.AddHours(72); + end = NextStart.Add(WorkHours); + } + else if (da2.DayOfWeek == "پنج شنبه") + { + start = da2.ToGregorianDateTime(); + var singleSpan1 = new TimeSpan(); + + i5 += 1; + if (start.Date < end.Date && start.Day != end.Day) + { + overNight = true; + var over24 = new DateTime(end.Year, end.Month, end.Day, 0, 0, 0); + singleOver24 = end - over24; + + + jomeh = jomeh.Add(singleOver24); + + i6 += 1; + + singleSpan1 = end - start; + singleSpan1 = singleSpan1.Subtract(singleOver24); + notHolidays = notHolidays.Add(singleSpan1); + } + else + { + singleSpan1 = end - start; + notHolidays = notHolidays.Add(singleSpan1); + } + + + var startComplex = new DateTime(now.Year, now.Month, now.Day, start.Hour, start.Minute, + start.Second); + var endComplex = new DateTime(now.Year, now.Month, now.Day, end.Hour, end.Minute, + end.Second); + var rotatingCheck = RotatingShiftCheck(startComplex, endComplex, startTimeTowSh1, endTimeTowSh2); + rotatingCheck.RotatingDate = test; + rotatingResultList.Add(rotatingCheck); + //var Over22Computing = Over22Complex2424(start, end); + Over22 = Over22.Add(rotatingCheck.NightWorkSpan); + + + var WorkHours = end - start; + var NextStart = start.AddHours(72); + end = NextStart.Add(WorkHours); + } + else if (da2.DayOfWeek == "شنبه") + { + start = da2.ToGregorianDateTime(); + + + var singleSpan1 = end - start; + notHolidays = notHolidays.Add(singleSpan1); + + var startComplex = new DateTime(now.Year, now.Month, now.Day, start.Hour, start.Minute, + start.Second); + var endComplex = new DateTime(now.Year, now.Month, now.Day, end.Hour, end.Minute, + end.Second); + var rotatingCheck = RotatingShiftCheck(startComplex, endComplex, startTimeTowSh1, endTimeTowSh2); + rotatingCheck.RotatingDate = test; + rotatingResultList.Add(rotatingCheck); + //var Over22Computing = Over22Complex2424(start, end); + Over22 = Over22.Add(rotatingCheck.NightWorkSpan); + + + i += 1; + var NextStart = start.AddHours(72); + end = NextStart.Add(singleSpan1); + } + else if (da2.DayOfWeek == "یکشنبه") + { + start = da2.ToGregorianDateTime(); + + var singleSpan1 = end - start; + notHolidays = notHolidays.Add(singleSpan1); + + var startComplex = new DateTime(now.Year, now.Month, now.Day, start.Hour, start.Minute, + start.Second); + var endComplex = new DateTime(now.Year, now.Month, now.Day, end.Hour, end.Minute, + end.Second); + var rotatingCheck = RotatingShiftCheck(startComplex, endComplex, startTimeTowSh1, endTimeTowSh2); + rotatingCheck.RotatingDate = test; + rotatingResultList.Add(rotatingCheck); + //var Over22Computing = Over22Complex2424(start, end); + Over22 = Over22.Add(rotatingCheck.NightWorkSpan); + + + i1 += 1; + + var NextStart = start.AddHours(72); + end = NextStart.Add(singleSpan1); + } + else if (da2.DayOfWeek == "دوشنبه") + { + start = da2.ToGregorianDateTime(); + + var singleSpan1 = end - start; + notHolidays = notHolidays.Add(singleSpan1); + + var startComplex = new DateTime(now.Year, now.Month, now.Day, start.Hour, start.Minute, + start.Second); + var endComplex = new DateTime(now.Year, now.Month, now.Day, end.Hour, end.Minute, + end.Second); + var rotatingCheck = RotatingShiftCheck(startComplex, endComplex, startTimeTowSh1, endTimeTowSh2); + rotatingCheck.RotatingDate = test; + rotatingResultList.Add(rotatingCheck); + //var Over22Computing = Over22Complex2424(start, end); + Over22 = Over22.Add(rotatingCheck.NightWorkSpan); + + + i2 += 1; + + var NextStart = start.AddHours(72); + end = NextStart.Add(singleSpan1); + } + else if (da2.DayOfWeek == "سه شنبه") + { + start = da2.ToGregorianDateTime(); + var singleSpan1 = end - start; + notHolidays = notHolidays.Add(singleSpan1); + + var startComplex = new DateTime(now.Year, now.Month, now.Day, start.Hour, start.Minute, + start.Second); + var endComplex = new DateTime(now.Year, now.Month, now.Day, end.Hour, end.Minute, + end.Second); + var rotatingCheck = RotatingShiftCheck(startComplex, endComplex, startTimeTowSh1, endTimeTowSh2); + rotatingCheck.RotatingDate = test; + rotatingResultList.Add(rotatingCheck); + //var Over22Computing = Over22Complex2424(start, end); + Over22 = Over22.Add(rotatingCheck.NightWorkSpan); + + i3 += 1; + var NextStart = start.AddHours(72); + end = NextStart.Add(singleSpan1); + } + else if (da2.DayOfWeek == "چهارشنبه") + { + start = da2.ToGregorianDateTime(); + + var singleSpan1 = end - start; + notHolidays = notHolidays.Add(singleSpan1); + + var startComplex = new DateTime(now.Year, now.Month, now.Day, start.Hour, start.Minute, + start.Second); + var endComplex = new DateTime(now.Year, now.Month, now.Day, end.Hour, end.Minute, + end.Second); + var rotatingCheck = RotatingShiftCheck(startComplex, endComplex, startTimeTowSh1, endTimeTowSh2); + rotatingCheck.RotatingDate = test; + rotatingResultList.Add(rotatingCheck); + //var Over22Computing = Over22Complex2424(start, end); + Over22 = Over22.Add(rotatingCheck.NightWorkSpan); + + + i4 += 1; + var NextStart = start.AddHours(72); + end = NextStart.Add(singleSpan1); + } + } + + + for (var daa = d1b; daa <= d2b; daa.AddDays(1)) + { + var test = daa.ToGregorianDateTime(); + var checkHoliday = _holidayItemRepository.GetHoliday(test); + if (daa.DayOfWeek != "جمعه") + { + if (checkHoliday == false) + SumComplexDays += 1; + else + OfficialHoliday += 1; + } + else + { + FridayStartToEnd += 1; + } + } + } + + #endregion + + #region DayCounterAndDailyFix + + var sumDays = i + i1 + i2 + i3 + i4 + i5 + i6; + var holidaysCount = i6; + var notHolidaysCount = i + i1 + i2 + i3 + i4 + i5; + // ساعات موظفی + var ComplexFix = dailyFix.Multiply(SumComplexDays); + + dailyFix = dailyFix.Multiply(sumDays); + + Notholiday = notHolidaysCount.ToString(); + Holidays = holidaysCount.ToString(); + + var searchModel = new LeftWorkSearchModel + { + EmployeeId = command.EmployeeId, + WorkshopId = command.WorkshopId + }; + + var leftworkList = _leftWorkApplication.search(searchModel); + var lastLeftWork = leftworkList.FirstOrDefault(); + + var conStart = conStartGr; + var EndOfM = Convert.ToInt32(command.ContractEnd.Substring(8, 2)); + var conEnd = conEndGr; + if (lastLeftWork.LeftWorkDate != "1500/01/01" && lastLeftWork.LeftWorkDateGr < conEnd) + { + conEnd = lastLeftWork.LeftWorkDateGr.AddDays(-1); + } + else + { + if (EndOfM == 31) conEnd = conEnd.AddDays(-1); + } + + + var AllDaysCount = (conEnd - conStart).TotalDays + 1; + var endContract = command.ContractEnd.ToGeorgianDateTime(); + var allDays = (endContract - conStart).TotalDays + 1; + + + var jomeh2 = new TimeSpan(); + + var notHolidays2 = new TimeSpan(); + var Mandatory = new TimeSpan(); + + + notHolidays = notHolidays.Add(jomeh); - item.RedColor = false; - item.Extension = true; - } + var workingDaysH = (int)notHolidays.TotalHours; + var workingDaysM = notHolidays.TotalMinutes % 60; + //ساعات کاری پرسنل با احتساب تعطیلات رسمی + HolidaysAndNot = HolidaysAndNot.Add(notHolidays); + var totalHolidaysAndNotH = (int)HolidaysAndNot.TotalHours; + var totalHolidaysAndNotM = HolidaysAndNot.TotalMinutes % 60; - } + notHolidays2 = notHolidays2.Add(jomeh2); - ContractListNew.Add(item); - - } - var command2 = new CreateCheckout() - { - - - Contracts = ContractListNew, - - - }; - return Partial("./alert", command2); - } - - public IActionResult OnGetExtension() - { - var today = DateTime.Now; - var faToday = string.Empty; - - - faToday = today.ToFarsi(); - var syear = Convert.ToInt32(faToday.Substring(0, 4)); - var smonth = Convert.ToInt32(faToday.Substring(5, 2)); - var PersianStartMonth = new PersianDateTime(syear, smonth, 01); - var year = PersianStartMonth.Year.ToString(); - var Getmonth = PersianStartMonth.ToString(); - var month = Getmonth.Substring(5, 2); - - var ConvertStartPersian = PersianStartMonth.AddMonths(1); - var convertYear = ConvertStartPersian.Year.ToString(); - var GetConvertMonth = ConvertStartPersian.ToString(); - var convertMonth = GetConvertMonth.Substring(5, 2); - - - - var command = new ExtensionViewModel() - { - - Workshops = _workshopApplication.GetWorkshopAccount(), - - Employees = _employeeApplication.GetEmployee(), - - Employers = _employerApplication.GetEmployers(), - - Yearlist = _yearlySalaryApplication.GetYears(), - - Year = year, - Month = month, - ConvertYear = convertYear, - ConvertMonth = convertMonth, - }; - return Partial("./Extension", command); - } - - - public IActionResult OnPostExtension3(string ConvertMonth, string ConvertYear, string ContarctStart, string ContractEnd, List ContractsId, - string ConvertContractStart, string ConvertContractEnd) - { - var today = DateTime.Now; - var faToday2 = string.Empty; - var CStart = string.Empty; - var CEnd = string.Empty; - var GrogorianThisMonthStart2 = new DateTime(); - - - - int syear2 = 0; - int smonth2 = 0; - if (string.IsNullOrWhiteSpace(ConvertContractStart) && string.IsNullOrWhiteSpace(ConvertContractEnd)) - { - if (ConvertMonth == "0" && ConvertYear == "0") - { - today = today.AddMonths(1); - faToday2 = today.ToFarsi(); - } - else - { - - faToday2 = $"{ConvertYear}/{ConvertMonth}/01"; - } - syear2 = Convert.ToInt32(faToday2.Substring(0, 4)); - smonth2 = Convert.ToInt32(faToday2.Substring(5, 2)); - var PersianStartMonth2 = new PersianDateTime(syear2, smonth2, 01); - - GrogorianThisMonthStart2 = PersianStartMonth2.ToGregorianDateTime(); - - - - CStart = GrogorianThisMonthStart2.ToFarsi(); - CEnd = CStart.FindeEndOfMonth(); - } - else - { - CStart = ConvertContractStart; - CEnd = ConvertContractEnd; - } - - - - - - - - var step3 = _workingHoursItemsApplication.GetWorkingHoursItems(); - - - var op = new OperationResult(); - var contList = new List(); - var ContractIdList = ContractsId; - ContractIdList = ContractIdList.Where(x => x != 0).ToList(); - if (ContractIdList.Count > 0) - { - - foreach (var item in ContractIdList) - { - var step1 = _contractApplication.GetDetails(item); - var step2 = _workingHoursApplication.GetByContractId(item); - - var step4 = step3.Where(x => x.WorkingHoursId == step2.Id).ToList(); - var RestTime = step4.Where(x => x.DayOfWork == "0").Select(x => x.RestTime).SingleOrDefault(); - var RestTimeYekshanbeh = - step4.Where(x => x.DayOfWork == "1").Select(x => x.RestTime).SingleOrDefault(); - var RestTimeDoshanbeh = - step4.Where(x => x.DayOfWork == "2").Select(x => x.RestTime).SingleOrDefault(); - var RestTimeSeshanbeh = - step4.Where(x => x.DayOfWork == "3").Select(x => x.RestTime).SingleOrDefault(); - var RestTimeCheharshanbeh = - step4.Where(x => x.DayOfWork == "4").Select(x => x.RestTime).SingleOrDefault(); - var RestTimePanjshanbeh = - step4.Where(x => x.DayOfWork == "5").Select(x => x.RestTime).SingleOrDefault(); - var RestTimeJomeh = step4.Where(x => x.DayOfWork == "6").Select(x => x.RestTime).SingleOrDefault(); - - var SingleShift1 = step4.Where(x => x.DayOfWork == "0").Select(x => x.Start1).SingleOrDefault(); - var SingleShift2 = step4.Where(x => x.DayOfWork == "0").Select(x => x.End1).SingleOrDefault(); - var SingleShift1Yekshanbeh = - step4.Where(x => x.DayOfWork == "1").Select(x => x.Start1).SingleOrDefault(); - var SingleShift2Yekshanbeh = step4.Where(x => x.DayOfWork == "1").Select(x => x.End1).SingleOrDefault(); - var SingleShift1Doshanbeh = - step4.Where(x => x.DayOfWork == "2").Select(x => x.Start1).SingleOrDefault(); - var SingleShift2Doshanbeh = step4.Where(x => x.DayOfWork == "2").Select(x => x.End1).SingleOrDefault(); - var SingleShift1Seshanbeh = - step4.Where(x => x.DayOfWork == "3").Select(x => x.Start1).SingleOrDefault(); - var SingleShift2Seshanbeh = step4.Where(x => x.DayOfWork == "3").Select(x => x.End1).SingleOrDefault(); - var SingleShift1Cheharshanbeh = - step4.Where(x => x.DayOfWork == "4").Select(x => x.Start1).SingleOrDefault(); - var SingleShift2Cheharshanbeh = - step4.Where(x => x.DayOfWork == "4").Select(x => x.End1).SingleOrDefault(); - var SingleShift1Panjshanbeh = - step4.Where(x => x.DayOfWork == "5").Select(x => x.Start1).SingleOrDefault(); - var SingleShift2Panjshanbeh = - step4.Where(x => x.DayOfWork == "5").Select(x => x.End1).SingleOrDefault(); - var SingleShift1Jomeh = step4.Where(x => x.DayOfWork == "6").Select(x => x.Start1).SingleOrDefault(); - var SingleShift2Jomeh = step4.Where(x => x.DayOfWork == "6").Select(x => x.End1).SingleOrDefault(); - - - var TowShifts1 = step4.Where(x => x.DayOfWork == "0").Select(x => x.Start2).SingleOrDefault(); - var TowShifts2 = step4.Where(x => x.DayOfWork == "0").Select(x => x.End2).SingleOrDefault(); - var TowShifts1Yekshanbeh = step4.Where(x => x.DayOfWork == "1").Select(x => x.Start2).SingleOrDefault(); - var TowShifts2Yekshanbeh = step4.Where(x => x.DayOfWork == "1").Select(x => x.End2).SingleOrDefault(); - var TowShifts1Doshanbeh = step4.Where(x => x.DayOfWork == "2").Select(x => x.Start2).SingleOrDefault(); - var TowShifts2Doshanbeh = step4.Where(x => x.DayOfWork == "2").Select(x => x.End2).SingleOrDefault(); - var TowShifts1Seshanbeh = step4.Where(x => x.DayOfWork == "3").Select(x => x.Start2).SingleOrDefault(); - var TowShifts2Seshanbeh = step4.Where(x => x.DayOfWork == "3").Select(x => x.End2).SingleOrDefault(); - var TowShifts1Cheharshanbeh = - step4.Where(x => x.DayOfWork == "4").Select(x => x.Start1).SingleOrDefault(); - var TowShifts2Cheharshanbeh = - step4.Where(x => x.DayOfWork == "4").Select(x => x.End2).SingleOrDefault(); - var TowShifts1Panjshanbeh = - step4.Where(x => x.DayOfWork == "5").Select(x => x.Start2).SingleOrDefault(); - var TowShifts2Panjshanbeh = step4.Where(x => x.DayOfWork == "5").Select(x => x.End2).SingleOrDefault(); - var TowShifts1Jomeh = step4.Where(x => x.DayOfWork == "6").Select(x => x.Start2).SingleOrDefault(); - var TowShifts2Jomeh = step4.Where(x => x.DayOfWork == "6").Select(x => x.End2).SingleOrDefault(); - - var Start1224 = step4.Where(x => x.DayOfWork == "7").Select(x => x.ComplexStart).SingleOrDefault(); - var End1224 = step4.Where(x => x.DayOfWork == "7").Select(x => x.ComplexEnd).SingleOrDefault(); - var Start1236 = step4.Where(x => x.DayOfWork == "7").Select(x => x.ComplexStart).SingleOrDefault(); - var End1236 = step4.Where(x => x.DayOfWork == "7").Select(x => x.ComplexEnd).SingleOrDefault(); - var Start2424 = step4.Where(x => x.DayOfWork == "7").Select(x => x.ComplexStart).SingleOrDefault(); - var End2424 = step4.Where(x => x.DayOfWork == "7").Select(x => x.ComplexEnd).SingleOrDefault(); - var Start2448 = step4.Where(x => x.DayOfWork == "7").Select(x => x.ComplexStart).SingleOrDefault(); - var End2448 = step4.Where(x => x.DayOfWork == "7").Select(x => x.ComplexEnd).SingleOrDefault(); - - var computing = new CreateContract - { - ShiftWork = step2.ShiftWork, - RestTime = RestTime, - RestTimeYekshanbeh = RestTimeYekshanbeh, - RestTimeDoshanbeh = RestTimeDoshanbeh, - RestTimeSeshanbeh = RestTimeSeshanbeh, - RestTimeCheharshanbeh = RestTimeCheharshanbeh, - RestTimePanjshanbeh = RestTimePanjshanbeh, - RestTimeJomeh = RestTimeJomeh, - - SingleShift1 = SingleShift1, - SingleShift2 = SingleShift2, - SingleShift1Yekshanbeh = SingleShift1Yekshanbeh, - SingleShift2Yekshanbeh = SingleShift2Yekshanbeh, - SingleShift1Doshanbeh = SingleShift1Doshanbeh, - SingleShift2Doshanbeh = SingleShift2Doshanbeh, - SingleShift1Seshanbeh = SingleShift1Seshanbeh, - SingleShift2Seshanbeh = SingleShift2Seshanbeh, - SingleShift1Cheharshanbeh = SingleShift1Cheharshanbeh, - SingleShift2Cheharshanbeh = SingleShift2Cheharshanbeh, - SingleShift1Panjshanbeh = SingleShift1Panjshanbeh, - SingleShift2Panjshanbeh = SingleShift2Panjshanbeh, - SingleShift1Jomeh = SingleShift1Jomeh, - SingleShift2Jomeh = SingleShift2Jomeh, - - - TowShifts1 = TowShifts1, - TowShifts2 = TowShifts2, - TowShifts1Yekshanbeh = TowShifts1Yekshanbeh, - TowShifts2Yekshanbeh = TowShifts2Yekshanbeh, - TowShifts1Doshanbeh = TowShifts1Doshanbeh, - TowShifts2Doshanbeh = TowShifts2Doshanbeh, - TowShifts1Seshanbeh = TowShifts1Seshanbeh, - TowShifts2Seshanbeh = TowShifts2Seshanbeh, - TowShifts1Cheharshanbeh = TowShifts1Cheharshanbeh, - TowShifts2Cheharshanbeh = TowShifts2Cheharshanbeh, - TowShifts1Panjshanbeh = TowShifts1Panjshanbeh, - TowShifts2Panjshanbeh = TowShifts2Panjshanbeh, - TowShifts1Jomeh = TowShifts1Jomeh, - TowShifts2Jomeh = TowShifts2Jomeh, - - Start1224 = Start1224, - End1224 = End1224, - Start1236 = Start1236, - End1236 = End1236, - Start2424 = Start2424, - End2424 = End2424, - Start2448 = Start2448, - End2448 = End2448, - EmployeeId = step1.EmployeeId, - ContarctStart = CStart, - ContractEnd = CEnd, - GetWorkDateHide = step1.GetWorkDate, - - }; - var step5 = _contractApplication.MandatoryHours(computing); - string workingDays = string.Empty; - if (step5.NumberOfWorkingDays == "0") - { - - workingDays = step5.ComplexNumberOfWorkingDays; - } - else - { - workingDays = step5.NumberOfWorkingDays; - } - - - var createNew = new CreateContract - { - EmployeeId = step1.EmployeeId, - EmployerId = step1.EmployerId, - WorkshopIds = step1.WorkshopIds, - GetWorkDate = step1.GetWorkDate, - SetContractDate = CStart, - ArchiveCode = step1.ArchiveCode, - ContarctStart = CStart, - ContractEnd = CEnd, - YearlySalaryId = step1.YearlySalaryId, - ConsumableItems = step5.ConsumableItems, - HousingAllowance = step5.HousingAllowance, - DayliWage = step5.SalaryCompute, - FamilyAllowance = step5.FamilyAllowance, - WeeklyWorkingTime = step5.SumTime44, - WorkingHoursWeekly = step5.SumTime44, - JobType = step1.JobType, - JobTypeId = step1.JobTypeId, - ContractType = step1.ContractType, - WorkshopAddress1 = step1.WorkshopAddress1, - WorkshopAddress2 = step1.WorkshopAddress2, - AgreementSalary = step1.AgreementSalary, - ContractPeriod = step1.ContractPeriod, - - ShiftWork = step2.ShiftWork, - RestTime = RestTime, - RestTimeYekshanbeh = RestTimeYekshanbeh, - RestTimeDoshanbeh = RestTimeDoshanbeh, - RestTimeSeshanbeh = RestTimeSeshanbeh, - RestTimeCheharshanbeh = RestTimeCheharshanbeh, - RestTimePanjshanbeh = RestTimePanjshanbeh, - RestTimeJomeh = RestTimeJomeh, - - SingleShift1 = SingleShift1, - SingleShift2 = SingleShift2, - SingleShift1Yekshanbeh = SingleShift1Yekshanbeh, - SingleShift2Yekshanbeh = SingleShift2Yekshanbeh, - SingleShift1Doshanbeh = SingleShift1Doshanbeh, - SingleShift2Doshanbeh = SingleShift2Doshanbeh, - SingleShift1Seshanbeh = SingleShift1Seshanbeh, - SingleShift2Seshanbeh = SingleShift2Seshanbeh, - SingleShift1Cheharshanbeh = SingleShift1Cheharshanbeh, - SingleShift2Cheharshanbeh = SingleShift2Cheharshanbeh, - SingleShift1Panjshanbeh = SingleShift1Panjshanbeh, - SingleShift2Panjshanbeh = SingleShift2Panjshanbeh, - SingleShift1Jomeh = SingleShift1Jomeh, - SingleShift2Jomeh = SingleShift2Jomeh, - - - TowShifts1 = TowShifts1, - TowShifts2 = TowShifts2, - TowShifts1Yekshanbeh = TowShifts1Yekshanbeh, - TowShifts2Yekshanbeh = TowShifts2Yekshanbeh, - TowShifts1Doshanbeh = TowShifts1Doshanbeh, - TowShifts2Doshanbeh = TowShifts2Doshanbeh, - TowShifts1Seshanbeh = TowShifts1Seshanbeh, - TowShifts2Seshanbeh = TowShifts2Seshanbeh, - TowShifts1Cheharshanbeh = TowShifts1Cheharshanbeh, - TowShifts2Cheharshanbeh = TowShifts2Cheharshanbeh, - TowShifts1Panjshanbeh = TowShifts1Panjshanbeh, - TowShifts2Panjshanbeh = TowShifts2Panjshanbeh, - TowShifts1Jomeh = TowShifts1Jomeh, - TowShifts2Jomeh = TowShifts2Jomeh, - - Start1224 = Start1224, - End1224 = End1224, - Start1236 = Start1236, - End1236 = End1236, - Start2424 = Start2424, - End2424 = End2424, - Start2448 = Start2448, - End2448 = End2448, - - NumberOfWorkingDays = workingDays, - NumberOfFriday = step5.NumberOfFriday, - TotalHoursesH = step5.TotalHoursesH == "0" ? "" : step5.TotalHoursesH, - TotalHoursesM = step5.TotalHoursesM == "0" ? "" : step5.TotalHoursesM, - OverTimeWorkH = step5.OverTimeWorkH == "0" ? "" : step5.OverTimeWorkH, - OverTimeWorkM = step5.OverTimeWorkM == "0" ? "" : step5.OverTimeWorkM, - OverNightWorkH = step5.OverNightWorkH == "0" ? "" : step5.OverNightWorkH, - OverNightWorkM = step5.OverNightWorkM == "0" ? "" : step5.OverNightWorkM, - - - }; - var resss = _contractApplication.Create(createNew); - - } - - - var res = op.Succcedded(); - return new JsonResult(res); - } - else - { - op = op.Failed("هیچ قراردادی برای تمدید انتخاب نشده است"); - - return new JsonResult(op); - - } - - - - } - - public IActionResult OnPostCheck(ExtensionViewModel command) - { - var a = command.ConvertYear; - var b = command.ConvertMonth; - - - var op = new OperationResult(); - if (command.ContractsId == null) - { - op = op.Failed("هیچ قراردادی برای تمدید انتخاب نشده است"); - - return new JsonResult(op); - } - else - { - op = op.Succcedded(); - return new JsonResult(op); - } - - - - } - - public IActionResult OnGetComputing() - { - - return Partial("./Create"); - } - - public IActionResult OnPostComputing(CreateContract command) - { - - var result = _contractApplication.MandatoryHours(command); - - - - return new JsonResult(result); - } - - - public IActionResult OnGetEdit(long id) - { - var res = _contractApplication.GetDetails(id); - var workshoplist = new List(); - var wrk = _workshopApplication.GetDetails(res.WorkshopIds); - var workshop = new WorkshopViewModel() - { - Id = wrk.Id, - WorkshopName = wrk.WorkshopName, - ArchiveCode = wrk.ArchiveCode, - }; - workshoplist.Add(workshop); - - var employeeLists = new List(); - var employees = _employeeApplication.GetDetails(res.EmployeeId); - var emp = new EmployeeViewModel() - { - Id = employees.Id, - EmployeeFullName = employees.FName + " " + employees.LName, - }; - employeeLists.Add(emp); - - var workingHours = _workingHoursApplication.GetByContractId(id); - res.ShiftWork = workingHours.ShiftWork; - - switch (workingHours.ShiftWork) - { - case "1": - var checkShanbeh = workingHours.WorkingHoursItemsList - .Any(x => x.DayOfWork == "0"); - if (checkShanbeh) - { - var item = workingHours.WorkingHoursItemsList.FirstOrDefault(x => x.DayOfWork == "0"); - res.shanbeh = true; - res.SingleShift1 = item.Start1; - res.SingleShift2 = item.End1; - res.RestTime = item.RestTime; - } - var check1Shanbeh = workingHours.WorkingHoursItemsList - .Any(x => x.DayOfWork == "1"); - if (check1Shanbeh) - { - var item = workingHours.WorkingHoursItemsList.FirstOrDefault(x => x.DayOfWork == "1"); - res.yekshanbeh = true; - res.SingleShift1Yekshanbeh = item.Start1; - res.SingleShift2Yekshanbeh = item.End1; - res.RestTimeYekshanbeh = item.RestTime; - } - var check2Shanbeh = workingHours.WorkingHoursItemsList - .Any(x => x.DayOfWork == "2"); - if (check2Shanbeh) - { - var item = workingHours.WorkingHoursItemsList.FirstOrDefault(x => x.DayOfWork == "2"); - res.doshanbeh = true; - res.SingleShift1Doshanbeh = item.Start1; - res.SingleShift2Doshanbeh = item.End1; - res.RestTimeDoshanbeh = item.RestTime; - } - var check3Shanbeh = workingHours.WorkingHoursItemsList - .Any(x => x.DayOfWork == "3"); - if (check3Shanbeh) - { - var item = workingHours.WorkingHoursItemsList.FirstOrDefault(x => x.DayOfWork == "3"); - res.seshanbeh = true; - res.SingleShift1Seshanbeh = item.Start1; - res.SingleShift2Seshanbeh = item.End1; - res.RestTimeSeshanbeh = item.RestTime; - } - var check4Shanbeh = workingHours.WorkingHoursItemsList - .Any(x => x.DayOfWork == "4"); - if (check4Shanbeh) - { - var item = workingHours.WorkingHoursItemsList.FirstOrDefault(x => x.DayOfWork == "4"); - res.cheharshanbeh = true; - res.SingleShift1Cheharshanbeh = item.Start1; - res.SingleShift2Cheharshanbeh = item.End1; - res.RestTimeCheharshanbeh = item.RestTime; - } - var check5Shanbeh = workingHours.WorkingHoursItemsList - .Any(x => x.DayOfWork == "5"); - if (check5Shanbeh) - { - var item = workingHours.WorkingHoursItemsList.FirstOrDefault(x => x.DayOfWork == "5"); - res.pangshanbeh = true; - res.SingleShift1Panjshanbeh = item.Start1; - res.SingleShift2Panjshanbeh = item.End1; - res.RestTimePanjshanbeh = item.RestTime; - } - var jomeh = workingHours.WorkingHoursItemsList - .Any(x => x.DayOfWork == "6"); - if (jomeh) - { - var item = workingHours.WorkingHoursItemsList.FirstOrDefault(x => x.DayOfWork == "6"); - res.jomeh = true; - res.SingleShift1Jomeh = item.Start1; - res.SingleShift2Jomeh = item.End1; - res.RestTimeJomeh = item.RestTime; - } - break; - - case "2": - var checkShanbeh2 = workingHours.WorkingHoursItemsList - .Any(x => x.DayOfWork == "0"); - if (checkShanbeh2) - { - var item = workingHours.WorkingHoursItemsList.FirstOrDefault(x => x.DayOfWork == "0"); - res.shanbeh = true; - res.SingleShift1 = item.Start1; - res.SingleShift2 = item.End1; - res.TowShifts1 = item.Start2; - res.TowShifts2 = item.End2; - } - var check1Shanbeh2 = workingHours.WorkingHoursItemsList - .Any(x => x.DayOfWork == "1"); - if (check1Shanbeh2) - { - var item = workingHours.WorkingHoursItemsList.FirstOrDefault(x => x.DayOfWork == "1"); - res.yekshanbeh = true; - res.SingleShift1Yekshanbeh = item.Start1; - res.SingleShift2Yekshanbeh = item.End1; - res.TowShifts1Yekshanbeh = item.Start2; - res.TowShifts2Yekshanbeh = item.End2; - } - var check2Shanbeh2 = workingHours.WorkingHoursItemsList - .Any(x => x.DayOfWork == "2"); - if (check2Shanbeh2) - { - var item = workingHours.WorkingHoursItemsList.FirstOrDefault(x => x.DayOfWork == "2"); - res.doshanbeh = true; - res.SingleShift1Doshanbeh = item.Start1; - res.SingleShift2Doshanbeh = item.End1; - res.TowShifts1Doshanbeh = item.Start2; - res.TowShifts2Doshanbeh = item.End2; - } - var check3Shanbeh2 = workingHours.WorkingHoursItemsList - .Any(x => x.DayOfWork == "3"); - if (check3Shanbeh2) - { - var item = workingHours.WorkingHoursItemsList.FirstOrDefault(x => x.DayOfWork == "3"); - res.seshanbeh = true; - res.SingleShift1Seshanbeh = item.Start1; - res.SingleShift2Seshanbeh = item.End1; - res.TowShifts1Seshanbeh = item.Start2; - res.TowShifts2Seshanbeh = item.End2; - } - var check4Shanbeh2 = workingHours.WorkingHoursItemsList - .Any(x => x.DayOfWork == "4"); - if (check4Shanbeh2) - { - var item = workingHours.WorkingHoursItemsList.FirstOrDefault(x => x.DayOfWork == "4"); - res.cheharshanbeh = true; - res.SingleShift1Cheharshanbeh = item.Start1; - res.SingleShift2Cheharshanbeh = item.End1; - res.TowShifts1Cheharshanbeh = item.Start2; - res.TowShifts2Cheharshanbeh = item.End2; - } - var check5Shanbeh2 = workingHours.WorkingHoursItemsList - .Any(x => x.DayOfWork == "5"); - if (check5Shanbeh2) - { - var item = workingHours.WorkingHoursItemsList.FirstOrDefault(x => x.DayOfWork == "5"); - res.pangshanbeh = true; - res.SingleShift1Panjshanbeh = item.Start1; - res.SingleShift2Panjshanbeh = item.End1; - res.TowShifts1Panjshanbeh = item.Start2; - res.TowShifts2Panjshanbeh = item.End2; - } - var jomeh2 = workingHours.WorkingHoursItemsList - .Any(x => x.DayOfWork == "6"); - if (jomeh2) - { - var item = workingHours.WorkingHoursItemsList.FirstOrDefault(x => x.DayOfWork == "6"); - res.jomeh = true; - res.SingleShift1Jomeh = item.Start1; - res.SingleShift2Jomeh = item.End1; - res.TowShifts1Jomeh = item.Start2; - res.TowShifts2Jomeh = item.End2; - } - break; - - case "3": - var checkShanbeh3 = workingHours.WorkingHoursItemsList - .Any(x => x.DayOfWork == "0"); - if (checkShanbeh3) - { - var item = workingHours.WorkingHoursItemsList.FirstOrDefault(x => x.DayOfWork == "0"); - res.shanbeh = true; - res.SingleShift1 = item.Start1; - res.SingleShift2 = item.End1; - res.TowShifts1 = item.Start2; - res.TowShifts2 = item.End2; - res.ThreeShift1 = item.Start3; - res.ThreeShift2 = item.End3; - } - var check1Shanbeh3 = workingHours.WorkingHoursItemsList - .Any(x => x.DayOfWork == "1"); - if (check1Shanbeh3) - { - var item = workingHours.WorkingHoursItemsList.FirstOrDefault(x => x.DayOfWork == "1"); - res.yekshanbeh = true; - res.SingleShift1Yekshanbeh = item.Start1; - res.SingleShift2Yekshanbeh = item.End1; - res.TowShifts1Yekshanbeh = item.Start2; - res.TowShifts2Yekshanbeh = item.End2; - res.ThreeShift1Yekshanbeh = item.Start3; - res.ThreeShift2Yekshanbeh = item.End3; - } - var check2Shanbeh3 = workingHours.WorkingHoursItemsList - .Any(x => x.DayOfWork == "2"); - if (check2Shanbeh3) - { - var item = workingHours.WorkingHoursItemsList.FirstOrDefault(x => x.DayOfWork == "2"); - res.doshanbeh = true; - res.SingleShift1Doshanbeh = item.Start1; - res.SingleShift2Doshanbeh = item.End1; - res.TowShifts1Doshanbeh = item.Start2; - res.TowShifts2Doshanbeh = item.End2; - res.ThreeShift1Doshanbeh = item.Start3; - res.ThreeShift2Doshanbeh = item.End3; - } - var check3Shanbeh3 = workingHours.WorkingHoursItemsList - .Any(x => x.DayOfWork == "3"); - if (check3Shanbeh3) - { - var item = workingHours.WorkingHoursItemsList.FirstOrDefault(x => x.DayOfWork == "3"); - res.seshanbeh = true; - res.SingleShift1Seshanbeh = item.Start1; - res.SingleShift2Seshanbeh = item.End1; - res.TowShifts1Seshanbeh = item.Start2; - res.TowShifts2Seshanbeh = item.End2; - res.ThreeShift1Seshanbeh = item.Start3; - res.ThreeShift2Seshanbeh = item.End3; - } - var check4Shanbeh3 = workingHours.WorkingHoursItemsList - .Any(x => x.DayOfWork == "4"); - if (check4Shanbeh3) - { - var item = workingHours.WorkingHoursItemsList.FirstOrDefault(x => x.DayOfWork == "4"); - res.cheharshanbeh = true; - res.SingleShift1Cheharshanbeh = item.Start1; - res.SingleShift2Cheharshanbeh = item.End1; - res.TowShifts1Cheharshanbeh = item.Start2; - res.TowShifts2Cheharshanbeh = item.End2; - res.ThreeShift1Cheharshanbeh = item.Start3; - res.ThreeShift2Cheharshanbeh = item.End3; - } - var check5Shanbeh3 = workingHours.WorkingHoursItemsList - .Any(x => x.DayOfWork == "5"); - if (check5Shanbeh3) - { - var item = workingHours.WorkingHoursItemsList.FirstOrDefault(x => x.DayOfWork == "5"); - res.pangshanbeh = true; - res.SingleShift1Panjshanbeh = item.Start1; - res.SingleShift2Panjshanbeh = item.End1; - res.TowShifts1Panjshanbeh = item.Start2; - res.TowShifts2Panjshanbeh = item.End2; - res.ThreeShift1Panjshanbeh = item.Start3; - res.ThreeShift2Panjshanbeh = item.End3; - } - var jomeh3 = workingHours.WorkingHoursItemsList - .Any(x => x.DayOfWork == "6"); - if (jomeh3) - { - var item = workingHours.WorkingHoursItemsList.FirstOrDefault(x => x.DayOfWork == "6"); - res.jomeh = true; - res.SingleShift1Jomeh = item.Start1; - res.SingleShift2Jomeh = item.End1; - res.TowShifts1Jomeh = item.Start2; - res.TowShifts2Jomeh = item.End2; - res.ThreeShift1Jomeh = item.Start3; - res.ThreeShift2Jomeh = item.End3; - } - break; - - case "4": - break; - - case "5"://12-24 - var check1224 = workingHours.WorkingHoursItemsList - .Any(x => x.DayOfWork == "7"); - if (check1224) - { - var item = workingHours.WorkingHoursItemsList.FirstOrDefault(x => x.DayOfWork == "7"); - - res.Start1224 = item.ComplexStart; - res.End1224 = item.ComplexEnd; - - } - break; - - case "6"://24-24 - var check2424 = workingHours.WorkingHoursItemsList - .Any(x => x.DayOfWork == "7"); - if (check2424) - { - var item = workingHours.WorkingHoursItemsList.FirstOrDefault(x => x.DayOfWork == "7"); - - res.Start2424 = item.ComplexStart; - res.End2424 = item.ComplexEnd; - - } - break; - - case "7"://12-36 - var check1236 = workingHours.WorkingHoursItemsList - .Any(x => x.DayOfWork == "7"); - if (check1236) - { - var item = workingHours.WorkingHoursItemsList.FirstOrDefault(x => x.DayOfWork == "7"); - - res.Start1236 = item.ComplexStart; - res.End1236 = item.ComplexEnd; - - } - break; - - case "8"://24-48 - var check2448 = workingHours.WorkingHoursItemsList - .Any(x => x.DayOfWork == "7"); - if (check2448) - { - var item = workingHours.WorkingHoursItemsList.FirstOrDefault(x => x.DayOfWork == "7"); - - res.Start2448 = item.ComplexStart; - res.End2448 = item.ComplexEnd; - - } - break; - } - //res.WorkshopEmployerList = _contractRepository.GetWorkshopEmployer(); - //res.EmployeeSelectList = new SelectList(_employeeApplication.GetEmployee(), "Id", "EmployeeFullName"); - //res.Employees = _employeeApplication.GetEmployee(); - //res.Workshops = _workshopApplication.GetWorkshopAccount(); - //res.YearlySalaries = _yearlySalaryApplication.GetYearlySalary(); - //res.Employers = _employerApplication.GetEmployers(); - - res.ConsumableItems = ""; - res.AgreementSalary = ""; - res.FamilyAllowance = ""; - res.WorkshopNameSelectList = - new SelectList(workshoplist, "Id", "WorkshopFullName"); - res.WorkshopCodeSelectList = new SelectList(workshoplist, "Id", "ArchiveCode"); - res.EmployeeSelectList = new SelectList(employeeLists, "Id", "EmployeeFullName"); - return Partial("./Edit", res); - } - - - - public JsonResult OnPostEdit(EditContract command) - { - - if (ModelState.IsValid) - { - - } - - - var result = _contractApplication.Edit(command); - return new JsonResult(result); - - - - - - - - } - - - - public IActionResult OnGetDetails(long id) - { - - var res = _contractApplication.GetDetails(id); - //res.WorkshopEmployerList = _contractRepository.GetWorkshopEmployer(); - //res.Employers = _employerApplication.GetEmployers(); - //res.Employees = _employeeApplication.GetEmployee(); - //res.Workshops = _workshopApplication.GetWorkshop(); - return Partial("Details", res); - } - - - public IActionResult OnGetPrintOne(long id) - { - var res = _checkoutApplication.PrintOne(id); - - //var res = _contractApplication.PrintAll(ids); - - return Partial("Details", res); - } - - public IActionResult OnGetPrintLeave(long id) - { - var res = _checkoutApplication.LeavePrint(id); - return Partial("PrintLeave", res); - } - - public IActionResult OnGetDeActive(long id) - { - - - var result = _checkoutApplication.DeActive(id); - - if (result.IsSuccedded) - return RedirectToPage("./Index"); - Message = result.Message; - return RedirectToPage("./Index"); - } - - public IActionResult OnGetIsActive(long id) - { - - - var result = _checkoutApplication.Active(id); - if (result.IsSuccedded) - return RedirectToPage("./Index"); - Message = result.Message; - return RedirectToPage("./Index"); - } - - public IActionResult OnGetSign(string Id) - { - - var id = Convert.ToInt64(Id); - var result = _checkoutApplication.Sign(id); - if (result.IsSuccedded) - { - return new JsonResult(new - { - IsSuccedded = true, - id = id, - }); - } - else - { - return new JsonResult(new - { - IsSuccedded = false, - id = id, - }); - } - } - public IActionResult OnGetUnSign(string Id) - { - var id = Convert.ToInt64(Id); - var permissions = _authHelper.GetPermissions(); - var checkHasPermission = permissions.Any(n => n.Equals(20222)); - if (checkHasPermission) - { - - var result = _checkoutApplication.UnSign(id); - if (result.IsSuccedded) - { - return new JsonResult(new - { - IsSuccedded = true, - id = id, - }); - } - else - { - return new JsonResult(new - { - IsSuccedded = false, - id = id, - }); - } - } - else - { - return new JsonResult(new - { - IsSuccedded = false, - id = id, - }); - } - - } - - public IActionResult OnGetGroupDeActive(List ids) - { - - foreach (var item in ids) - { - var result = _checkoutApplication.DeActive(item); - } - return RedirectToPage("./Index"); - - } - - - public IActionResult OnGetGroupReActive(List ids) - { - - foreach (var item in ids) - { - var result = _checkoutApplication.Active(item); - } - - - //if (result.IsSuccedded) - // return RedirectToPage("./Index"); - - return RedirectToPage("./Index"); - } - - - public IActionResult OnGetGroupSign(List ids) - { - - foreach (var item in ids) - { - var result = _checkoutApplication.Sign(item); - } - return RedirectToPage("./Index"); - - } - public IActionResult OnGetGroupUnSign(List ids) - { - - foreach (var item in ids) - { - var result = _checkoutApplication.UnSign(item); - } - return RedirectToPage("./Index"); - - } - - public IActionResult OnGetRemoveOneCheckout(long id) - { - var result = _checkoutApplication.RemoveCheckout(id); - return RedirectToPage("./Index"); - //if (result.IsSuccedded) - //{ - // return new JsonResult(new - // { - // IsSuccedded = true, - // message = $"تصفیه حساب انتخاب شده حذف شد", - - // }); - //} - //else - //{ - // return new JsonResult(new - // { - // IsSuccedded = false, - // message = $"خطایی رخ داده است", - - // }); - //} - - } - public IActionResult OnGetMultiRemoveCheckout(List ids) - { - - foreach (var item in ids) - { - var result = _checkoutApplication.RemoveCheckout(item); - } - return RedirectToPage("./Index"); - - - } - - public IActionResult OnGetCustomSet(long id) - { - var checkout = _checkoutApplication.GetDetails(id); - var salaryAidDeduction = checkout.SalaryAidDeduction.ToMoney(); - var rewardPay = checkout.RewardPay.ToMoneyNullable(); - var command = new CheckoutViewModel() - { - Id = id, - RewardPay = rewardPay, - SalaryAidDeduction = salaryAidDeduction, - Year = checkout.Year, - Month = checkout.Month, - EmployeeFullName = checkout.EmployeeFullName, - }; - return Partial("CustomSet", command); - } - public IActionResult OnPostCustomSet(CheckoutViewModel command) - { - var rewardPay = command.RewardPay.MoneyToDouble(); - var salaryAidDeduction = command.SalaryAidDeduction.MoneyToDouble(); - - - var checkout = _checkoutApplication.CustomSet(command.Id, rewardPay, salaryAidDeduction); - - return new JsonResult(checkout); - } - - - - - ///////////////Mandatory Compute////////////////////// - #region MandatoryCompute - - public ComputingViewModel MandatoryHours(CreateWorkingHoursTemp command, long leavId) - { - #region entityes - string Notholiday = String.Empty; - string Holidays = string.Empty; - double dayliFeeComplete = 0; - string SingleShiftResult = String.Empty; - string shift1Hourse = "0"; - string shift1Minuts = "0"; - string shift1HolidayHours = "0"; - string shift1HolidayMinuts = "0"; - string overMandatoryHours = "0"; - string overMandatoryMinuts = "0"; - string shiftOver22Hours = "0"; - string shiftOver22Minuts = "0"; - double ShiftPayResult = 0; - string SumWorkeTime = string.Empty; - var weeklyTime = new TimeSpan(); - int FridayStartToEnd = 0; - var overNight = false; - var overNightTow = false; - var singleOver24 = new TimeSpan(); - var towOver24 = new TimeSpan(); - var panjshanbehOver24 = new TimeSpan(); - var panjshanbehOver24Tow = new TimeSpan(); - var rest = new TimeSpan(); - var Over22 = new TimeSpan(); - - var starTimeSingel1 = new DateTime(); - var endTimeSingel2 = new DateTime(); - var singleShiftOver24 = new DateTime(); - var startTimeTowSh1 = new DateTime(); - var endTimeTowSh2 = new DateTime(); - var nightWork22 = new DateTime(); - var nightWork6 = new DateTime(); - - var rotatingResultList = new List(); - - - singleShiftOver24 = Convert.ToDateTime("00:00"); - nightWork22 = Convert.ToDateTime("22:00"); - nightWork6 = Convert.ToDateTime("06:00"); - - var rest0 = new TimeSpan(); - var rest1 = new TimeSpan(); - var rest2 = new TimeSpan(); - var rest3 = new TimeSpan(); - var rest4 = new TimeSpan(); - var rest5 = new TimeSpan(); - var rest6 = new TimeSpan(); - - var rest0w1 = new TimeSpan(); - var rest1w1 = new TimeSpan(); - var rest2w1 = new TimeSpan(); - var rest3w1 = new TimeSpan(); - var rest4w1 = new TimeSpan(); - var rest5w1 = new TimeSpan(); - var rest6w1 = new TimeSpan(); - - var rest0w2 = new TimeSpan(); - var rest1w2 = new TimeSpan(); - var rest2w2 = new TimeSpan(); - var rest3w2 = new TimeSpan(); - var rest4w2 = new TimeSpan(); - var rest5w2 = new TimeSpan(); - var rest6w2 = new TimeSpan(); - - var rest0w3 = new TimeSpan(); - var rest1w3 = new TimeSpan(); - var rest2w3 = new TimeSpan(); - var rest3w3 = new TimeSpan(); - var rest4w3 = new TimeSpan(); - var rest5w3 = new TimeSpan(); - var rest6w3 = new TimeSpan(); - - var rest0w4 = new TimeSpan(); - var rest1w4 = new TimeSpan(); - var rest2w4 = new TimeSpan(); - var rest3w4 = new TimeSpan(); - var rest4w4 = new TimeSpan(); - var rest5w4 = new TimeSpan(); - var rest6w4 = new TimeSpan(); - - var SumSingle = new TimeSpan(); - var SumTow = new TimeSpan(); - var SumSingleHourses = 0; - var SumTowHourses = 0; - - var sumRest = new TimeSpan(); - var SumComplexDays = 0; - var OfficialHoliday = 0; - - var conStartGr = command.ContarctStart.ToGeorgianDateTime(); - var conEndGr = command.ContractEnd.ToGeorgianDateTime(); - #endregion - - #region SumRestTimesOneShift - - switch (command.ShiftWork) - { - case "1": - case "2": - command.RestTime = command.RestTime == "0" ? "00" : command.RestTime; - command.RestTimeYekshanbeh = command.RestTimeYekshanbeh == "0" ? "00" : command.RestTimeYekshanbeh; - command.RestTimeDoshanbeh = command.RestTimeDoshanbeh == "0" ? "00" : command.RestTimeDoshanbeh; - command.RestTimeSeshanbeh = command.RestTimeSeshanbeh == "0" ? "00" : command.RestTimeSeshanbeh; - command.RestTimeCheharshanbeh = command.RestTimeCheharshanbeh == "0" ? "00" : command.RestTimeCheharshanbeh; - command.RestTimePanjshanbeh = command.RestTimePanjshanbeh == "0" ? "00" : command.RestTimePanjshanbeh; - command.RestTimeJomeh = command.RestTimeJomeh == "0" ? "00" : command.RestTimeJomeh; - command.RestTimeMin = command.RestTimeMin == "0" ? "00" : command.RestTimeMin; - command.RestTimeYekshanbehMin = command.RestTimeYekshanbehMin == "0" ? "00" : command.RestTimeYekshanbehMin; - command.RestTimeDoshanbehMin = command.RestTimeDoshanbehMin == "0" ? "00" : command.RestTimeDoshanbehMin; - command.RestTimeSeshanbehMin = command.RestTimeSeshanbehMin == "0" ? "00" : command.RestTimeSeshanbehMin; - command.RestTimeCheharshanbehMin = command.RestTimeCheharshanbehMin == "0" ? "00" : command.RestTimeCheharshanbehMin; - command.RestTimePanjshanbehMin = command.RestTimePanjshanbehMin == "0" ? "00" : command.RestTimePanjshanbehMin; - command.RestTimeJomehMin = command.RestTimeJomehMin == "0" ? "00" : command.RestTimeJomehMin; - - rest0 = TimeSpan.Parse($"{command.RestTime}:{command.RestTimeMin}"); - sumRest = sumRest.Add(rest0); - rest1 = TimeSpan.Parse($"{command.RestTimeYekshanbeh}:{command.RestTimeYekshanbehMin}"); - sumRest = sumRest.Add(rest1); - rest2 = TimeSpan.Parse($"{command.RestTimeDoshanbeh}:{command.RestTimeDoshanbehMin}"); - sumRest = sumRest.Add(rest2); - rest3 = TimeSpan.Parse($"{command.RestTimeSeshanbeh}:{command.RestTimeSeshanbehMin}"); - sumRest = sumRest.Add(rest3); - rest4 = TimeSpan.Parse($"{command.RestTimeCheharshanbeh}:{command.RestTimeCheharshanbehMin}"); - sumRest = sumRest.Add(rest4); - rest5 = TimeSpan.Parse($"{command.RestTimePanjshanbeh}:{command.RestTimePanjshanbehMin}"); - sumRest = sumRest.Add(rest5); - rest6 = TimeSpan.Parse($"{command.RestTimeJomeh}:{command.RestTimeJomehMin}"); - sumRest = sumRest.Add(rest6); - break; - - case "4": - //week1 - command.RestTimeShanbe1 = command.RestTimeShanbe1 == "0" ? "00" : command.RestTimeShanbe1; - command.RestTimeShanbe1Min = command.RestTimeShanbe1Min == "0" ? "00" : command.RestTimeShanbe1Min; - command.RestTimeYekShanbe1 = command.RestTimeYekShanbe1 == "0" ? "00" : command.RestTimeYekShanbe1; - command.RestTimeYekShanbe1Min = command.RestTimeYekShanbe1Min == "0" ? "00" : command.RestTimeYekShanbe1Min; - command.RestTimeDoShanbe1 = command.RestTimeDoShanbe1 == "0" ? "00" : command.RestTimeDoShanbe1; - command.RestTimeDoShanbe1Min = command.RestTimeDoShanbe1Min == "0" ? "00" : command.RestTimeDoShanbe1Min; - command.RestTimeSeShanbe1 = command.RestTimeSeShanbe1 == "0" ? "00" : command.RestTimeSeShanbe1; - command.RestTimeSeShanbe1Min = command.RestTimeSeShanbe1Min == "0" ? "00" : command.RestTimeSeShanbe1Min; - command.RestTimeCheharShanbe1 = command.RestTimeCheharShanbe1 == "0" ? "00" : command.RestTimeCheharShanbe1; - command.RestTimeCheharShanbe1Min = command.RestTimeCheharShanbe1Min == "0" ? "00" : command.RestTimeCheharShanbe1Min; - command.RestTimePanjShanbe1 = command.RestTimePanjShanbe1 == "0" ? "00" : command.RestTimePanjShanbe1; - command.RestTimePanjShanbe1Min = command.RestTimePanjShanbe1Min == "0" ? "00" : command.RestTimePanjShanbe1Min; - command.RestTimeJome1 = command.RestTimeJome1 == "0" ? "00" : command.RestTimeJome1; - command.RestTimeJome1Min = command.RestTimeJome1Min == "0" ? "00" : command.RestTimeJome1Min; - - //week2 - command.RestTimeShanbe2 = command.RestTimeShanbe2 == "0" ? "00" : command.RestTimeShanbe2; - command.RestTimeShanbe2Min = command.RestTimeShanbe2Min == "0" ? "00" : command.RestTimeShanbe2Min; - command.RestTimeYekShanbe2 = command.RestTimeYekShanbe2 == "0" ? "00" : command.RestTimeYekShanbe2; - command.RestTimeYekShanbe2Min = command.RestTimeYekShanbe2Min == "0" ? "00" : command.RestTimeYekShanbe2Min; - command.RestTimeDoShanbe2 = command.RestTimeDoShanbe2 == "0" ? "00" : command.RestTimeDoShanbe2; - command.RestTimeDoShanbe2Min = command.RestTimeDoShanbe2Min == "0" ? "00" : command.RestTimeDoShanbe2Min; - command.RestTimeSeShanbe2 = command.RestTimeSeShanbe2 == "0" ? "00" : command.RestTimeSeShanbe2; - command.RestTimeSeShanbe2Min = command.RestTimeSeShanbe2Min == "0" ? "00" : command.RestTimeSeShanbe2Min; - command.RestTimeCheharShanbe2 = command.RestTimeCheharShanbe2 == "0" ? "00" : command.RestTimeCheharShanbe2; - command.RestTimeCheharShanbe2Min = command.RestTimeCheharShanbe2Min == "0" ? "00" : command.RestTimeCheharShanbe2Min; - command.RestTimePanjShanbe2 = command.RestTimePanjShanbe2 == "0" ? "00" : command.RestTimePanjShanbe2; - command.RestTimePanjShanbe2Min = command.RestTimePanjShanbe2Min == "0" ? "00" : command.RestTimePanjShanbe2Min; - command.RestTimeJome2 = command.RestTimeJome2 == "0" ? "00" : command.RestTimeJome2; - command.RestTimeJome2Min = command.RestTimeJome2Min == "0" ? "00" : command.RestTimeJome2Min; - - //week3 - command.RestTimeShanbe3 = command.RestTimeShanbe3 == "0" ? "00" : command.RestTimeShanbe3; - command.RestTimeShanbe3Min = command.RestTimeShanbe3Min == "0" ? "00" : command.RestTimeShanbe3Min; - command.RestTimeYekShanbe3 = command.RestTimeYekShanbe3 == "0" ? "00" : command.RestTimeYekShanbe3; - command.RestTimeYekShanbe3Min = command.RestTimeYekShanbe3Min == "0" ? "00" : command.RestTimeYekShanbe3Min; - command.RestTimeDoShanbe3 = command.RestTimeDoShanbe3 == "0" ? "00" : command.RestTimeDoShanbe3; - command.RestTimeDoShanbe3Min = command.RestTimeDoShanbe3Min == "0" ? "00" : command.RestTimeDoShanbe3Min; - command.RestTimeSeShanbe3 = command.RestTimeSeShanbe3 == "0" ? "00" : command.RestTimeSeShanbe3; - command.RestTimeSeShanbe3Min = command.RestTimeSeShanbe3Min == "0" ? "00" : command.RestTimeSeShanbe3Min; - command.RestTimeCheharShanbe3 = command.RestTimeCheharShanbe3 == "0" ? "00" : command.RestTimeCheharShanbe3; - command.RestTimeCheharShanbe3Min = command.RestTimeCheharShanbe3Min == "0" ? "00" : command.RestTimeCheharShanbe3Min; - command.RestTimePanjShanbe3 = command.RestTimePanjShanbe3 == "0" ? "00" : command.RestTimePanjShanbe3; - command.RestTimePanjShanbe3Min = command.RestTimePanjShanbe3Min == "0" ? "00" : command.RestTimePanjShanbe3Min; - command.RestTimeJome3 = command.RestTimeJome3 == "0" ? "00" : command.RestTimeJome3; - command.RestTimeJome3Min = command.RestTimeJome3Min == "0" ? "00" : command.RestTimeJome3Min; - - //week4 - command.RestTimeShanbe4 = command.RestTimeShanbe4 == "0" ? "00" : command.RestTimeShanbe4; - command.RestTimeShanbe4Min = command.RestTimeShanbe4Min == "0" ? "00" : command.RestTimeShanbe4Min; - command.RestTimeYekShanbe4 = command.RestTimeYekShanbe4 == "0" ? "00" : command.RestTimeYekShanbe4; - command.RestTimeYekShanbe4Min = command.RestTimeYekShanbe4Min == "0" ? "00" : command.RestTimeYekShanbe4Min; - command.RestTimeDoShanbe4 = command.RestTimeDoShanbe4 == "0" ? "00" : command.RestTimeDoShanbe4; - command.RestTimeDoShanbe4Min = command.RestTimeDoShanbe4Min == "0" ? "00" : command.RestTimeDoShanbe4Min; - command.RestTimeSeShanbe4 = command.RestTimeSeShanbe4 == "0" ? "00" : command.RestTimeSeShanbe4; - command.RestTimeSeShanbe4Min = command.RestTimeSeShanbe4Min == "0" ? "00" : command.RestTimeSeShanbe4Min; - command.RestTimeCheharShanbe4 = command.RestTimeCheharShanbe4 == "0" ? "00" : command.RestTimeCheharShanbe4; - command.RestTimeCheharShanbe4Min = command.RestTimeCheharShanbe4Min == "0" ? "00" : command.RestTimeCheharShanbe4Min; - command.RestTimePanjShanbe4 = command.RestTimePanjShanbe4 == "0" ? "00" : command.RestTimePanjShanbe4; - command.RestTimePanjShanbe4Min = command.RestTimePanjShanbe4Min == "0" ? "00" : command.RestTimePanjShanbe4Min; - command.RestTimeJome4 = command.RestTimeJome4 == "0" ? "00" : command.RestTimeJome4; - command.RestTimeJome4Min = command.RestTimeJome4Min == "0" ? "00" : command.RestTimeJome4Min; - - // sumrest week1 - rest0w1 = TimeSpan.Parse($"{command.RestTimeShanbe1}:{command.RestTimeShanbe1Min}"); - rest1w1 = TimeSpan.Parse($"{command.RestTimeYekShanbe1}:{command.RestTimeYekShanbe1Min}"); - rest2w1 = TimeSpan.Parse($"{command.RestTimeDoShanbe1}:{command.RestTimeDoShanbe1Min}"); - rest3w1 = TimeSpan.Parse($"{command.RestTimeSeShanbe1}:{command.RestTimeSeShanbe1Min}"); - rest4w1 = TimeSpan.Parse($"{command.RestTimeCheharShanbe1}:{command.RestTimeCheharShanbe1Min}"); - rest5w1 = TimeSpan.Parse($"{command.RestTimePanjShanbe1}:{command.RestTimePanjShanbe1Min}"); - rest6w1 = TimeSpan.Parse($"{command.RestTimeJome1}:{command.RestTimeJome1Min}"); - - // sumrest week2 - rest0w2 = TimeSpan.Parse($"{command.RestTimeShanbe2}:{command.RestTimeShanbe2Min}"); - rest1w2 = TimeSpan.Parse($"{command.RestTimeYekShanbe2}:{command.RestTimeYekShanbe2Min}"); - rest2w2 = TimeSpan.Parse($"{command.RestTimeDoShanbe2}:{command.RestTimeDoShanbe2Min}"); - rest3w2 = TimeSpan.Parse($"{command.RestTimeSeShanbe2}:{command.RestTimeSeShanbe2Min}"); - rest4w2 = TimeSpan.Parse($"{command.RestTimeCheharShanbe2}:{command.RestTimeCheharShanbe2Min}"); - rest5w2 = TimeSpan.Parse($"{command.RestTimePanjShanbe2}:{command.RestTimePanjShanbe2Min}"); - rest6w2 = TimeSpan.Parse($"{command.RestTimeJome2}:{command.RestTimeJome2Min}"); - - // sumrest week3 - rest0w3 = TimeSpan.Parse($"{command.RestTimeShanbe3}:{command.RestTimeShanbe3Min}"); - rest1w3 = TimeSpan.Parse($"{command.RestTimeYekShanbe3}:{command.RestTimeYekShanbe3Min}"); - rest2w3 = TimeSpan.Parse($"{command.RestTimeDoShanbe3}:{command.RestTimeDoShanbe3Min}"); - rest3w3 = TimeSpan.Parse($"{command.RestTimeSeShanbe3}:{command.RestTimeSeShanbe3Min}"); - rest4w3 = TimeSpan.Parse($"{command.RestTimeCheharShanbe3}:{command.RestTimeCheharShanbe3Min}"); - rest5w3 = TimeSpan.Parse($"{command.RestTimePanjShanbe3}:{command.RestTimePanjShanbe3Min}"); - rest6w3 = TimeSpan.Parse($"{command.RestTimeJome3}:{command.RestTimeJome3Min}"); - - // sumrest week4 - rest0w4 = TimeSpan.Parse($"{command.RestTimeShanbe4}:{command.RestTimeShanbe4Min}"); - rest1w4 = TimeSpan.Parse($"{command.RestTimeYekShanbe4}:{command.RestTimeYekShanbe4Min}"); - rest2w4 = TimeSpan.Parse($"{command.RestTimeDoShanbe4}:{command.RestTimeDoShanbe4Min}"); - rest3w4 = TimeSpan.Parse($"{command.RestTimeSeShanbe4}:{command.RestTimeSeShanbe4Min}"); - rest4w4 = TimeSpan.Parse($"{command.RestTimeCheharShanbe4}:{command.RestTimeCheharShanbe4Min}"); - rest5w4 = TimeSpan.Parse($"{command.RestTimePanjShanbe4}:{command.RestTimePanjShanbe4Min}"); - rest6w4 = TimeSpan.Parse($"{command.RestTimeJome4}:{command.RestTimeJome4Min}"); - break; - - - } - - - - - #endregion - - #region SumSingleAndTowShifts - - var StartShanbehSingle = Convert.ToDateTime(command.SingleShift1); - var EndShanbehSingle = Convert.ToDateTime(command.SingleShift2); - if (StartShanbehSingle > EndShanbehSingle) - EndShanbehSingle = EndShanbehSingle.AddDays(1); - var ShanbehSingle = (EndShanbehSingle - StartShanbehSingle); - SumSingle = SumSingle.Add(ShanbehSingle); - - var StartYekShanbehSingle = Convert.ToDateTime(command.SingleShift1Yekshanbeh); - var EndYekShanbehSingle = Convert.ToDateTime(command.SingleShift2Yekshanbeh); - if (StartYekShanbehSingle > EndYekShanbehSingle) - EndYekShanbehSingle = EndYekShanbehSingle.AddDays(1); - var YekShanbehSingle = (EndYekShanbehSingle - StartYekShanbehSingle); - SumSingle = SumSingle.Add(YekShanbehSingle); - - var StartDoShanbehSingle = Convert.ToDateTime(command.SingleShift1Doshanbeh); - var EndDoShanbehSingle = Convert.ToDateTime(command.SingleShift2Doshanbeh); - if (StartDoShanbehSingle > EndDoShanbehSingle) - EndDoShanbehSingle = EndDoShanbehSingle.AddDays(1); - var DoShanbehSingle = (EndDoShanbehSingle - StartDoShanbehSingle); - SumSingle = SumSingle.Add(DoShanbehSingle); - - - var StartSehShanbehSingle = Convert.ToDateTime(command.SingleShift1Seshanbeh); - var EndSehShanbehSingle = Convert.ToDateTime(command.SingleShift2Seshanbeh); - if (StartSehShanbehSingle > EndSehShanbehSingle) - EndSehShanbehSingle = EndSehShanbehSingle.AddDays(1); - var SeShanbehSingle = (EndSehShanbehSingle - StartSehShanbehSingle); - SumSingle = SumSingle.Add(SeShanbehSingle); - - var StartCheharShanbehSingle = Convert.ToDateTime(command.SingleShift1Cheharshanbeh); - var EndCheharShanbehSingle = Convert.ToDateTime(command.SingleShift2Cheharshanbeh); - if (StartCheharShanbehSingle > EndCheharShanbehSingle) - EndCheharShanbehSingle = EndCheharShanbehSingle.AddDays(1); - var CheharShanbehSingle = (EndCheharShanbehSingle - StartCheharShanbehSingle); - SumSingle = SumSingle.Add(CheharShanbehSingle); - - var StartPanjShanbehSingle = Convert.ToDateTime(command.SingleShift1Panjshanbeh); - var EndPanjShanbehSingle = Convert.ToDateTime(command.SingleShift2Panjshanbeh); - if (StartPanjShanbehSingle > EndPanjShanbehSingle) - EndPanjShanbehSingle = EndPanjShanbehSingle.AddDays(1); - var PanjShanbehSingle = (EndPanjShanbehSingle - StartPanjShanbehSingle); - SumSingle = SumSingle.Add(PanjShanbehSingle); - - var StartJomehSingle = Convert.ToDateTime(command.SingleShift1Jomeh); - var EndjomehSingle = Convert.ToDateTime(command.SingleShift2Jomeh); - if (StartJomehSingle > EndjomehSingle) - EndjomehSingle = EndjomehSingle.AddDays(1); - var JomehSingle = (EndjomehSingle - StartJomehSingle); - SumSingle = SumSingle.Add(JomehSingle); - if (command.ShiftWork == "1") - { - SumSingle = SumSingle.Subtract(sumRest); - } - //SumSingleHourses = (int)SumSingle.TotalHours; - - - var StartShanbehTow = Convert.ToDateTime(command.TowShifts1); - var EndShanbehTow = Convert.ToDateTime(command.TowShifts2); - if (StartShanbehTow > EndShanbehTow) - EndShanbehTow = EndShanbehTow.AddDays(1); - var ShanbehTow = (EndShanbehTow - StartShanbehTow); - SumTow = SumTow.Add(ShanbehTow); - - var StartYekShanbehTow = Convert.ToDateTime(command.TowShifts1Yekshanbeh); - var EndYekShanbehTow = Convert.ToDateTime(command.TowShifts2Yekshanbeh); - if (StartYekShanbehTow > EndYekShanbehTow) - EndYekShanbehTow = EndYekShanbehTow.AddDays(1); - var YekShanbehTow = (EndYekShanbehTow - StartYekShanbehTow); - SumTow = SumTow.Add(YekShanbehTow); - - var StartDoShanbehTow = Convert.ToDateTime(command.TowShifts1Doshanbeh); - var EndDoShanbehTow = Convert.ToDateTime(command.TowShifts2Doshanbeh); - if (StartDoShanbehTow > EndDoShanbehTow) - EndDoShanbehTow = EndDoShanbehTow.AddDays(1); - var DoShanbehTow = (EndDoShanbehTow - StartDoShanbehTow); - SumTow = SumTow.Add(DoShanbehTow); - - - var StartSehShanbehTow = Convert.ToDateTime(command.TowShifts1Seshanbeh); - var EndSehShanbehTow = Convert.ToDateTime(command.TowShifts2Seshanbeh); - if (StartSehShanbehTow > EndSehShanbehTow) - EndSehShanbehTow = EndSehShanbehTow.AddDays(1); - var SeShanbehTow = (EndSehShanbehTow - StartSehShanbehTow); - SumTow = SumTow.Add(SeShanbehTow); - - var StartCheharShanbehTow = Convert.ToDateTime(command.TowShifts1Cheharshanbeh); - var EndCheharShanbehTow = Convert.ToDateTime(command.TowShifts2Cheharshanbeh); - if (StartCheharShanbehTow > EndCheharShanbehTow) - EndCheharShanbehTow = EndCheharShanbehTow.AddDays(1); - var CheharShanbehTow = (EndCheharShanbehTow - StartCheharShanbehTow); - SumTow = SumTow.Add(CheharShanbehTow); - - var StartPanjShanbehTow = Convert.ToDateTime(command.TowShifts1Panjshanbeh); - var EndPanjShanbehTow = Convert.ToDateTime(command.TowShifts2Panjshanbeh); - if (StartPanjShanbehTow > EndPanjShanbehTow) - EndPanjShanbehTow = EndPanjShanbehTow.AddDays(1); - var PanjShanbehTow = (EndPanjShanbehTow - StartPanjShanbehTow); - SumTow = SumTow.Add(PanjShanbehTow); - - var StartJomehTow = Convert.ToDateTime(command.TowShifts1Jomeh); - var EndjomehTow = Convert.ToDateTime(command.TowShifts2Jomeh); - if (StartJomehTow > EndjomehTow) - EndjomehTow = EndjomehTow.AddDays(1); - var jomehTow = (EndjomehTow - StartJomehTow); - SumTow = SumTow.Add(jomehTow); - - //SumTowHourses = (int)SumTow.TotalHours; - - #endregion - - #region ComplexSumWorkTime - - if (command.ShiftWork == "5") - { - SumWorkeTime = "24 - 12"; - } - else if (command.ShiftWork == "6") - { - SumWorkeTime = "24 - 24"; - } - else if (command.ShiftWork == "7") - { - SumWorkeTime = "36 - 12"; - } - else if (command.ShiftWork == "8") - { - SumWorkeTime = "48 - 24"; - } - - - #endregion - - #region OneAndTowShiftsCompute - var dailyFix = TimeSpan.Parse("07:20"); - var notHolidays = new TimeSpan(); - var HolidaysAndNot = new TimeSpan(); - var jomeh = new TimeSpan(); - - var sdate = command.ContarctStart.ToEnglishNumber(); - var edate = command.ContractEnd.ToEnglishNumber(); - var syear = Convert.ToInt32(sdate.Substring(0, 4)); - var smonth = Convert.ToInt32(sdate.Substring(5, 2)); - var sday = Convert.ToInt32(sdate.Substring(8, 2)); - - var eyear = Convert.ToInt32(edate.Substring(0, 4)); - var emonth = Convert.ToInt32(edate.Substring(5, 2)); - var eday = Convert.ToInt32(edate.Substring(8, 2)); - - var d1 = new PersianDateTime(syear, smonth, sday); - var d2 = new PersianDateTime(eyear, emonth, eday); - int i = 0, i1 = 0, i2 = 0, i3 = 0, i4 = 0, i5 = 0, i6 = 0; - var holidayList = _holidayItemRepository.GetHolidayItem(sdate.Substring(0, 4)); - var leavInfo = leavId > 0 ? _leaveApplication.GetDetails(leavId) : null; - #region shiftWork 1&2 - - if (command.ShiftWork == "1" || command.ShiftWork == "2") - { - - for (var da = d1; da <= d2; da.AddDays(1)) - { - var currentDay = da.ToGregorianDateTime(); - - if (da.DayOfWeek == "شنبه" && command.shanbeh == true && leavId == 0) - { - var checkHoliday = _holidayItemRepository.GetHoliday(currentDay); - if (checkHoliday == false) - { - i += 1; - if (command.ShiftWork == "1") - { - starTimeSingel1 = Convert.ToDateTime(command.SingleShift1); - endTimeSingel2 = Convert.ToDateTime(command.SingleShift2); - if (starTimeSingel1 > endTimeSingel2) - { - overNight = true; - endTimeSingel2 = endTimeSingel2.AddDays(1); - } - - var singleSpan1 = (endTimeSingel2 - starTimeSingel1); - - singleSpan1 = singleSpan1.Subtract(rest0); - - notHolidays = notHolidays.Add(singleSpan1); - var Over22Compute = Over22Check(starTimeSingel1, endTimeSingel2); - //Over22Compute = Over22Compute.Subtract(rest); - Over22 = Over22.Add(Over22Compute); - } - else if (command.ShiftWork == "2") - { - starTimeSingel1 = Convert.ToDateTime(command.SingleShift1); - endTimeSingel2 = Convert.ToDateTime(command.SingleShift2); - startTimeTowSh1 = Convert.ToDateTime(command.TowShifts1); - endTimeTowSh2 = Convert.ToDateTime(command.TowShifts2); - if (starTimeSingel1 > endTimeSingel2) - { - overNight = true; - endTimeSingel2 = endTimeSingel2.AddDays(1); - - } - - if (startTimeTowSh1 > endTimeTowSh2) - { - overNight = true; - endTimeTowSh2 = endTimeTowSh2.AddDays(1); - - } - - var singleSpanTow1 = (endTimeSingel2 - starTimeSingel1); - var singleSpanTow2 = (endTimeTowSh2 - startTimeTowSh1); - notHolidays = notHolidays.Add(singleSpanTow1); - notHolidays = notHolidays.Add(singleSpanTow2); - - var Over22ComputeTow1 = Over22Check(starTimeSingel1, endTimeSingel2); - Over22 = Over22.Add(Over22ComputeTow1); - var Over22ComputeTow2 = Over22Check(startTimeTowSh1, endTimeTowSh2); - Over22 = Over22.Add(Over22ComputeTow2); - } - - } - - - } - else if (da.DayOfWeek == "شنبه" && command.shanbeh == true && leavId > 0) - { - if (currentDay >= leavInfo.StartLeaveGr && currentDay <= leavInfo.EndLeaveGr) - { - if (leavInfo.LeaveType == "استحقاقی" && leavInfo.PaidLeaveType == "ساعتی") - { - var leaavHoursesInt = Convert.ToInt32(leavInfo.LeaveHourses); - var leavHourses = new TimeSpan(0, leaavHoursesInt,0,0); - i += 1; - if (command.ShiftWork == "1") - { - starTimeSingel1 = Convert.ToDateTime(command.SingleShift1); - endTimeSingel2 = Convert.ToDateTime(command.SingleShift2); - if (starTimeSingel1 > endTimeSingel2) - { - overNight = true; - endTimeSingel2 = endTimeSingel2.AddDays(1); - } - - var singleSpan1 = (endTimeSingel2 - starTimeSingel1); - - singleSpan1 = singleSpan1.Subtract(rest0); - //کم کردن مرخصی ساعتی از ساعت کارکرد آن روز - singleSpan1 = singleSpan1.Subtract(leavHourses); - - notHolidays = notHolidays.Add(singleSpan1); - //کم کردن ساعت مرخصی از پایان ساعات کاری - endTimeSingel2 = endTimeSingel2.AddHours(-leaavHoursesInt); - var Over22Compute = Over22Check(starTimeSingel1, endTimeSingel2); - - Over22 = Over22.Add(Over22Compute); - } - else if (command.ShiftWork == "2") - { - starTimeSingel1 = Convert.ToDateTime(command.SingleShift1); - endTimeSingel2 = Convert.ToDateTime(command.SingleShift2); - startTimeTowSh1 = Convert.ToDateTime(command.TowShifts1); - endTimeTowSh2 = Convert.ToDateTime(command.TowShifts2); - if (starTimeSingel1 > endTimeSingel2) - { - overNight = true; - endTimeSingel2 = endTimeSingel2.AddDays(1); - - } - - if (startTimeTowSh1 > endTimeTowSh2) - { - overNight = true; - endTimeTowSh2 = endTimeTowSh2.AddDays(1); - - } - - var singleSpanTow1 = (endTimeSingel2 - starTimeSingel1); - var singleSpanTow2 = (endTimeTowSh2 - startTimeTowSh1); - notHolidays = notHolidays.Add(singleSpanTow1); - notHolidays = notHolidays.Add(singleSpanTow2); - - var Over22ComputeTow1 = Over22Check(starTimeSingel1, endTimeSingel2); - Over22 = Over22.Add(Over22ComputeTow1); - var Over22ComputeTow2 = Over22Check(startTimeTowSh1, endTimeTowSh2); - Over22 = Over22.Add(Over22ComputeTow2); - } - } - } - } - - if (da.DayOfWeek == "یکشنبه" && command.yekshanbeh == true && leavId == 0) - { - var test = da.ToGregorianDateTime(); - var checkHoliday = _holidayItemRepository.GetHoliday(test); - if (checkHoliday == false) - { - i1 += 1; - - if (command.ShiftWork == "1") - { - starTimeSingel1 = Convert.ToDateTime(command.SingleShift1Yekshanbeh); - endTimeSingel2 = Convert.ToDateTime(command.SingleShift2Yekshanbeh); - if (starTimeSingel1 > endTimeSingel2) - { - overNight = true; - endTimeSingel2 = endTimeSingel2.AddDays(1); - } - - var singleSpan1 = (endTimeSingel2 - starTimeSingel1); - - singleSpan1 = singleSpan1.Subtract(rest1); - - notHolidays = notHolidays.Add(singleSpan1); - - var Over22Compute = Over22Check(starTimeSingel1, endTimeSingel2); - //Over22Compute = Over22Compute.Subtract(rest); - Over22 = Over22.Add(Over22Compute); - } - - else if (command.ShiftWork == "2") - { - starTimeSingel1 = Convert.ToDateTime(command.SingleShift1Yekshanbeh); - endTimeSingel2 = Convert.ToDateTime(command.SingleShift2Yekshanbeh); - startTimeTowSh1 = Convert.ToDateTime(command.TowShifts1Yekshanbeh); - endTimeTowSh2 = Convert.ToDateTime(command.TowShifts2Yekshanbeh); - if (starTimeSingel1 > endTimeSingel2) - { - overNight = true; - endTimeSingel2 = endTimeSingel2.AddDays(1); - - } - - if (startTimeTowSh1 > endTimeTowSh2) - { - overNight = true; - endTimeTowSh2 = endTimeTowSh2.AddDays(1); - - } - - var singleSpanTow1 = (endTimeSingel2 - starTimeSingel1); - var singleSpanTow2 = (endTimeTowSh2 - startTimeTowSh1); - notHolidays = notHolidays.Add(singleSpanTow1); - notHolidays = notHolidays.Add(singleSpanTow2); - - var Over22ComputeTow1 = Over22Check(starTimeSingel1, endTimeSingel2); - Over22 = Over22.Add(Over22ComputeTow1); - var Over22ComputeTow2 = Over22Check(startTimeTowSh1, endTimeTowSh2); - Over22 = Over22.Add(Over22ComputeTow2); - - } - } - - - } - else if (da.DayOfWeek == "یکشنبه" && command.yekshanbeh == true && leavId > 0) - { - - } - - if (da.DayOfWeek == "دوشنبه" && command.doshanbeh == true && leavId == 0) - { - var test = da.ToGregorianDateTime(); - var checkHoliday = _holidayItemRepository.GetHoliday(test); - if (checkHoliday == false) - { - i2 += 1; - switch (command.ShiftWork) - { - case "1": - - starTimeSingel1 = Convert.ToDateTime(command.SingleShift1Doshanbeh); - endTimeSingel2 = Convert.ToDateTime(command.SingleShift2Doshanbeh); - if (starTimeSingel1 > endTimeSingel2) - { - overNight = true; - endTimeSingel2 = endTimeSingel2.AddDays(1); - - } - - var singleSpan1 = (endTimeSingel2 - starTimeSingel1); - - singleSpan1 = singleSpan1.Subtract(rest2); - - notHolidays = notHolidays.Add(singleSpan1); - - var Over22Compute = Over22Check(starTimeSingel1, endTimeSingel2); - - Over22 = Over22.Add(Over22Compute); - break; - - case "2": - starTimeSingel1 = Convert.ToDateTime(command.SingleShift1Doshanbeh); - endTimeSingel2 = Convert.ToDateTime(command.SingleShift2Doshanbeh); - startTimeTowSh1 = Convert.ToDateTime(command.TowShifts1Doshanbeh); - endTimeTowSh2 = Convert.ToDateTime(command.TowShifts2Doshanbeh); - if (starTimeSingel1 > endTimeSingel2) - { - overNight = true; - endTimeSingel2 = endTimeSingel2.AddDays(1); - - } - - if (startTimeTowSh1 > endTimeTowSh2) - { - overNight = true; - endTimeTowSh2 = endTimeTowSh2.AddDays(1); - - } - - var singleSpanTow1 = (endTimeSingel2 - starTimeSingel1); - var singleSpanTow2 = (endTimeTowSh2 - startTimeTowSh1); - notHolidays = notHolidays.Add(singleSpanTow1); - notHolidays = notHolidays.Add(singleSpanTow2); - - var Over22ComputeTow1 = Over22Check(starTimeSingel1, endTimeSingel2); - Over22 = Over22.Add(Over22ComputeTow1); - var Over22ComputeTow2 = Over22Check(startTimeTowSh1, endTimeTowSh2); - Over22 = Over22.Add(Over22ComputeTow2); - break; - } - } - - - } - else if (da.DayOfWeek == "دوشنبه" && command.doshanbeh == true && leavId > 0) - { - - } - - if (da.DayOfWeek == "سه شنبه" && command.seshanbeh == true && leavId == 0) - { - var test = da.ToGregorianDateTime(); - var checkHoliday = _holidayItemRepository.GetHoliday(test); - if (checkHoliday == false) - { - i3 += 1; - switch (command.ShiftWork) - { - case "1": - starTimeSingel1 = Convert.ToDateTime(command.SingleShift1Seshanbeh); - endTimeSingel2 = Convert.ToDateTime(command.SingleShift2Seshanbeh); - if (starTimeSingel1 > endTimeSingel2) - { - overNight = true; - endTimeSingel2 = endTimeSingel2.AddDays(1); - } - - var singleSpan1 = (endTimeSingel2 - starTimeSingel1); - - singleSpan1 = singleSpan1.Subtract(rest3); - - notHolidays = notHolidays.Add(singleSpan1); - - var Over22Compute = Over22Check(starTimeSingel1, endTimeSingel2); - Over22 = Over22.Add(Over22Compute); - break; - - case "2": - starTimeSingel1 = Convert.ToDateTime(command.SingleShift1Seshanbeh); - endTimeSingel2 = Convert.ToDateTime(command.SingleShift2Seshanbeh); - startTimeTowSh1 = Convert.ToDateTime(command.TowShifts1Seshanbeh); - endTimeTowSh2 = Convert.ToDateTime(command.TowShifts2Seshanbeh); - if (starTimeSingel1 > endTimeSingel2) - { - overNight = true; - endTimeSingel2 = endTimeSingel2.AddDays(1); - } - - if (startTimeTowSh1 > endTimeTowSh2) - { - overNight = true; - endTimeTowSh2 = endTimeTowSh2.AddDays(1); - } - - var singleSpanTow1 = (endTimeSingel2 - starTimeSingel1); - var singleSpanTow2 = (endTimeTowSh2 - startTimeTowSh1); - notHolidays = notHolidays.Add(singleSpanTow1); - notHolidays = notHolidays.Add(singleSpanTow2); - - var Over22ComputeTow1 = Over22Check(starTimeSingel1, endTimeSingel2); - Over22 = Over22.Add(Over22ComputeTow1); - var Over22ComputeTow2 = Over22Check(startTimeTowSh1, endTimeTowSh2); - Over22 = Over22.Add(Over22ComputeTow2); - break; - } - } - - - } - else if (da.DayOfWeek == "سه شنبه" && command.seshanbeh == true && leavId > 0) - { - - } - - if (da.DayOfWeek == "چهارشنبه" && command.cheharshanbeh == true && leavId == 0) - { - var test = da.ToGregorianDateTime(); - var checkHoliday = _holidayItemRepository.GetHoliday(test); - if (checkHoliday == false) - { - i4 += 1; - switch (command.ShiftWork) - { - case "1": - starTimeSingel1 = Convert.ToDateTime(command.SingleShift1Cheharshanbeh); - endTimeSingel2 = Convert.ToDateTime(command.SingleShift2Cheharshanbeh); - if (starTimeSingel1 > endTimeSingel2) - { - overNight = true; - endTimeSingel2 = endTimeSingel2.AddDays(1); - - } - - var singleSpan1 = (endTimeSingel2 - starTimeSingel1); - - singleSpan1 = singleSpan1.Subtract(rest4); - - notHolidays = notHolidays.Add(singleSpan1); - - var Over22Compute = Over22Check(starTimeSingel1, endTimeSingel2); - Over22 = Over22.Add(Over22Compute); - break; - - case "2": - starTimeSingel1 = Convert.ToDateTime(command.SingleShift1Cheharshanbeh); - endTimeSingel2 = Convert.ToDateTime(command.SingleShift2Cheharshanbeh); - startTimeTowSh1 = Convert.ToDateTime(command.TowShifts1Cheharshanbeh); - endTimeTowSh2 = Convert.ToDateTime(command.TowShifts2Cheharshanbeh); - if (starTimeSingel1 > endTimeSingel2) - { - overNight = true; - endTimeSingel2 = endTimeSingel2.AddDays(1); - - } - - if (startTimeTowSh1 > endTimeTowSh2) - { - overNight = true; - endTimeTowSh2 = endTimeTowSh2.AddDays(1); - - } - - var singleSpanTow1 = (endTimeSingel2 - starTimeSingel1); - var singleSpanTow2 = (endTimeTowSh2 - startTimeTowSh1); - notHolidays = notHolidays.Add(singleSpanTow1); - notHolidays = notHolidays.Add(singleSpanTow2); - - var Over22ComputeTow1 = Over22Check(starTimeSingel1, endTimeSingel2); - Over22 = Over22.Add(Over22ComputeTow1); - var Over22ComputeTow2 = Over22Check(startTimeTowSh1, endTimeTowSh2); - Over22 = Over22.Add(Over22ComputeTow2); - break; - } - } - - - } - else if (da.DayOfWeek == "چهارشنبه" && command.cheharshanbeh == true && leavId > 0) - { - - } - - if (da.DayOfWeek == "پنج شنبه" && command.pangshanbeh == true && leavId == 0) - { - var test = da.ToGregorianDateTime(); - var checkHoliday = _holidayItemRepository.GetHoliday(test); - if (checkHoliday == false) - { - i5 += 1; - switch (command.ShiftWork) - { - case "1": - starTimeSingel1 = Convert.ToDateTime(command.SingleShift1Panjshanbeh); - endTimeSingel2 = Convert.ToDateTime(command.SingleShift2Panjshanbeh); - if (starTimeSingel1 > endTimeSingel2) - { - overNight = true; - singleOver24 = (endTimeSingel2 - singleShiftOver24); - endTimeSingel2 = endTimeSingel2.AddDays(1); - - - } - - var singleSpan1 = (endTimeSingel2 - starTimeSingel1); - - singleSpan1 = singleSpan1.Subtract(rest5); - - singleSpan1 = singleSpan1.Subtract(singleOver24); - jomeh = jomeh.Add(singleOver24); - notHolidays = notHolidays.Add(singleSpan1); - - var Over22Compute = Over22Check(starTimeSingel1, endTimeSingel2); - Over22 = Over22.Add(Over22Compute); - break; - - case "2": - starTimeSingel1 = Convert.ToDateTime(command.SingleShift1Panjshanbeh); - endTimeSingel2 = Convert.ToDateTime(command.SingleShift2Panjshanbeh); - startTimeTowSh1 = Convert.ToDateTime(command.TowShifts1Panjshanbeh); - endTimeTowSh2 = Convert.ToDateTime(command.TowShifts2Panjshanbeh); - var singleOver24Tow = new TimeSpan(); - if (starTimeSingel1 > endTimeSingel2) - { - overNight = true; - singleOver24 = (endTimeSingel2 - singleShiftOver24); - endTimeSingel2 = endTimeSingel2.AddDays(1); - - } - - if (startTimeTowSh1 > endTimeTowSh2) - { - overNight = true; - singleOver24Tow = (endTimeTowSh2 - singleShiftOver24); - endTimeTowSh2 = endTimeTowSh2.AddDays(1); - - } - - var singleSpanTow1 = (endTimeSingel2 - starTimeSingel1); - var singleSpanTow2 = (endTimeTowSh2 - startTimeTowSh1); - - - singleSpanTow1 = singleSpanTow1.Subtract(singleOver24); - singleSpanTow2 = singleSpanTow2.Subtract(singleOver24Tow); - - jomeh = jomeh.Add(singleOver24); - jomeh = jomeh.Add(singleOver24Tow); - - notHolidays = notHolidays.Add(singleSpanTow1); - notHolidays = notHolidays.Add(singleSpanTow2); - - var Over22ComputeTow1 = Over22Check(starTimeSingel1, endTimeSingel2); - Over22 = Over22.Add(Over22ComputeTow1); - var Over22ComputeTow2 = Over22Check(startTimeTowSh1, endTimeTowSh2); - Over22 = Over22.Add(Over22ComputeTow2); - break; - } - } - - - } - else if (da.DayOfWeek == "پنج شنبه" && command.pangshanbeh == true && leavId > 0) - { - - } - - if (da.DayOfWeek == "جمعه" && command.jomeh == true && leavId == 0) - { - i6 += 1; - switch (command.ShiftWork) - { - case "1": - starTimeSingel1 = Convert.ToDateTime(command.SingleShift1Jomeh); - endTimeSingel2 = Convert.ToDateTime(command.SingleShift2Jomeh); - if (starTimeSingel1 > endTimeSingel2) - { - overNight = true; - endTimeSingel2 = endTimeSingel2.AddDays(1); - - } - - var singleSpan1 = (endTimeSingel2 - starTimeSingel1); - singleSpan1 = singleSpan1.Subtract(rest6); - - jomeh = jomeh.Add(singleSpan1); - - var Over22Compute = Over22Check(starTimeSingel1, endTimeSingel2); - Over22 = Over22.Add(Over22Compute); - break; - - case "2": - starTimeSingel1 = Convert.ToDateTime(command.SingleShift1Jomeh); - endTimeSingel2 = Convert.ToDateTime(command.SingleShift2Jomeh); - startTimeTowSh1 = Convert.ToDateTime(command.TowShifts1Jomeh); - endTimeTowSh2 = Convert.ToDateTime(command.TowShifts2Jomeh); - if (starTimeSingel1 > endTimeSingel2) - { - overNight = true; - endTimeSingel2 = endTimeSingel2.AddDays(1); - } - - if (startTimeTowSh1 > endTimeTowSh2) - { - overNight = true; - endTimeTowSh2 = endTimeTowSh2.AddDays(1); - } - - var singleSpanTow1 = (endTimeSingel2 - starTimeSingel1); - var singleSpanTow2 = (endTimeTowSh2 - startTimeTowSh1); - jomeh = jomeh.Add(singleSpanTow1); - jomeh = jomeh.Add(singleSpanTow2); - - var Over22ComputeTow1 = Over22Check(starTimeSingel1, endTimeSingel2); - Over22 = Over22.Add(Over22ComputeTow1); - var Over22ComputeTow2 = Over22Check(startTimeTowSh1, endTimeTowSh2); - Over22 = Over22.Add(Over22ComputeTow2); - break; - } - - } - else if (da.DayOfWeek == "جمعه" && command.jomeh == true && leavId > 0) - { - - } - else if (command.jomeh == false) - { - i6 = 0; - } - - if (da.DayOfWeek == "جمعه") - { - FridayStartToEnd += 1; - } - - } - } - - #endregion - - #endregion - - #region Rotating - - else if (command.ShiftWork == "4") - { - for (var da = d1; da <= d2; da.AddDays(1)) - { - var FirstDayOfMonth = new PersianDateTime(da.Year, da.Month, 1); - int w1 = 0; int w2 = 0; int w3 = 0; int w4 = 0; - int w5 = 0; int w6 = 0; - - switch (FirstDayOfMonth.DayOfWeek) - { - case "شنبه": - w1 = 7; - w2 = 14; - w3 = 28; - w4 = 31; - break; - case "یکشنبه": - w1 = 6; - w2 = 13; - w3 = 20; - w4 = 27; - w5 = 31; - break; - case "دوشنبه": - w1 = 5; - w2 = 12; - w3 = 19; - w4 = 26; - w5 = 31; - break; - case "سه شنبه": - w1 = 4; - w2 = 11; - w3 = 18; - w4 = 25; - w5 = 31; - break; - case "چهارشنبه": - w1 = 3; - w2 = 10; - w3 = 17; - w4 = 24; - w5 = 31; - break; - case "پنج شنبه": - w1 = 2; - w2 = 9; - w3 = 16; - w4 = 23; - w5 = 30; - w6 = 31; - break; - case "جمعه": - w1 = 1; - w2 = 8; - w3 = 15; - w4 = 22; - w5 = 29; - w6 = 31; - break; - - } - switch (da.DayOfWeek) - { - case "شنبه": - if (da.Day <= w1) - { - if (command.Shanbe1 && leavId == 0) - { - var test = $"{da}"; - var checkHoliday = holidayList.Any(x => x == test); - if (checkHoliday == false) - { - i += 1; - SumComplexDays += 1; - starTimeSingel1 = Convert.ToDateTime(command.SingleShift1Shanbe1); - endTimeSingel2 = Convert.ToDateTime(command.SingleShift2Shanbe1); - startTimeTowSh1 = Convert.ToDateTime(command.TowShifts1Shanbe1); - endTimeTowSh2 = Convert.ToDateTime(command.TowShifts2Shanbe1); - //if (string.IsNullOrWhiteSpace(command.TowShifts1Shanbe1)) - if ((endTimeSingel2 - starTimeSingel1) >= rest0w1) - endTimeSingel2 = endTimeSingel2.Subtract(rest0w1); - sumRest = sumRest.Add(rest0w1); - - var rotatingCheck = RotatingShiftCheck(starTimeSingel1, endTimeSingel2, startTimeTowSh1, endTimeTowSh2); - rotatingCheck.RotatingDate = test; - rotatingResultList.Add(rotatingCheck); - notHolidays = notHolidays.Add(rotatingCheck.TotalWorkingTime); - Over22 = Over22.Add(rotatingCheck.NightWorkSpan); - - } - else - { - starTimeSingel1 = Convert.ToDateTime(command.SingleShift1Shanbe1); - endTimeSingel2 = Convert.ToDateTime(command.SingleShift2Shanbe1); - startTimeTowSh1 = Convert.ToDateTime(command.TowShifts1Shanbe1); - endTimeTowSh2 = Convert.ToDateTime(command.TowShifts2Shanbe1); - //if (string.IsNullOrWhiteSpace(command.TowShifts1Shanbe1)) - if ((endTimeSingel2 - starTimeSingel1) >= rest0w1) - endTimeSingel2 = endTimeSingel2.Subtract(rest0w1); - - - var rotatingCheck = RotatingShiftCheck(starTimeSingel1, endTimeSingel2, startTimeTowSh1, endTimeTowSh2); - HolidaysAndNot = HolidaysAndNot.Add(rotatingCheck.TotalWorkingTime); - } - - } - else if (command.Shanbe1 && leavId > 0) - { - - } - } - else if (da.Day > w1 && da.Day <= w2) - { - if (command.Shanbe2 && leavId == 0) - { - var test = $"{da}"; - var checkHoliday = holidayList.Any(x => x == test); - if (checkHoliday == false) - { - i += 1; - SumComplexDays += 1; - starTimeSingel1 = Convert.ToDateTime(command.SingleShift1Shanbe2); - endTimeSingel2 = Convert.ToDateTime(command.SingleShift2Shanbe2); - startTimeTowSh1 = Convert.ToDateTime(command.TowShifts1Shanbe2); - endTimeTowSh2 = Convert.ToDateTime(command.TowShifts2Shanbe2); - //if (string.IsNullOrWhiteSpace(command.TowShifts1Shanbe2)) - if ((endTimeSingel2 - starTimeSingel1) >= rest0w2) - endTimeSingel2 = endTimeSingel2.Subtract(rest0w2); - sumRest = sumRest.Add(rest0w2); - - var rotatingCheck = RotatingShiftCheck(starTimeSingel1, endTimeSingel2, startTimeTowSh1, endTimeTowSh2); - rotatingCheck.RotatingDate = test; - rotatingResultList.Add(rotatingCheck); - notHolidays = notHolidays.Add(rotatingCheck.TotalWorkingTime); - Over22 = Over22.Add(rotatingCheck.NightWorkSpan); - } - else - { - starTimeSingel1 = Convert.ToDateTime(command.SingleShift1Shanbe2); - endTimeSingel2 = Convert.ToDateTime(command.SingleShift2Shanbe2); - startTimeTowSh1 = Convert.ToDateTime(command.TowShifts1Shanbe2); - endTimeTowSh2 = Convert.ToDateTime(command.TowShifts2Shanbe2); - //if (string.IsNullOrWhiteSpace(command.TowShifts1Shanbe2)) - if ((endTimeSingel2 - starTimeSingel1) >= rest0w2) - endTimeSingel2 = endTimeSingel2.Subtract(rest0w2); - var rotatingCheck = RotatingShiftCheck(starTimeSingel1, endTimeSingel2, startTimeTowSh1, endTimeTowSh2); - HolidaysAndNot = HolidaysAndNot.Add(rotatingCheck.TotalWorkingTime); - } - } - else if (command.Shanbe2 && leavId > 0) - { - - } - } - else if (da.Day > w2 && da.Day <= w3) - { - if (command.Shanbe3 && leavId == 0) - { - var test = $"{da}"; - var checkHoliday = holidayList.Any(x => x == test); - if (checkHoliday == false) - { - i += 1; - SumComplexDays += 1; - starTimeSingel1 = Convert.ToDateTime(command.SingleShift1Shanbe3); - endTimeSingel2 = Convert.ToDateTime(command.SingleShift2Shanbe3); - startTimeTowSh1 = Convert.ToDateTime(command.TowShifts1Shanbe3); - endTimeTowSh2 = Convert.ToDateTime(command.TowShifts2Shanbe3); - //if (string.IsNullOrWhiteSpace(command.TowShifts1Shanbe3)) - if ((endTimeSingel2 - starTimeSingel1) >= rest0w3) - endTimeSingel2 = endTimeSingel2.Subtract(rest0w3); - sumRest = sumRest.Add(rest0w3); - - var rotatingCheck = RotatingShiftCheck(starTimeSingel1, endTimeSingel2, startTimeTowSh1, endTimeTowSh2); - rotatingCheck.RotatingDate = test; - rotatingResultList.Add(rotatingCheck); - notHolidays = notHolidays.Add(rotatingCheck.TotalWorkingTime); - Over22 = Over22.Add(rotatingCheck.NightWorkSpan); - - } - else - { - starTimeSingel1 = Convert.ToDateTime(command.SingleShift1Shanbe3); - endTimeSingel2 = Convert.ToDateTime(command.SingleShift2Shanbe3); - startTimeTowSh1 = Convert.ToDateTime(command.TowShifts1Shanbe3); - endTimeTowSh2 = Convert.ToDateTime(command.TowShifts2Shanbe3); - // if (string.IsNullOrWhiteSpace(command.TowShifts1Shanbe3)) - if ((endTimeSingel2 - starTimeSingel1) >= rest0w3) - endTimeSingel2 = endTimeSingel2.Subtract(rest0w3); - - var rotatingCheck = RotatingShiftCheck(starTimeSingel1, endTimeSingel2, startTimeTowSh1, endTimeTowSh2); - HolidaysAndNot = HolidaysAndNot.Add(rotatingCheck.TotalWorkingTime); - } - } - else if (command.Shanbe3 && leavId > 0) - { - - } - } - else if (da.Day > w3 && da.Day <= w4) - { - if (command.Shanbe4 && leavId == 0) - { - var test = $"{da}"; - var checkHoliday = holidayList.Any(x => x == test); - if (checkHoliday == false) - { - i += 1; - SumComplexDays += 1; - starTimeSingel1 = Convert.ToDateTime(command.SingleShift1Shanbe4); - endTimeSingel2 = Convert.ToDateTime(command.SingleShift2Shanbe4); - startTimeTowSh1 = Convert.ToDateTime(command.TowShifts1Shanbe4); - endTimeTowSh2 = Convert.ToDateTime(command.TowShifts2Shanbe4); - // if (string.IsNullOrWhiteSpace(command.TowShifts1Shanbe4)) - if ((endTimeSingel2 - starTimeSingel1) >= rest0w4) - endTimeSingel2 = endTimeSingel2.Subtract(rest0w4); - sumRest = sumRest.Add(rest0w4); - - var rotatingCheck = RotatingShiftCheck(starTimeSingel1, endTimeSingel2, startTimeTowSh1, endTimeTowSh2); - rotatingCheck.RotatingDate = test; - rotatingResultList.Add(rotatingCheck); - notHolidays = notHolidays.Add(rotatingCheck.TotalWorkingTime); - Over22 = Over22.Add(rotatingCheck.NightWorkSpan); - } - else - { - starTimeSingel1 = Convert.ToDateTime(command.SingleShift1Shanbe4); - endTimeSingel2 = Convert.ToDateTime(command.SingleShift2Shanbe4); - startTimeTowSh1 = Convert.ToDateTime(command.TowShifts1Shanbe4); - endTimeTowSh2 = Convert.ToDateTime(command.TowShifts2Shanbe4); - // if (string.IsNullOrWhiteSpace(command.TowShifts1Shanbe4)) - if ((endTimeSingel2 - starTimeSingel1) >= rest0w3) - endTimeSingel2 = endTimeSingel2.Subtract(rest0w4); - var rotatingCheck = RotatingShiftCheck(starTimeSingel1, endTimeSingel2, startTimeTowSh1, endTimeTowSh2); - HolidaysAndNot = HolidaysAndNot.Add(rotatingCheck.TotalWorkingTime); - } - } - else if (command.Shanbe4 && leavId > 0) - { - - } - } - else if (da.Day > w4 && da.Day <= w5) - { - if (command.Shanbe1 && leavId == 0) - { - var test = $"{da}"; - var checkHoliday = holidayList.Any(x => x == test); - if (checkHoliday == false) - { - i += 1; - SumComplexDays += 1; - starTimeSingel1 = Convert.ToDateTime(command.SingleShift1Shanbe1); - endTimeSingel2 = Convert.ToDateTime(command.SingleShift2Shanbe1); - startTimeTowSh1 = Convert.ToDateTime(command.TowShifts1Shanbe1); - endTimeTowSh2 = Convert.ToDateTime(command.TowShifts2Shanbe1); - //if (string.IsNullOrWhiteSpace(command.TowShifts1Shanbe1)) - if ((endTimeSingel2 - starTimeSingel1) >= rest0w1) - endTimeSingel2 = endTimeSingel2.Subtract(rest0w1); - sumRest = sumRest.Add(rest0w1); - - var rotatingCheck = RotatingShiftCheck(starTimeSingel1, endTimeSingel2, startTimeTowSh1, endTimeTowSh2); - rotatingCheck.RotatingDate = test; - rotatingResultList.Add(rotatingCheck); - notHolidays = notHolidays.Add(rotatingCheck.TotalWorkingTime); - Over22 = Over22.Add(rotatingCheck.NightWorkSpan); - } - else - { - starTimeSingel1 = Convert.ToDateTime(command.SingleShift1Shanbe1); - endTimeSingel2 = Convert.ToDateTime(command.SingleShift2Shanbe1); - startTimeTowSh1 = Convert.ToDateTime(command.TowShifts1Shanbe1); - endTimeTowSh2 = Convert.ToDateTime(command.TowShifts2Shanbe1); - //if (string.IsNullOrWhiteSpace(command.TowShifts1Shanbe1)) - if ((endTimeSingel2 - starTimeSingel1) >= rest0w1) - endTimeSingel2 = endTimeSingel2.Subtract(rest0w1); - - var rotatingCheck = RotatingShiftCheck(starTimeSingel1, endTimeSingel2, startTimeTowSh1, endTimeTowSh2); - HolidaysAndNot = HolidaysAndNot.Add(rotatingCheck.TotalWorkingTime); - } - } - else if (command.Shanbe1 && leavId > 0) - { - - } - } - else if (da.Day > w5 && da.Day <= w6) - { - if (command.Shanbe2 && leavId == 0) - { - var test = $"{da}"; - var checkHoliday = holidayList.Any(x => x == test); - if (checkHoliday == false) - { - i += 1; - SumComplexDays += 1; - starTimeSingel1 = Convert.ToDateTime(command.SingleShift1Shanbe2); - endTimeSingel2 = Convert.ToDateTime(command.SingleShift2Shanbe2); - startTimeTowSh1 = Convert.ToDateTime(command.TowShifts1Shanbe2); - endTimeTowSh2 = Convert.ToDateTime(command.TowShifts2Shanbe2); - //if (string.IsNullOrWhiteSpace(command.TowShifts1Shanbe2)) - if ((endTimeSingel2 - starTimeSingel1) >= rest0w2) - endTimeSingel2 = endTimeSingel2.Subtract(rest0w2); - sumRest = sumRest.Add(rest0w2); - - var rotatingCheck = RotatingShiftCheck(starTimeSingel1, endTimeSingel2, startTimeTowSh1, endTimeTowSh2); - rotatingCheck.RotatingDate = test; - rotatingResultList.Add(rotatingCheck); - notHolidays = notHolidays.Add(rotatingCheck.TotalWorkingTime); - Over22 = Over22.Add(rotatingCheck.NightWorkSpan); - } - else - { - starTimeSingel1 = Convert.ToDateTime(command.SingleShift1Shanbe2); - endTimeSingel2 = Convert.ToDateTime(command.SingleShift2Shanbe2); - startTimeTowSh1 = Convert.ToDateTime(command.TowShifts1Shanbe2); - endTimeTowSh2 = Convert.ToDateTime(command.TowShifts2Shanbe2); - // if (string.IsNullOrWhiteSpace(command.TowShifts1Shanbe2)) - if ((endTimeSingel2 - starTimeSingel1) >= rest0w2) - endTimeSingel2 = endTimeSingel2.Subtract(rest0w2); - var rotatingCheck = RotatingShiftCheck(starTimeSingel1, endTimeSingel2, startTimeTowSh1, endTimeTowSh2); - HolidaysAndNot = HolidaysAndNot.Add(rotatingCheck.TotalWorkingTime); - } - } - else if (command.Shanbe2 && leavId > 0) - { - - } - } - break; - case "یکشنبه": - if (da.Day <= w1) - { - if (command.YekShanbe1 && leavId == 0) - { - var test = $"{da}"; - var checkHoliday = holidayList.Any(x => x == test); - if (checkHoliday == false) - { - i += 1; - SumComplexDays += 1; - starTimeSingel1 = Convert.ToDateTime(command.SingleShift1YekShanbe1); - endTimeSingel2 = Convert.ToDateTime(command.SingleShift2YekShanbe1); - startTimeTowSh1 = Convert.ToDateTime(command.TowShifts1YekShanbe1); - endTimeTowSh2 = Convert.ToDateTime(command.TowShifts2YekShanbe1); - // if (string.IsNullOrWhiteSpace(command.TowShifts1YekShanbe1)) - if ((endTimeSingel2 - starTimeSingel1) >= rest1w1) - endTimeSingel2 = endTimeSingel2.Subtract(rest1w1); - sumRest = sumRest.Add(rest1w1); - - var rotatingCheck = RotatingShiftCheck(starTimeSingel1, endTimeSingel2, startTimeTowSh1, endTimeTowSh2); - rotatingCheck.RotatingDate = test; - rotatingResultList.Add(rotatingCheck); - notHolidays = notHolidays.Add(rotatingCheck.TotalWorkingTime); - Over22 = Over22.Add(rotatingCheck.NightWorkSpan); - } - else - { - starTimeSingel1 = Convert.ToDateTime(command.SingleShift1YekShanbe1); - endTimeSingel2 = Convert.ToDateTime(command.SingleShift2YekShanbe1); - startTimeTowSh1 = Convert.ToDateTime(command.TowShifts1YekShanbe1); - endTimeTowSh2 = Convert.ToDateTime(command.TowShifts2YekShanbe1); - //if (string.IsNullOrWhiteSpace(command.TowShifts1YekShanbe1)) - if ((endTimeSingel2 - starTimeSingel1) >= rest1w1) - endTimeSingel2 = endTimeSingel2.Subtract(rest1w1); - - var rotatingCheck = RotatingShiftCheck(starTimeSingel1, endTimeSingel2, startTimeTowSh1, endTimeTowSh2); - HolidaysAndNot = HolidaysAndNot.Add(rotatingCheck.TotalWorkingTime); - } - } - else if (command.YekShanbe1 && leavId > 0) - { - - } - } - else if (da.Day > w1 && da.Day <= w2) - { - if (command.YekShanbe2 && leavId == 0) - { - var test = $"{da}"; - var checkHoliday = holidayList.Any(x => x == test); - if (checkHoliday == false) - { - i += 1; - SumComplexDays += 1; - starTimeSingel1 = Convert.ToDateTime(command.SingleShift1YekShanbe2); - endTimeSingel2 = Convert.ToDateTime(command.SingleShift2YekShanbe2); - startTimeTowSh1 = Convert.ToDateTime(command.TowShifts1YekShanbe2); - endTimeTowSh2 = Convert.ToDateTime(command.TowShifts2YekShanbe2); - //if (string.IsNullOrWhiteSpace(command.TowShifts1YekShanbe2)) - if ((endTimeSingel2 - starTimeSingel1) >= rest1w2) - endTimeSingel2 = endTimeSingel2.Subtract(rest1w2); - sumRest = sumRest.Add(rest1w2); - - var rotatingCheck = RotatingShiftCheck(starTimeSingel1, endTimeSingel2, startTimeTowSh1, endTimeTowSh2); - rotatingCheck.RotatingDate = test; - rotatingResultList.Add(rotatingCheck); - notHolidays = notHolidays.Add(rotatingCheck.TotalWorkingTime); - Over22 = Over22.Add(rotatingCheck.NightWorkSpan); - - } - else - { - starTimeSingel1 = Convert.ToDateTime(command.SingleShift1YekShanbe2); - endTimeSingel2 = Convert.ToDateTime(command.SingleShift2YekShanbe2); - startTimeTowSh1 = Convert.ToDateTime(command.TowShifts1YekShanbe2); - endTimeTowSh2 = Convert.ToDateTime(command.TowShifts2YekShanbe2); - //if (string.IsNullOrWhiteSpace(command.TowShifts1YekShanbe2)) - if ((endTimeSingel2 - starTimeSingel1) >= rest1w2) - endTimeSingel2 = endTimeSingel2.Subtract(rest1w2); - - var rotatingCheck = RotatingShiftCheck(starTimeSingel1, endTimeSingel2, startTimeTowSh1, endTimeTowSh2); - HolidaysAndNot = HolidaysAndNot.Add(rotatingCheck.TotalWorkingTime); - } - } - else if (command.YekShanbe2 && leavId > 0) - { - - } - } - else if (da.Day > w2 && da.Day <= w3) - { - if (command.YekShanbe3 && leavId == 0) - { - var test = $"{da}"; - var checkHoliday = holidayList.Any(x => x == test); - if (checkHoliday == false) - { - i += 1; - SumComplexDays += 1; - starTimeSingel1 = Convert.ToDateTime(command.SingleShift1YekShanbe3); - endTimeSingel2 = Convert.ToDateTime(command.SingleShift2YekShanbe3); - startTimeTowSh1 = Convert.ToDateTime(command.TowShifts1YekShanbe3); - endTimeTowSh2 = Convert.ToDateTime(command.TowShifts2YekShanbe3); - // if (string.IsNullOrWhiteSpace(command.TowShifts1YekShanbe3)) - if ((endTimeSingel2 - starTimeSingel1) >= rest1w3) - endTimeSingel2 = endTimeSingel2.Subtract(rest1w3); - sumRest = sumRest.Add(rest1w3); - - var rotatingCheck = RotatingShiftCheck(starTimeSingel1, endTimeSingel2, startTimeTowSh1, endTimeTowSh2); - rotatingCheck.RotatingDate = test; - rotatingResultList.Add(rotatingCheck); - notHolidays = notHolidays.Add(rotatingCheck.TotalWorkingTime); - Over22 = Over22.Add(rotatingCheck.NightWorkSpan); - } - else - { - starTimeSingel1 = Convert.ToDateTime(command.SingleShift1YekShanbe3); - endTimeSingel2 = Convert.ToDateTime(command.SingleShift2YekShanbe3); - startTimeTowSh1 = Convert.ToDateTime(command.TowShifts1YekShanbe3); - endTimeTowSh2 = Convert.ToDateTime(command.TowShifts2YekShanbe3); - //if (string.IsNullOrWhiteSpace(command.TowShifts1YekShanbe3)) - if ((endTimeSingel2 - starTimeSingel1) >= rest1w3) - endTimeSingel2 = endTimeSingel2.Subtract(rest1w3); - - var rotatingCheck = RotatingShiftCheck(starTimeSingel1, endTimeSingel2, startTimeTowSh1, endTimeTowSh2); - HolidaysAndNot = HolidaysAndNot.Add(rotatingCheck.TotalWorkingTime); - } - } - else if (command.YekShanbe3 && leavId > 0) - { - - } - } - else if (da.Day > w3 && da.Day <= w4) - { - if (command.YekShanbe4 && leavId == 0) - { - var test = $"{da}"; - var checkHoliday = holidayList.Any(x => x == test); - if (checkHoliday == false) - { - i += 1; - SumComplexDays += 1; - starTimeSingel1 = Convert.ToDateTime(command.SingleShift1YekShanbe4); - endTimeSingel2 = Convert.ToDateTime(command.SingleShift2YekShanbe4); - startTimeTowSh1 = Convert.ToDateTime(command.TowShifts1YekShanbe4); - endTimeTowSh2 = Convert.ToDateTime(command.TowShifts2YekShanbe4); - //if (string.IsNullOrWhiteSpace(command.TowShifts1YekShanbe4)) - if ((endTimeSingel2 - starTimeSingel1) >= rest1w4) - endTimeSingel2 = endTimeSingel2.Subtract(rest1w4); - sumRest = sumRest.Add(rest1w4); - - var rotatingCheck = RotatingShiftCheck(starTimeSingel1, endTimeSingel2, startTimeTowSh1, endTimeTowSh2); - rotatingCheck.RotatingDate = test; - rotatingResultList.Add(rotatingCheck); - notHolidays = notHolidays.Add(rotatingCheck.TotalWorkingTime); - Over22 = Over22.Add(rotatingCheck.NightWorkSpan); - } - else - { - starTimeSingel1 = Convert.ToDateTime(command.SingleShift1YekShanbe4); - endTimeSingel2 = Convert.ToDateTime(command.SingleShift2YekShanbe4); - startTimeTowSh1 = Convert.ToDateTime(command.TowShifts1YekShanbe4); - endTimeTowSh2 = Convert.ToDateTime(command.TowShifts2YekShanbe4); - //if (string.IsNullOrWhiteSpace(command.TowShifts1YekShanbe4)) - if ((endTimeSingel2 - starTimeSingel1) >= rest1w4) - endTimeSingel2 = endTimeSingel2.Subtract(rest1w4); - - var rotatingCheck = RotatingShiftCheck(starTimeSingel1, endTimeSingel2, startTimeTowSh1, endTimeTowSh2); - HolidaysAndNot = HolidaysAndNot.Add(rotatingCheck.TotalWorkingTime); - } - } - else if (command.YekShanbe4 && leavId > 0) - { - - } - } - else if (da.Day > w4 && da.Day <= w5) - { - if (command.YekShanbe1 && leavId == 0) - { - var test = $"{da}"; - var checkHoliday = holidayList.Any(x => x == test); - if (checkHoliday == false) - { - i += 1; - SumComplexDays += 1; - starTimeSingel1 = Convert.ToDateTime(command.SingleShift1YekShanbe1); - endTimeSingel2 = Convert.ToDateTime(command.SingleShift2YekShanbe1); - startTimeTowSh1 = Convert.ToDateTime(command.TowShifts1YekShanbe1); - endTimeTowSh2 = Convert.ToDateTime(command.TowShifts2YekShanbe1); - //if (string.IsNullOrWhiteSpace(command.TowShifts1YekShanbe1)) - if ((endTimeSingel2 - starTimeSingel1) >= rest1w1) - endTimeSingel2 = endTimeSingel2.Subtract(rest1w1); - sumRest = sumRest.Add(rest1w1); - - var rotatingCheck = RotatingShiftCheck(starTimeSingel1, endTimeSingel2, startTimeTowSh1, endTimeTowSh2); - rotatingCheck.RotatingDate = test; - rotatingResultList.Add(rotatingCheck); - notHolidays = notHolidays.Add(rotatingCheck.TotalWorkingTime); - Over22 = Over22.Add(rotatingCheck.NightWorkSpan); - } - else - { - starTimeSingel1 = Convert.ToDateTime(command.SingleShift1YekShanbe1); - endTimeSingel2 = Convert.ToDateTime(command.SingleShift2YekShanbe1); - startTimeTowSh1 = Convert.ToDateTime(command.TowShifts1YekShanbe1); - endTimeTowSh2 = Convert.ToDateTime(command.TowShifts2YekShanbe1); - //if (string.IsNullOrWhiteSpace(command.TowShifts1YekShanbe1)) - if ((endTimeSingel2 - starTimeSingel1) >= rest1w1) - endTimeSingel2 = endTimeSingel2.Subtract(rest1w1); - - var rotatingCheck = RotatingShiftCheck(starTimeSingel1, endTimeSingel2, startTimeTowSh1, endTimeTowSh2); - HolidaysAndNot = HolidaysAndNot.Add(rotatingCheck.TotalWorkingTime); - } - } - else if (command.YekShanbe1 && leavId > 0) - { - - } - } - else if (da.Day > w5 && da.Day <= w6) - { - if (command.YekShanbe2 && leavId == 0) - { - var test = $"{da}"; - var checkHoliday = holidayList.Any(x => x == test); - if (checkHoliday == false) - { - i += 1; - SumComplexDays += 1; - starTimeSingel1 = Convert.ToDateTime(command.SingleShift1YekShanbe2); - endTimeSingel2 = Convert.ToDateTime(command.SingleShift2YekShanbe2); - startTimeTowSh1 = Convert.ToDateTime(command.TowShifts1YekShanbe2); - endTimeTowSh2 = Convert.ToDateTime(command.TowShifts2YekShanbe2); - //if (string.IsNullOrWhiteSpace(command.TowShifts1YekShanbe2)) - if ((endTimeSingel2 - starTimeSingel1) >= rest1w2) - endTimeSingel2 = endTimeSingel2.Subtract(rest1w2); - sumRest = sumRest.Add(rest1w2); - - var rotatingCheck = RotatingShiftCheck(starTimeSingel1, endTimeSingel2, startTimeTowSh1, endTimeTowSh2); - rotatingCheck.RotatingDate = test; - rotatingResultList.Add(rotatingCheck); - notHolidays = notHolidays.Add(rotatingCheck.TotalWorkingTime); - Over22 = Over22.Add(rotatingCheck.NightWorkSpan); - } - else - { - starTimeSingel1 = Convert.ToDateTime(command.SingleShift1YekShanbe2); - endTimeSingel2 = Convert.ToDateTime(command.SingleShift2YekShanbe2); - startTimeTowSh1 = Convert.ToDateTime(command.TowShifts1YekShanbe2); - endTimeTowSh2 = Convert.ToDateTime(command.TowShifts2YekShanbe2); - //if (string.IsNullOrWhiteSpace(command.TowShifts1YekShanbe2)) - if ((endTimeSingel2 - starTimeSingel1) >= rest1w2) - endTimeSingel2 = endTimeSingel2.Subtract(rest1w2); - - var rotatingCheck = RotatingShiftCheck(starTimeSingel1, endTimeSingel2, startTimeTowSh1, endTimeTowSh2); - HolidaysAndNot = HolidaysAndNot.Add(rotatingCheck.TotalWorkingTime); - } - } - else if (command.YekShanbe2 && leavId > 0) - { - - } - } - - break; - case "دوشنبه": - if (da.Day <= w1) - { - if (command.DoShanbe1 && leavId == 0) - { - var test = $"{da}"; - var checkHoliday = holidayList.Any(x => x == test); - if (checkHoliday == false) - { - i += 1; - SumComplexDays += 1; - starTimeSingel1 = Convert.ToDateTime(command.SingleShift1DoShanbe1); - endTimeSingel2 = Convert.ToDateTime(command.SingleShift2DoShanbe1); - startTimeTowSh1 = Convert.ToDateTime(command.TowShifts1DoShanbe1); - endTimeTowSh2 = Convert.ToDateTime(command.TowShifts2DoShanbe1); - //if (string.IsNullOrWhiteSpace(command.TowShifts1DoShanbe1)) - if ((endTimeSingel2 - starTimeSingel1) >= rest2w1) - endTimeSingel2 = endTimeSingel2.Subtract(rest2w1); - - sumRest = sumRest.Add(rest2w1); - - var rotatingCheck = RotatingShiftCheck(starTimeSingel1, endTimeSingel2, startTimeTowSh1, endTimeTowSh2); - rotatingCheck.RotatingDate = test; - rotatingResultList.Add(rotatingCheck); - notHolidays = notHolidays.Add(rotatingCheck.TotalWorkingTime); - Over22 = Over22.Add(rotatingCheck.NightWorkSpan); - } - else - { - starTimeSingel1 = Convert.ToDateTime(command.SingleShift1DoShanbe1); - endTimeSingel2 = Convert.ToDateTime(command.SingleShift2DoShanbe1); - startTimeTowSh1 = Convert.ToDateTime(command.TowShifts1DoShanbe1); - endTimeTowSh2 = Convert.ToDateTime(command.TowShifts2DoShanbe1); - //if (string.IsNullOrWhiteSpace(command.TowShifts1DoShanbe1)) - if ((endTimeSingel2 - starTimeSingel1) >= rest2w1) - endTimeSingel2 = endTimeSingel2.Subtract(rest2w1); - - var rotatingCheck = RotatingShiftCheck(starTimeSingel1, endTimeSingel2, startTimeTowSh1, endTimeTowSh2); - HolidaysAndNot = HolidaysAndNot.Add(rotatingCheck.TotalWorkingTime); - } - } - else if (command.DoShanbe1 && leavId > 0) - { - - } - } - else if (da.Day > w1 && da.Day <= w2) - { - if (command.DoShanbe2 && leavId == 0) - { - var test = $"{da}"; - var checkHoliday = holidayList.Any(x => x == test); - if (checkHoliday == false) - { - i += 1; - SumComplexDays += 1; - starTimeSingel1 = Convert.ToDateTime(command.SingleShift1DoShanbe2); - endTimeSingel2 = Convert.ToDateTime(command.SingleShift2DoShanbe2); - startTimeTowSh1 = Convert.ToDateTime(command.TowShifts1DoShanbe2); - endTimeTowSh2 = Convert.ToDateTime(command.TowShifts2DoShanbe2); - // if (string.IsNullOrWhiteSpace(command.TowShifts1DoShanbe2)) - if ((endTimeSingel2 - starTimeSingel1) >= rest2w2) - endTimeSingel2 = endTimeSingel2.Subtract(rest2w2); - sumRest = sumRest.Add(rest2w2); - - var rotatingCheck = RotatingShiftCheck(starTimeSingel1, endTimeSingel2, startTimeTowSh1, endTimeTowSh2); - rotatingCheck.RotatingDate = test; - rotatingResultList.Add(rotatingCheck); - notHolidays = notHolidays.Add(rotatingCheck.TotalWorkingTime); - Over22 = Over22.Add(rotatingCheck.NightWorkSpan); - } - else - { - starTimeSingel1 = Convert.ToDateTime(command.SingleShift1DoShanbe2); - endTimeSingel2 = Convert.ToDateTime(command.SingleShift2DoShanbe2); - startTimeTowSh1 = Convert.ToDateTime(command.TowShifts1DoShanbe2); - endTimeTowSh2 = Convert.ToDateTime(command.TowShifts2DoShanbe2); - //if (string.IsNullOrWhiteSpace(command.TowShifts1DoShanbe2)) - if ((endTimeSingel2 - starTimeSingel1) >= rest2w2) - endTimeSingel2 = endTimeSingel2.Subtract(rest2w2); - - var rotatingCheck = RotatingShiftCheck(starTimeSingel1, endTimeSingel2, startTimeTowSh1, endTimeTowSh2); - HolidaysAndNot = HolidaysAndNot.Add(rotatingCheck.TotalWorkingTime); - } - } - else if (command.DoShanbe2 && leavId > 0) - { - - } - } - else if (da.Day > w2 && da.Day <= w3) - { - if (command.DoShanbe3 && leavId == 0) - { - var test = $"{da}"; - var checkHoliday = holidayList.Any(x => x == test); - if (checkHoliday == false) - { - i += 1; - SumComplexDays += 1; - starTimeSingel1 = Convert.ToDateTime(command.SingleShift1DoShanbe3); - endTimeSingel2 = Convert.ToDateTime(command.SingleShift2DoShanbe3); - startTimeTowSh1 = Convert.ToDateTime(command.TowShifts1DoShanbe3); - endTimeTowSh2 = Convert.ToDateTime(command.TowShifts2DoShanbe3); - //if (string.IsNullOrWhiteSpace(command.TowShifts1DoShanbe3)) - if ((endTimeSingel2 - starTimeSingel1) >= rest2w3) - endTimeSingel2 = endTimeSingel2.Subtract(rest2w3); - sumRest = sumRest.Add(rest2w3); - - var rotatingCheck = RotatingShiftCheck(starTimeSingel1, endTimeSingel2, startTimeTowSh1, endTimeTowSh2); - rotatingCheck.RotatingDate = test; - rotatingResultList.Add(rotatingCheck); - notHolidays = notHolidays.Add(rotatingCheck.TotalWorkingTime); - Over22 = Over22.Add(rotatingCheck.NightWorkSpan); - } - else - { - starTimeSingel1 = Convert.ToDateTime(command.SingleShift1DoShanbe3); - endTimeSingel2 = Convert.ToDateTime(command.SingleShift2DoShanbe3); - startTimeTowSh1 = Convert.ToDateTime(command.TowShifts1DoShanbe3); - endTimeTowSh2 = Convert.ToDateTime(command.TowShifts2DoShanbe3); - //if (string.IsNullOrWhiteSpace(command.TowShifts1DoShanbe3)) - if ((endTimeSingel2 - starTimeSingel1) >= rest2w3) - endTimeSingel2 = endTimeSingel2.Subtract(rest2w3); - - var rotatingCheck = RotatingShiftCheck(starTimeSingel1, endTimeSingel2, startTimeTowSh1, endTimeTowSh2); - HolidaysAndNot = HolidaysAndNot.Add(rotatingCheck.TotalWorkingTime); - } - } - else if (command.DoShanbe3 && leavId > 0) - { - - } - } - else if (da.Day > w3 && da.Day <= w4) - { - if (command.DoShanbe4 && leavId == 0) - { - var test = $"{da}"; - var checkHoliday = holidayList.Any(x => x == test); - if (checkHoliday == false) - { - i += 1; - SumComplexDays += 1; - starTimeSingel1 = Convert.ToDateTime(command.SingleShift1DoShanbe4); - endTimeSingel2 = Convert.ToDateTime(command.SingleShift2DoShanbe4); - startTimeTowSh1 = Convert.ToDateTime(command.TowShifts1DoShanbe4); - endTimeTowSh2 = Convert.ToDateTime(command.TowShifts2DoShanbe4); - //if (string.IsNullOrWhiteSpace(command.TowShifts1DoShanbe4)) - if ((endTimeSingel2 - starTimeSingel1) >= rest2w4) - endTimeSingel2 = endTimeSingel2.Subtract(rest2w4); - sumRest = sumRest.Add(rest2w4); - - var rotatingCheck = RotatingShiftCheck(starTimeSingel1, endTimeSingel2, startTimeTowSh1, endTimeTowSh2); - rotatingCheck.RotatingDate = test; - rotatingResultList.Add(rotatingCheck); - notHolidays = notHolidays.Add(rotatingCheck.TotalWorkingTime); - Over22 = Over22.Add(rotatingCheck.NightWorkSpan); - } - else - { - starTimeSingel1 = Convert.ToDateTime(command.SingleShift1DoShanbe4); - endTimeSingel2 = Convert.ToDateTime(command.SingleShift2DoShanbe4); - startTimeTowSh1 = Convert.ToDateTime(command.TowShifts1DoShanbe4); - endTimeTowSh2 = Convert.ToDateTime(command.TowShifts2DoShanbe4); - // if (string.IsNullOrWhiteSpace(command.TowShifts1DoShanbe4)) - if ((endTimeSingel2 - starTimeSingel1) >= rest2w4) - endTimeSingel2 = endTimeSingel2.Subtract(rest2w4); - - var rotatingCheck = RotatingShiftCheck(starTimeSingel1, endTimeSingel2, startTimeTowSh1, endTimeTowSh2); - HolidaysAndNot = HolidaysAndNot.Add(rotatingCheck.TotalWorkingTime); - } - } - else if (command.DoShanbe4 && leavId > 0) - { - - } - } - else if (da.Day > w4 && da.Day <= w5) - { - if (command.DoShanbe1 && leavId == 0) - { - var test = $"{da}"; - var checkHoliday = holidayList.Any(x => x == test); - if (checkHoliday == false) - { - i += 1; - SumComplexDays += 1; - starTimeSingel1 = Convert.ToDateTime(command.SingleShift1DoShanbe1); - endTimeSingel2 = Convert.ToDateTime(command.SingleShift2DoShanbe1); - startTimeTowSh1 = Convert.ToDateTime(command.TowShifts1DoShanbe1); - endTimeTowSh2 = Convert.ToDateTime(command.TowShifts2DoShanbe1); - //if (string.IsNullOrWhiteSpace(command.TowShifts1DoShanbe1)) - if ((endTimeSingel2 - starTimeSingel1) >= rest2w1) - endTimeSingel2 = endTimeSingel2.Subtract(rest2w1); - sumRest = sumRest.Add(rest2w1); - - var rotatingCheck = RotatingShiftCheck(starTimeSingel1, endTimeSingel2, startTimeTowSh1, endTimeTowSh2); - rotatingCheck.RotatingDate = test; - rotatingResultList.Add(rotatingCheck); - notHolidays = notHolidays.Add(rotatingCheck.TotalWorkingTime); - Over22 = Over22.Add(rotatingCheck.NightWorkSpan); - } - else - { - starTimeSingel1 = Convert.ToDateTime(command.SingleShift1DoShanbe1); - endTimeSingel2 = Convert.ToDateTime(command.SingleShift2DoShanbe1); - startTimeTowSh1 = Convert.ToDateTime(command.TowShifts1DoShanbe1); - endTimeTowSh2 = Convert.ToDateTime(command.TowShifts2DoShanbe1); - //if (string.IsNullOrWhiteSpace(command.TowShifts1DoShanbe1)) - if ((endTimeSingel2 - starTimeSingel1) >= rest2w1) - endTimeSingel2 = endTimeSingel2.Subtract(rest2w1); - - var rotatingCheck = RotatingShiftCheck(starTimeSingel1, endTimeSingel2, startTimeTowSh1, endTimeTowSh2); - HolidaysAndNot = HolidaysAndNot.Add(rotatingCheck.TotalWorkingTime); - } - } - else if (command.DoShanbe1 && leavId > 0) - { - - } - } - else if (da.Day > w5 && da.Day <= w6) - { - if (command.DoShanbe2 && leavId == 0) - { - var test = $"{da}"; - var checkHoliday = holidayList.Any(x => x == test); - if (checkHoliday == false) - { - i += 1; - SumComplexDays += 1; - starTimeSingel1 = Convert.ToDateTime(command.SingleShift1DoShanbe2); - endTimeSingel2 = Convert.ToDateTime(command.SingleShift2DoShanbe2); - startTimeTowSh1 = Convert.ToDateTime(command.TowShifts1DoShanbe2); - endTimeTowSh2 = Convert.ToDateTime(command.TowShifts2DoShanbe2); - //if (string.IsNullOrWhiteSpace(command.TowShifts1DoShanbe2)) - if ((endTimeSingel2 - starTimeSingel1) >= rest2w2) - endTimeSingel2 = endTimeSingel2.Subtract(rest2w2); - sumRest = sumRest.Add(rest2w2); - - var rotatingCheck = RotatingShiftCheck(starTimeSingel1, endTimeSingel2, startTimeTowSh1, endTimeTowSh2); - rotatingCheck.RotatingDate = test; - rotatingResultList.Add(rotatingCheck); - notHolidays = notHolidays.Add(rotatingCheck.TotalWorkingTime); - Over22 = Over22.Add(rotatingCheck.NightWorkSpan); - } - else - { - starTimeSingel1 = Convert.ToDateTime(command.SingleShift1DoShanbe2); - endTimeSingel2 = Convert.ToDateTime(command.SingleShift2DoShanbe2); - startTimeTowSh1 = Convert.ToDateTime(command.TowShifts1DoShanbe2); - endTimeTowSh2 = Convert.ToDateTime(command.TowShifts2DoShanbe2); - //if (string.IsNullOrWhiteSpace(command.TowShifts1DoShanbe2)) - if ((endTimeSingel2 - starTimeSingel1) >= rest2w2) - endTimeSingel2 = endTimeSingel2.Subtract(rest2w2); - - var rotatingCheck = RotatingShiftCheck(starTimeSingel1, endTimeSingel2, startTimeTowSh1, endTimeTowSh2); - HolidaysAndNot = HolidaysAndNot.Add(rotatingCheck.TotalWorkingTime); - } - } - else if (command.DoShanbe2 && leavId > 0) - { - - } - } - - break; - case "سه شنبه": - if (da.Day <= w1) - { - if (command.SeShanbe1 && leavId == 0) - { - var test = $"{da}"; - var checkHoliday = holidayList.Any(x => x == test); - if (checkHoliday == false) - { - i += 1; - SumComplexDays += 1; - starTimeSingel1 = Convert.ToDateTime(command.SingleShift1SeShanbe1); - endTimeSingel2 = Convert.ToDateTime(command.SingleShift2SeShanbe1); - startTimeTowSh1 = Convert.ToDateTime(command.TowShifts1SeShanbe1); - endTimeTowSh2 = Convert.ToDateTime(command.TowShifts2SeShanbe1); - //if (string.IsNullOrWhiteSpace(command.TowShifts1SeShanbe1)) - if ((endTimeSingel2 - starTimeSingel1) >= rest3w1) - endTimeSingel2 = endTimeSingel2.Subtract(rest3w1); - sumRest = sumRest.Add(rest3w1); - - var rotatingCheck = RotatingShiftCheck(starTimeSingel1, endTimeSingel2, startTimeTowSh1, endTimeTowSh2); - rotatingCheck.RotatingDate = test; - rotatingResultList.Add(rotatingCheck); - notHolidays = notHolidays.Add(rotatingCheck.TotalWorkingTime); - Over22 = Over22.Add(rotatingCheck.NightWorkSpan); - } - else - { - starTimeSingel1 = Convert.ToDateTime(command.SingleShift1SeShanbe1); - endTimeSingel2 = Convert.ToDateTime(command.SingleShift2SeShanbe1); - startTimeTowSh1 = Convert.ToDateTime(command.TowShifts1SeShanbe1); - endTimeTowSh2 = Convert.ToDateTime(command.TowShifts2SeShanbe1); - //if (string.IsNullOrWhiteSpace(command.TowShifts1SeShanbe1)) - if ((endTimeSingel2 - starTimeSingel1) >= rest3w1) - endTimeSingel2 = endTimeSingel2.Subtract(rest3w1); - - var rotatingCheck = RotatingShiftCheck(starTimeSingel1, endTimeSingel2, startTimeTowSh1, endTimeTowSh2); - HolidaysAndNot = HolidaysAndNot.Add(rotatingCheck.TotalWorkingTime); - } - } - else if (command.SeShanbe1 && leavId > 0) - { - - } - } - else if (da.Day > w1 && da.Day <= w2) - { - if (command.SeShanbe2 && leavId == 0) - { - var test = $"{da}"; - var checkHoliday = holidayList.Any(x => x == test); - if (checkHoliday == false) - { - i += 1; - SumComplexDays += 1; - starTimeSingel1 = Convert.ToDateTime(command.SingleShift1SeShanbe2); - endTimeSingel2 = Convert.ToDateTime(command.SingleShift2SeShanbe2); - startTimeTowSh1 = Convert.ToDateTime(command.TowShifts1SeShanbe2); - endTimeTowSh2 = Convert.ToDateTime(command.TowShifts2SeShanbe2); - //if (string.IsNullOrWhiteSpace(command.TowShifts1SeShanbe2)) - if ((endTimeSingel2 - starTimeSingel1) >= rest3w2) - endTimeSingel2 = endTimeSingel2.Subtract(rest3w2); - sumRest = sumRest.Add(rest3w2); - - var rotatingCheck = RotatingShiftCheck(starTimeSingel1, endTimeSingel2, startTimeTowSh1, endTimeTowSh2); - rotatingCheck.RotatingDate = test; - rotatingResultList.Add(rotatingCheck); - notHolidays = notHolidays.Add(rotatingCheck.TotalWorkingTime); - Over22 = Over22.Add(rotatingCheck.NightWorkSpan); - } - else - { - starTimeSingel1 = Convert.ToDateTime(command.SingleShift1SeShanbe2); - endTimeSingel2 = Convert.ToDateTime(command.SingleShift2SeShanbe2); - startTimeTowSh1 = Convert.ToDateTime(command.TowShifts1SeShanbe2); - endTimeTowSh2 = Convert.ToDateTime(command.TowShifts2SeShanbe2); - //if (string.IsNullOrWhiteSpace(command.TowShifts1SeShanbe2)) - if ((endTimeSingel2 - starTimeSingel1) >= rest3w2) - endTimeSingel2 = endTimeSingel2.Subtract(rest3w2); - - var rotatingCheck = RotatingShiftCheck(starTimeSingel1, endTimeSingel2, startTimeTowSh1, endTimeTowSh2); - HolidaysAndNot = HolidaysAndNot.Add(rotatingCheck.TotalWorkingTime); - } - } - else if (command.SeShanbe2 && leavId > 0) - { - - } - } - else if (da.Day > w2 && da.Day <= w3) - { - if (command.SeShanbe3 && leavId == 0) - { - var test = $"{da}"; - var checkHoliday = holidayList.Any(x => x == test); - if (checkHoliday == false) - { - i += 1; - SumComplexDays += 1; - starTimeSingel1 = Convert.ToDateTime(command.SingleShift1SeShanbe3); - endTimeSingel2 = Convert.ToDateTime(command.SingleShift2SeShanbe3); - startTimeTowSh1 = Convert.ToDateTime(command.TowShifts1SeShanbe3); - endTimeTowSh2 = Convert.ToDateTime(command.TowShifts2SeShanbe3); - //if (string.IsNullOrWhiteSpace(command.TowShifts1SeShanbe3)) - if ((endTimeSingel2 - starTimeSingel1) >= rest3w3) - endTimeSingel2 = endTimeSingel2.Subtract(rest3w3); - sumRest = sumRest.Add(rest3w3); - - var rotatingCheck = RotatingShiftCheck(starTimeSingel1, endTimeSingel2, startTimeTowSh1, endTimeTowSh2); - rotatingCheck.RotatingDate = test; - rotatingResultList.Add(rotatingCheck); - notHolidays = notHolidays.Add(rotatingCheck.TotalWorkingTime); - Over22 = Over22.Add(rotatingCheck.NightWorkSpan); - } - else - { - starTimeSingel1 = Convert.ToDateTime(command.SingleShift1SeShanbe3); - endTimeSingel2 = Convert.ToDateTime(command.SingleShift2SeShanbe3); - startTimeTowSh1 = Convert.ToDateTime(command.TowShifts1SeShanbe3); - endTimeTowSh2 = Convert.ToDateTime(command.TowShifts2SeShanbe3); - //if (string.IsNullOrWhiteSpace(command.TowShifts1SeShanbe3)) - if ((endTimeSingel2 - starTimeSingel1) >= rest3w3) - endTimeSingel2 = endTimeSingel2.Subtract(rest3w3); - - var rotatingCheck = RotatingShiftCheck(starTimeSingel1, endTimeSingel2, startTimeTowSh1, endTimeTowSh2); - HolidaysAndNot = HolidaysAndNot.Add(rotatingCheck.TotalWorkingTime); - } - } - else if (command.SeShanbe3 && leavId > 0) - { - - } - } - else if (da.Day > w3 && da.Day <= w4) - { - if (command.SeShanbe4 && leavId == 0) - { - var test = $"{da}"; - var checkHoliday = holidayList.Any(x => x == test); - if (checkHoliday == false) - { - i += 1; - SumComplexDays += 1; - starTimeSingel1 = Convert.ToDateTime(command.SingleShift1SeShanbe4); - endTimeSingel2 = Convert.ToDateTime(command.SingleShift2SeShanbe4); - startTimeTowSh1 = Convert.ToDateTime(command.TowShifts1SeShanbe4); - endTimeTowSh2 = Convert.ToDateTime(command.TowShifts2SeShanbe4); - //if (string.IsNullOrWhiteSpace(command.TowShifts1SeShanbe4)) - if ((endTimeSingel2 - starTimeSingel1) >= rest3w4) - endTimeSingel2 = endTimeSingel2.Subtract(rest3w4); - sumRest = sumRest.Add(rest3w4); - - var rotatingCheck = RotatingShiftCheck(starTimeSingel1, endTimeSingel2, startTimeTowSh1, endTimeTowSh2); - rotatingCheck.RotatingDate = test; - rotatingResultList.Add(rotatingCheck); - notHolidays = notHolidays.Add(rotatingCheck.TotalWorkingTime); - Over22 = Over22.Add(rotatingCheck.NightWorkSpan); - } - else - { - starTimeSingel1 = Convert.ToDateTime(command.SingleShift1SeShanbe4); - endTimeSingel2 = Convert.ToDateTime(command.SingleShift2SeShanbe4); - startTimeTowSh1 = Convert.ToDateTime(command.TowShifts1SeShanbe4); - endTimeTowSh2 = Convert.ToDateTime(command.TowShifts2SeShanbe4); - //if (string.IsNullOrWhiteSpace(command.TowShifts1SeShanbe4)) - if ((endTimeSingel2 - starTimeSingel1) >= rest3w4) - endTimeSingel2 = endTimeSingel2.Subtract(rest3w4); - - var rotatingCheck = RotatingShiftCheck(starTimeSingel1, endTimeSingel2, startTimeTowSh1, endTimeTowSh2); - HolidaysAndNot = HolidaysAndNot.Add(rotatingCheck.TotalWorkingTime); - } - } - else if (command.SeShanbe4 && leavId > 0) - { - - } - } - else if (da.Day > w4 && da.Day <= w5) - { - if (command.SeShanbe1 && leavId == 0) - { - var test = $"{da}"; - var checkHoliday = holidayList.Any(x => x == test); - if (checkHoliday == false) - { - i += 1; - SumComplexDays += 1; - starTimeSingel1 = Convert.ToDateTime(command.SingleShift1SeShanbe1); - endTimeSingel2 = Convert.ToDateTime(command.SingleShift2SeShanbe1); - startTimeTowSh1 = Convert.ToDateTime(command.TowShifts1SeShanbe1); - endTimeTowSh2 = Convert.ToDateTime(command.TowShifts2SeShanbe1); - //if (string.IsNullOrWhiteSpace(command.TowShifts1SeShanbe1)) - if ((endTimeSingel2 - starTimeSingel1) >= rest3w1) - endTimeSingel2 = endTimeSingel2.Subtract(rest3w1); - sumRest = sumRest.Add(rest3w1); - - var rotatingCheck = RotatingShiftCheck(starTimeSingel1, endTimeSingel2, startTimeTowSh1, endTimeTowSh2); - rotatingCheck.RotatingDate = test; - rotatingResultList.Add(rotatingCheck); - notHolidays = notHolidays.Add(rotatingCheck.TotalWorkingTime); - Over22 = Over22.Add(rotatingCheck.NightWorkSpan); - } - else - { - starTimeSingel1 = Convert.ToDateTime(command.SingleShift1SeShanbe1); - endTimeSingel2 = Convert.ToDateTime(command.SingleShift2SeShanbe1); - startTimeTowSh1 = Convert.ToDateTime(command.TowShifts1SeShanbe1); - endTimeTowSh2 = Convert.ToDateTime(command.TowShifts2SeShanbe1); - //if (string.IsNullOrWhiteSpace(command.TowShifts1SeShanbe1)) - if ((endTimeSingel2 - starTimeSingel1) >= rest3w1) - endTimeSingel2 = endTimeSingel2.Subtract(rest3w1); - - var rotatingCheck = RotatingShiftCheck(starTimeSingel1, endTimeSingel2, startTimeTowSh1, endTimeTowSh2); - HolidaysAndNot = HolidaysAndNot.Add(rotatingCheck.TotalWorkingTime); - } - } - else if (command.SeShanbe1 && leavId > 0) - { - - } - } - else if (da.Day > w5 && da.Day <= w6) - { - if (command.SeShanbe2 && leavId == 0) - { - var test = $"{da}"; - var checkHoliday = holidayList.Any(x => x == test); - if (checkHoliday == false) - { - i += 1; - SumComplexDays += 1; - starTimeSingel1 = Convert.ToDateTime(command.SingleShift1SeShanbe2); - endTimeSingel2 = Convert.ToDateTime(command.SingleShift2SeShanbe2); - startTimeTowSh1 = Convert.ToDateTime(command.TowShifts1SeShanbe2); - endTimeTowSh2 = Convert.ToDateTime(command.TowShifts2SeShanbe2); - //if (string.IsNullOrWhiteSpace(command.TowShifts1SeShanbe2)) - if ((endTimeSingel2 - starTimeSingel1) >= rest3w2) - endTimeSingel2 = endTimeSingel2.Subtract(rest3w2); - sumRest = sumRest.Add(rest3w2); - - var rotatingCheck = RotatingShiftCheck(starTimeSingel1, endTimeSingel2, startTimeTowSh1, endTimeTowSh2); - rotatingCheck.RotatingDate = test; - rotatingResultList.Add(rotatingCheck); - notHolidays = notHolidays.Add(rotatingCheck.TotalWorkingTime); - Over22 = Over22.Add(rotatingCheck.NightWorkSpan); - } - else - { - starTimeSingel1 = Convert.ToDateTime(command.SingleShift1SeShanbe2); - endTimeSingel2 = Convert.ToDateTime(command.SingleShift2SeShanbe2); - startTimeTowSh1 = Convert.ToDateTime(command.TowShifts1SeShanbe2); - endTimeTowSh2 = Convert.ToDateTime(command.TowShifts2SeShanbe2); - //if (string.IsNullOrWhiteSpace(command.TowShifts1SeShanbe2)) - if ((endTimeSingel2 - starTimeSingel1) >= rest3w2) - endTimeSingel2 = endTimeSingel2.Subtract(rest3w2); - - var rotatingCheck = RotatingShiftCheck(starTimeSingel1, endTimeSingel2, startTimeTowSh1, endTimeTowSh2); - HolidaysAndNot = HolidaysAndNot.Add(rotatingCheck.TotalWorkingTime); - } - } - else if (command.SeShanbe2 && leavId > 0) - { - - } - } - break; - case "چهارشنبه": - if (da.Day <= w1) - { - if (command.CheharShanbe1 && leavId == 0) - { - var test = $"{da}"; - var checkHoliday = holidayList.Any(x => x == test); - if (checkHoliday == false) - { - i += 1; - SumComplexDays += 1; - starTimeSingel1 = Convert.ToDateTime(command.SingleShift1CheharShanbe1); - endTimeSingel2 = Convert.ToDateTime(command.SingleShift2CheharShanbe1); - startTimeTowSh1 = Convert.ToDateTime(command.TowShifts1CheharShanbe1); - endTimeTowSh2 = Convert.ToDateTime(command.TowShifts2CheharShanbe1); - //if (string.IsNullOrWhiteSpace(command.TowShifts1CheharShanbe1)) - if ((endTimeSingel2 - starTimeSingel1) >= rest4w1) - endTimeSingel2 = endTimeSingel2.Subtract(rest4w1); - sumRest = sumRest.Add(rest4w1); - - var rotatingCheck = RotatingShiftCheck(starTimeSingel1, endTimeSingel2, startTimeTowSh1, endTimeTowSh2); - rotatingCheck.RotatingDate = test; - rotatingResultList.Add(rotatingCheck); - notHolidays = notHolidays.Add(rotatingCheck.TotalWorkingTime); - Over22 = Over22.Add(rotatingCheck.NightWorkSpan); - } - else - { - starTimeSingel1 = Convert.ToDateTime(command.SingleShift1CheharShanbe1); - endTimeSingel2 = Convert.ToDateTime(command.SingleShift2CheharShanbe1); - startTimeTowSh1 = Convert.ToDateTime(command.TowShifts1CheharShanbe1); - endTimeTowSh2 = Convert.ToDateTime(command.TowShifts2CheharShanbe1); - //if (string.IsNullOrWhiteSpace(command.TowShifts1CheharShanbe1)) - if ((endTimeSingel2 - starTimeSingel1) >= rest4w1) - endTimeSingel2 = endTimeSingel2.Subtract(rest4w1); - - var rotatingCheck = RotatingShiftCheck(starTimeSingel1, endTimeSingel2, startTimeTowSh1, endTimeTowSh2); - HolidaysAndNot = HolidaysAndNot.Add(rotatingCheck.TotalWorkingTime); - } - } - else if (command.CheharShanbe1 && leavId > 0) - { - - } - } - else if (da.Day > w1 && da.Day <= w2) - { - if (command.CheharShanbe2 && leavId == 0) - { - var test = $"{da}"; - var checkHoliday = holidayList.Any(x => x == test); - if (checkHoliday == false) - { - i += 1; - SumComplexDays += 1; - starTimeSingel1 = Convert.ToDateTime(command.SingleShift1CheharShanbe2); - endTimeSingel2 = Convert.ToDateTime(command.SingleShift2CheharShanbe2); - startTimeTowSh1 = Convert.ToDateTime(command.TowShifts1CheharShanbe2); - endTimeTowSh2 = Convert.ToDateTime(command.TowShifts2CheharShanbe2); - //if (string.IsNullOrWhiteSpace(command.TowShifts1CheharShanbe2)) - if ((endTimeSingel2 - starTimeSingel1) >= rest4w2) - endTimeSingel2 = endTimeSingel2.Subtract(rest4w2); - sumRest = sumRest.Add(rest4w2); - - var rotatingCheck = RotatingShiftCheck(starTimeSingel1, endTimeSingel2, startTimeTowSh1, endTimeTowSh2); - rotatingCheck.RotatingDate = test; - rotatingResultList.Add(rotatingCheck); - notHolidays = notHolidays.Add(rotatingCheck.TotalWorkingTime); - Over22 = Over22.Add(rotatingCheck.NightWorkSpan); - } - else - { - starTimeSingel1 = Convert.ToDateTime(command.SingleShift1CheharShanbe2); - endTimeSingel2 = Convert.ToDateTime(command.SingleShift2CheharShanbe2); - startTimeTowSh1 = Convert.ToDateTime(command.TowShifts1CheharShanbe2); - endTimeTowSh2 = Convert.ToDateTime(command.TowShifts2CheharShanbe2); - //if (string.IsNullOrWhiteSpace(command.TowShifts1CheharShanbe2)) - if ((endTimeSingel2 - starTimeSingel1) >= rest4w2) - endTimeSingel2 = endTimeSingel2.Subtract(rest4w2); - - var rotatingCheck = RotatingShiftCheck(starTimeSingel1, endTimeSingel2, startTimeTowSh1, endTimeTowSh2); - HolidaysAndNot = HolidaysAndNot.Add(rotatingCheck.TotalWorkingTime); - } - } - else if (command.CheharShanbe2 && leavId > 0) - { - - } - } - else if (da.Day > w2 && da.Day <= w3) - { - if (command.CheharShanbe3 && leavId == 0) - { - var test = $"{da}"; - var checkHoliday = holidayList.Any(x => x == test); - if (checkHoliday == false) - { - i += 1; - SumComplexDays += 1; - starTimeSingel1 = Convert.ToDateTime(command.SingleShift1CheharShanbe3); - endTimeSingel2 = Convert.ToDateTime(command.SingleShift2CheharShanbe3); - startTimeTowSh1 = Convert.ToDateTime(command.TowShifts1CheharShanbe3); - endTimeTowSh2 = Convert.ToDateTime(command.TowShifts2CheharShanbe3); - //if (string.IsNullOrWhiteSpace(command.TowShifts1CheharShanbe3)) - if ((endTimeSingel2 - starTimeSingel1) >= rest4w3) - endTimeSingel2 = endTimeSingel2.Subtract(rest4w3); - sumRest = sumRest.Add(rest4w3); - - var rotatingCheck = RotatingShiftCheck(starTimeSingel1, endTimeSingel2, startTimeTowSh1, endTimeTowSh2); - rotatingCheck.RotatingDate = test; - rotatingResultList.Add(rotatingCheck); - notHolidays = notHolidays.Add(rotatingCheck.TotalWorkingTime); - Over22 = Over22.Add(rotatingCheck.NightWorkSpan); - } - else - { - starTimeSingel1 = Convert.ToDateTime(command.SingleShift1CheharShanbe3); - endTimeSingel2 = Convert.ToDateTime(command.SingleShift2CheharShanbe3); - startTimeTowSh1 = Convert.ToDateTime(command.TowShifts1CheharShanbe3); - endTimeTowSh2 = Convert.ToDateTime(command.TowShifts2CheharShanbe3); - // if (string.IsNullOrWhiteSpace(command.TowShifts1CheharShanbe3)) - if ((endTimeSingel2 - starTimeSingel1) >= rest4w3) - endTimeSingel2 = endTimeSingel2.Subtract(rest4w3); - - var rotatingCheck = RotatingShiftCheck(starTimeSingel1, endTimeSingel2, startTimeTowSh1, endTimeTowSh2); - HolidaysAndNot = HolidaysAndNot.Add(rotatingCheck.TotalWorkingTime); - } - } - else if (command.CheharShanbe3 && leavId > 0) - { - - } - } - else if (da.Day > w3 && da.Day <= w4) - { - if (command.CheharShanbe4 && leavId == 0) - { - var test = $"{da}"; - var checkHoliday = holidayList.Any(x => x == test); - if (checkHoliday == false) - { - i += 1; - SumComplexDays += 1; - starTimeSingel1 = Convert.ToDateTime(command.SingleShift1CheharShanbe4); - endTimeSingel2 = Convert.ToDateTime(command.SingleShift2CheharShanbe4); - startTimeTowSh1 = Convert.ToDateTime(command.TowShifts1CheharShanbe4); - endTimeTowSh2 = Convert.ToDateTime(command.TowShifts2CheharShanbe4); - //if (string.IsNullOrWhiteSpace(command.TowShifts1CheharShanbe4)) - if ((endTimeSingel2 - starTimeSingel1) >= rest4w4) - endTimeSingel2 = endTimeSingel2.Subtract(rest4w4); - sumRest = sumRest.Add(rest4w4); - - var rotatingCheck = RotatingShiftCheck(starTimeSingel1, endTimeSingel2, startTimeTowSh1, endTimeTowSh2); - rotatingCheck.RotatingDate = test; - rotatingResultList.Add(rotatingCheck); - notHolidays = notHolidays.Add(rotatingCheck.TotalWorkingTime); - Over22 = Over22.Add(rotatingCheck.NightWorkSpan); - } - else - { - starTimeSingel1 = Convert.ToDateTime(command.SingleShift1CheharShanbe4); - endTimeSingel2 = Convert.ToDateTime(command.SingleShift2CheharShanbe4); - startTimeTowSh1 = Convert.ToDateTime(command.TowShifts1CheharShanbe4); - endTimeTowSh2 = Convert.ToDateTime(command.TowShifts2CheharShanbe4); - // if (string.IsNullOrWhiteSpace(command.TowShifts1CheharShanbe4)) - if ((endTimeSingel2 - starTimeSingel1) >= rest4w4) - endTimeSingel2 = endTimeSingel2.Subtract(rest4w4); - - var rotatingCheck = RotatingShiftCheck(starTimeSingel1, endTimeSingel2, startTimeTowSh1, endTimeTowSh2); - HolidaysAndNot = HolidaysAndNot.Add(rotatingCheck.TotalWorkingTime); - } - } - else if (command.CheharShanbe4 && leavId > 0) - { - - } - } - else if (da.Day > w4 && da.Day <= w5) - { - if (command.CheharShanbe1 && leavId == 0) - { - var test = $"{da}"; - var checkHoliday = holidayList.Any(x => x == test); - if (checkHoliday == false) - { - i += 1; - SumComplexDays += 1; - starTimeSingel1 = Convert.ToDateTime(command.SingleShift1CheharShanbe1); - endTimeSingel2 = Convert.ToDateTime(command.SingleShift2CheharShanbe1); - startTimeTowSh1 = Convert.ToDateTime(command.TowShifts1CheharShanbe1); - endTimeTowSh2 = Convert.ToDateTime(command.TowShifts2CheharShanbe1); - //if (string.IsNullOrWhiteSpace(command.TowShifts1CheharShanbe1)) - if ((endTimeSingel2 - starTimeSingel1) >= rest4w1) - endTimeSingel2 = endTimeSingel2.Subtract(rest4w1); - sumRest = sumRest.Add(rest4w1); - - var rotatingCheck = RotatingShiftCheck(starTimeSingel1, endTimeSingel2, startTimeTowSh1, endTimeTowSh2); - rotatingCheck.RotatingDate = test; - rotatingResultList.Add(rotatingCheck); - notHolidays = notHolidays.Add(rotatingCheck.TotalWorkingTime); - Over22 = Over22.Add(rotatingCheck.NightWorkSpan); - } - else - { - starTimeSingel1 = Convert.ToDateTime(command.SingleShift1CheharShanbe1); - endTimeSingel2 = Convert.ToDateTime(command.SingleShift2CheharShanbe1); - startTimeTowSh1 = Convert.ToDateTime(command.TowShifts1CheharShanbe1); - endTimeTowSh2 = Convert.ToDateTime(command.TowShifts2CheharShanbe1); - // if (string.IsNullOrWhiteSpace(command.TowShifts1CheharShanbe1)) - if ((endTimeSingel2 - starTimeSingel1) >= rest4w1) - endTimeSingel2 = endTimeSingel2.Subtract(rest4w1); - - var rotatingCheck = RotatingShiftCheck(starTimeSingel1, endTimeSingel2, startTimeTowSh1, endTimeTowSh2); - HolidaysAndNot = HolidaysAndNot.Add(rotatingCheck.TotalWorkingTime); - } - } - else if (command.CheharShanbe1 && leavId > 0) - { - - } - } - else if (da.Day > w5 && da.Day <= w6) - { - if (command.CheharShanbe2 && leavId == 0) - { - var test = $"{da}"; - var checkHoliday = holidayList.Any(x => x == test); - if (checkHoliday == false) - { - i += 1; - SumComplexDays += 1; - starTimeSingel1 = Convert.ToDateTime(command.SingleShift1CheharShanbe2); - endTimeSingel2 = Convert.ToDateTime(command.SingleShift2CheharShanbe2); - startTimeTowSh1 = Convert.ToDateTime(command.TowShifts1CheharShanbe2); - endTimeTowSh2 = Convert.ToDateTime(command.TowShifts2CheharShanbe2); - //if (string.IsNullOrWhiteSpace(command.TowShifts1CheharShanbe2)) - if ((endTimeSingel2 - starTimeSingel1) >= rest4w2) - endTimeSingel2 = endTimeSingel2.Subtract(rest4w2); - sumRest = sumRest.Add(rest4w2); - - var rotatingCheck = RotatingShiftCheck(starTimeSingel1, endTimeSingel2, startTimeTowSh1, endTimeTowSh2); - rotatingCheck.RotatingDate = test; - rotatingResultList.Add(rotatingCheck); - notHolidays = notHolidays.Add(rotatingCheck.TotalWorkingTime); - Over22 = Over22.Add(rotatingCheck.NightWorkSpan); - } - else - { - starTimeSingel1 = Convert.ToDateTime(command.SingleShift1CheharShanbe2); - endTimeSingel2 = Convert.ToDateTime(command.SingleShift2CheharShanbe2); - startTimeTowSh1 = Convert.ToDateTime(command.TowShifts1CheharShanbe2); - endTimeTowSh2 = Convert.ToDateTime(command.TowShifts2CheharShanbe2); - //if (string.IsNullOrWhiteSpace(command.TowShifts1CheharShanbe2)) - if ((endTimeSingel2 - starTimeSingel1) >= rest4w2) - endTimeSingel2 = endTimeSingel2.Subtract(rest4w2); - - var rotatingCheck = RotatingShiftCheck(starTimeSingel1, endTimeSingel2, startTimeTowSh1, endTimeTowSh2); - HolidaysAndNot = HolidaysAndNot.Add(rotatingCheck.TotalWorkingTime); - } - } - else if (command.CheharShanbe2 && leavId > 0) - { - - } - } - break; - case "پنج شنبه": - if (da.Day <= w1) - { - if (command.PanjShanbe1 && leavId == 0) - { - var test = $"{da}"; - var checkHoliday = holidayList.Any(x => x == test); - if (checkHoliday == false) - { - i += 1; - SumComplexDays += 1; - starTimeSingel1 = Convert.ToDateTime(command.SingleShift1PanjShanbe1); - endTimeSingel2 = Convert.ToDateTime(command.SingleShift2PanjShanbe1); - startTimeTowSh1 = Convert.ToDateTime(command.TowShifts1PanjShanbe1); - endTimeTowSh2 = Convert.ToDateTime(command.TowShifts2PanjShanbe1); - //if (string.IsNullOrWhiteSpace(command.TowShifts1PanjShanbe1)) - if ((endTimeSingel2 - starTimeSingel1) >= rest5w1) - endTimeSingel2 = endTimeSingel2.Subtract(rest5w1); - sumRest = sumRest.Add(rest5w1); - - var rotatingCheck = RotatingShiftCheck(starTimeSingel1, endTimeSingel2, startTimeTowSh1, endTimeTowSh2); - rotatingCheck.RotatingDate = test; - rotatingResultList.Add(rotatingCheck); - notHolidays = notHolidays.Add(rotatingCheck.TotalWorkingTime); - Over22 = Over22.Add(rotatingCheck.NightWorkSpan); - } - else - { - starTimeSingel1 = Convert.ToDateTime(command.SingleShift1PanjShanbe1); - endTimeSingel2 = Convert.ToDateTime(command.SingleShift2PanjShanbe1); - startTimeTowSh1 = Convert.ToDateTime(command.TowShifts1PanjShanbe1); - endTimeTowSh2 = Convert.ToDateTime(command.TowShifts2PanjShanbe1); - // if (string.IsNullOrWhiteSpace(command.TowShifts1PanjShanbe1)) - if ((endTimeSingel2 - starTimeSingel1) >= rest5w1) - endTimeSingel2 = endTimeSingel2.Subtract(rest5w1); - - var rotatingCheck = RotatingShiftCheck(starTimeSingel1, endTimeSingel2, startTimeTowSh1, endTimeTowSh2); - HolidaysAndNot = HolidaysAndNot.Add(rotatingCheck.TotalWorkingTime); - } - } - else if (command.PanjShanbe1 && leavId > 0) - { - - } - } - else if (da.Day > w1 && da.Day <= w2) - { - if (command.PanjShanbe2 && leavId == 0) - { - var test = $"{da}"; - var checkHoliday = holidayList.Any(x => x == test); - if (checkHoliday == false) - { - i += 1; - SumComplexDays += 1; - starTimeSingel1 = Convert.ToDateTime(command.SingleShift1PanjShanbe2); - endTimeSingel2 = Convert.ToDateTime(command.SingleShift2PanjShanbe2); - startTimeTowSh1 = Convert.ToDateTime(command.TowShifts1PanjShanbe2); - endTimeTowSh2 = Convert.ToDateTime(command.TowShifts2PanjShanbe2); - // if (string.IsNullOrWhiteSpace(command.TowShifts1PanjShanbe2)) - if ((endTimeSingel2 - starTimeSingel1) >= rest5w2) - endTimeSingel2 = endTimeSingel2.Subtract(rest5w2); - sumRest = sumRest.Add(rest5w2); - - var rotatingCheck = RotatingShiftCheck(starTimeSingel1, endTimeSingel2, startTimeTowSh1, endTimeTowSh2); - rotatingCheck.RotatingDate = test; - rotatingResultList.Add(rotatingCheck); - notHolidays = notHolidays.Add(rotatingCheck.TotalWorkingTime); - Over22 = Over22.Add(rotatingCheck.NightWorkSpan); - } - else - { - starTimeSingel1 = Convert.ToDateTime(command.SingleShift1PanjShanbe2); - endTimeSingel2 = Convert.ToDateTime(command.SingleShift2PanjShanbe2); - startTimeTowSh1 = Convert.ToDateTime(command.TowShifts1PanjShanbe2); - endTimeTowSh2 = Convert.ToDateTime(command.TowShifts2PanjShanbe2); - //if (string.IsNullOrWhiteSpace(command.TowShifts1PanjShanbe2)) - if ((endTimeSingel2 - starTimeSingel1) >= rest5w2) - endTimeSingel2 = endTimeSingel2.Subtract(rest5w2); - - var rotatingCheck = RotatingShiftCheck(starTimeSingel1, endTimeSingel2, startTimeTowSh1, endTimeTowSh2); - HolidaysAndNot = HolidaysAndNot.Add(rotatingCheck.TotalWorkingTime); - } - } - else if (command.PanjShanbe2 && leavId > 0) - { - - } - } - else if (da.Day > w2 && da.Day <= w3) - { - if (command.PanjShanbe3 && leavId == 0) - { - var test = $"{da}"; - var checkHoliday = holidayList.Any(x => x == test); - if (checkHoliday == false) - { - i += 1; - SumComplexDays += 1; - starTimeSingel1 = Convert.ToDateTime(command.SingleShift1PanjShanbe3); - endTimeSingel2 = Convert.ToDateTime(command.SingleShift2PanjShanbe3); - startTimeTowSh1 = Convert.ToDateTime(command.TowShifts1PanjShanbe3); - endTimeTowSh2 = Convert.ToDateTime(command.TowShifts2PanjShanbe3); - //if (string.IsNullOrWhiteSpace(command.TowShifts1PanjShanbe3)) - if ((endTimeSingel2 - starTimeSingel1) >= rest5w3) - endTimeSingel2 = endTimeSingel2.Subtract(rest5w3); - sumRest = sumRest.Add(rest5w3); - - var rotatingCheck = RotatingShiftCheck(starTimeSingel1, endTimeSingel2, startTimeTowSh1, endTimeTowSh2); - rotatingCheck.RotatingDate = test; - rotatingResultList.Add(rotatingCheck); - notHolidays = notHolidays.Add(rotatingCheck.TotalWorkingTime); - Over22 = Over22.Add(rotatingCheck.NightWorkSpan); - } - else - { - starTimeSingel1 = Convert.ToDateTime(command.SingleShift1PanjShanbe3); - endTimeSingel2 = Convert.ToDateTime(command.SingleShift2PanjShanbe3); - startTimeTowSh1 = Convert.ToDateTime(command.TowShifts1PanjShanbe3); - endTimeTowSh2 = Convert.ToDateTime(command.TowShifts2PanjShanbe3); - //if (string.IsNullOrWhiteSpace(command.TowShifts1PanjShanbe3)) - if ((endTimeSingel2 - starTimeSingel1) >= rest5w3) - endTimeSingel2 = endTimeSingel2.Subtract(rest5w3); - - var rotatingCheck = RotatingShiftCheck(starTimeSingel1, endTimeSingel2, startTimeTowSh1, endTimeTowSh2); - HolidaysAndNot = HolidaysAndNot.Add(rotatingCheck.TotalWorkingTime); - } - } - else if (command.PanjShanbe3 && leavId > 0) - { - - } - } - else if (da.Day > w3 && da.Day <= w4) - { - if (command.PanjShanbe4 && leavId == 0) - { - var test = $"{da}"; - var checkHoliday = holidayList.Any(x => x == test); - if (checkHoliday == false) - { - i += 1; - SumComplexDays += 1; - starTimeSingel1 = Convert.ToDateTime(command.SingleShift1PanjShanbe4); - endTimeSingel2 = Convert.ToDateTime(command.SingleShift2PanjShanbe4); - startTimeTowSh1 = Convert.ToDateTime(command.TowShifts1PanjShanbe4); - endTimeTowSh2 = Convert.ToDateTime(command.TowShifts2PanjShanbe4); - //if (string.IsNullOrWhiteSpace(command.TowShifts1PanjShanbe4)) - if ((endTimeSingel2 - starTimeSingel1) >= rest5w4) - endTimeSingel2 = endTimeSingel2.Subtract(rest5w4); - sumRest = sumRest.Add(rest5w4); - - var rotatingCheck = RotatingShiftCheck(starTimeSingel1, endTimeSingel2, startTimeTowSh1, endTimeTowSh2); - rotatingCheck.RotatingDate = test; - rotatingResultList.Add(rotatingCheck); - notHolidays = notHolidays.Add(rotatingCheck.TotalWorkingTime); - Over22 = Over22.Add(rotatingCheck.NightWorkSpan); - } - else - { - starTimeSingel1 = Convert.ToDateTime(command.SingleShift1PanjShanbe4); - endTimeSingel2 = Convert.ToDateTime(command.SingleShift2PanjShanbe4); - startTimeTowSh1 = Convert.ToDateTime(command.TowShifts1PanjShanbe4); - endTimeTowSh2 = Convert.ToDateTime(command.TowShifts2PanjShanbe4); - //if (string.IsNullOrWhiteSpace(command.TowShifts1PanjShanbe4)) - if ((endTimeSingel2 - starTimeSingel1) >= rest5w4) - endTimeSingel2 = endTimeSingel2.Subtract(rest5w4); - - var rotatingCheck = RotatingShiftCheck(starTimeSingel1, endTimeSingel2, startTimeTowSh1, endTimeTowSh2); - HolidaysAndNot = HolidaysAndNot.Add(rotatingCheck.TotalWorkingTime); - } - } - else if (command.PanjShanbe4 && leavId > 0) - { - - } - } - else if (da.Day > w4 && da.Day <= w5) - { - if (command.PanjShanbe1 && leavId == 0) - { - var test = $"{da}"; - var checkHoliday = holidayList.Any(x => x == test); - if (checkHoliday == false) - { - i += 1; - SumComplexDays += 1; - starTimeSingel1 = Convert.ToDateTime(command.SingleShift1PanjShanbe1); - endTimeSingel2 = Convert.ToDateTime(command.SingleShift2PanjShanbe1); - startTimeTowSh1 = Convert.ToDateTime(command.TowShifts1PanjShanbe1); - endTimeTowSh2 = Convert.ToDateTime(command.TowShifts2PanjShanbe1); - //if (string.IsNullOrWhiteSpace(command.TowShifts1PanjShanbe1)) - if ((endTimeSingel2 - starTimeSingel1) >= rest5w1) - endTimeSingel2 = endTimeSingel2.Subtract(rest5w1); - sumRest = sumRest.Add(rest5w1); - - var rotatingCheck = RotatingShiftCheck(starTimeSingel1, endTimeSingel2, startTimeTowSh1, endTimeTowSh2); - rotatingCheck.RotatingDate = test; - rotatingResultList.Add(rotatingCheck); - notHolidays = notHolidays.Add(rotatingCheck.TotalWorkingTime); - Over22 = Over22.Add(rotatingCheck.NightWorkSpan); - } - else - { - starTimeSingel1 = Convert.ToDateTime(command.SingleShift1PanjShanbe1); - endTimeSingel2 = Convert.ToDateTime(command.SingleShift2PanjShanbe1); - startTimeTowSh1 = Convert.ToDateTime(command.TowShifts1PanjShanbe1); - endTimeTowSh2 = Convert.ToDateTime(command.TowShifts2PanjShanbe1); - //if (string.IsNullOrWhiteSpace(command.TowShifts1PanjShanbe1)) - if ((endTimeSingel2 - starTimeSingel1) >= rest5w1) - endTimeSingel2 = endTimeSingel2.Subtract(rest5w1); - - var rotatingCheck = RotatingShiftCheck(starTimeSingel1, endTimeSingel2, startTimeTowSh1, endTimeTowSh2); - HolidaysAndNot = HolidaysAndNot.Add(rotatingCheck.TotalWorkingTime); - } - } - else if (command.PanjShanbe1 && leavId > 0) - { - - } - } - else if (da.Day > w5 && da.Day <= w6) - { - if (command.PanjShanbe2 && leavId == 0) - { - var test = $"{da}"; - var checkHoliday = holidayList.Any(x => x == test); - if (checkHoliday == false) - { - i += 1; - SumComplexDays += 1; - starTimeSingel1 = Convert.ToDateTime(command.SingleShift1PanjShanbe2); - endTimeSingel2 = Convert.ToDateTime(command.SingleShift2PanjShanbe2); - startTimeTowSh1 = Convert.ToDateTime(command.TowShifts1PanjShanbe2); - endTimeTowSh2 = Convert.ToDateTime(command.TowShifts2PanjShanbe2); - //if (string.IsNullOrWhiteSpace(command.TowShifts1PanjShanbe2)) - if ((endTimeSingel2 - starTimeSingel1) >= rest5w2) - endTimeSingel2 = endTimeSingel2.Subtract(rest5w2); - sumRest = sumRest.Add(rest5w2); - - var rotatingCheck = RotatingShiftCheck(starTimeSingel1, endTimeSingel2, startTimeTowSh1, endTimeTowSh2); - rotatingCheck.RotatingDate = test; - rotatingResultList.Add(rotatingCheck); - notHolidays = notHolidays.Add(rotatingCheck.TotalWorkingTime); - Over22 = Over22.Add(rotatingCheck.NightWorkSpan); - } - else - { - starTimeSingel1 = Convert.ToDateTime(command.SingleShift1PanjShanbe2); - endTimeSingel2 = Convert.ToDateTime(command.SingleShift2PanjShanbe2); - startTimeTowSh1 = Convert.ToDateTime(command.TowShifts1PanjShanbe2); - endTimeTowSh2 = Convert.ToDateTime(command.TowShifts2PanjShanbe2); - //if (string.IsNullOrWhiteSpace(command.TowShifts1PanjShanbe2)) - if ((endTimeSingel2 - starTimeSingel1) >= rest5w2) - endTimeSingel2 = endTimeSingel2.Subtract(rest5w2); - - var rotatingCheck = RotatingShiftCheck(starTimeSingel1, endTimeSingel2, startTimeTowSh1, endTimeTowSh2); - HolidaysAndNot = HolidaysAndNot.Add(rotatingCheck.TotalWorkingTime); - } - } - else if (command.PanjShanbe2 && leavId > 0) - { - - } - } - break; - case "جمعه": - if (da.Day <= w1) - { - if (command.Jome1 && leavId == 0) - { - var test = $"{da}"; - - - i6 += 1; - SumComplexDays += 1; - starTimeSingel1 = Convert.ToDateTime(command.SingleShift1Jome1); - endTimeSingel2 = Convert.ToDateTime(command.SingleShift2Jome1); - startTimeTowSh1 = Convert.ToDateTime(command.TowShifts1Jome1); - endTimeTowSh2 = Convert.ToDateTime(command.TowShifts2Jome1); - //if (string.IsNullOrWhiteSpace(command.TowShifts1Jome1)) - if ((endTimeSingel2 - starTimeSingel1) >= rest6w1) - endTimeSingel2 = endTimeSingel2.Subtract(rest6w1); - sumRest = sumRest.Add(rest6w1); - - var rotatingCheck = RotatingShiftCheck(starTimeSingel1, endTimeSingel2, startTimeTowSh1, endTimeTowSh2); - rotatingCheck.RotatingDate = test; - rotatingResultList.Add(rotatingCheck); - jomeh = jomeh.Add(rotatingCheck.TotalWorkingTime); - Over22 = Over22.Add(rotatingCheck.NightWorkSpan); - - } - else if (command.Jome1 && leavId > 0) - { - - } - } - else if (da.Day > w1 && da.Day <= w2) - { - if (command.Jome2 && leavId == 0) - { - var test = $"{da}"; - - i6 += 1; - SumComplexDays += 1; - starTimeSingel1 = Convert.ToDateTime(command.SingleShift1Jome2); - endTimeSingel2 = Convert.ToDateTime(command.SingleShift2Jome2); - startTimeTowSh1 = Convert.ToDateTime(command.TowShifts1Jome2); - endTimeTowSh2 = Convert.ToDateTime(command.TowShifts2Jome2); - //if (string.IsNullOrWhiteSpace(command.TowShifts1Jome2)) - if ((endTimeSingel2 - starTimeSingel1) >= rest6w2) - endTimeSingel2 = endTimeSingel2.Subtract(rest6w2); - sumRest = sumRest.Add(rest6w2); - - var rotatingCheck = RotatingShiftCheck(starTimeSingel1, endTimeSingel2, startTimeTowSh1, endTimeTowSh2); - rotatingCheck.RotatingDate = test; - rotatingResultList.Add(rotatingCheck); - jomeh = jomeh.Add(rotatingCheck.TotalWorkingTime); - Over22 = Over22.Add(rotatingCheck.NightWorkSpan); - - } - else if (command.Jome2 && leavId > 0) - { - - } - - } - else if (da.Day > w2 && da.Day <= w3) - { - if (command.Jome3 && leavId == 0) - { - var test = $"{da}"; - - i6 += 1; - SumComplexDays += 1; - starTimeSingel1 = Convert.ToDateTime(command.SingleShift1Jome3); - endTimeSingel2 = Convert.ToDateTime(command.SingleShift2Jome3); - startTimeTowSh1 = Convert.ToDateTime(command.TowShifts1Jome3); - endTimeTowSh2 = Convert.ToDateTime(command.TowShifts2Jome3); - //if (string.IsNullOrWhiteSpace(command.TowShifts1Jome3)) - if ((endTimeSingel2 - starTimeSingel1) >= rest6w3) - endTimeSingel2 = endTimeSingel2.Subtract(rest6w3); - sumRest = sumRest.Add(rest6w3); - - var rotatingCheck = RotatingShiftCheck(starTimeSingel1, endTimeSingel2, startTimeTowSh1, endTimeTowSh2); - rotatingCheck.RotatingDate = test; - rotatingResultList.Add(rotatingCheck); - jomeh = jomeh.Add(rotatingCheck.TotalWorkingTime); - Over22 = Over22.Add(rotatingCheck.NightWorkSpan); - } - else if (command.Jome3 && leavId > 0) - { - - } - } - else if (da.Day > w3 && da.Day <= w4) - { - if (command.Jome4 && leavId == 0) - { - var test = $"{da}"; - - i6 += 1; - SumComplexDays += 1; - starTimeSingel1 = Convert.ToDateTime(command.SingleShift1Jome4); - endTimeSingel2 = Convert.ToDateTime(command.SingleShift2Jome4); - startTimeTowSh1 = Convert.ToDateTime(command.TowShifts1Jome4); - endTimeTowSh2 = Convert.ToDateTime(command.TowShifts2Jome4); - //if (string.IsNullOrWhiteSpace(command.TowShifts1Jome4)) - if ((endTimeSingel2 - starTimeSingel1) >= rest6w4) - endTimeSingel2 = endTimeSingel2.Subtract(rest6w4); - sumRest = sumRest.Add(rest6w4); - - var rotatingCheck = RotatingShiftCheck(starTimeSingel1, endTimeSingel2, startTimeTowSh1, endTimeTowSh2); - rotatingCheck.RotatingDate = test; - rotatingResultList.Add(rotatingCheck); - jomeh = jomeh.Add(rotatingCheck.TotalWorkingTime); - Over22 = Over22.Add(rotatingCheck.NightWorkSpan); - - } - else if (command.Jome4 && leavId > 0) - { - - } - } - else if (da.Day > w4 && da.Day <= w5) - { - if (command.Jome1 && leavId == 0) - { - var test = $"{da}"; - - i6 += 1; - SumComplexDays += 1; - starTimeSingel1 = Convert.ToDateTime(command.SingleShift1Jome1); - endTimeSingel2 = Convert.ToDateTime(command.SingleShift2Jome1); - startTimeTowSh1 = Convert.ToDateTime(command.TowShifts1Jome1); - endTimeTowSh2 = Convert.ToDateTime(command.TowShifts2Jome1); - // if (string.IsNullOrWhiteSpace(command.TowShifts1Jome1)) - if ((endTimeSingel2 - starTimeSingel1) >= rest6w1) - endTimeSingel2 = endTimeSingel2.Subtract(rest6w1); - sumRest = sumRest.Add(rest6w1); - - var rotatingCheck = RotatingShiftCheck(starTimeSingel1, endTimeSingel2, startTimeTowSh1, endTimeTowSh2); - rotatingCheck.RotatingDate = test; - rotatingResultList.Add(rotatingCheck); - jomeh = jomeh.Add(rotatingCheck.TotalWorkingTime); - Over22 = Over22.Add(rotatingCheck.NightWorkSpan); - - } - else if (command.Jome1 && leavId > 0) - { - - } - } - else if (da.Day > w5 && da.Day <= w6) - { - if (command.Jome2 && leavId == 0) - { - var test = $"{da}"; - - i6 += 1; - SumComplexDays += 1; - starTimeSingel1 = Convert.ToDateTime(command.SingleShift1Jome2); - endTimeSingel2 = Convert.ToDateTime(command.SingleShift2Jome2); - startTimeTowSh1 = Convert.ToDateTime(command.TowShifts1Jome2); - endTimeTowSh2 = Convert.ToDateTime(command.TowShifts2Jome2); - //if (string.IsNullOrWhiteSpace(command.TowShifts1Jome2)) - if ((endTimeSingel2 - starTimeSingel1) >= rest6w2) - endTimeSingel2 = endTimeSingel2.Subtract(rest6w2); - sumRest = sumRest.Add(rest6w2); - - var rotatingCheck = RotatingShiftCheck(starTimeSingel1, endTimeSingel2, startTimeTowSh1, endTimeTowSh2); - rotatingCheck.RotatingDate = test; - rotatingResultList.Add(rotatingCheck); - jomeh = jomeh.Add(rotatingCheck.TotalWorkingTime); - Over22 = Over22.Add(rotatingCheck.NightWorkSpan); - - } - else if (command.Jome2 && leavId > 0) - { - - } - } - break; - - } - - - - if (da.DayOfWeek != "جمعه") - { - var testDay = $"{da}"; - var IsHoliday = holidayList.Any(x => x == testDay); - if (IsHoliday) - { - OfficialHoliday += 1; - } - - } - else - { - FridayStartToEnd += 1; - } - - - - } - - rotatingResultList = rotatingResultList.Where(x => - x.IsMorningShift == true || x.IsEveningShift == true || x.IsNightShift == true).ToList(); - - } - - #endregion - - #region ComplexCompute - - - else if (command.ShiftWork == "5")//12-24 - { - var now = DateTime.Now; - var sdate2 = command.ContarctStart.ToEnglishNumber(); - var edate2 = command.ContractEnd.ToEnglishNumber(); - var syear2 = Convert.ToInt32(sdate.Substring(0, 4)); - var smonth2 = Convert.ToInt32(sdate.Substring(5, 2)); - var sday2 = Convert.ToInt32(sdate.Substring(8, 2)); - - var eyear2 = Convert.ToInt32(edate.Substring(0, 4)); - var emonth2 = Convert.ToInt32(edate.Substring(5, 2)); - var eday2 = Convert.ToInt32(edate.Substring(8, 2)); - - var d1b = new PersianDateTime(syear2, smonth2, sday2); - var d2b = new PersianDateTime(eyear2, emonth2, eday2, 23, 59); - - var start = Convert.ToDateTime(command.StartComplex); - var end = Convert.ToDateTime(command.EndComplex); - - - var sh = start.Hour; - var sm = start.Minute; - var eh = end.Hour; - var em = end.Minute; - var startDateAndTime = new PersianDateTime(syear2, smonth2, sday2, sh, sm); - var endDateTime = new PersianDateTime(syear2, smonth2, sday2, eh, em); - - end = endDateTime.ToGregorianDateTime(); - - - - - for (var da2 = startDateAndTime; da2 <= d2b; da2.AddHours(36)) - { - - var test = $"{da2}"; - if (da2.DayOfWeek == "جمعه") - { - start = da2.ToGregorianDateTime(); - if (start.Date == end.Date && start.TimeOfDay > end.TimeOfDay) - end = end.AddDays(1); - - var singleSpanTow1 = new TimeSpan(); - - i6 += 1; - if (start.Date < end.Date) - { - - overNight = true; - var over24 = new DateTime(end.Year, end.Month, end.Day, 0, 0, 0); - singleOver24 = (end - over24); - - singleSpanTow1 = (end - start); - singleSpanTow1 = singleSpanTow1.Subtract(singleOver24); - notHolidays = notHolidays.Add(singleOver24); - jomeh = jomeh.Add(singleSpanTow1); - i += 1; - - - } - else - { - singleSpanTow1 = (end - start); - jomeh = jomeh.Add(singleSpanTow1); - - } - - var startComplex = new DateTime(now.Year, now.Month, now.Day, start.Hour, start.Minute, - start.Second); - var endComplex = new DateTime(now.Year, now.Month, now.Day, end.Hour, end.Minute, - end.Second); - var rotatingCheck = RotatingShiftCheck(startComplex, endComplex, startTimeTowSh1, endTimeTowSh2); - rotatingCheck.RotatingDate = test; - rotatingResultList.Add(rotatingCheck); - //var Over22Computing = Over22Complex2424(start, end); - Over22 = Over22.Add(rotatingCheck.NightWorkSpan); - var endCal = (end - start); - var NextStart = start.AddHours(36); - end = NextStart.Add(endCal); - } - else if (da2.DayOfWeek == "پنج شنبه") - { - start = da2.ToGregorianDateTime(); - if (start.Date == end.Date && start.TimeOfDay > end.TimeOfDay) - end = end.AddDays(1); - var singleSpan1 = new TimeSpan(); - i5 += 1; - if (start.Date < end.Date && start.Day != end.Day) - { - - overNight = true; - var over24 = new DateTime(end.Year, end.Month, end.Day, 0, 0, 0); - singleOver24 = (end - over24); - - - jomeh = jomeh.Add(singleOver24); - - i6 += 1; - - singleSpan1 = (end - start); - singleSpan1 = singleSpan1.Subtract(singleOver24); - notHolidays = notHolidays.Add(singleSpan1); - - } - else - { - singleSpan1 = (end - start); - notHolidays = notHolidays.Add(singleSpan1); - } - - - - - var startComplex = new DateTime(now.Year, now.Month, now.Day, start.Hour, start.Minute, - start.Second); - var endComplex = new DateTime(now.Year, now.Month, now.Day, end.Hour, end.Minute, - end.Second); - var rotatingCheck = RotatingShiftCheck(startComplex, endComplex, startTimeTowSh1, endTimeTowSh2); - rotatingCheck.RotatingDate = test; - rotatingResultList.Add(rotatingCheck); - //var Over22Computing = Over22Complex2424(start, end); - Over22 = Over22.Add(rotatingCheck.NightWorkSpan); - - - var endCal = (end - start); - var NextStart = start.AddHours(36); - end = NextStart.Add(endCal); - } - else if (da2.DayOfWeek == "شنبه") - { - start = da2.ToGregorianDateTime(); - if (start.Date == end.Date && start.TimeOfDay > end.TimeOfDay) - end = end.AddDays(1); - - var singleSpan1 = (end - start); - notHolidays = notHolidays.Add(singleSpan1); - var startComplex = new DateTime(now.Year, now.Month, now.Day, start.Hour, start.Minute, - start.Second); - var endComplex = new DateTime(now.Year, now.Month, now.Day, end.Hour, end.Minute, - end.Second); - var rotatingCheck = RotatingShiftCheck(startComplex, endComplex, startTimeTowSh1, endTimeTowSh2); - rotatingCheck.RotatingDate = test; - rotatingResultList.Add(rotatingCheck); - //var Over22Computing = Over22Complex2424(start, end); - Over22 = Over22.Add(rotatingCheck.NightWorkSpan); - - - i += 1; - var NextStart = start.AddHours(36); - end = NextStart.Add(singleSpan1); - } - else if (da2.DayOfWeek == "یکشنبه") - { - start = da2.ToGregorianDateTime(); - if (start.Date == end.Date && start.TimeOfDay > end.TimeOfDay) - end = end.AddDays(1); - var singleSpan1 = (end - start); - notHolidays = notHolidays.Add(singleSpan1); - var startComplex = new DateTime(now.Year, now.Month, now.Day, start.Hour, start.Minute, - start.Second); - var endComplex = new DateTime(now.Year, now.Month, now.Day, end.Hour, end.Minute, - end.Second); - var rotatingCheck = RotatingShiftCheck(startComplex, endComplex, startTimeTowSh1, endTimeTowSh2); - rotatingCheck.RotatingDate = test; - rotatingResultList.Add(rotatingCheck); - //var Over22Computing = Over22Complex2424(start, end); - Over22 = Over22.Add(rotatingCheck.NightWorkSpan); - - - i1 += 1; - - var NextStart = start.AddHours(36); - end = NextStart.Add(singleSpan1); - } - else if (da2.DayOfWeek == "دوشنبه") - { - start = da2.ToGregorianDateTime(); - if (start.Date == end.Date && start.TimeOfDay > end.TimeOfDay) - end = end.AddDays(1); - var singleSpan1 = (end - start); - notHolidays = notHolidays.Add(singleSpan1); - var startComplex = new DateTime(now.Year, now.Month, now.Day, start.Hour, start.Minute, - start.Second); - var endComplex = new DateTime(now.Year, now.Month, now.Day, end.Hour, end.Minute, - end.Second); - var rotatingCheck = RotatingShiftCheck(startComplex, endComplex, startTimeTowSh1, endTimeTowSh2); - rotatingCheck.RotatingDate = test; - rotatingResultList.Add(rotatingCheck); - //var Over22Computing = Over22Complex2424(start, end); - Over22 = Over22.Add(rotatingCheck.NightWorkSpan); - - - i2 += 1; - - var NextStart = start.AddHours(36); - end = NextStart.Add(singleSpan1); - - } - else if (da2.DayOfWeek == "سه شنبه") - { - start = da2.ToGregorianDateTime(); - if (start.Date == end.Date && start.TimeOfDay > end.TimeOfDay) - end = end.AddDays(1); - var singleSpan1 = (end - start); - notHolidays = notHolidays.Add(singleSpan1); - var startComplex = new DateTime(now.Year, now.Month, now.Day, start.Hour, start.Minute, - start.Second); - var endComplex = new DateTime(now.Year, now.Month, now.Day, end.Hour, end.Minute, - end.Second); - var rotatingCheck = RotatingShiftCheck(startComplex, endComplex, startTimeTowSh1, endTimeTowSh2); - rotatingCheck.RotatingDate = test; - rotatingResultList.Add(rotatingCheck); - //var Over22Computing = Over22Complex2424(start, end); - Over22 = Over22.Add(rotatingCheck.NightWorkSpan); - - i3 += 1; - var NextStart = start.AddHours(36); - end = NextStart.Add(singleSpan1); - - } - else if (da2.DayOfWeek == "چهارشنبه") - { - start = da2.ToGregorianDateTime(); - - var singleSpan1 = (end - start); - notHolidays = notHolidays.Add(singleSpan1); - var startComplex = new DateTime(now.Year, now.Month, now.Day, start.Hour, start.Minute, - start.Second); - var endComplex = new DateTime(now.Year, now.Month, now.Day, end.Hour, end.Minute, - end.Second); - var rotatingCheck = RotatingShiftCheck(startComplex, endComplex, startTimeTowSh1, endTimeTowSh2); - rotatingCheck.RotatingDate = test; - rotatingResultList.Add(rotatingCheck); - //var Over22Computing = Over22Complex2424(start, end); - Over22 = Over22.Add(rotatingCheck.NightWorkSpan); - - - i4 += 1; - var NextStart = start.AddHours(36); - end = NextStart.Add(singleSpan1); - } - - - - - } - - - for (var daa = d1b; daa <= d2b; daa.AddDays(1)) - { - var test = daa.ToGregorianDateTime(); - var checkHoliday = _holidayItemRepository.GetHoliday(test); - if (daa.DayOfWeek != "جمعه") - { - if (checkHoliday == false) - { - SumComplexDays += 1; - } - else - { - OfficialHoliday += 1; - } - } - else - { - FridayStartToEnd += 1; - } - } - - } - else if (command.ShiftWork == "6")//24-24 - { - var now = DateTime.Now; - var sdate2 = command.ContarctStart.ToEnglishNumber(); - var edate2 = command.ContractEnd.ToEnglishNumber(); - var syear2 = Convert.ToInt32(sdate.Substring(0, 4)); - var smonth2 = Convert.ToInt32(sdate.Substring(5, 2)); - var sday2 = Convert.ToInt32(sdate.Substring(8, 2)); - - var eyear2 = Convert.ToInt32(edate.Substring(0, 4)); - var emonth2 = Convert.ToInt32(edate.Substring(5, 2)); - var eday2 = Convert.ToInt32(edate.Substring(8, 2)); - - var d1b = new PersianDateTime(syear2, smonth2, sday2); - var d2b = new PersianDateTime(eyear2, emonth2, eday2, 23, 59); - - var start = Convert.ToDateTime(command.StartComplex); - var end = Convert.ToDateTime(command.EndComplex); - - - var sh = start.Hour; - var sm = start.Minute; - var eh = end.Hour; - var em = end.Minute; - var startDateAndTime = new PersianDateTime(syear2, smonth2, sday2, sh, sm); - var endDateTime = new PersianDateTime(syear2, smonth2, sday2, eh, em); - //if (start > end) - //{ - - // endDateTime.AddDays(1); - //} - - endDateTime.AddDays(1); - end = endDateTime.ToGregorianDateTime(); - - - for (var da2 = startDateAndTime; da2 <= d2b; da2.AddHours(48)) - { - var test = $"{da2}"; - if (da2.DayOfWeek == "جمعه") - { - start = da2.ToGregorianDateTime(); - - var singleSpanTow1 = new TimeSpan(); - var WorkHours = (end - start); - i6 += 1; - if (start.Date < end.Date) - { - - overNight = true; - var over24 = new DateTime(end.Year, end.Month, end.Day, 0, 0, 0); - singleOver24 = (end - over24); - - singleSpanTow1 = (end - start); - singleSpanTow1 = singleSpanTow1.Subtract(singleOver24); - notHolidays = notHolidays.Add(singleOver24); - jomeh = jomeh.Add(singleSpanTow1); - i += 1; - - - } - else - { - singleSpanTow1 = (end - start); - jomeh = jomeh.Add(singleSpanTow1); - - } - var startComplex = new DateTime(now.Year, now.Month, now.Day, start.Hour, start.Minute, - start.Second); - var endComplex = new DateTime(now.Year, now.Month, now.Day, end.Hour, end.Minute, - end.Second); - var rotatingCheck = RotatingShiftCheck(startComplex, endComplex, startTimeTowSh1, endTimeTowSh2); - rotatingCheck.RotatingDate = test; - rotatingResultList.Add(rotatingCheck); - //var Over22Computing = Over22Complex2424(start, end); - Over22 = Over22.Add(rotatingCheck.NightWorkSpan); - - var NextStart = start.AddHours(48); - end = NextStart.Add(WorkHours); - } - else if (da2.DayOfWeek == "پنج شنبه") - { - start = da2.ToGregorianDateTime(); - var singleSpan1 = new TimeSpan(); - var WorkHours = (end - start); - i5 += 1; - if (start.Date < end.Date && start.Day != end.Day) - { - - overNight = true; - var over24 = new DateTime(end.Year, end.Month, end.Day, 0, 0, 0); - singleOver24 = (end - over24); - - - jomeh = jomeh.Add(singleOver24); - - i6 += 1; - - singleSpan1 = (end - start); - singleSpan1 = singleSpan1.Subtract(singleOver24); - notHolidays = notHolidays.Add(singleSpan1); - - } - else - { - singleSpan1 = (end - start); - notHolidays = notHolidays.Add(singleSpan1); - } - - var startComplex = new DateTime(now.Year, now.Month, now.Day, start.Hour, start.Minute, - start.Second); - var endComplex = new DateTime(now.Year, now.Month, now.Day, end.Hour, end.Minute, - end.Second); - var rotatingCheck = RotatingShiftCheck(startComplex, endComplex, startTimeTowSh1, endTimeTowSh2); - rotatingCheck.RotatingDate = test; - rotatingResultList.Add(rotatingCheck); - //var Over22Computing = Over22Complex2424(start, end); - Over22 = Over22.Add(rotatingCheck.NightWorkSpan); - - - - var NextStart = start.AddHours(48); - end = NextStart.Add(WorkHours); - } - else if (da2.DayOfWeek == "شنبه") - { - start = da2.ToGregorianDateTime(); - - - var singleSpan1 = (end - start); - notHolidays = notHolidays.Add(singleSpan1); - - var startComplex = new DateTime(now.Year, now.Month, now.Day, start.Hour, start.Minute, - start.Second); - var endComplex = new DateTime(now.Year, now.Month, now.Day, end.Hour, end.Minute, - end.Second); - var rotatingCheck = RotatingShiftCheck(startComplex, endComplex, startTimeTowSh1, endTimeTowSh2); - rotatingCheck.RotatingDate = test; - rotatingResultList.Add(rotatingCheck); - //var Over22Computing = Over22Complex2424(start, end); - Over22 = Over22.Add(rotatingCheck.NightWorkSpan); - - - i += 1; - var NextStart = start.AddHours(48); - end = NextStart.Add(singleSpan1); - } - else if (da2.DayOfWeek == "یکشنبه") - { - start = da2.ToGregorianDateTime(); - - var singleSpan1 = (end - start); - notHolidays = notHolidays.Add(singleSpan1); - - var startComplex = new DateTime(now.Year, now.Month, now.Day, start.Hour, start.Minute, - start.Second); - var endComplex = new DateTime(now.Year, now.Month, now.Day, end.Hour, end.Minute, - end.Second); - var rotatingCheck = RotatingShiftCheck(startComplex, endComplex, startTimeTowSh1, endTimeTowSh2); - rotatingCheck.RotatingDate = test; - rotatingResultList.Add(rotatingCheck); - //var Over22Computing = Over22Complex2424(start, end); - Over22 = Over22.Add(rotatingCheck.NightWorkSpan); - - - - i1 += 1; - - var NextStart = start.AddHours(48); - end = NextStart.Add(singleSpan1); - } - else if (da2.DayOfWeek == "دوشنبه") - { - start = da2.ToGregorianDateTime(); - - var singleSpan1 = (end - start); - notHolidays = notHolidays.Add(singleSpan1); - - var startComplex = new DateTime(now.Year, now.Month, now.Day, start.Hour, start.Minute, - start.Second); - var endComplex = new DateTime(now.Year, now.Month, now.Day, end.Hour, end.Minute, - end.Second); - var rotatingCheck = RotatingShiftCheck(startComplex, endComplex, startTimeTowSh1, endTimeTowSh2); - rotatingCheck.RotatingDate = test; - rotatingResultList.Add(rotatingCheck); - //var Over22Computing = Over22Complex2424(start, end); - Over22 = Over22.Add(rotatingCheck.NightWorkSpan); - - - - i2 += 1; - - var NextStart = start.AddHours(48); - end = NextStart.Add(singleSpan1); - - } - else if (da2.DayOfWeek == "سه شنبه") - { - start = da2.ToGregorianDateTime(); - var singleSpan1 = (end - start); - notHolidays = notHolidays.Add(singleSpan1); - - var startComplex = new DateTime(now.Year, now.Month, now.Day, start.Hour, start.Minute, - start.Second); - var endComplex = new DateTime(now.Year, now.Month, now.Day, end.Hour, end.Minute, - end.Second); - var rotatingCheck = RotatingShiftCheck(startComplex, endComplex, startTimeTowSh1, endTimeTowSh2); - rotatingCheck.RotatingDate = test; - rotatingResultList.Add(rotatingCheck); - //var Over22Computing = Over22Complex2424(start, end); - Over22 = Over22.Add(rotatingCheck.NightWorkSpan); - - - i3 += 1; - var NextStart = start.AddHours(48); - end = NextStart.Add(singleSpan1); - - } - else if (da2.DayOfWeek == "چهارشنبه") - { - start = da2.ToGregorianDateTime(); - - var singleSpan1 = (end - start); - notHolidays = notHolidays.Add(singleSpan1); - - var startComplex = new DateTime(now.Year, now.Month, now.Day, start.Hour, start.Minute, - start.Second); - var endComplex = new DateTime(now.Year, now.Month, now.Day, end.Hour, end.Minute, - end.Second); - var rotatingCheck = RotatingShiftCheck(startComplex, endComplex, startTimeTowSh1, endTimeTowSh2); - rotatingCheck.RotatingDate = test; - rotatingResultList.Add(rotatingCheck); - //var Over22Computing = Over22Complex2424(start, end); - Over22 = Over22.Add(rotatingCheck.NightWorkSpan); - - - - i4 += 1; - var NextStart = start.AddHours(48); - end = NextStart.Add(singleSpan1); - } - - - - - } - - - for (var daa = d1b; daa <= d2b; daa.AddDays(1)) - { - - var test = daa.ToGregorianDateTime(); - var checkHoliday = _holidayItemRepository.GetHoliday(test); - if (daa.DayOfWeek != "جمعه") - { - if (checkHoliday == false) - { - SumComplexDays += 1; - } - else - { - OfficialHoliday += 1; - } - } - else - { - - FridayStartToEnd += 1; - - } - - } - - } - else if (command.ShiftWork == "7")//12-36 - { - var now = DateTime.Now; - var sdate2 = command.ContarctStart.ToEnglishNumber(); - var edate2 = command.ContractEnd.ToEnglishNumber(); - var syear2 = Convert.ToInt32(sdate.Substring(0, 4)); - var smonth2 = Convert.ToInt32(sdate.Substring(5, 2)); - var sday2 = Convert.ToInt32(sdate.Substring(8, 2)); - - var eyear2 = Convert.ToInt32(edate.Substring(0, 4)); - var emonth2 = Convert.ToInt32(edate.Substring(5, 2)); - var eday2 = Convert.ToInt32(edate.Substring(8, 2)); - - var d1b = new PersianDateTime(syear2, smonth2, sday2); - var d2b = new PersianDateTime(eyear2, emonth2, eday2, 23, 59); - - var start = Convert.ToDateTime(command.StartComplex); - var end = Convert.ToDateTime(command.EndComplex); - - - var sh = start.Hour; - var sm = start.Minute; - var eh = end.Hour; - var em = end.Minute; - var startDateAndTime = new PersianDateTime(syear2, smonth2, sday2, sh, sm); - var endDateTime = new PersianDateTime(syear2, smonth2, sday2, eh, em); - //if (start > end) - //{ - - // endDateTime.AddDays(1); - //} - - //endDateTime.AddDays(1); - end = endDateTime.ToGregorianDateTime(); - - - for (var da2 = startDateAndTime; da2 <= d2b; da2.AddHours(48)) - { - var test = $"{da2}"; - if (da2.DayOfWeek == "جمعه") - { - start = da2.ToGregorianDateTime(); - if (start.Date == end.Date && start.TimeOfDay > end.TimeOfDay) - end = end.AddDays(1); - - var singleSpanTow1 = new TimeSpan(); - - i6 += 1; - if (start.Date < end.Date) - { - - overNight = true; - var over24 = new DateTime(end.Year, end.Month, end.Day, 0, 0, 0); - singleOver24 = (end - over24); - - singleSpanTow1 = (end - start); - singleSpanTow1 = singleSpanTow1.Subtract(singleOver24); - notHolidays = notHolidays.Add(singleOver24); - jomeh = jomeh.Add(singleSpanTow1); - i += 1; - - - } - else - { - singleSpanTow1 = (end - start); - jomeh = jomeh.Add(singleSpanTow1); - - } - var startComplex = new DateTime(now.Year, now.Month, now.Day, start.Hour, start.Minute, - start.Second); - var endComplex = new DateTime(now.Year, now.Month, now.Day, end.Hour, end.Minute, - end.Second); - var rotatingCheck = RotatingShiftCheck(startComplex, endComplex, startTimeTowSh1, endTimeTowSh2); - rotatingCheck.RotatingDate = test; - rotatingResultList.Add(rotatingCheck); - //var Over22Computing = Over22Complex2424(start, end); - Over22 = Over22.Add(rotatingCheck.NightWorkSpan); - - var WorkHours = (end - start); - var NextStart = start.AddHours(48); - end = NextStart.Add(WorkHours); - } - else if (da2.DayOfWeek == "پنج شنبه") - { - start = da2.ToGregorianDateTime(); - if (start.Date == end.Date && start.TimeOfDay > end.TimeOfDay) - end = end.AddDays(1); - var singleSpan1 = new TimeSpan(); - - i5 += 1; - if (start.Date < end.Date && start.Day != end.Day) - { - - overNight = true; - var over24 = new DateTime(end.Year, end.Month, end.Day, 0, 0, 0); - singleOver24 = (end - over24); - - - jomeh = jomeh.Add(singleOver24); - - i6 += 1; - - singleSpan1 = (end - start); - singleSpan1 = singleSpan1.Subtract(singleOver24); - notHolidays = notHolidays.Add(singleSpan1); - - } - else - { - singleSpan1 = (end - start); - notHolidays = notHolidays.Add(singleSpan1); - } - - - var startComplex = new DateTime(now.Year, now.Month, now.Day, start.Hour, start.Minute, - start.Second); - var endComplex = new DateTime(now.Year, now.Month, now.Day, end.Hour, end.Minute, - end.Second); - var rotatingCheck = RotatingShiftCheck(startComplex, endComplex, startTimeTowSh1, endTimeTowSh2); - rotatingCheck.RotatingDate = test; - rotatingResultList.Add(rotatingCheck); - //var Over22Computing = Over22Complex2424(start, end); - Over22 = Over22.Add(rotatingCheck.NightWorkSpan); - - var WorkHours = (end - start); - var NextStart = start.AddHours(48); - end = NextStart.Add(WorkHours); - } - else if (da2.DayOfWeek == "شنبه") - { - start = da2.ToGregorianDateTime(); - if (start.Date == end.Date && start.TimeOfDay > end.TimeOfDay) - end = end.AddDays(1); - - var singleSpan1 = (end - start); - notHolidays = notHolidays.Add(singleSpan1); - - var startComplex = new DateTime(now.Year, now.Month, now.Day, start.Hour, start.Minute, - start.Second); - var endComplex = new DateTime(now.Year, now.Month, now.Day, end.Hour, end.Minute, - end.Second); - var rotatingCheck = RotatingShiftCheck(startComplex, endComplex, startTimeTowSh1, endTimeTowSh2); - rotatingCheck.RotatingDate = test; - rotatingResultList.Add(rotatingCheck); - //var Over22Computing = Over22Complex2424(start, end); - Over22 = Over22.Add(rotatingCheck.NightWorkSpan); - - - i += 1; - var NextStart = start.AddHours(48); - end = NextStart.Add(singleSpan1); - } - else if (da2.DayOfWeek == "یکشنبه") - { - start = da2.ToGregorianDateTime(); - if (start.Date == end.Date && start.TimeOfDay > end.TimeOfDay) - end = end.AddDays(1); - var singleSpan1 = (end - start); - notHolidays = notHolidays.Add(singleSpan1); - - var startComplex = new DateTime(now.Year, now.Month, now.Day, start.Hour, start.Minute, - start.Second); - var endComplex = new DateTime(now.Year, now.Month, now.Day, end.Hour, end.Minute, - end.Second); - var rotatingCheck = RotatingShiftCheck(startComplex, endComplex, startTimeTowSh1, endTimeTowSh2); - rotatingCheck.RotatingDate = test; - rotatingResultList.Add(rotatingCheck); - //var Over22Computing = Over22Complex2424(start, end); - Over22 = Over22.Add(rotatingCheck.NightWorkSpan); - - - i1 += 1; - - var NextStart = start.AddHours(48); - end = NextStart.Add(singleSpan1); - } - else if (da2.DayOfWeek == "دوشنبه") - { - start = da2.ToGregorianDateTime(); - if (start.Date == end.Date && start.TimeOfDay > end.TimeOfDay) - end = end.AddDays(1); - var singleSpan1 = (end - start); - notHolidays = notHolidays.Add(singleSpan1); - - var startComplex = new DateTime(now.Year, now.Month, now.Day, start.Hour, start.Minute, - start.Second); - var endComplex = new DateTime(now.Year, now.Month, now.Day, end.Hour, end.Minute, - end.Second); - var rotatingCheck = RotatingShiftCheck(startComplex, endComplex, startTimeTowSh1, endTimeTowSh2); - rotatingCheck.RotatingDate = test; - rotatingResultList.Add(rotatingCheck); - //var Over22Computing = Over22Complex2424(start, end); - Over22 = Over22.Add(rotatingCheck.NightWorkSpan); - - - i2 += 1; - - var NextStart = start.AddHours(48); - end = NextStart.Add(singleSpan1); - - } - else if (da2.DayOfWeek == "سه شنبه") - { - start = da2.ToGregorianDateTime(); - if (start.Date == end.Date && start.TimeOfDay > end.TimeOfDay) - end = end.AddDays(1); - var singleSpan1 = (end - start); - notHolidays = notHolidays.Add(singleSpan1); - - var startComplex = new DateTime(now.Year, now.Month, now.Day, start.Hour, start.Minute, - start.Second); - var endComplex = new DateTime(now.Year, now.Month, now.Day, end.Hour, end.Minute, - end.Second); - var rotatingCheck = RotatingShiftCheck(startComplex, endComplex, startTimeTowSh1, endTimeTowSh2); - rotatingCheck.RotatingDate = test; - rotatingResultList.Add(rotatingCheck); - //var Over22Computing = Over22Complex2424(start, end); - Over22 = Over22.Add(rotatingCheck.NightWorkSpan); - - i3 += 1; - var NextStart = start.AddHours(48); - end = NextStart.Add(singleSpan1); - - } - else if (da2.DayOfWeek == "چهارشنبه") - { - start = da2.ToGregorianDateTime(); - if (start.Date == end.Date && start.TimeOfDay > end.TimeOfDay) - end = end.AddDays(1); - var singleSpan1 = (end - start); - notHolidays = notHolidays.Add(singleSpan1); - - var startComplex = new DateTime(now.Year, now.Month, now.Day, start.Hour, start.Minute, - start.Second); - var endComplex = new DateTime(now.Year, now.Month, now.Day, end.Hour, end.Minute, - end.Second); - var rotatingCheck = RotatingShiftCheck(startComplex, endComplex, startTimeTowSh1, endTimeTowSh2); - rotatingCheck.RotatingDate = test; - rotatingResultList.Add(rotatingCheck); - //var Over22Computing = Over22Complex2424(start, end); - Over22 = Over22.Add(rotatingCheck.NightWorkSpan); - - - i4 += 1; - var NextStart = start.AddHours(48); - end = NextStart.Add(singleSpan1); - } - - - - - } - - - for (var daa = d1b; daa <= d2b; daa.AddDays(1)) - { - var test = daa.ToGregorianDateTime(); - var checkHoliday = _holidayItemRepository.GetHoliday(test); - if (daa.DayOfWeek != "جمعه") - { - if (checkHoliday == false) - { - SumComplexDays += 1; - } - else - { - OfficialHoliday += 1; - } - } - else - { - - FridayStartToEnd += 1; - - } - } - - } - else if (command.ShiftWork == "8")//24-48 - { - var now = DateTime.Now; - var sdate2 = command.ContarctStart.ToEnglishNumber(); - var edate2 = command.ContractEnd.ToEnglishNumber(); - var syear2 = Convert.ToInt32(sdate.Substring(0, 4)); - var smonth2 = Convert.ToInt32(sdate.Substring(5, 2)); - var sday2 = Convert.ToInt32(sdate.Substring(8, 2)); - - var eyear2 = Convert.ToInt32(edate.Substring(0, 4)); - var emonth2 = Convert.ToInt32(edate.Substring(5, 2)); - var eday2 = Convert.ToInt32(edate.Substring(8, 2)); - - var d1b = new PersianDateTime(syear2, smonth2, sday2); - var d2b = new PersianDateTime(eyear2, emonth2, eday2, 23, 59); - - var start = Convert.ToDateTime(command.StartComplex); - var end = Convert.ToDateTime(command.EndComplex); - - var sh = start.Hour; - var sm = start.Minute; - var eh = end.Hour; - var em = end.Minute; - var startDateAndTime = new PersianDateTime(syear2, smonth2, sday2, sh, sm); - var endDateTime = new PersianDateTime(syear2, smonth2, sday2, eh, em); - //if (start > end) - //{ - - // endDateTime.AddDays(1); - //} - - - end = endDateTime.ToGregorianDateTime(); - end = end.AddDays(1); - - - for (var da2 = startDateAndTime; da2 <= d2b; da2.AddHours(72)) - { - var test = $"{da2}"; - if (da2.DayOfWeek == "جمعه") - { - start = da2.ToGregorianDateTime(); - - var singleSpanTow1 = new TimeSpan(); - - i6 += 1; - if (start.Date < end.Date) - { - - overNight = true; - var over24 = new DateTime(end.Year, end.Month, end.Day, 0, 0, 0); - singleOver24 = (end - over24); - - singleSpanTow1 = (end - start); - singleSpanTow1 = singleSpanTow1.Subtract(singleOver24); - notHolidays = notHolidays.Add(singleOver24); - jomeh = jomeh.Add(singleSpanTow1); - i += 1; - - - } - else - { - singleSpanTow1 = (end - start); - jomeh = jomeh.Add(singleSpanTow1); - - } - var startComplex = new DateTime(now.Year, now.Month, now.Day, start.Hour, start.Minute, - start.Second); - var endComplex = new DateTime(now.Year, now.Month, now.Day, end.Hour, end.Minute, - end.Second); - var rotatingCheck = RotatingShiftCheck(startComplex, endComplex, startTimeTowSh1, endTimeTowSh2); - rotatingCheck.RotatingDate = test; - rotatingResultList.Add(rotatingCheck); - //var Over22Computing = Over22Complex2424(start, end); - Over22 = Over22.Add(rotatingCheck.NightWorkSpan); - - var WorkHours = (end - start); - var NextStart = start.AddHours(72); - end = NextStart.Add(WorkHours); - } - else if (da2.DayOfWeek == "پنج شنبه") - { - start = da2.ToGregorianDateTime(); - var singleSpan1 = new TimeSpan(); - - i5 += 1; - if (start.Date < end.Date && start.Day != end.Day) - { - - overNight = true; - var over24 = new DateTime(end.Year, end.Month, end.Day, 0, 0, 0); - singleOver24 = (end - over24); - - - jomeh = jomeh.Add(singleOver24); - - i6 += 1; - - singleSpan1 = (end - start); - singleSpan1 = singleSpan1.Subtract(singleOver24); - notHolidays = notHolidays.Add(singleSpan1); - - } - else - { - singleSpan1 = (end - start); - notHolidays = notHolidays.Add(singleSpan1); - } - - - var startComplex = new DateTime(now.Year, now.Month, now.Day, start.Hour, start.Minute, - start.Second); - var endComplex = new DateTime(now.Year, now.Month, now.Day, end.Hour, end.Minute, - end.Second); - var rotatingCheck = RotatingShiftCheck(startComplex, endComplex, startTimeTowSh1, endTimeTowSh2); - rotatingCheck.RotatingDate = test; - rotatingResultList.Add(rotatingCheck); - //var Over22Computing = Over22Complex2424(start, end); - Over22 = Over22.Add(rotatingCheck.NightWorkSpan); - - - var WorkHours = (end - start); - var NextStart = start.AddHours(72); - end = NextStart.Add(WorkHours); - } - else if (da2.DayOfWeek == "شنبه") - { - start = da2.ToGregorianDateTime(); - - - var singleSpan1 = (end - start); - notHolidays = notHolidays.Add(singleSpan1); - - var startComplex = new DateTime(now.Year, now.Month, now.Day, start.Hour, start.Minute, - start.Second); - var endComplex = new DateTime(now.Year, now.Month, now.Day, end.Hour, end.Minute, - end.Second); - var rotatingCheck = RotatingShiftCheck(startComplex, endComplex, startTimeTowSh1, endTimeTowSh2); - rotatingCheck.RotatingDate = test; - rotatingResultList.Add(rotatingCheck); - //var Over22Computing = Over22Complex2424(start, end); - Over22 = Over22.Add(rotatingCheck.NightWorkSpan); - - - i += 1; - var NextStart = start.AddHours(72); - end = NextStart.Add(singleSpan1); - } - else if (da2.DayOfWeek == "یکشنبه") - { - start = da2.ToGregorianDateTime(); - - var singleSpan1 = (end - start); - notHolidays = notHolidays.Add(singleSpan1); - - var startComplex = new DateTime(now.Year, now.Month, now.Day, start.Hour, start.Minute, - start.Second); - var endComplex = new DateTime(now.Year, now.Month, now.Day, end.Hour, end.Minute, - end.Second); - var rotatingCheck = RotatingShiftCheck(startComplex, endComplex, startTimeTowSh1, endTimeTowSh2); - rotatingCheck.RotatingDate = test; - rotatingResultList.Add(rotatingCheck); - //var Over22Computing = Over22Complex2424(start, end); - Over22 = Over22.Add(rotatingCheck.NightWorkSpan); - - - i1 += 1; - - var NextStart = start.AddHours(72); - end = NextStart.Add(singleSpan1); - } - else if (da2.DayOfWeek == "دوشنبه") - { - start = da2.ToGregorianDateTime(); - - var singleSpan1 = (end - start); - notHolidays = notHolidays.Add(singleSpan1); - - var startComplex = new DateTime(now.Year, now.Month, now.Day, start.Hour, start.Minute, - start.Second); - var endComplex = new DateTime(now.Year, now.Month, now.Day, end.Hour, end.Minute, - end.Second); - var rotatingCheck = RotatingShiftCheck(startComplex, endComplex, startTimeTowSh1, endTimeTowSh2); - rotatingCheck.RotatingDate = test; - rotatingResultList.Add(rotatingCheck); - //var Over22Computing = Over22Complex2424(start, end); - Over22 = Over22.Add(rotatingCheck.NightWorkSpan); - - - i2 += 1; - - var NextStart = start.AddHours(72); - end = NextStart.Add(singleSpan1); - - } - else if (da2.DayOfWeek == "سه شنبه") - { - start = da2.ToGregorianDateTime(); - var singleSpan1 = (end - start); - notHolidays = notHolidays.Add(singleSpan1); - - var startComplex = new DateTime(now.Year, now.Month, now.Day, start.Hour, start.Minute, - start.Second); - var endComplex = new DateTime(now.Year, now.Month, now.Day, end.Hour, end.Minute, - end.Second); - var rotatingCheck = RotatingShiftCheck(startComplex, endComplex, startTimeTowSh1, endTimeTowSh2); - rotatingCheck.RotatingDate = test; - rotatingResultList.Add(rotatingCheck); - //var Over22Computing = Over22Complex2424(start, end); - Over22 = Over22.Add(rotatingCheck.NightWorkSpan); - - i3 += 1; - var NextStart = start.AddHours(72); - end = NextStart.Add(singleSpan1); - - } - else if (da2.DayOfWeek == "چهارشنبه") - { - start = da2.ToGregorianDateTime(); - - var singleSpan1 = (end - start); - notHolidays = notHolidays.Add(singleSpan1); - - var startComplex = new DateTime(now.Year, now.Month, now.Day, start.Hour, start.Minute, - start.Second); - var endComplex = new DateTime(now.Year, now.Month, now.Day, end.Hour, end.Minute, - end.Second); - var rotatingCheck = RotatingShiftCheck(startComplex, endComplex, startTimeTowSh1, endTimeTowSh2); - rotatingCheck.RotatingDate = test; - rotatingResultList.Add(rotatingCheck); - //var Over22Computing = Over22Complex2424(start, end); - Over22 = Over22.Add(rotatingCheck.NightWorkSpan); - - - i4 += 1; - var NextStart = start.AddHours(72); - end = NextStart.Add(singleSpan1); - } - - - - - } - - - for (var daa = d1b; daa <= d2b; daa.AddDays(1)) - { - var test = daa.ToGregorianDateTime(); - var checkHoliday = _holidayItemRepository.GetHoliday(test); - if (daa.DayOfWeek != "جمعه") - { - if (checkHoliday == false) - { - SumComplexDays += 1; - } - else - { - OfficialHoliday += 1; - } - } - else - { - - FridayStartToEnd += 1; - - } - } - - } - - - #endregion - - #region DayCounterAndDailyFix - - var sumDays = i + i1 + i2 + i3 + i4 + i5 + i6; - var holidaysCount = i6; - var notHolidaysCount = i + i1 + i2 + i3 + i4 + i5; - // ساعات موظفی - var ComplexFix = dailyFix.Multiply(SumComplexDays); - - dailyFix = dailyFix.Multiply(sumDays); - - Notholiday = notHolidaysCount.ToString(); - Holidays = holidaysCount.ToString(); - - var searchModel = new LeftWorkSearchModel() - { - EmployeeId = command.EmployeeId, - WorkshopId = command.WorkshopId, - - }; - - var leftworkList = _leftWorkApplication.search(searchModel); - var lastLeftWork = leftworkList.FirstOrDefault(); - - var conStart = conStartGr; - var EndOfM = Convert.ToInt32(command.ContractEnd.Substring(8, 2)); - var conEnd = conEndGr; - if (lastLeftWork.LeftWorkDate != "1500/01/01" && lastLeftWork.LeftWorkDateGr < conEnd) - { - conEnd = lastLeftWork.LeftWorkDateGr.AddDays(-1); - } - else - { - if (EndOfM == 31) - { - conEnd = conEnd.AddDays(-1); - } - - } - - - - - var AllDaysCount = (conEnd - conStart).TotalDays + 1; - var endContract = command.ContractEnd.ToGeorgianDateTime(); - var allDays = (endContract - conStart).TotalDays + 1; - - - var jomeh2 = new TimeSpan(); - - var notHolidays2 = new TimeSpan(); - var Mandatory = new TimeSpan(); - - - - - notHolidays = notHolidays.Add(jomeh); - - var workingDaysH = (int)notHolidays.TotalHours; - var workingDaysM = notHolidays.TotalMinutes % 60; - //ساعات کاری پرسنل با احتساب تعطیلات رسمی - HolidaysAndNot = HolidaysAndNot.Add(notHolidays); - var totalHolidaysAndNotH = (int)HolidaysAndNot.TotalHours; - var totalHolidaysAndNotM = HolidaysAndNot.TotalMinutes % 60; - - - notHolidays2 = notHolidays2.Add(jomeh2); - - - var SumNotHolidays = notHolidays.Add(notHolidays2); - var SumNotHolidaysHours = (int)SumNotHolidays.TotalHours; - var SumNotHolidaysMinuts = SumNotHolidays.Minutes % 60; - - var SumHolidays = jomeh.Add(jomeh2); - var SumHolidaysHours = (int)SumHolidays.TotalHours; - var SumHolidaysMinuts = SumHolidays.Minutes % 60; - - var totalHoursShift1 = notHolidays; - var totalHoursShift1And2 = SumNotHolidays; - - #endregion - - #region DailyFeeCompute - - var basic = "0"; - - var GetWorkStartDate = command.GetWorkDateHide.ToEnglishNumber(); - var GetWorkEndDate = command.ContractEnd.ToEnglishNumber(); - var styear = Convert.ToInt32(GetWorkStartDate.Substring(0, 4)); - var stmonth = Convert.ToInt32(GetWorkStartDate.Substring(5, 2)); - var stday = Convert.ToInt32(GetWorkStartDate.Substring(8, 2)); - - var edyear = Convert.ToInt32(GetWorkEndDate.Substring(0, 4)); - var edmonth = Convert.ToInt32(GetWorkEndDate.Substring(5, 2)); - var edday = Convert.ToInt32(GetWorkEndDate.Substring(8, 2)); - var startDate = command.GetWorkDateHide.ToGeorgianDateTime(); - var endDate = command.ContractEnd.ToGeorgianDateTime(); - var dayliFee = "خطای تاریخ"; - - if (styear >= 1370) - { - - if (leftworkList == null) - leftworkList = new List(); - var ContractStart = command.ContarctStart.ToGeorgianDateTime(); - var dayliFeeResult = _yearlySalaryRepository.DayliFeeComputing(startDate, ContractStart, endDate, command.EmployeeId, command.WorkshopId, leftworkList); - dayliFee = dayliFeeResult.DayliFee; - dayliFeeComplete = dayliFeeResult.DayliFee.MoneyToDouble(); - basic = dayliFeeResult.Basic; - } - #endregion - - #region ConsumableItemsAndHousingAndFamily - - var ConsumableItems = _yearlySalaryRepository.ConsumableItems(endDate); - var HousingAllowance = _yearlySalaryRepository.HousingAllowance(endDate); - - var familyAllowance = _yearlySalaryRepository.FamilyAllowance(command.EmployeeId, endDate); - var MarriedAllowance = _yearlySalaryRepository.MarriedAllowance(endDate, command.EmployeeId); - #endregion - - #region Fix44Compute - - var dailyFixx = TimeSpan.Parse("07:20"); - var fix44 = dailyFixx.Multiply(6); - - var divideNum = TimeSpan.Parse("06:00"); - // حق تاهل - string MarriedAllowanceStr = MarriedAllowance > 0 ? MarriedAllowance.ToMoney() : "0"; - - - - if (command.ShiftWork == "1") - { - - if (SumSingle < fix44) - { - // مجموع ساعت کار هفته تقسیم بر 6 ساعت - var dividTo6Days = SumSingle.Divide(divideNum); - - var HousingAllowonceNumberType = HousingAllowance.MoneyToDouble(); - var ConsumableItemsNumberType = ConsumableItems.MoneyToDouble(); - var familyAllowanceNumberType = familyAllowance.MoneyToDouble(); - var DailyFeeNumberType = dayliFee.MoneyToDouble(); - - //مزد روزانه تقسیم بر 7/33 - var dailyStep1 = DailyFeeNumberType / 7.33; - //نتیجه ضربدر جواب مجموع ساعت تقسیم بر 6 روز هفته - var dailyStep2 = dailyStep1 * dividTo6Days; - - dayliFee = dailyStep2.ToMoney(); - - var HousingStep1 = HousingAllowonceNumberType / 30; - var HousingStep2 = HousingStep1 / 7.33; - var HousingStep3 = HousingStep2 * dividTo6Days; - var HousingStep4 = HousingStep3 * AllDaysCount; - HousingAllowance = HousingStep4.ToMoney(); - - var consumableItemsStep1 = ConsumableItemsNumberType / 30; - var consumableItemsStep2 = consumableItemsStep1 / 7.33; - var consumableItemsStep3 = consumableItemsStep2 * dividTo6Days; - var consumableItemsStep4 = consumableItemsStep3 * AllDaysCount; - ConsumableItems = consumableItemsStep4.ToMoney(); - - //حق تاهل - if (MarriedAllowance > 0) - { - var MarriedStep1 = MarriedAllowance / 30; - var MarriedStep2 = MarriedStep1 / 7.33; - var MarriedStep3 = MarriedStep2 * dividTo6Days; - var MarriedStep4 = MarriedStep3 * AllDaysCount; - MarriedAllowanceStr = MarriedStep4.ToMoney(); - } - - if (familyAllowance != "0") - { - var familyAllowanceStep1 = familyAllowanceNumberType / 30; - var familyAllowanceStep2 = familyAllowanceStep1 / 7.33; - var familyAllowanceStep3 = familyAllowanceStep2 * dividTo6Days; - var familyAllowanceStep4 = familyAllowanceStep3 * AllDaysCount; - familyAllowance = familyAllowanceStep4.ToMoney(); - } - - var sumSingleRound = Math.Round(SumSingle.TotalHours, 2); - weeklyTime = SumSingle; - SumWorkeTime = $"{sumSingleRound}"; - } - else - { - - - - var HousingAllowonceNumberType = HousingAllowance.MoneyToDouble(); - var ConsumableItemsNumberType = ConsumableItems.MoneyToDouble(); - var familyAllowanceNumberType = familyAllowance.MoneyToDouble(); - - var HousingStep1 = HousingAllowonceNumberType / 30; - var HousingStep4 = HousingStep1 * AllDaysCount; - HousingAllowance = HousingStep4.ToMoney(); - - - var consumableItemsStep1 = ConsumableItemsNumberType / 30; - var consumableItemsStep4 = consumableItemsStep1 * AllDaysCount; - ConsumableItems = consumableItemsStep4.ToMoney(); - - //حق تاهل - if (MarriedAllowance > 0) - { - var MarriedStep1 = MarriedAllowance / 30; - var MarriedStep4 = MarriedStep1 * AllDaysCount; - MarriedAllowanceStr = MarriedStep4.ToMoney(); - } - - if (familyAllowance != "0") - { - var familyAllowanceStep1 = familyAllowanceNumberType / 30; - var familyAllowanceStep4 = familyAllowanceStep1 * AllDaysCount; - familyAllowance = familyAllowanceStep4.ToMoney(); - } - - SumWorkeTime = $"{44}"; - } - - } - else if (command.ShiftWork == "2") - { - var totalShift = SumSingle + SumTow; - if (totalShift < fix44) - { - var dividTo6Days = totalShift.Divide(divideNum); - var DailyFeeNumberType = dayliFee.MoneyToDouble(); - - var HousingAllowonceNumberType = HousingAllowance.MoneyToDouble(); - var ConsumableItemsNumberType = ConsumableItems.MoneyToDouble(); - var familyAllowanceNumberType = familyAllowance.MoneyToDouble(); - - var step1 = DailyFeeNumberType / 7.33; - var step2 = step1 * dividTo6Days; - - dayliFee = step2.ToMoney(); - - - - var HousingStep1 = HousingAllowonceNumberType / 30; - var HousingStep2 = HousingStep1 / 7.33; - var HousingStep3 = HousingStep2 * dividTo6Days; - var HousingStep4 = HousingStep3 * AllDaysCount; - HousingAllowance = HousingStep4.ToMoney(); - - var consumableItemsStep1 = ConsumableItemsNumberType / 30; - var consumableItemsStep2 = consumableItemsStep1 / 7.33; - var consumableItemsStep3 = consumableItemsStep2 * dividTo6Days; - var consumableItemsStep4 = consumableItemsStep3 * AllDaysCount; - ConsumableItems = consumableItemsStep4.ToMoney(); - - //حق تاهل - if (MarriedAllowance > 0) - { - var MarriedStep1 = MarriedAllowance / 30; - var MarriedStep2 = MarriedStep1 / 7.33; - var MarriedStep3 = MarriedStep2 * dividTo6Days; - var MarriedStep4 = MarriedStep3 * AllDaysCount; - MarriedAllowanceStr = MarriedStep4.ToMoney(); - } - - if (familyAllowance != "0") - { - var familyAllowanceStep1 = familyAllowanceNumberType / 30; - var familyAllowanceStep2 = familyAllowanceStep1 / 7.33; - var familyAllowanceStep3 = familyAllowanceStep2 * dividTo6Days; - var familyAllowanceStep4 = familyAllowanceStep3 * AllDaysCount; - familyAllowance = familyAllowanceStep4.ToMoney(); - } - var totalShiftRound = Math.Round(totalShift.TotalHours, 2); - SumWorkeTime = $"{totalShiftRound}"; - weeklyTime = totalShift; - } - else - { - - var HousingAllowonceNumberType = HousingAllowance.MoneyToDouble(); - var ConsumableItemsNumberType = ConsumableItems.MoneyToDouble(); - var familyAllowanceNumberType = familyAllowance.MoneyToDouble(); - - var consumableItemsStep1 = ConsumableItemsNumberType / 30; - var consumableItemsStep4 = consumableItemsStep1 * AllDaysCount; - ConsumableItems = consumableItemsStep4.ToMoney(); - - var HousingStep1 = HousingAllowonceNumberType / 30; - var HousingStep4 = HousingStep1 * AllDaysCount; - HousingAllowance = HousingStep4.ToMoney(); - - //حق تاهل - if (MarriedAllowance > 0) - { - var MarriedStep1 = MarriedAllowance / 30; - var MarriedStep4 = MarriedStep1 * AllDaysCount; - MarriedAllowanceStr = MarriedStep4.ToMoney(); - } - - if (familyAllowance != "0") - { - var familyAllowanceStep1 = familyAllowanceNumberType / 30; - var familyAllowanceStep4 = familyAllowanceStep1 * AllDaysCount; - familyAllowance = familyAllowanceStep4.ToMoney(); - } - SumWorkeTime = $"{44}"; - } - - - } - else if (command.ShiftWork == "4") - { - var TotalContractDays = (conEndGr - conStartGr).TotalDays + 1; - var totalWeek = (int)(TotalContractDays / 6); - var TotalDaysNoFriday = TotalContractDays - FridayStartToEnd; - var FixHourses = TotalDaysNoFriday * 7.33; - var totalHourses = (HolidaysAndNot.TotalMinutes) / 60; - //var dividedForOneDay = totalHourses / notHolidaysCount; - if (totalHourses < FixHourses) - { - - var DailyFeeNumberType = dayliFee.MoneyToDouble(); - var dailyStep1 = DailyFeeNumberType / 7.33; - var hoursesPerDay = totalHourses / TotalDaysNoFriday; - var result = hoursesPerDay * dailyStep1; - - dayliFee = result.ToMoney(); - - - var HousingAllowonceNumberType = HousingAllowance.MoneyToDouble(); - var HousingStep1 = HousingAllowonceNumberType / 30; - var HousingStep2 = HousingStep1 / 7.33; - var HousingStep3 = HousingStep2 * hoursesPerDay; - var HousingStep4 = HousingStep3 * AllDaysCount; - HousingAllowance = HousingStep4.ToMoney(); - - var ConsumableItemsNumberType = ConsumableItems.MoneyToDouble(); - var consumableItemsStep1 = ConsumableItemsNumberType / 30; - var consumableItemsStep2 = consumableItemsStep1 / 7.33; - var consumableItemsStep3 = consumableItemsStep2 * hoursesPerDay; - var consumableItemsStep4 = consumableItemsStep3 * AllDaysCount; - ConsumableItems = consumableItemsStep4.ToMoney(); - - - - //حق تاهل - if (MarriedAllowance > 0) - { - var MarriedStep1 = MarriedAllowance / 30; - var MarriedStep2 = MarriedStep1 / 7.33; - var MarriedStep3 = MarriedStep2 * hoursesPerDay; - var MarriedStep4 = MarriedStep3 * AllDaysCount; - MarriedAllowanceStr = MarriedStep4.ToMoney(); - } - - if (familyAllowance != "0") - { - - var familyAllowanceNumberType = familyAllowance.MoneyToDouble(); - var familyAllowanceStep1 = familyAllowanceNumberType / 30; - var familyAllowanceStep2 = familyAllowanceStep1 / 7.33; - var familyAllowanceStep3 = familyAllowanceStep2 * hoursesPerDay; - var familyAllowanceStep4 = familyAllowanceStep3 * AllDaysCount; - familyAllowance = familyAllowanceStep4.ToMoney(); - } - - if (totalWeek > 1) - { - - double weekAvrage = 0; - if (totalHourses < 44.00) - { - weekAvrage = (totalHourses * 6) / TotalContractDays; - } - else - { - weekAvrage = (totalHourses * 6) / TotalDaysNoFriday; - } - //var oneday = weekAvrage * 6; - var totalShiftRound = Math.Round(weekAvrage, 2); - SumWorkeTime = $"{totalShiftRound}"; - - } - else if (totalWeek <= 1 && TotalDaysNoFriday <= 6) - { - var totalShiftRound = Math.Round(totalHourses, 2); - SumWorkeTime = $"{totalShiftRound}"; - } - else if (totalWeek <= 1 && TotalDaysNoFriday > 6) - - { - var perDyeWorked = totalHourses / TotalDaysNoFriday; - var weekAvrage = perDyeWorked * 6; - var totalShiftRound = Math.Round(weekAvrage, 2); - SumWorkeTime = $"{totalShiftRound}"; - } - weeklyTime = totalHoursShift1; - } - else - { - var HousingAllowonceNumberType = HousingAllowance.MoneyToDouble(); - var ConsumableItemsNumberType = ConsumableItems.MoneyToDouble(); - var familyAllowanceNumberType = familyAllowance.MoneyToDouble(); - - var HousingStep1 = HousingAllowonceNumberType / 30; - var HousingStep4 = HousingStep1 * AllDaysCount; - HousingAllowance = HousingStep4.ToMoney(); - - - var consumableItemsStep1 = ConsumableItemsNumberType / 30; - var consumableItemsStep4 = consumableItemsStep1 * AllDaysCount; - ConsumableItems = consumableItemsStep4.ToMoney(); - - //حق تاهل - if (MarriedAllowance > 0) - { - var MarriedStep1 = MarriedAllowance / 30; - var MarriedStep4 = MarriedStep1 * AllDaysCount; - MarriedAllowanceStr = MarriedStep4.ToMoney(); - } - - if (familyAllowance != "0") - { - var familyAllowanceStep1 = familyAllowanceNumberType / 30; - var familyAllowanceStep4 = familyAllowanceStep1 * AllDaysCount; - familyAllowance = familyAllowanceStep4.ToMoney(); - } - - SumWorkeTime = $"{44}"; - } - - - } - else - { - var TotalContractDays = (conEndGr - conStartGr).TotalDays + 1; - var TotalDaysNoFriday = TotalContractDays - FridayStartToEnd; - var FixHourses = TotalDaysNoFriday * 7.33; - - var totalHourses = (totalHoursShift1.TotalMinutes) / 60; - - if (totalHourses < FixHourses) - { - var dailyFeeNumberType = dayliFee.MoneyToDouble(); - var dailyStep1 = dailyFeeNumberType / 7.33; - var hoursesPerDay = totalHourses / TotalDaysNoFriday; - var result = hoursesPerDay * dailyStep1; - - dayliFee = result.ToMoney(); - - var HousingAllowonceNumberType = HousingAllowance.MoneyToDouble(); - var HousingStep1 = HousingAllowonceNumberType / 30; - var HousingStep2 = HousingStep1 / 7.33; - var HousingStep3 = HousingStep2 * hoursesPerDay; - var HousingStep4 = HousingStep3 * AllDaysCount; - HousingAllowance = HousingStep4.ToMoney(); - - var ConsumableItemsNumberType = ConsumableItems.MoneyToDouble(); - var consumableItemsStep1 = ConsumableItemsNumberType / 30; - var consumableItemsStep2 = consumableItemsStep1 / 7.33; - var consumableItemsStep3 = consumableItemsStep2 * hoursesPerDay; - var consumableItemsStep4 = consumableItemsStep3 * AllDaysCount; - ConsumableItems = consumableItemsStep4.ToMoney(); - - //حق تاهل - if (MarriedAllowance > 0) - { - var MarriedStep1 = MarriedAllowance / 30; - var MarriedStep2 = MarriedStep1 / 7.33; - var MarriedStep3 = MarriedStep2 * hoursesPerDay; - var MarriedStep4 = MarriedStep3 * AllDaysCount; - MarriedAllowanceStr = MarriedStep4.ToMoney(); - } - - if (familyAllowance != "0") - { - - var familyAllowanceNumberType = familyAllowance.MoneyToDouble(); - var familyAllowanceStep1 = familyAllowanceNumberType / 30; - var familyAllowanceStep2 = familyAllowanceStep1 / 7.33; - var familyAllowanceStep3 = familyAllowanceStep2 * hoursesPerDay; - var familyAllowanceStep4 = familyAllowanceStep3 * AllDaysCount; - familyAllowance = familyAllowanceStep4.ToMoney(); - } - } - } - - #endregion - - #region MandatoryTimeCompute - - if (command.ShiftWork == "1" && totalHoursShift1 > dailyFix) - { - Mandatory = totalHoursShift1.Subtract(dailyFix); - } - - if (command.ShiftWork == "2" && totalHoursShift1And2 > dailyFix) - { - Mandatory = totalHoursShift1And2.Subtract(dailyFix); - } - - if (command.ShiftWork == "4" && totalHoursShift1 > dailyFix) - { - Mandatory = totalHoursShift1.Subtract(dailyFix); - } - if ((command.ShiftWork == "5" && totalHoursShift1 > ComplexFix) - || (command.ShiftWork == "6" && totalHoursShift1 > ComplexFix) - || (command.ShiftWork == "7" && totalHoursShift1 > ComplexFix) - || (command.ShiftWork == "8" && totalHoursShift1 > ComplexFix)) - { - Mandatory = totalHoursShift1.Subtract(ComplexFix); - } - var mandatoryHours = (int)Mandatory.TotalHours; - var mandatoryminuts = Mandatory.Minutes % 60; - - //Over22 = Over22.Multiply(sumDays); - var Over22hours = (int)Over22.TotalHours; - var Over22Minuts = Over22.TotalMinutes % 60; - - if (command.ShiftWork == "1" || command.ShiftWork == "4") - { - shift1Hourse = workingDaysH.ToString(); - shift1Minuts = workingDaysM.ToString(); - - - - if (totalHoursShift1 > dailyFix) - { - overMandatoryHours = mandatoryHours.ToString(); - overMandatoryMinuts = mandatoryminuts.ToString(); - //line3 = "مجموع ساعات اضافه کاری " + " : " + $" {mandatoryHours} " + "ساعت و " + $" {mandatoryminuts} " + "دقیقه"; - } - - - shiftOver22Hours = Over22hours.ToString(); - shiftOver22Minuts = Over22Minuts.ToString(); - - - } - - if (command.ShiftWork == "2") - { - shift1Hourse = SumNotHolidaysHours.ToString(); - shift1Minuts = SumNotHolidaysMinuts.ToString(); - - - if (totalHoursShift1And2 > dailyFix) - { - overMandatoryHours = mandatoryHours.ToString(); - overMandatoryMinuts = mandatoryminuts.ToString(); - - } - shiftOver22Hours = Over22hours.ToString(); - shiftOver22Minuts = Over22Minuts.ToString(); - - } - - if (command.ShiftWork == "5" || command.ShiftWork == "6" || command.ShiftWork == "7" || command.ShiftWork == "8") - { - shift1Hourse = workingDaysH.ToString(); - shift1Minuts = workingDaysM.ToString(); - - - // اضافه کاری - if (totalHoursShift1 > ComplexFix) - { - overMandatoryHours = mandatoryHours.ToString(); - overMandatoryMinuts = mandatoryminuts.ToString(); - //line3 = "مجموع ساعات اضافه کاری " + " : " + $" {mandatoryHours} " + "ساعت و " + $" {mandatoryminuts} " + "دقیقه"; - } - - - shiftOver22Hours = Over22hours.ToString(); - shiftOver22Minuts = Over22Minuts.ToString(); - } - - var ComplexNotHolidays = string.Empty; - if (command.ShiftWork == "5" || command.ShiftWork == "6" || command.ShiftWork == "7" || command.ShiftWork == "8") - { - ComplexNotHolidays = Notholiday; - Notholiday = "0"; - } - - #endregion - - #region RtatingStatus - - var moriningCount = rotatingResultList.Count(x => x.IsMorningShift == true); - var eveningCount = rotatingResultList.Count(x => x.IsEveningShift == true); - var nightCount = rotatingResultList.Count(x => x.IsNightShift == true); - - var RotatingfaName = new List(); - if (moriningCount > 0) - RotatingfaName.Add("صبح"); - if (eveningCount > 0) - RotatingfaName.Add("عصر"); - if (nightCount > 0) - RotatingfaName.Add("شب"); - var rotatingFaResult = ""; - if (RotatingfaName.Count > 1) - { - shiftOver22Hours = "0"; - shiftOver22Minuts = "0"; - for (int rotateNumber = 0; rotateNumber < RotatingfaName.Count; rotateNumber++) - { - if (rotateNumber == 0) - rotatingFaResult = $"{RotatingfaName[rotateNumber]}"; - if (rotateNumber == 1) - rotatingFaResult += $" و {RotatingfaName[rotateNumber]}"; - if (rotateNumber == 2) - rotatingFaResult += $" و {RotatingfaName[rotateNumber]}"; - - - } - } - else if (RotatingfaName.Count <= 1) - { - rotatingFaResult = "نوبت کاری ندارد"; - } - - - - #endregion - - #region ShiftPayPercent - - if (rotatingFaResult != "نوبت کاری ندارد" || rotatingFaResult != "") - { - - var TotalDays = (command.ContractEndGr - command.ContractStartGr).TotalDays + 1; - var DailyFeeNumberType = dayliFee.MoneyToDouble(); - if (rotatingFaResult == "صبح و عصر") - { - var shiftPyaPercent = (DailyFeeNumberType * 10) / 100; - ShiftPayResult = shiftPyaPercent * TotalDays; - - - } - else if (rotatingFaResult == "صبح و عصر و شب") - { - var shiftPyaPercent = (DailyFeeNumberType * 15) / 100; - ShiftPayResult = shiftPyaPercent * TotalDays; - - } - else if (rotatingFaResult == "صبح و شب" || rotatingFaResult == "عصر و شب") - { - var shiftPyaPercent = (DailyFeeNumberType * 22.5) / 100; - ShiftPayResult = shiftPyaPercent * TotalDays; - - } - - } - - #endregion - - #region sendResult - - - rotatingResultList = rotatingResultList.Take(28).ToList(); - var ress = new ComputingViewModel() - { - - NumberOfWorkingDays = Notholiday == "0" ? ComplexNotHolidays : Notholiday, - NumberOfFriday = Holidays, - TotalHoursesH = shift1Hourse, - TotalHoursesM = shift1Minuts, - E = shift1HolidayHours, - F = shift1HolidayMinuts, - Interference = InterferenceMessage, - OverTimeWorkH = overMandatoryHours, - OverTimeWorkM = overMandatoryMinuts, - OverNightWorkH = shiftOver22Hours, - OverNightWorkM = shiftOver22Minuts, - ComplexNumberOfWorkingDays = ComplexNotHolidays, - SalaryCompute = dayliFee, - SumTime44 = SumWorkeTime, - ConsumableItems = ConsumableItems, - HousingAllowance = HousingAllowance, - FamilyAllowance = familyAllowance, - OfficialHoliday = OfficialHoliday, - weeklyTime = weeklyTime, - RotatingResultList = rotatingResultList, - RotatingStatus = rotatingFaResult, - ShiftPay = ShiftPayResult, - Basic = basic, - FridayStartToEnd = FridayStartToEnd, - TotalHolidayAndNotH = totalHolidaysAndNotH.ToString(), - TotalHolidayAndNotM = totalHolidaysAndNotM.ToString(), - DayliFeeComplete = dayliFeeComplete, - MarriedAllowance = MarriedAllowanceStr, - }; - - - return ress; - - #endregion - - } - - #endregion - - #region MandatoryDependingMetods - - public RotatingShiftViewModel RotatingShiftCheck(DateTime? singleShift1, DateTime? singleShift2, DateTime? towShift1, DateTime? towShift2) - { - - - #region Entityes - - var nullDateTme = new DateTime(0001, 01, 01); - var midNight24 = Convert.ToDateTime("00:00"); - TimeSpan morningWorkingTime1 = new TimeSpan(); - TimeSpan eveningWorkingTime1 = new TimeSpan(); - TimeSpan nightWorkingTime1 = new TimeSpan(); - TimeSpan morningWorkingTime2 = new TimeSpan(); - TimeSpan eveningWorkingTime2 = new TimeSpan(); - TimeSpan nightWorkingTime2 = new TimeSpan(); - var morningStart = Convert.ToDateTime("06:00"); - var morningEnd = Convert.ToDateTime("14:00"); - var eveningStart = Convert.ToDateTime("14:00"); - var eveningEnd = Convert.ToDateTime("22:00"); - var nightStart = Convert.ToDateTime("22:00"); - var nightEnd = Convert.ToDateTime("6:00"); - var nightEndNextday = nightEnd.AddDays(1); - var morningEndNextday = morningEnd.AddDays(1); - - #endregion - - #region shift1 - - if (singleShift1 != nullDateTme && singleShift2 != nullDateTme) - { - if (singleShift2 < singleShift1) - { - singleShift2 = singleShift2?.AddDays(1); - } - - if (singleShift1 == singleShift2) // example 22<---22 - { - nightWorkingTime1 = new TimeSpan(8, 0, 0); - morningWorkingTime1 = new TimeSpan(8, 0, 0); - eveningWorkingTime1 = new TimeSpan(8, 0, 0); - } - else - { - #region morning enter 14 <- 6 - if (singleShift1 >= morningStart // 14<---<6 - && singleShift1 < morningEnd - && singleShift2 > morningStart - && singleShift2 <= morningEnd) - { - morningWorkingTime1 = (TimeSpan)(singleShift2 - singleShift1); - } - else if (singleShift1 >= morningStart // <---14---6 - && singleShift1 < morningEnd - && singleShift2 > morningStart - && singleShift2 <= nightEndNextday) - { - if (singleShift2 <= eveningEnd) // 22<---14---6 - { - morningWorkingTime1 = (TimeSpan)(morningEnd - singleShift1); - eveningWorkingTime1 = (TimeSpan)(singleShift2 - eveningStart); - } - else if (singleShift2 > eveningEnd) // 6<---22---14---6 - { - morningWorkingTime1 = (TimeSpan)(morningEnd - singleShift1); - eveningWorkingTime1 = new TimeSpan(8, 0, 0); - nightWorkingTime1 = (TimeSpan)(singleShift2 - eveningEnd); - } - - } - else if (singleShift1 >= morningStart // 14<---<6 - && singleShift1 < morningEnd - && singleShift2 > morningStart - && singleShift2 > nightEndNextday) - { - eveningWorkingTime1 = new TimeSpan(8, 0, 0); - nightWorkingTime1 = new TimeSpan(8, 0, 0); - morningWorkingTime1 = (TimeSpan)(morningEnd - singleShift1); - morningWorkingTime1 += (TimeSpan)(singleShift2 - nightEndNextday); - } - - - #endregion - - #region evening enter 22 <- 14 - - if (singleShift1 >= eveningStart // 22<---<14 - && singleShift1 < eveningEnd - && singleShift2 > eveningStart - && singleShift2 <= eveningEnd) - { - eveningWorkingTime1 = (TimeSpan)(singleShift2 - singleShift1); - } - else if (singleShift1 >= eveningStart // <14---6---22---14 - && singleShift1 < eveningEnd - && singleShift2 > eveningStart - && singleShift2 <= morningEndNextday) - { - if (singleShift2 <= nightEndNextday) // 6<---22---14 - { - eveningWorkingTime1 = (TimeSpan)(eveningEnd - singleShift1); - nightWorkingTime1 = (TimeSpan)(singleShift2 - eveningEnd); - } - else if (singleShift2 > nightEndNextday) // 14<---6---22---14 - { - eveningWorkingTime1 = (TimeSpan)(eveningEnd - singleShift1); - nightWorkingTime1 = new TimeSpan(8, 0, 0); - morningWorkingTime1 = (TimeSpan)(singleShift2 - nightEndNextday); - } - - } - else if (singleShift1 >= eveningStart // <22---14---6---22---14 - && singleShift1 < eveningEnd - && singleShift2 > eveningStart - && singleShift2 > morningEndNextday) - { - nightWorkingTime1 = new TimeSpan(8, 0, 0); - morningWorkingTime1 = new TimeSpan(8, 0, 0); - eveningWorkingTime1 = (TimeSpan)(eveningEnd - singleShift1); - eveningWorkingTime1 += (TimeSpan)(singleShift2 - morningEndNextday); - } - - #endregion - - #region night enter 6 <- 22 - - if ((singleShift1 >= nightStart // 6<---<22 - && singleShift1 < nightEndNextday - && singleShift2 > nightStart - && singleShift2 <= nightEndNextday) - || (singleShift1 >= midNight24 - && singleShift1 < nightEnd - && singleShift2 > midNight24 - && singleShift2 <= nightEnd)) - { - nightWorkingTime1 = (TimeSpan)(singleShift2 - singleShift1); - } - else if (singleShift1 >= nightStart // <---6---22 - && singleShift1 < nightEndNextday - && singleShift2 > nightStart - && singleShift2 > nightEndNextday) - { - if (singleShift2 <= morningEndNextday) // 14<---6---22 - { - nightWorkingTime1 = (TimeSpan)(nightEndNextday - singleShift1); - morningWorkingTime1 = (TimeSpan)(singleShift2 - nightEndNextday); - } - else if (singleShift2 > morningEndNextday) // 22<---14---6---22 - { - nightWorkingTime1 = (TimeSpan)(nightEndNextday - singleShift1); - morningWorkingTime1 = new TimeSpan(8, 0, 0); - eveningWorkingTime1 = (TimeSpan)(singleShift2 - morningEndNextday); - } - - - - } - else if ((singleShift1 >= midNight24 // <---6---00 - && singleShift1 < nightEnd - && singleShift2 > midNight24 - && singleShift2 > nightEnd)) - - { - if (singleShift2 <= morningEnd) // 14<---6---00 - { - nightWorkingTime1 = (TimeSpan)(nightEnd - singleShift1); - morningWorkingTime1 = (TimeSpan)(singleShift2 - nightEnd); - } - - else if (singleShift2 > morningEnd && singleShift1 >= midNight24) // 22<---14---6--00 - { - nightWorkingTime1 = (TimeSpan)(nightEnd - singleShift1); - morningWorkingTime1 = new TimeSpan(8, 0, 0); - eveningWorkingTime1 = (TimeSpan)(singleShift2 - morningEnd); - } - } - - #endregion - - } - - } - - #endregion - - #region shift2 - - if (towShift1 != nullDateTme && towShift2 != nullDateTme) - { - if (towShift2 < towShift1) - { - towShift2 = towShift2?.AddDays(1); - } - - if (towShift1 == towShift2) // example 22<---22 - { - nightWorkingTime2 = new TimeSpan(8, 0, 0); - morningWorkingTime2 = new TimeSpan(8, 0, 0); - eveningWorkingTime2 = new TimeSpan(8, 0, 0); - } - else - { - #region morning enter 14 <- 6 - if (towShift1 >= morningStart // 14<---<6 - && towShift1 < morningEnd - && towShift2 > morningStart - && towShift2 <= morningEnd) - { - morningWorkingTime2 = (TimeSpan)(towShift2 - towShift1); - } - else if (towShift1 >= morningStart // <---14---6 - && towShift1 < morningEnd - && towShift2 > morningStart - && towShift2 <= nightEndNextday) - { - if (towShift2 <= eveningEnd) // 22<---14---6 - { - morningWorkingTime2 = (TimeSpan)(morningEnd - towShift1); - eveningWorkingTime2 = (TimeSpan)(towShift2 - eveningStart); - } - else if (towShift2 > eveningEnd) // 6<---22---14---6 - { - morningWorkingTime2 = (TimeSpan)(morningEnd - towShift1); - eveningWorkingTime2 = new TimeSpan(8, 0, 0); - nightWorkingTime2 = (TimeSpan)(towShift2 - eveningEnd); - } - - } - else if (towShift1 >= morningStart // 14<---<6 - && towShift1 < morningEnd - && towShift2 > morningStart - && towShift2 > nightEndNextday) - { - eveningWorkingTime2 = new TimeSpan(8, 0, 0); - nightWorkingTime2 = new TimeSpan(8, 0, 0); - morningWorkingTime2 = (TimeSpan)(morningEnd - towShift1); - morningWorkingTime2 += (TimeSpan)(towShift2 - nightEndNextday); - } - - - #endregion - - #region evening enter 22 <- 14 - - if (towShift1 >= eveningStart // 22<---<14 - && towShift1 < eveningEnd - && towShift2 > eveningStart - && towShift2 <= eveningEnd) - { - eveningWorkingTime2 = (TimeSpan)(towShift2 - towShift1); - } - else if (towShift1 >= eveningStart // <14---6---22---14 - && towShift1 < eveningEnd - && towShift2 > eveningStart - && towShift2 <= morningEndNextday) - { - if (towShift2 <= nightEndNextday) // 6<---22---14 - { - eveningWorkingTime2 = (TimeSpan)(eveningEnd - towShift1); - nightWorkingTime2 = (TimeSpan)(towShift2 - eveningEnd); - } - else if (towShift2 > nightEndNextday) // 14<---6---22---14 - { - eveningWorkingTime2 = (TimeSpan)(eveningEnd - towShift1); - nightWorkingTime2 = new TimeSpan(8, 0, 0); - morningWorkingTime2 = (TimeSpan)(towShift2 - nightEndNextday); - } - - } - else if (towShift1 >= eveningStart // <22---14---6---22---14 - && towShift1 < eveningEnd - && towShift2 > eveningStart - && towShift2 > morningEndNextday) - { - nightWorkingTime2 = new TimeSpan(8, 0, 0); - morningWorkingTime2 = new TimeSpan(8, 0, 0); - eveningWorkingTime2 = (TimeSpan)(eveningEnd - towShift1); - eveningWorkingTime2 += (TimeSpan)(towShift2 - morningEndNextday); - } - - #endregion - - #region night enter 6 <- 22 - - if ((towShift1 >= nightStart // 6<---<22 - && towShift1 < nightEndNextday - && towShift2 > nightStart - && towShift2 <= nightEndNextday) - || (towShift1 >= midNight24 - && towShift1 < nightEnd - && towShift2 > midNight24 - && towShift2 <= nightEnd)) - { - nightWorkingTime2 = (TimeSpan)(towShift2 - towShift1); - } - else if (towShift1 >= nightStart // <---6---22 - && towShift1 < nightEndNextday - && towShift2 > nightStart - && towShift2 > nightEndNextday) - { - if (towShift2 <= morningEndNextday) // 14<---6---22 - { - nightWorkingTime2 = (TimeSpan)(nightEndNextday - towShift1); - morningWorkingTime2 = (TimeSpan)(towShift2 - nightEndNextday); - } - else if (towShift2 > morningEndNextday) // 22<---14---6---22 - { - nightWorkingTime2 = (TimeSpan)(nightEndNextday - towShift1); - morningWorkingTime2 = new TimeSpan(8, 0, 0); - eveningWorkingTime2 = (TimeSpan)(towShift2 - morningEndNextday); - } - - - - } - else if ((towShift1 >= midNight24 // <---6---00 - && towShift1 < nightEnd - && towShift2 > midNight24 - && towShift2 > nightEnd)) - - { - if (towShift2 <= morningEnd) // 14<---6---00 - { - nightWorkingTime2 = (TimeSpan)(nightEnd - towShift1); - morningWorkingTime2 = (TimeSpan)(towShift2 - nightEnd); - } - - else if (towShift2 > morningEnd && towShift1 >= midNight24) // 22<---14---6--00 - { - nightWorkingTime2 = (TimeSpan)(nightEnd - towShift1); - morningWorkingTime2 = new TimeSpan(8, 0, 0); - eveningWorkingTime2 = (TimeSpan)(towShift2 - morningEnd); - } - } - - #endregion - - } - - } - - #endregion - - #region FinalResult - - var result = new RotatingShiftViewModel(); - result.MorningWorkSpan = morningWorkingTime1.Add(morningWorkingTime2); - result.EveningWorkSpan = eveningWorkingTime1.Add(eveningWorkingTime2); - result.NightWorkSpan = nightWorkingTime1.Add(nightWorkingTime2); - var nullWorkspan = new TimeSpan(0, 0, 0); - var totalTime = result.TotalWorkingTime.Add(result.MorningWorkSpan); - totalTime = totalTime.Add(result.EveningWorkSpan); - totalTime = totalTime.Add(result.NightWorkSpan); - - result.TotalWorkingTime = totalTime; - - var morningH = (int)result.MorningWorkSpan.TotalHours; - var morningM = result.MorningWorkSpan.Minutes % 60; - var morningMS = "00"; - if (morningM < 10 && morningM > 0) - morningMS = $"0{morningM}"; - if (morningM > 10) - morningMS = $"{morningM}"; - result.MorningString = $"0{morningH}:{morningMS}"; - - var eveningH = (int)result.EveningWorkSpan.TotalHours; - var eveningM = result.EveningWorkSpan.Minutes % 60; - var eveningMS = "00"; - if (eveningM < 10 && eveningM > 0) - eveningMS = $"0{eveningM}"; - if (eveningM > 10) - eveningMS = $"{eveningM}"; - result.EveningString = $"0{eveningH}:{eveningMS}"; - - var nightH = (int)result.NightWorkSpan.TotalHours; - var nightM = result.NightWorkSpan.Minutes % 60; - var nightMS = "00"; - if (nightM < 10 && nightM > 0) - nightMS = $"0{nightM}"; - if (nightM > 10) - nightMS = $"{nightM}"; - result.NightString = $"0{nightH}:{nightMS}"; - - if (result.MorningWorkSpan > result.EveningWorkSpan - || result.MorningWorkSpan == result.EveningWorkSpan)// if morning bigerThan evening or equal - { - if (result.MorningWorkSpan != nullWorkspan) - { - result.IsMorningShift = true; - result.IsNightShift = false; - result.IsEveningShift = false; - result.RotatingShiftStatus = "صبح"; - } - - if (result.MorningWorkSpan < result.NightWorkSpan - || result.MorningWorkSpan == result.NightWorkSpan)// if night bigerThan morning or equal - { - if (result.NightWorkSpan != nullWorkspan) - { - result.IsMorningShift = false; - result.IsNightShift = true; - result.IsEveningShift = false; - result.RotatingShiftStatus = "شب"; - } - - } - } - else if (result.MorningWorkSpan < result.EveningWorkSpan)// if evening bigerThan morning - { - if (result.EveningWorkSpan != nullWorkspan) - { - result.IsEveningShift = true; - result.IsMorningShift = false; - result.IsNightShift = false; - result.RotatingShiftStatus = "عصر"; - } - - if (result.EveningWorkSpan < result.NightWorkSpan - || result.EveningWorkSpan == result.NightWorkSpan)// if night bigerThan evening or equal - { - if (result.NightWorkSpan != nullWorkspan) - { - result.IsMorningShift = false; - result.IsEveningShift = false; - result.IsNightShift = true; - result.RotatingShiftStatus = "شب"; - } - } - } - - #endregion - - - - return result; - } - public TimeSpan Over22Check(DateTime date1, DateTime date2) - { - TimeSpan Over22 = new TimeSpan(); - DateTime singleShiftOver24 = Convert.ToDateTime("00:00"); - DateTime nightWork22 = Convert.ToDateTime("22:00"); - DateTime nightWork6 = Convert.ToDateTime("06:00"); - DateTime starTimeSingel1 = date1; - DateTime endTimeSingel2 = date2; - bool check = false; - if ((endTimeSingel2 > nightWork22 || endTimeSingel2 == singleShiftOver24) && (starTimeSingel1 < nightWork22 && starTimeSingel1 > nightWork6)) - { - var nightWork6NextDay = new DateTime(); - if (endTimeSingel2.Date > starTimeSingel1.Date) - { // 15:00 - 00:00 - nightWork6NextDay = nightWork6.AddDays(1); - } - check = true; - if (endTimeSingel2 <= nightWork6NextDay) - { - check = true; - Over22 = (endTimeSingel2 - nightWork22); - } - else - { - - check = true; - Over22 = (nightWork6NextDay - nightWork22); - } - - - - } - if ((date2 > singleShiftOver24 && endTimeSingel2 <= nightWork6) && (starTimeSingel1 < nightWork22 && starTimeSingel1 > nightWork6)) - { - check = true; - endTimeSingel2 = endTimeSingel2.AddDays(1); - Over22 = (endTimeSingel2 - nightWork22); - } - if ((endTimeSingel2 > singleShiftOver24 && endTimeSingel2 <= nightWork6) && (starTimeSingel1 >= nightWork22)) - { - check = true; - endTimeSingel2 = endTimeSingel2.AddDays(1); - Over22 = (endTimeSingel2 - starTimeSingel1); - } - if ((endTimeSingel2 > singleShiftOver24 && endTimeSingel2 <= nightWork6) && (starTimeSingel1 >= singleShiftOver24 && starTimeSingel1 <= nightWork6)) - { - check = true; - Over22 = (endTimeSingel2 - starTimeSingel1); - } - if (starTimeSingel1 >= nightWork22 && endTimeSingel2 > nightWork22) - { - check = true; - - var nightWork6NextDay = new DateTime(); - if (endTimeSingel2.Date > starTimeSingel1.Date) - { - nightWork6NextDay = nightWork6.AddDays(1); - if (endTimeSingel2 <= nightWork6NextDay) - { - check = true; - Over22 = (endTimeSingel2 - starTimeSingel1); - } - else - { - - check = true; - Over22 = (nightWork6NextDay - starTimeSingel1); - } - } - - - } - if (endTimeSingel2.Date == starTimeSingel1.Date) - { - if (endTimeSingel2 <= nightWork6 && starTimeSingel1 >= singleShiftOver24) - { - check = true; - Over22 = (endTimeSingel2 - starTimeSingel1); - } - else if (endTimeSingel2 >= nightWork6 && starTimeSingel1 >= singleShiftOver24 && endTimeSingel2 <= nightWork22) - - { - - if (starTimeSingel1 >= nightWork6 && endTimeSingel2 <= nightWork22) - { - Over22 = TimeSpan.Zero; - } - else - { - Over22 = (nightWork6 - starTimeSingel1); - } - - - - } - else if (starTimeSingel1 >= singleShiftOver24 && endTimeSingel2 > nightWork22) - { - if (starTimeSingel1 >= nightWork22) - { - Over22 = (endTimeSingel2 - starTimeSingel1); - } - else if (starTimeSingel1 < nightWork22 && endTimeSingel2 > nightWork22) - { - if (starTimeSingel1 < nightWork6) - { - var step1 = (nightWork6 - starTimeSingel1); - var step2 = (endTimeSingel2 - nightWork22); - var step3 = step1 + step2; - Over22 = step3; - } - else - { - Over22 = (endTimeSingel2 - nightWork22); - } - - } - - - } - else if (starTimeSingel1 > nightWork22 && endTimeSingel2 > nightWork22) - { - Over22 = (endTimeSingel2 - starTimeSingel1); - } - } - return Over22; - } - - public TimeSpan Over22Complex(DateTime date1, DateTime date2) - { - TimeSpan Over22Result = new TimeSpan(); - DateTime Over24 = new DateTime(date2.Year, date2.Month, date2.Day, 0, 0, 0); - DateTime nightWork22 = new DateTime(date1.Year, date1.Month, date1.Day, 22, 0, 0); - DateTime nightWork22b = new DateTime(date2.Year, date2.Month, date2.Day, 22, 0, 0); - DateTime nightWork6 = new DateTime(date2.Year, date2.Month, date2.Day, 6, 0, 0); - DateTime nightWork6a = new DateTime(date1.Year, date1.Month, date1.Day, 6, 0, 0); - DateTime starTime = date1; - DateTime endTime = date2; - if (endTime > nightWork22 && starTime < nightWork22) - { - if (starTime.Date == endTime.Date) - { - nightWork6 = nightWork6.AddDays(1); - } - - if (endTime <= nightWork6) - { - Over22Result = (endTime - nightWork22); - - } - else if (endTime > nightWork6) - { - Over22Result = (nightWork6 - nightWork22); - } - } - - if (endTime > nightWork22 && starTime >= nightWork22) - { - if (endTime <= nightWork6) - { - Over22Result = (endTime - starTime); - } - else if (endTime > nightWork6) - { - Over22Result = (nightWork6 - starTime); - } - - } - - if ((starTime.Hour >= 0 && starTime.Minute >= 0) && (starTime < nightWork6 && starTime.Date == nightWork6.Date)) - { - if (endTime > nightWork6) - { - Over22Result = (nightWork6 - starTime); - } - else if (endTime <= nightWork6) - { - Over22Result = (endTime - starTime); - } - //nightWork22 = nightWork22.Subtract(new TimeSpan(1, 0, 0, 0)); - } - - return Over22Result; - } - - public TimeSpan Over22Complex2424(DateTime date1, DateTime date2) - { - TimeSpan Over22Result = new TimeSpan(); - DateTime Over24a = new DateTime(date1.Year, date1.Month, date1.Day, 0, 0, 0); - DateTime Over24b = new DateTime(date2.Year, date2.Month, date2.Day, 0, 0, 0); - DateTime nightWork22a = new DateTime(date1.Year, date1.Month, date1.Day, 22, 0, 0); - DateTime nightWork22b = new DateTime(date2.Year, date2.Month, date2.Day, 22, 0, 0); - - DateTime nightWork6a = new DateTime(date1.Year, date1.Month, date1.Day, 6, 0, 0); - DateTime nightWork6b = new DateTime(date2.Year, date2.Month, date2.Day, 6, 0, 0); - DateTime starTime = date1; - DateTime endTime = date2; - - if (starTime >= Over24a && starTime <= nightWork6a) - { - if (endTime > nightWork22a && endTime <= nightWork6b) - { - TimeSpan night1 = (nightWork6a - starTime); - TimeSpan night2 = (endTime - nightWork22a); - Over22Result = night1.Add(night2); - } - - if (endTime > nightWork6a && endTime < nightWork22a) - { - Over22Result = (nightWork6a - starTime); - } - } - - if (starTime >= nightWork6a && starTime < nightWork22a) - { - if (endTime > nightWork22a && endTime <= nightWork6b) - { - Over22Result = (endTime - nightWork22a); - } - - if (endTime > nightWork6b) - { - Over22Result = (nightWork6b - nightWork22a); - } - } - - if (starTime >= nightWork22a && starTime < Over24b) - { - - if (endTime <= nightWork22b) - { - Over22Result = (nightWork6b - starTime); - } - - - if (endTime > nightWork22b) - { - TimeSpan night1 = (nightWork6b - starTime); - TimeSpan night2 = (endTime - nightWork22b); - Over22Result = night1.Add(night2); - } - } - - - - return Over22Result; - } - - - #endregion - - - #region NewChangeByHeydari - - public IActionResult OnPostDeleteAllCheckouts(List ids, long workshopId) - { - var op = new OperationResult(); - var workshop = _workshopApplication.GetDetails(workshopId); - var empId = workshop.EmployerIdList.FirstOrDefault(); - var isBlock = _personalContractingPartyApp.IsBlockByEmployerId(empId); - if (isBlock == "true") - { - return new JsonResult(new - { - successDelete = false, - }); - - } - else - { - var hasSignatureIds = _checkoutApplication.CheckHasSignature(ids); - if (hasSignatureIds == null || (hasSignatureIds != null && hasSignatureIds.Count == 0))//امضا نداشته باشد - { - op = _checkoutApplication.DeleteAllCheckouts(ids); - } - - - return new JsonResult(new - { - hasSignature = (hasSignatureIds != null && hasSignatureIds.Count() > 0) ? true : false, - signatureList = hasSignatureIds, - successDelete = op.IsSuccedded, - - }); - } - - } - - public IActionResult OnPostDeleteCheckout(long id) - { - var ids = new List(); - ids.Add(id); - var op = new OperationResult(); - - var hasSignatureIds = _checkoutApplication.CheckHasSignature(ids); - if (hasSignatureIds == null || - (hasSignatureIds != null && hasSignatureIds.Count == 0)) //امضا نداشته باشد - { - op = _checkoutApplication.DeleteCheckout(id); - } - - - return new JsonResult(new - { - hasSignature = (hasSignatureIds != null && hasSignatureIds.Count() > 0) ? true : false, - signatureList = hasSignatureIds, - successDelete = op.IsSuccedded, - - }); - - - } - - public IActionResult OnPostSignatureAll(List ids, long workshopId) - { - var result = new OperationResult(); - var workshop = _workshopApplication.GetDetails(workshopId); - var empId = workshop.EmployerIdList.FirstOrDefault(); - var isBlock = _personalContractingPartyApp.IsBlockByEmployerId(empId); - if (isBlock == "true") - { - return new JsonResult(new - { - isSuccedded = false, - }); - } - else - { - foreach (var item in ids) - { - result = _checkoutApplication.Sign(item); - if (!result.IsSuccedded) - break; - } - - return new JsonResult(result); - } - - } - public IActionResult OnPostDeleteAllSignature(List ids, long workshopId) - { - var permissions = _authHelper.GetPermissions(); - var checkHasPermission = permissions.Any(n => n.Equals(20222)); - var result = new OperationResult(); - var workshop = _workshopApplication.GetDetails(workshopId); - var empId = workshop.EmployerIdList.FirstOrDefault(); - var isBlock = _personalContractingPartyApp.IsBlockByEmployerId(empId); - if (isBlock == "true" || !checkHasPermission) - { - return new JsonResult(new - { - isSuccedded = false, - }); - } - else - { - foreach (var item in ids) - { - result = _checkoutApplication.UnSign(item); - if (!result.IsSuccedded) - break; - } - - return new JsonResult(result); - } - - } - - - #endregion - } - - public class Person - { - public string FirstName { get; set; } - public string LastName { get; set; } - public int Age { get; set; } - } + var SumNotHolidays = notHolidays.Add(notHolidays2); + var SumNotHolidaysHours = (int)SumNotHolidays.TotalHours; + var SumNotHolidaysMinuts = SumNotHolidays.Minutes % 60; + + var SumHolidays = jomeh.Add(jomeh2); + var SumHolidaysHours = (int)SumHolidays.TotalHours; + var SumHolidaysMinuts = SumHolidays.Minutes % 60; + + var totalHoursShift1 = notHolidays; + var totalHoursShift1And2 = SumNotHolidays; + + #endregion + + #region DailyFeeCompute + + var basic = "0"; + + var GetWorkStartDate = command.GetWorkDateHide.ToEnglishNumber(); + var GetWorkEndDate = command.ContractEnd.ToEnglishNumber(); + var styear = Convert.ToInt32(GetWorkStartDate.Substring(0, 4)); + var stmonth = Convert.ToInt32(GetWorkStartDate.Substring(5, 2)); + var stday = Convert.ToInt32(GetWorkStartDate.Substring(8, 2)); + + var edyear = Convert.ToInt32(GetWorkEndDate.Substring(0, 4)); + var edmonth = Convert.ToInt32(GetWorkEndDate.Substring(5, 2)); + var edday = Convert.ToInt32(GetWorkEndDate.Substring(8, 2)); + var startDate = command.GetWorkDateHide.ToGeorgianDateTime(); + var endDate = command.ContractEnd.ToGeorgianDateTime(); + var dayliFee = "خطای تاریخ"; + + if (styear >= 1370) + { + if (leftworkList == null) + leftworkList = new List(); + var ContractStart = command.ContarctStart.ToGeorgianDateTime(); + var dayliFeeResult = _yearlySalaryRepository.DayliFeeComputing(startDate, ContractStart, endDate, + command.EmployeeId, command.WorkshopId, leftworkList); + dayliFee = dayliFeeResult.DayliFee; + dayliFeeComplete = dayliFeeResult.DayliFee.MoneyToDouble(); + basic = dayliFeeResult.Basic; + } + + #endregion + + #region ConsumableItemsAndHousingAndFamily + + var ConsumableItems = _yearlySalaryRepository.ConsumableItems(endDate); + var HousingAllowance = _yearlySalaryRepository.HousingAllowance(endDate); + + var familyAllowance = _yearlySalaryRepository.FamilyAllowance(command.EmployeeId, endDate); + var MarriedAllowance = _yearlySalaryRepository.MarriedAllowance(endDate, command.EmployeeId); + + #endregion + + #region Fix44Compute + + var dailyFixx = TimeSpan.Parse("07:20"); + var fix44 = dailyFixx.Multiply(6); + + var divideNum = TimeSpan.Parse("06:00"); + // حق تاهل + var MarriedAllowanceStr = MarriedAllowance > 0 ? MarriedAllowance.ToMoney() : "0"; + + + if (command.ShiftWork == "1") + { + if (SumSingle < fix44) + { + // مجموع ساعت کار هفته تقسیم بر 6 ساعت + var dividTo6Days = SumSingle.Divide(divideNum); + + var HousingAllowonceNumberType = HousingAllowance.MoneyToDouble(); + var ConsumableItemsNumberType = ConsumableItems.MoneyToDouble(); + var familyAllowanceNumberType = familyAllowance.MoneyToDouble(); + var DailyFeeNumberType = dayliFee.MoneyToDouble(); + + //مزد روزانه تقسیم بر 7/33 + var dailyStep1 = DailyFeeNumberType / 7.33; + //نتیجه ضربدر جواب مجموع ساعت تقسیم بر 6 روز هفته + var dailyStep2 = dailyStep1 * dividTo6Days; + + dayliFee = dailyStep2.ToMoney(); + + var HousingStep1 = HousingAllowonceNumberType / 30; + var HousingStep2 = HousingStep1 / 7.33; + var HousingStep3 = HousingStep2 * dividTo6Days; + var HousingStep4 = HousingStep3 * AllDaysCount; + HousingAllowance = HousingStep4.ToMoney(); + + var consumableItemsStep1 = ConsumableItemsNumberType / 30; + var consumableItemsStep2 = consumableItemsStep1 / 7.33; + var consumableItemsStep3 = consumableItemsStep2 * dividTo6Days; + var consumableItemsStep4 = consumableItemsStep3 * AllDaysCount; + ConsumableItems = consumableItemsStep4.ToMoney(); + + //حق تاهل + if (MarriedAllowance > 0) + { + var MarriedStep1 = MarriedAllowance / 30; + var MarriedStep2 = MarriedStep1 / 7.33; + var MarriedStep3 = MarriedStep2 * dividTo6Days; + var MarriedStep4 = MarriedStep3 * AllDaysCount; + MarriedAllowanceStr = MarriedStep4.ToMoney(); + } + + if (familyAllowance != "0") + { + var familyAllowanceStep1 = familyAllowanceNumberType / 30; + var familyAllowanceStep2 = familyAllowanceStep1 / 7.33; + var familyAllowanceStep3 = familyAllowanceStep2 * dividTo6Days; + var familyAllowanceStep4 = familyAllowanceStep3 * AllDaysCount; + familyAllowance = familyAllowanceStep4.ToMoney(); + } + + var sumSingleRound = Math.Round(SumSingle.TotalHours, 2); + weeklyTime = SumSingle; + SumWorkeTime = $"{sumSingleRound}"; + } + else + { + var HousingAllowonceNumberType = HousingAllowance.MoneyToDouble(); + var ConsumableItemsNumberType = ConsumableItems.MoneyToDouble(); + var familyAllowanceNumberType = familyAllowance.MoneyToDouble(); + + var HousingStep1 = HousingAllowonceNumberType / 30; + var HousingStep4 = HousingStep1 * AllDaysCount; + HousingAllowance = HousingStep4.ToMoney(); + + + var consumableItemsStep1 = ConsumableItemsNumberType / 30; + var consumableItemsStep4 = consumableItemsStep1 * AllDaysCount; + ConsumableItems = consumableItemsStep4.ToMoney(); + + //حق تاهل + if (MarriedAllowance > 0) + { + var MarriedStep1 = MarriedAllowance / 30; + var MarriedStep4 = MarriedStep1 * AllDaysCount; + MarriedAllowanceStr = MarriedStep4.ToMoney(); + } + + if (familyAllowance != "0") + { + var familyAllowanceStep1 = familyAllowanceNumberType / 30; + var familyAllowanceStep4 = familyAllowanceStep1 * AllDaysCount; + familyAllowance = familyAllowanceStep4.ToMoney(); + } + + SumWorkeTime = $"{44}"; + } + } + else if (command.ShiftWork == "2") + { + var totalShift = SumSingle + SumTow; + if (totalShift < fix44) + { + var dividTo6Days = totalShift.Divide(divideNum); + var DailyFeeNumberType = dayliFee.MoneyToDouble(); + + var HousingAllowonceNumberType = HousingAllowance.MoneyToDouble(); + var ConsumableItemsNumberType = ConsumableItems.MoneyToDouble(); + var familyAllowanceNumberType = familyAllowance.MoneyToDouble(); + + var step1 = DailyFeeNumberType / 7.33; + var step2 = step1 * dividTo6Days; + + dayliFee = step2.ToMoney(); + + + var HousingStep1 = HousingAllowonceNumberType / 30; + var HousingStep2 = HousingStep1 / 7.33; + var HousingStep3 = HousingStep2 * dividTo6Days; + var HousingStep4 = HousingStep3 * AllDaysCount; + HousingAllowance = HousingStep4.ToMoney(); + + var consumableItemsStep1 = ConsumableItemsNumberType / 30; + var consumableItemsStep2 = consumableItemsStep1 / 7.33; + var consumableItemsStep3 = consumableItemsStep2 * dividTo6Days; + var consumableItemsStep4 = consumableItemsStep3 * AllDaysCount; + ConsumableItems = consumableItemsStep4.ToMoney(); + + //حق تاهل + if (MarriedAllowance > 0) + { + var MarriedStep1 = MarriedAllowance / 30; + var MarriedStep2 = MarriedStep1 / 7.33; + var MarriedStep3 = MarriedStep2 * dividTo6Days; + var MarriedStep4 = MarriedStep3 * AllDaysCount; + MarriedAllowanceStr = MarriedStep4.ToMoney(); + } + + if (familyAllowance != "0") + { + var familyAllowanceStep1 = familyAllowanceNumberType / 30; + var familyAllowanceStep2 = familyAllowanceStep1 / 7.33; + var familyAllowanceStep3 = familyAllowanceStep2 * dividTo6Days; + var familyAllowanceStep4 = familyAllowanceStep3 * AllDaysCount; + familyAllowance = familyAllowanceStep4.ToMoney(); + } + + var totalShiftRound = Math.Round(totalShift.TotalHours, 2); + SumWorkeTime = $"{totalShiftRound}"; + weeklyTime = totalShift; + } + else + { + var HousingAllowonceNumberType = HousingAllowance.MoneyToDouble(); + var ConsumableItemsNumberType = ConsumableItems.MoneyToDouble(); + var familyAllowanceNumberType = familyAllowance.MoneyToDouble(); + + var consumableItemsStep1 = ConsumableItemsNumberType / 30; + var consumableItemsStep4 = consumableItemsStep1 * AllDaysCount; + ConsumableItems = consumableItemsStep4.ToMoney(); + + var HousingStep1 = HousingAllowonceNumberType / 30; + var HousingStep4 = HousingStep1 * AllDaysCount; + HousingAllowance = HousingStep4.ToMoney(); + + //حق تاهل + if (MarriedAllowance > 0) + { + var MarriedStep1 = MarriedAllowance / 30; + var MarriedStep4 = MarriedStep1 * AllDaysCount; + MarriedAllowanceStr = MarriedStep4.ToMoney(); + } + + if (familyAllowance != "0") + { + var familyAllowanceStep1 = familyAllowanceNumberType / 30; + var familyAllowanceStep4 = familyAllowanceStep1 * AllDaysCount; + familyAllowance = familyAllowanceStep4.ToMoney(); + } + + SumWorkeTime = $"{44}"; + } + } + else if (command.ShiftWork == "4") + { + var TotalContractDays = (conEndGr - conStartGr).TotalDays + 1; + var totalWeek = (int)(TotalContractDays / 6); + var TotalDaysNoFriday = TotalContractDays - FridayStartToEnd; + var FixHourses = TotalDaysNoFriday * 7.33; + var totalHourses = HolidaysAndNot.TotalMinutes / 60; + //var dividedForOneDay = totalHourses / notHolidaysCount; + if (totalHourses < FixHourses) + { + var DailyFeeNumberType = dayliFee.MoneyToDouble(); + var dailyStep1 = DailyFeeNumberType / 7.33; + var hoursesPerDay = totalHourses / TotalDaysNoFriday; + var result = hoursesPerDay * dailyStep1; + + dayliFee = result.ToMoney(); + + + var HousingAllowonceNumberType = HousingAllowance.MoneyToDouble(); + var HousingStep1 = HousingAllowonceNumberType / 30; + var HousingStep2 = HousingStep1 / 7.33; + var HousingStep3 = HousingStep2 * hoursesPerDay; + var HousingStep4 = HousingStep3 * AllDaysCount; + HousingAllowance = HousingStep4.ToMoney(); + + var ConsumableItemsNumberType = ConsumableItems.MoneyToDouble(); + var consumableItemsStep1 = ConsumableItemsNumberType / 30; + var consumableItemsStep2 = consumableItemsStep1 / 7.33; + var consumableItemsStep3 = consumableItemsStep2 * hoursesPerDay; + var consumableItemsStep4 = consumableItemsStep3 * AllDaysCount; + ConsumableItems = consumableItemsStep4.ToMoney(); + + + //حق تاهل + if (MarriedAllowance > 0) + { + var MarriedStep1 = MarriedAllowance / 30; + var MarriedStep2 = MarriedStep1 / 7.33; + var MarriedStep3 = MarriedStep2 * hoursesPerDay; + var MarriedStep4 = MarriedStep3 * AllDaysCount; + MarriedAllowanceStr = MarriedStep4.ToMoney(); + } + + if (familyAllowance != "0") + { + var familyAllowanceNumberType = familyAllowance.MoneyToDouble(); + var familyAllowanceStep1 = familyAllowanceNumberType / 30; + var familyAllowanceStep2 = familyAllowanceStep1 / 7.33; + var familyAllowanceStep3 = familyAllowanceStep2 * hoursesPerDay; + var familyAllowanceStep4 = familyAllowanceStep3 * AllDaysCount; + familyAllowance = familyAllowanceStep4.ToMoney(); + } + + if (totalWeek > 1) + { + double weekAvrage = 0; + if (totalHourses < 44.00) + weekAvrage = totalHourses * 6 / TotalContractDays; + else + weekAvrage = totalHourses * 6 / TotalDaysNoFriday; + //var oneday = weekAvrage * 6; + var totalShiftRound = Math.Round(weekAvrage, 2); + SumWorkeTime = $"{totalShiftRound}"; + } + else if (totalWeek <= 1 && TotalDaysNoFriday <= 6) + { + var totalShiftRound = Math.Round(totalHourses, 2); + SumWorkeTime = $"{totalShiftRound}"; + } + else if (totalWeek <= 1 && TotalDaysNoFriday > 6) + + { + var perDyeWorked = totalHourses / TotalDaysNoFriday; + var weekAvrage = perDyeWorked * 6; + var totalShiftRound = Math.Round(weekAvrage, 2); + SumWorkeTime = $"{totalShiftRound}"; + } + + weeklyTime = totalHoursShift1; + } + else + { + var HousingAllowonceNumberType = HousingAllowance.MoneyToDouble(); + var ConsumableItemsNumberType = ConsumableItems.MoneyToDouble(); + var familyAllowanceNumberType = familyAllowance.MoneyToDouble(); + + var HousingStep1 = HousingAllowonceNumberType / 30; + var HousingStep4 = HousingStep1 * AllDaysCount; + HousingAllowance = HousingStep4.ToMoney(); + + + var consumableItemsStep1 = ConsumableItemsNumberType / 30; + var consumableItemsStep4 = consumableItemsStep1 * AllDaysCount; + ConsumableItems = consumableItemsStep4.ToMoney(); + + //حق تاهل + if (MarriedAllowance > 0) + { + var MarriedStep1 = MarriedAllowance / 30; + var MarriedStep4 = MarriedStep1 * AllDaysCount; + MarriedAllowanceStr = MarriedStep4.ToMoney(); + } + + if (familyAllowance != "0") + { + var familyAllowanceStep1 = familyAllowanceNumberType / 30; + var familyAllowanceStep4 = familyAllowanceStep1 * AllDaysCount; + familyAllowance = familyAllowanceStep4.ToMoney(); + } + + SumWorkeTime = $"{44}"; + } + } + else + { + var TotalContractDays = (conEndGr - conStartGr).TotalDays + 1; + var TotalDaysNoFriday = TotalContractDays - FridayStartToEnd; + var FixHourses = TotalDaysNoFriday * 7.33; + + var totalHourses = totalHoursShift1.TotalMinutes / 60; + + if (totalHourses < FixHourses) + { + var dailyFeeNumberType = dayliFee.MoneyToDouble(); + var dailyStep1 = dailyFeeNumberType / 7.33; + var hoursesPerDay = totalHourses / TotalDaysNoFriday; + var result = hoursesPerDay * dailyStep1; + + dayliFee = result.ToMoney(); + + var HousingAllowonceNumberType = HousingAllowance.MoneyToDouble(); + var HousingStep1 = HousingAllowonceNumberType / 30; + var HousingStep2 = HousingStep1 / 7.33; + var HousingStep3 = HousingStep2 * hoursesPerDay; + var HousingStep4 = HousingStep3 * AllDaysCount; + HousingAllowance = HousingStep4.ToMoney(); + + var ConsumableItemsNumberType = ConsumableItems.MoneyToDouble(); + var consumableItemsStep1 = ConsumableItemsNumberType / 30; + var consumableItemsStep2 = consumableItemsStep1 / 7.33; + var consumableItemsStep3 = consumableItemsStep2 * hoursesPerDay; + var consumableItemsStep4 = consumableItemsStep3 * AllDaysCount; + ConsumableItems = consumableItemsStep4.ToMoney(); + + //حق تاهل + if (MarriedAllowance > 0) + { + var MarriedStep1 = MarriedAllowance / 30; + var MarriedStep2 = MarriedStep1 / 7.33; + var MarriedStep3 = MarriedStep2 * hoursesPerDay; + var MarriedStep4 = MarriedStep3 * AllDaysCount; + MarriedAllowanceStr = MarriedStep4.ToMoney(); + } + + if (familyAllowance != "0") + { + var familyAllowanceNumberType = familyAllowance.MoneyToDouble(); + var familyAllowanceStep1 = familyAllowanceNumberType / 30; + var familyAllowanceStep2 = familyAllowanceStep1 / 7.33; + var familyAllowanceStep3 = familyAllowanceStep2 * hoursesPerDay; + var familyAllowanceStep4 = familyAllowanceStep3 * AllDaysCount; + familyAllowance = familyAllowanceStep4.ToMoney(); + } + } + } + + #endregion + + #region MandatoryTimeCompute + + if (command.ShiftWork == "1" && totalHoursShift1 > dailyFix) Mandatory = totalHoursShift1.Subtract(dailyFix); + + if (command.ShiftWork == "2" && totalHoursShift1And2 > dailyFix) + Mandatory = totalHoursShift1And2.Subtract(dailyFix); + + if (command.ShiftWork == "4" && totalHoursShift1 > dailyFix) Mandatory = totalHoursShift1.Subtract(dailyFix); + if ((command.ShiftWork == "5" && totalHoursShift1 > ComplexFix) + || (command.ShiftWork == "6" && totalHoursShift1 > ComplexFix) + || (command.ShiftWork == "7" && totalHoursShift1 > ComplexFix) + || (command.ShiftWork == "8" && totalHoursShift1 > ComplexFix)) + Mandatory = totalHoursShift1.Subtract(ComplexFix); + var mandatoryHours = (int)Mandatory.TotalHours; + var mandatoryminuts = Mandatory.Minutes % 60; + + //Over22 = Over22.Multiply(sumDays); + var Over22hours = (int)Over22.TotalHours; + var Over22Minuts = Over22.TotalMinutes % 60; + + if (command.ShiftWork == "1" || command.ShiftWork == "4") + { + shift1Hourse = workingDaysH.ToString(); + shift1Minuts = workingDaysM.ToString(); + + + if (totalHoursShift1 > dailyFix) + { + overMandatoryHours = mandatoryHours.ToString(); + overMandatoryMinuts = mandatoryminuts.ToString(); + //line3 = "مجموع ساعات اضافه کاری " + " : " + $" {mandatoryHours} " + "ساعت و " + $" {mandatoryminuts} " + "دقیقه"; + } + + + shiftOver22Hours = Over22hours.ToString(); + shiftOver22Minuts = Over22Minuts.ToString(); + } + + if (command.ShiftWork == "2") + { + shift1Hourse = SumNotHolidaysHours.ToString(); + shift1Minuts = SumNotHolidaysMinuts.ToString(); + + + if (totalHoursShift1And2 > dailyFix) + { + overMandatoryHours = mandatoryHours.ToString(); + overMandatoryMinuts = mandatoryminuts.ToString(); + } + + shiftOver22Hours = Over22hours.ToString(); + shiftOver22Minuts = Over22Minuts.ToString(); + } + + if (command.ShiftWork == "5" || command.ShiftWork == "6" || command.ShiftWork == "7" || + command.ShiftWork == "8") + { + shift1Hourse = workingDaysH.ToString(); + shift1Minuts = workingDaysM.ToString(); + + + // اضافه کاری + if (totalHoursShift1 > ComplexFix) + { + overMandatoryHours = mandatoryHours.ToString(); + overMandatoryMinuts = mandatoryminuts.ToString(); + //line3 = "مجموع ساعات اضافه کاری " + " : " + $" {mandatoryHours} " + "ساعت و " + $" {mandatoryminuts} " + "دقیقه"; + } + + + shiftOver22Hours = Over22hours.ToString(); + shiftOver22Minuts = Over22Minuts.ToString(); + } + + var ComplexNotHolidays = string.Empty; + if (command.ShiftWork == "5" || command.ShiftWork == "6" || command.ShiftWork == "7" || + command.ShiftWork == "8") + { + ComplexNotHolidays = Notholiday; + Notholiday = "0"; + } + + #endregion + + #region RtatingStatus + + var moriningCount = rotatingResultList.Count(x => x.IsMorningShift); + var eveningCount = rotatingResultList.Count(x => x.IsEveningShift); + var nightCount = rotatingResultList.Count(x => x.IsNightShift); + + var RotatingfaName = new List(); + if (moriningCount > 0) + RotatingfaName.Add("صبح"); + if (eveningCount > 0) + RotatingfaName.Add("عصر"); + if (nightCount > 0) + RotatingfaName.Add("شب"); + var rotatingFaResult = ""; + if (RotatingfaName.Count > 1) + { + shiftOver22Hours = "0"; + shiftOver22Minuts = "0"; + for (var rotateNumber = 0; rotateNumber < RotatingfaName.Count; rotateNumber++) + { + if (rotateNumber == 0) + rotatingFaResult = $"{RotatingfaName[rotateNumber]}"; + if (rotateNumber == 1) + rotatingFaResult += $" و {RotatingfaName[rotateNumber]}"; + if (rotateNumber == 2) + rotatingFaResult += $" و {RotatingfaName[rotateNumber]}"; + } + } + else if (RotatingfaName.Count <= 1) + { + rotatingFaResult = "نوبت کاری ندارد"; + } + + #endregion + + #region ShiftPayPercent + + if (rotatingFaResult != "نوبت کاری ندارد" || rotatingFaResult != "") + { + var TotalDays = (command.ContractEndGr - command.ContractStartGr).TotalDays + 1; + var DailyFeeNumberType = dayliFee.MoneyToDouble(); + if (rotatingFaResult == "صبح و عصر") + { + var shiftPyaPercent = DailyFeeNumberType * 10 / 100; + ShiftPayResult = shiftPyaPercent * TotalDays; + } + else if (rotatingFaResult == "صبح و عصر و شب") + { + var shiftPyaPercent = DailyFeeNumberType * 15 / 100; + ShiftPayResult = shiftPyaPercent * TotalDays; + } + else if (rotatingFaResult == "صبح و شب" || rotatingFaResult == "عصر و شب") + { + var shiftPyaPercent = DailyFeeNumberType * 22.5 / 100; + ShiftPayResult = shiftPyaPercent * TotalDays; + } + } + + #endregion + + #region sendResult + + rotatingResultList = rotatingResultList.Take(28).ToList(); + var ress = new ComputingViewModel + { + NumberOfWorkingDays = Notholiday == "0" ? ComplexNotHolidays : Notholiday, + NumberOfFriday = Holidays, + TotalHoursesH = shift1Hourse, + TotalHoursesM = shift1Minuts, + E = shift1HolidayHours, + F = shift1HolidayMinuts, + Interference = InterferenceMessage, + OverTimeWorkH = overMandatoryHours, + OverTimeWorkM = overMandatoryMinuts, + OverNightWorkH = shiftOver22Hours, + OverNightWorkM = shiftOver22Minuts, + ComplexNumberOfWorkingDays = ComplexNotHolidays, + SalaryCompute = dayliFee, + SumTime44 = SumWorkeTime, + ConsumableItems = ConsumableItems, + HousingAllowance = HousingAllowance, + FamilyAllowance = familyAllowance, + OfficialHoliday = OfficialHoliday, + weeklyTime = weeklyTime, + RotatingResultList = rotatingResultList, + RotatingStatus = rotatingFaResult, + ShiftPay = ShiftPayResult, + Basic = basic, + FridayStartToEnd = FridayStartToEnd, + TotalHolidayAndNotH = totalHolidaysAndNotH.ToString(), + TotalHolidayAndNotM = totalHolidaysAndNotM.ToString(), + DayliFeeComplete = dayliFeeComplete, + MarriedAllowance = MarriedAllowanceStr + }; + + + return ress; + + #endregion + } + + #endregion + + #region MandatoryDependingMetods + + public RotatingShiftViewModel RotatingShiftCheck(DateTime? singleShift1, DateTime? singleShift2, + DateTime? towShift1, DateTime? towShift2) + { + #region Entityes + + var nullDateTme = new DateTime(0001, 01, 01); + var midNight24 = Convert.ToDateTime("00:00"); + var morningWorkingTime1 = new TimeSpan(); + var eveningWorkingTime1 = new TimeSpan(); + var nightWorkingTime1 = new TimeSpan(); + var morningWorkingTime2 = new TimeSpan(); + var eveningWorkingTime2 = new TimeSpan(); + var nightWorkingTime2 = new TimeSpan(); + var morningStart = Convert.ToDateTime("06:00"); + var morningEnd = Convert.ToDateTime("14:00"); + var eveningStart = Convert.ToDateTime("14:00"); + var eveningEnd = Convert.ToDateTime("22:00"); + var nightStart = Convert.ToDateTime("22:00"); + var nightEnd = Convert.ToDateTime("6:00"); + var nightEndNextday = nightEnd.AddDays(1); + var morningEndNextday = morningEnd.AddDays(1); + + #endregion + + #region shift1 + + if (singleShift1 != nullDateTme && singleShift2 != nullDateTme) + { + if (singleShift2 < singleShift1) singleShift2 = singleShift2?.AddDays(1); + + if (singleShift1 == singleShift2) // example 22<---22 + { + nightWorkingTime1 = new TimeSpan(8, 0, 0); + morningWorkingTime1 = new TimeSpan(8, 0, 0); + eveningWorkingTime1 = new TimeSpan(8, 0, 0); + } + else + { + #region morning enter 14 <- 6 + + if (singleShift1 >= morningStart // 14<---<6 + && singleShift1 < morningEnd + && singleShift2 > morningStart + && singleShift2 <= morningEnd) + { + morningWorkingTime1 = (TimeSpan)(singleShift2 - singleShift1); + } + else if (singleShift1 >= morningStart // <---14---6 + && singleShift1 < morningEnd + && singleShift2 > morningStart + && singleShift2 <= nightEndNextday) + { + if (singleShift2 <= eveningEnd) // 22<---14---6 + { + morningWorkingTime1 = (TimeSpan)(morningEnd - singleShift1); + eveningWorkingTime1 = (TimeSpan)(singleShift2 - eveningStart); + } + else if (singleShift2 > eveningEnd) // 6<---22---14---6 + { + morningWorkingTime1 = (TimeSpan)(morningEnd - singleShift1); + eveningWorkingTime1 = new TimeSpan(8, 0, 0); + nightWorkingTime1 = (TimeSpan)(singleShift2 - eveningEnd); + } + } + else if (singleShift1 >= morningStart // 14<---<6 + && singleShift1 < morningEnd + && singleShift2 > morningStart + && singleShift2 > nightEndNextday) + { + eveningWorkingTime1 = new TimeSpan(8, 0, 0); + nightWorkingTime1 = new TimeSpan(8, 0, 0); + morningWorkingTime1 = (TimeSpan)(morningEnd - singleShift1); + morningWorkingTime1 += (TimeSpan)(singleShift2 - nightEndNextday); + } + + #endregion + + #region evening enter 22 <- 14 + + if (singleShift1 >= eveningStart // 22<---<14 + && singleShift1 < eveningEnd + && singleShift2 > eveningStart + && singleShift2 <= eveningEnd) + { + eveningWorkingTime1 = (TimeSpan)(singleShift2 - singleShift1); + } + else if (singleShift1 >= eveningStart // <14---6---22---14 + && singleShift1 < eveningEnd + && singleShift2 > eveningStart + && singleShift2 <= morningEndNextday) + { + if (singleShift2 <= nightEndNextday) // 6<---22---14 + { + eveningWorkingTime1 = (TimeSpan)(eveningEnd - singleShift1); + nightWorkingTime1 = (TimeSpan)(singleShift2 - eveningEnd); + } + else if (singleShift2 > nightEndNextday) // 14<---6---22---14 + { + eveningWorkingTime1 = (TimeSpan)(eveningEnd - singleShift1); + nightWorkingTime1 = new TimeSpan(8, 0, 0); + morningWorkingTime1 = (TimeSpan)(singleShift2 - nightEndNextday); + } + } + else if (singleShift1 >= eveningStart // <22---14---6---22---14 + && singleShift1 < eveningEnd + && singleShift2 > eveningStart + && singleShift2 > morningEndNextday) + { + nightWorkingTime1 = new TimeSpan(8, 0, 0); + morningWorkingTime1 = new TimeSpan(8, 0, 0); + eveningWorkingTime1 = (TimeSpan)(eveningEnd - singleShift1); + eveningWorkingTime1 += (TimeSpan)(singleShift2 - morningEndNextday); + } + + #endregion + + #region night enter 6 <- 22 + + if ((singleShift1 >= nightStart // 6<---<22 + && singleShift1 < nightEndNextday + && singleShift2 > nightStart + && singleShift2 <= nightEndNextday) + || (singleShift1 >= midNight24 + && singleShift1 < nightEnd + && singleShift2 > midNight24 + && singleShift2 <= nightEnd)) + { + nightWorkingTime1 = (TimeSpan)(singleShift2 - singleShift1); + } + else if (singleShift1 >= nightStart // <---6---22 + && singleShift1 < nightEndNextday + && singleShift2 > nightStart + && singleShift2 > nightEndNextday) + { + if (singleShift2 <= morningEndNextday) // 14<---6---22 + { + nightWorkingTime1 = (TimeSpan)(nightEndNextday - singleShift1); + morningWorkingTime1 = (TimeSpan)(singleShift2 - nightEndNextday); + } + else if (singleShift2 > morningEndNextday) // 22<---14---6---22 + { + nightWorkingTime1 = (TimeSpan)(nightEndNextday - singleShift1); + morningWorkingTime1 = new TimeSpan(8, 0, 0); + eveningWorkingTime1 = (TimeSpan)(singleShift2 - morningEndNextday); + } + } + else if (singleShift1 >= midNight24 // <---6---00 + && singleShift1 < nightEnd + && singleShift2 > midNight24 + && singleShift2 > nightEnd) + + { + if (singleShift2 <= morningEnd) // 14<---6---00 + { + nightWorkingTime1 = (TimeSpan)(nightEnd - singleShift1); + morningWorkingTime1 = (TimeSpan)(singleShift2 - nightEnd); + } + + else if (singleShift2 > morningEnd && singleShift1 >= midNight24) // 22<---14---6--00 + { + nightWorkingTime1 = (TimeSpan)(nightEnd - singleShift1); + morningWorkingTime1 = new TimeSpan(8, 0, 0); + eveningWorkingTime1 = (TimeSpan)(singleShift2 - morningEnd); + } + } + + #endregion + } + } + + #endregion + + #region shift2 + + if (towShift1 != nullDateTme && towShift2 != nullDateTme) + { + if (towShift2 < towShift1) towShift2 = towShift2?.AddDays(1); + + if (towShift1 == towShift2) // example 22<---22 + { + nightWorkingTime2 = new TimeSpan(8, 0, 0); + morningWorkingTime2 = new TimeSpan(8, 0, 0); + eveningWorkingTime2 = new TimeSpan(8, 0, 0); + } + else + { + #region morning enter 14 <- 6 + + if (towShift1 >= morningStart // 14<---<6 + && towShift1 < morningEnd + && towShift2 > morningStart + && towShift2 <= morningEnd) + { + morningWorkingTime2 = (TimeSpan)(towShift2 - towShift1); + } + else if (towShift1 >= morningStart // <---14---6 + && towShift1 < morningEnd + && towShift2 > morningStart + && towShift2 <= nightEndNextday) + { + if (towShift2 <= eveningEnd) // 22<---14---6 + { + morningWorkingTime2 = (TimeSpan)(morningEnd - towShift1); + eveningWorkingTime2 = (TimeSpan)(towShift2 - eveningStart); + } + else if (towShift2 > eveningEnd) // 6<---22---14---6 + { + morningWorkingTime2 = (TimeSpan)(morningEnd - towShift1); + eveningWorkingTime2 = new TimeSpan(8, 0, 0); + nightWorkingTime2 = (TimeSpan)(towShift2 - eveningEnd); + } + } + else if (towShift1 >= morningStart // 14<---<6 + && towShift1 < morningEnd + && towShift2 > morningStart + && towShift2 > nightEndNextday) + { + eveningWorkingTime2 = new TimeSpan(8, 0, 0); + nightWorkingTime2 = new TimeSpan(8, 0, 0); + morningWorkingTime2 = (TimeSpan)(morningEnd - towShift1); + morningWorkingTime2 += (TimeSpan)(towShift2 - nightEndNextday); + } + + #endregion + + #region evening enter 22 <- 14 + + if (towShift1 >= eveningStart // 22<---<14 + && towShift1 < eveningEnd + && towShift2 > eveningStart + && towShift2 <= eveningEnd) + { + eveningWorkingTime2 = (TimeSpan)(towShift2 - towShift1); + } + else if (towShift1 >= eveningStart // <14---6---22---14 + && towShift1 < eveningEnd + && towShift2 > eveningStart + && towShift2 <= morningEndNextday) + { + if (towShift2 <= nightEndNextday) // 6<---22---14 + { + eveningWorkingTime2 = (TimeSpan)(eveningEnd - towShift1); + nightWorkingTime2 = (TimeSpan)(towShift2 - eveningEnd); + } + else if (towShift2 > nightEndNextday) // 14<---6---22---14 + { + eveningWorkingTime2 = (TimeSpan)(eveningEnd - towShift1); + nightWorkingTime2 = new TimeSpan(8, 0, 0); + morningWorkingTime2 = (TimeSpan)(towShift2 - nightEndNextday); + } + } + else if (towShift1 >= eveningStart // <22---14---6---22---14 + && towShift1 < eveningEnd + && towShift2 > eveningStart + && towShift2 > morningEndNextday) + { + nightWorkingTime2 = new TimeSpan(8, 0, 0); + morningWorkingTime2 = new TimeSpan(8, 0, 0); + eveningWorkingTime2 = (TimeSpan)(eveningEnd - towShift1); + eveningWorkingTime2 += (TimeSpan)(towShift2 - morningEndNextday); + } + + #endregion + + #region night enter 6 <- 22 + + if ((towShift1 >= nightStart // 6<---<22 + && towShift1 < nightEndNextday + && towShift2 > nightStart + && towShift2 <= nightEndNextday) + || (towShift1 >= midNight24 + && towShift1 < nightEnd + && towShift2 > midNight24 + && towShift2 <= nightEnd)) + { + nightWorkingTime2 = (TimeSpan)(towShift2 - towShift1); + } + else if (towShift1 >= nightStart // <---6---22 + && towShift1 < nightEndNextday + && towShift2 > nightStart + && towShift2 > nightEndNextday) + { + if (towShift2 <= morningEndNextday) // 14<---6---22 + { + nightWorkingTime2 = (TimeSpan)(nightEndNextday - towShift1); + morningWorkingTime2 = (TimeSpan)(towShift2 - nightEndNextday); + } + else if (towShift2 > morningEndNextday) // 22<---14---6---22 + { + nightWorkingTime2 = (TimeSpan)(nightEndNextday - towShift1); + morningWorkingTime2 = new TimeSpan(8, 0, 0); + eveningWorkingTime2 = (TimeSpan)(towShift2 - morningEndNextday); + } + } + else if (towShift1 >= midNight24 // <---6---00 + && towShift1 < nightEnd + && towShift2 > midNight24 + && towShift2 > nightEnd) + + { + if (towShift2 <= morningEnd) // 14<---6---00 + { + nightWorkingTime2 = (TimeSpan)(nightEnd - towShift1); + morningWorkingTime2 = (TimeSpan)(towShift2 - nightEnd); + } + + else if (towShift2 > morningEnd && towShift1 >= midNight24) // 22<---14---6--00 + { + nightWorkingTime2 = (TimeSpan)(nightEnd - towShift1); + morningWorkingTime2 = new TimeSpan(8, 0, 0); + eveningWorkingTime2 = (TimeSpan)(towShift2 - morningEnd); + } + } + + #endregion + } + } + + #endregion + + #region FinalResult + + var result = new RotatingShiftViewModel(); + result.MorningWorkSpan = morningWorkingTime1.Add(morningWorkingTime2); + result.EveningWorkSpan = eveningWorkingTime1.Add(eveningWorkingTime2); + result.NightWorkSpan = nightWorkingTime1.Add(nightWorkingTime2); + var nullWorkspan = new TimeSpan(0, 0, 0); + var totalTime = result.TotalWorkingTime.Add(result.MorningWorkSpan); + totalTime = totalTime.Add(result.EveningWorkSpan); + totalTime = totalTime.Add(result.NightWorkSpan); + + result.TotalWorkingTime = totalTime; + + var morningH = (int)result.MorningWorkSpan.TotalHours; + var morningM = result.MorningWorkSpan.Minutes % 60; + var morningMS = "00"; + if (morningM < 10 && morningM > 0) + morningMS = $"0{morningM}"; + if (morningM > 10) + morningMS = $"{morningM}"; + result.MorningString = $"0{morningH}:{morningMS}"; + + var eveningH = (int)result.EveningWorkSpan.TotalHours; + var eveningM = result.EveningWorkSpan.Minutes % 60; + var eveningMS = "00"; + if (eveningM < 10 && eveningM > 0) + eveningMS = $"0{eveningM}"; + if (eveningM > 10) + eveningMS = $"{eveningM}"; + result.EveningString = $"0{eveningH}:{eveningMS}"; + + var nightH = (int)result.NightWorkSpan.TotalHours; + var nightM = result.NightWorkSpan.Minutes % 60; + var nightMS = "00"; + if (nightM < 10 && nightM > 0) + nightMS = $"0{nightM}"; + if (nightM > 10) + nightMS = $"{nightM}"; + result.NightString = $"0{nightH}:{nightMS}"; + + if (result.MorningWorkSpan > result.EveningWorkSpan + || result.MorningWorkSpan == result.EveningWorkSpan) // if morning bigerThan evening or equal + { + if (result.MorningWorkSpan != nullWorkspan) + { + result.IsMorningShift = true; + result.IsNightShift = false; + result.IsEveningShift = false; + result.RotatingShiftStatus = "صبح"; + } + + if (result.MorningWorkSpan < result.NightWorkSpan + || result.MorningWorkSpan == result.NightWorkSpan) // if night bigerThan morning or equal + if (result.NightWorkSpan != nullWorkspan) + { + result.IsMorningShift = false; + result.IsNightShift = true; + result.IsEveningShift = false; + result.RotatingShiftStatus = "شب"; + } + } + else if (result.MorningWorkSpan < result.EveningWorkSpan) // if evening bigerThan morning + { + if (result.EveningWorkSpan != nullWorkspan) + { + result.IsEveningShift = true; + result.IsMorningShift = false; + result.IsNightShift = false; + result.RotatingShiftStatus = "عصر"; + } + + if (result.EveningWorkSpan < result.NightWorkSpan + || result.EveningWorkSpan == result.NightWorkSpan) // if night bigerThan evening or equal + if (result.NightWorkSpan != nullWorkspan) + { + result.IsMorningShift = false; + result.IsEveningShift = false; + result.IsNightShift = true; + result.RotatingShiftStatus = "شب"; + } + } + + #endregion + + + return result; + } + + public TimeSpan Over22Check(DateTime date1, DateTime date2) + { + var Over22 = new TimeSpan(); + var singleShiftOver24 = Convert.ToDateTime("00:00"); + var nightWork22 = Convert.ToDateTime("22:00"); + var nightWork6 = Convert.ToDateTime("06:00"); + var starTimeSingel1 = date1; + var endTimeSingel2 = date2; + var check = false; + if ((endTimeSingel2 > nightWork22 || endTimeSingel2 == singleShiftOver24) && starTimeSingel1 < nightWork22 && + starTimeSingel1 > nightWork6) + { + var nightWork6NextDay = new DateTime(); + if (endTimeSingel2.Date > starTimeSingel1.Date) + // 15:00 - 00:00 + nightWork6NextDay = nightWork6.AddDays(1); + check = true; + if (endTimeSingel2 <= nightWork6NextDay) + { + check = true; + Over22 = endTimeSingel2 - nightWork22; + } + else + { + check = true; + Over22 = nightWork6NextDay - nightWork22; + } + } + + if (date2 > singleShiftOver24 && endTimeSingel2 <= nightWork6 && starTimeSingel1 < nightWork22 && + starTimeSingel1 > nightWork6) + { + check = true; + endTimeSingel2 = endTimeSingel2.AddDays(1); + Over22 = endTimeSingel2 - nightWork22; + } + + if (endTimeSingel2 > singleShiftOver24 && endTimeSingel2 <= nightWork6 && starTimeSingel1 >= nightWork22) + { + check = true; + endTimeSingel2 = endTimeSingel2.AddDays(1); + Over22 = endTimeSingel2 - starTimeSingel1; + } + + if (endTimeSingel2 > singleShiftOver24 && endTimeSingel2 <= nightWork6 && + starTimeSingel1 >= singleShiftOver24 && starTimeSingel1 <= nightWork6) + { + check = true; + Over22 = endTimeSingel2 - starTimeSingel1; + } + + if (starTimeSingel1 >= nightWork22 && endTimeSingel2 > nightWork22) + { + check = true; + + var nightWork6NextDay = new DateTime(); + if (endTimeSingel2.Date > starTimeSingel1.Date) + { + nightWork6NextDay = nightWork6.AddDays(1); + if (endTimeSingel2 <= nightWork6NextDay) + { + check = true; + Over22 = endTimeSingel2 - starTimeSingel1; + } + else + { + check = true; + Over22 = nightWork6NextDay - starTimeSingel1; + } + } + } + + if (endTimeSingel2.Date == starTimeSingel1.Date) + { + if (endTimeSingel2 <= nightWork6 && starTimeSingel1 >= singleShiftOver24) + { + check = true; + Over22 = endTimeSingel2 - starTimeSingel1; + } + else if (endTimeSingel2 >= nightWork6 && starTimeSingel1 >= singleShiftOver24 && + endTimeSingel2 <= nightWork22) + + { + if (starTimeSingel1 >= nightWork6 && endTimeSingel2 <= nightWork22) + Over22 = TimeSpan.Zero; + else + Over22 = nightWork6 - starTimeSingel1; + } + else if (starTimeSingel1 >= singleShiftOver24 && endTimeSingel2 > nightWork22) + { + if (starTimeSingel1 >= nightWork22) + { + Over22 = endTimeSingel2 - starTimeSingel1; + } + else if (starTimeSingel1 < nightWork22 && endTimeSingel2 > nightWork22) + { + if (starTimeSingel1 < nightWork6) + { + var step1 = nightWork6 - starTimeSingel1; + var step2 = endTimeSingel2 - nightWork22; + var step3 = step1 + step2; + Over22 = step3; + } + else + { + Over22 = endTimeSingel2 - nightWork22; + } + } + } + else if (starTimeSingel1 > nightWork22 && endTimeSingel2 > nightWork22) + { + Over22 = endTimeSingel2 - starTimeSingel1; + } + } + + return Over22; + } + + public TimeSpan Over22Complex(DateTime date1, DateTime date2) + { + var Over22Result = new TimeSpan(); + var Over24 = new DateTime(date2.Year, date2.Month, date2.Day, 0, 0, 0); + var nightWork22 = new DateTime(date1.Year, date1.Month, date1.Day, 22, 0, 0); + var nightWork22b = new DateTime(date2.Year, date2.Month, date2.Day, 22, 0, 0); + var nightWork6 = new DateTime(date2.Year, date2.Month, date2.Day, 6, 0, 0); + var nightWork6a = new DateTime(date1.Year, date1.Month, date1.Day, 6, 0, 0); + var starTime = date1; + var endTime = date2; + if (endTime > nightWork22 && starTime < nightWork22) + { + if (starTime.Date == endTime.Date) nightWork6 = nightWork6.AddDays(1); + + if (endTime <= nightWork6) + Over22Result = endTime - nightWork22; + else if (endTime > nightWork6) Over22Result = nightWork6 - nightWork22; + } + + if (endTime > nightWork22 && starTime >= nightWork22) + { + if (endTime <= nightWork6) + Over22Result = endTime - starTime; + else if (endTime > nightWork6) Over22Result = nightWork6 - starTime; + } + + if (starTime.Hour >= 0 && starTime.Minute >= 0 && starTime < nightWork6 && starTime.Date == nightWork6.Date) + { + if (endTime > nightWork6) + Over22Result = nightWork6 - starTime; + else if (endTime <= nightWork6) Over22Result = endTime - starTime; + //nightWork22 = nightWork22.Subtract(new TimeSpan(1, 0, 0, 0)); + } + + return Over22Result; + } + + public TimeSpan Over22Complex2424(DateTime date1, DateTime date2) + { + var Over22Result = new TimeSpan(); + var Over24a = new DateTime(date1.Year, date1.Month, date1.Day, 0, 0, 0); + var Over24b = new DateTime(date2.Year, date2.Month, date2.Day, 0, 0, 0); + var nightWork22a = new DateTime(date1.Year, date1.Month, date1.Day, 22, 0, 0); + var nightWork22b = new DateTime(date2.Year, date2.Month, date2.Day, 22, 0, 0); + + var nightWork6a = new DateTime(date1.Year, date1.Month, date1.Day, 6, 0, 0); + var nightWork6b = new DateTime(date2.Year, date2.Month, date2.Day, 6, 0, 0); + var starTime = date1; + var endTime = date2; + + if (starTime >= Over24a && starTime <= nightWork6a) + { + if (endTime > nightWork22a && endTime <= nightWork6b) + { + var night1 = nightWork6a - starTime; + var night2 = endTime - nightWork22a; + Over22Result = night1.Add(night2); + } + + if (endTime > nightWork6a && endTime < nightWork22a) Over22Result = nightWork6a - starTime; + } + + if (starTime >= nightWork6a && starTime < nightWork22a) + { + if (endTime > nightWork22a && endTime <= nightWork6b) Over22Result = endTime - nightWork22a; + + if (endTime > nightWork6b) Over22Result = nightWork6b - nightWork22a; + } + + if (starTime >= nightWork22a && starTime < Over24b) + { + if (endTime <= nightWork22b) Over22Result = nightWork6b - starTime; + + + if (endTime > nightWork22b) + { + var night1 = nightWork6b - starTime; + var night2 = endTime - nightWork22b; + Over22Result = night1.Add(night2); + } + } + + + return Over22Result; + } + + #endregion + + + #region NewChangeByHeydari + + public IActionResult OnPostDeleteAllCheckouts(List ids, long workshopId) + { + var op = new OperationResult(); + var workshop = _workshopApplication.GetDetails(workshopId); + var empId = workshop.EmployerIdList.FirstOrDefault(); + var isBlock = _personalContractingPartyApp.IsBlockByEmployerId(empId); + if (isBlock == "true") + return new JsonResult(new + { + successDelete = false + }); + + var hasSignatureIds = _checkoutApplication.CheckHasSignature(ids); + if (hasSignatureIds == null || (hasSignatureIds != null && hasSignatureIds.Count == 0)) //امضا نداشته باشد + op = _checkoutApplication.DeleteAllCheckouts(ids); + + + return new JsonResult(new + { + hasSignature = hasSignatureIds != null && hasSignatureIds.Count() > 0 ? true : false, + signatureList = hasSignatureIds, + successDelete = op.IsSuccedded + }); + } + + public IActionResult OnPostDeleteCheckout(long id) + { + var ids = new List(); + ids.Add(id); + var op = new OperationResult(); + + var hasSignatureIds = _checkoutApplication.CheckHasSignature(ids); + if (hasSignatureIds == null || + (hasSignatureIds != null && hasSignatureIds.Count == 0)) //امضا نداشته باشد + op = _checkoutApplication.DeleteCheckout(id); + + + return new JsonResult(new + { + hasSignature = hasSignatureIds != null && hasSignatureIds.Count() > 0 ? true : false, + signatureList = hasSignatureIds, + successDelete = op.IsSuccedded + }); + } + + public IActionResult OnPostSignatureAll(List ids, long workshopId) + { + var result = new OperationResult(); + var workshop = _workshopApplication.GetDetails(workshopId); + var empId = workshop.EmployerIdList.FirstOrDefault(); + var isBlock = _personalContractingPartyApp.IsBlockByEmployerId(empId); + if (isBlock == "true") + return new JsonResult(new + { + isSuccedded = false + }); + + foreach (var item in ids) + { + result = _checkoutApplication.Sign(item); + if (!result.IsSuccedded) + break; + } + + return new JsonResult(result); + } + + public IActionResult OnPostDeleteAllSignature(List ids, long workshopId) + { + var permissions = _authHelper.GetPermissions(); + var checkHasPermission = permissions.Any(n => n.Equals(20222)); + var result = new OperationResult(); + var workshop = _workshopApplication.GetDetails(workshopId); + var empId = workshop.EmployerIdList.FirstOrDefault(); + var isBlock = _personalContractingPartyApp.IsBlockByEmployerId(empId); + if (isBlock == "true" || !checkHasPermission) + return new JsonResult(new + { + isSuccedded = false + }); + + foreach (var item in ids) + { + result = _checkoutApplication.UnSign(item); + if (!result.IsSuccedded) + break; + } + + return new JsonResult(result); + } + + #endregion } + +public class Person +{ + public string FirstName { get; set; } + public string LastName { get; set; } + public int Age { get; set; } +} \ No newline at end of file diff --git a/ServiceHost/Areas/Admin/Pages/Company/Checkouts/MainSearch.cshtml b/ServiceHost/Areas/Admin/Pages/Company/Checkouts/MainSearch.cshtml index a73ea1c1..fadd7113 100644 --- a/ServiceHost/Areas/Admin/Pages/Company/Checkouts/MainSearch.cshtml +++ b/ServiceHost/Areas/Admin/Pages/Company/Checkouts/MainSearch.cshtml @@ -1,406 +1,395 @@ @model CompanyManagment.App.Contracts.Checkout.MainViewModel @{ - - int i = 1; - //int b = 0; + var i = 1; + //int b = 0; - - - + + + } - + - - + + - - + - - - - - - - - - - - - + + + + + + + + + + + + - + + - - - + + + - @foreach (var item in Model.MainList) - { - +@foreach (var item in Model.MainList) +{ + - - - - - - - - - - - - - - + + + + + + + + + + + + + + - @{ - i++; - } - + + + + + + + - - } + +} - +
##سال ماه کارگاهپرسنلروز کارکردسال ماه کارگاهپرسنلروز کارکرد - - - + + + + - + - - - - + + + + -
@i - - @item.Year - -
-

- @item.Year -

- - @item.Year - -
-
- - @item.Month - -
-

- @item.Month -

- - @item.Month - -
-
- - @item.WorkshopName - -
-

- @item.WorkshopName -

- - @item.WorkshopName - -
-
- - @item.EmployeeFullName - -
-

- @item.EmployeeFullName -

- - @item.EmployeeFullName - -
-
- @item.SumOfWorkingDays - @i + + @item.Year + +
+

+ @item.Year +

+ + @item.Year + +
+
+ + @item.Month + +
+

+ @item.Month +

+ + @item.Month + +
+
+ + @item.WorkshopName + +
+

+ @item.WorkshopName +

+ + @item.WorkshopName + +
+
+ + @item.EmployeeFullName + +
+

+ @item.EmployeeFullName +

+ + @item.EmployeeFullName + +
+
+ @item.SumOfWorkingDays + -
- - - - + @{ + i++; + } +
+ -
@@ -419,291 +408,287 @@ } *@ + \ No newline at end of file diff --git a/ServiceHost/Areas/Admin/Pages/Company/Checkouts/PrintAll.cshtml b/ServiceHost/Areas/Admin/Pages/Company/Checkouts/PrintAll.cshtml index 59674497..19787455 100644 --- a/ServiceHost/Areas/Admin/Pages/Company/Checkouts/PrintAll.cshtml +++ b/ServiceHost/Areas/Admin/Pages/Company/Checkouts/PrintAll.cshtml @@ -1,6 +1,6 @@ @model CompanyManagment.App.Contracts.Checkout.CheckoutGroupPrintViewModel @{ - - - var btnActive = "btn-active"; - var btnDeactive = "btn-deactive"; - var inputDeactive = "input-deactive"; + + var btnActive = "btn-active"; + var btnDeactive = "btn-deactive"; + var inputDeactive = "input-deactive"; } + + +} - } - - - - - - - - + \ No newline at end of file diff --git a/ServiceHost/Areas/Admin/Pages/Company/Checkouts/PrintLeave.cshtml b/ServiceHost/Areas/Admin/Pages/Company/Checkouts/PrintLeave.cshtml index 29895854..36348a01 100644 --- a/ServiceHost/Areas/Admin/Pages/Company/Checkouts/PrintLeave.cshtml +++ b/ServiceHost/Areas/Admin/Pages/Company/Checkouts/PrintLeave.cshtml @@ -1,9 +1,9 @@ @model CompanyManagment.App.Contracts.Checkout.CheckoutLeavePrintViewModel @{ - + - - + }
-

لیست کروه ها

+

لیست کروه ها

- - - - - - - - - - - - - - - - - - - - - - - - - +
سال گروه 1 گروه 2 گروه 3 گروه 4 گروه 5 گروه 6 گروه 7 گروه 8 گروه 9 گروه 10 گروه 11 گروه 12 گروه 13 گروه 14 گروه 15 گروه 16 گروه 17 گروه 18 گروه 19 گروه 20 عملیات
+ + + + + + + + + + + + + + + + + + + + + + + + - - - + + + - @foreach (var item in @Model.ClassifiedSalaryViewModes) - { - - - - - - - - - - - - - - - - - - - - - - - - - } - -
سال گروه 1 گروه 2 گروه 3 گروه 4 گروه 5 گروه 6 گروه 7 گروه 8 گروه 9 گروه 10 گروه 11 گروه 12 گروه 13 گروه 14 گروه 15 گروه 16 گروه 17 گروه 18 گروه 19 گروه 20 عملیات
@item.YearSt@item.Group1@item.Group2@item.Group3@item.Group4@item.Group5@item.Group6@item.Group7@item.Group8@item.Group9@item.Group10@item.Group11@item.Group12@item.Group13@item.Group14@item.Group15@item.Group16@item.Group17@item.Group18@item.Group19@item.Group20 - - - - - - - -
+ @foreach (var item in Model.ClassifiedSalaryViewModes) + { + + + @item.YearSt + + @item.Group1 + @item.Group2 + @item.Group3 + @item.Group4 + @item.Group5 + @item.Group6 + @item.Group7 + @item.Group8 + @item.Group9 + @item.Group10 + @item.Group11 + @item.Group12 + @item.Group13 + @item.Group14 + @item.Group15 + @item.Group16 + @item.Group17 + @item.Group18 + @item.Group19 + @item.Group20 + + + + + + + + + + + } + +
+ @section Script { - - - - -} + + + + +} \ No newline at end of file diff --git a/ServiceHost/Areas/Admin/Pages/Company/ClassifiedSalary/Index.cshtml.cs b/ServiceHost/Areas/Admin/Pages/Company/ClassifiedSalary/Index.cshtml.cs index d476de75..74ad6abb 100644 --- a/ServiceHost/Areas/Admin/Pages/Company/ClassifiedSalary/Index.cshtml.cs +++ b/ServiceHost/Areas/Admin/Pages/Company/ClassifiedSalary/Index.cshtml.cs @@ -3,129 +3,117 @@ using CompanyManagment.App.Contracts.ClassifiedSalary; using Microsoft.AspNetCore.Mvc; using Microsoft.AspNetCore.Mvc.RazorPages; -namespace ServiceHost.Areas.Admin.Pages.Company.ClassifiedSalary +namespace ServiceHost.Areas.Admin.Pages.Company.ClassifiedSalary; + +public class IndexModel : PageModel { - public class IndexModel : PageModel - { - private readonly IClassifiedSalaryApplication _classifiedSalaryApplication; + private readonly IClassifiedSalaryApplication _classifiedSalaryApplication; - public List ClassifiedSalaryViewModes; + public List ClassifiedSalaryViewModes; - public IndexModel(IClassifiedSalaryApplication classifiedSalaryApplication) - { - _classifiedSalaryApplication = classifiedSalaryApplication; - } + public IndexModel(IClassifiedSalaryApplication classifiedSalaryApplication) + { + _classifiedSalaryApplication = classifiedSalaryApplication; + } - public void OnGet(ClassifiedSalarySearchModel searchModel) - { - ClassifiedSalaryViewModes = _classifiedSalaryApplication.Search(searchModel); - } + public void OnGet(ClassifiedSalarySearchModel searchModel) + { + ClassifiedSalaryViewModes = _classifiedSalaryApplication.Search(searchModel); + } - public IActionResult OnPostFindEndOfYear(string start) - { - var end = start.FindeEndOfYear(); - return new JsonResult(new - { - IsSuccedded = true, + public IActionResult OnPostFindEndOfYear(string start) + { + var end = start.FindeEndOfYear(); + return new JsonResult(new + { + IsSuccedded = true, end + }); + } - end = end, + public IActionResult OnGetCreate() + { + return Partial("Create"); + } + public IActionResult OnPostCreate(CreateClassifiedSalary command) + { + #region ConvertMoneyToDouble - }); + command.Group1 = !string.IsNullOrWhiteSpace(command.Group1Str) ? command.Group1Str.MoneyToDouble() : 0; + command.Group2 = !string.IsNullOrWhiteSpace(command.Group2Str) ? command.Group2Str.MoneyToDouble() : 0; + command.Group3 = !string.IsNullOrWhiteSpace(command.Group3Str) ? command.Group3Str.MoneyToDouble() : 0; + command.Group4 = !string.IsNullOrWhiteSpace(command.Group4Str) ? command.Group4Str.MoneyToDouble() : 0; + command.Group5 = !string.IsNullOrWhiteSpace(command.Group5Str) ? command.Group5Str.MoneyToDouble() : 0; + command.Group6 = !string.IsNullOrWhiteSpace(command.Group6Str) ? command.Group6Str.MoneyToDouble() : 0; + command.Group7 = !string.IsNullOrWhiteSpace(command.Group7Str) ? command.Group7Str.MoneyToDouble() : 0; + command.Group8 = !string.IsNullOrWhiteSpace(command.Group8Str) ? command.Group8Str.MoneyToDouble() : 0; + command.Group9 = !string.IsNullOrWhiteSpace(command.Group9Str) ? command.Group9Str.MoneyToDouble() : 0; + command.Group10 = !string.IsNullOrWhiteSpace(command.Group10Str) ? command.Group10Str.MoneyToDouble() : 0; + command.Group11 = !string.IsNullOrWhiteSpace(command.Group11Str) ? command.Group11Str.MoneyToDouble() : 0; + command.Group12 = !string.IsNullOrWhiteSpace(command.Group12Str) ? command.Group12Str.MoneyToDouble() : 0; + command.Group13 = !string.IsNullOrWhiteSpace(command.Group13Str) ? command.Group13Str.MoneyToDouble() : 0; + command.Group14 = !string.IsNullOrWhiteSpace(command.Group14Str) ? command.Group14Str.MoneyToDouble() : 0; + command.Group15 = !string.IsNullOrWhiteSpace(command.Group15Str) ? command.Group15Str.MoneyToDouble() : 0; + command.Group16 = !string.IsNullOrWhiteSpace(command.Group16Str) ? command.Group16Str.MoneyToDouble() : 0; + command.Group17 = !string.IsNullOrWhiteSpace(command.Group17Str) ? command.Group17Str.MoneyToDouble() : 0; + command.Group18 = !string.IsNullOrWhiteSpace(command.Group18Str) ? command.Group18Str.MoneyToDouble() : 0; + command.Group19 = !string.IsNullOrWhiteSpace(command.Group19Str) ? command.Group19Str.MoneyToDouble() : 0; + command.Group20 = !string.IsNullOrWhiteSpace(command.Group20Str) ? command.Group20Str.MoneyToDouble() : 0; - } + #endregion - public IActionResult OnGetCreate() - { - return Partial("Create"); - } + var result = _classifiedSalaryApplication.Create(command); + return new JsonResult(result); + } - public IActionResult OnPostCreate(CreateClassifiedSalary command) - { - #region ConvertMoneyToDouble + public IActionResult OnGetEdit(long id) + { + var res = _classifiedSalaryApplication.GetDetails(id); + return Partial("Edit", res); + } - command.Group1 = !string.IsNullOrWhiteSpace(command.Group1Str) ? command.Group1Str.MoneyToDouble() : 0; - command.Group2 = !string.IsNullOrWhiteSpace(command.Group2Str) ? command.Group2Str.MoneyToDouble() : 0; - command.Group3 = !string.IsNullOrWhiteSpace(command.Group3Str) ? command.Group3Str.MoneyToDouble() : 0; - command.Group4 = !string.IsNullOrWhiteSpace(command.Group4Str) ? command.Group4Str.MoneyToDouble() : 0; - command.Group5 = !string.IsNullOrWhiteSpace(command.Group5Str) ? command.Group5Str.MoneyToDouble() : 0; - command.Group6 = !string.IsNullOrWhiteSpace(command.Group6Str) ? command.Group6Str.MoneyToDouble() : 0; - command.Group7 = !string.IsNullOrWhiteSpace(command.Group7Str) ? command.Group7Str.MoneyToDouble() : 0; - command.Group8 = !string.IsNullOrWhiteSpace(command.Group8Str) ? command.Group8Str.MoneyToDouble() : 0; - command.Group9 = !string.IsNullOrWhiteSpace(command.Group9Str) ? command.Group9Str.MoneyToDouble() : 0; - command.Group10 = !string.IsNullOrWhiteSpace(command.Group10Str) ? command.Group10Str.MoneyToDouble() : 0; - command.Group11 = !string.IsNullOrWhiteSpace(command.Group11Str) ? command.Group11Str.MoneyToDouble() : 0; - command.Group12 = !string.IsNullOrWhiteSpace(command.Group12Str) ? command.Group12Str.MoneyToDouble() : 0; - command.Group13 = !string.IsNullOrWhiteSpace(command.Group13Str) ? command.Group13Str.MoneyToDouble() : 0; - command.Group14 = !string.IsNullOrWhiteSpace(command.Group14Str) ? command.Group14Str.MoneyToDouble() : 0; - command.Group15 = !string.IsNullOrWhiteSpace(command.Group15Str) ? command.Group15Str.MoneyToDouble() : 0; - command.Group16 = !string.IsNullOrWhiteSpace(command.Group16Str) ? command.Group16Str.MoneyToDouble() : 0; - command.Group17 = !string.IsNullOrWhiteSpace(command.Group17Str) ? command.Group17Str.MoneyToDouble() : 0; - command.Group18 = !string.IsNullOrWhiteSpace(command.Group18Str) ? command.Group18Str.MoneyToDouble() : 0; - command.Group19 = !string.IsNullOrWhiteSpace(command.Group19Str) ? command.Group19Str.MoneyToDouble() : 0; - command.Group20 = !string.IsNullOrWhiteSpace(command.Group20Str) ? command.Group20Str.MoneyToDouble() : 0; + public IActionResult OnPostEdit(EditClassifiedSalary command) + { + #region ConvertMoneyToDouble - #endregion + command.Group1 = !string.IsNullOrWhiteSpace(command.Group1Str) ? command.Group1Str.MoneyToDouble() : 0; + command.Group2 = !string.IsNullOrWhiteSpace(command.Group2Str) ? command.Group2Str.MoneyToDouble() : 0; + command.Group3 = !string.IsNullOrWhiteSpace(command.Group3Str) ? command.Group3Str.MoneyToDouble() : 0; + command.Group4 = !string.IsNullOrWhiteSpace(command.Group4Str) ? command.Group4Str.MoneyToDouble() : 0; + command.Group5 = !string.IsNullOrWhiteSpace(command.Group5Str) ? command.Group5Str.MoneyToDouble() : 0; + command.Group6 = !string.IsNullOrWhiteSpace(command.Group6Str) ? command.Group6Str.MoneyToDouble() : 0; + command.Group7 = !string.IsNullOrWhiteSpace(command.Group7Str) ? command.Group7Str.MoneyToDouble() : 0; + command.Group8 = !string.IsNullOrWhiteSpace(command.Group8Str) ? command.Group8Str.MoneyToDouble() : 0; + command.Group9 = !string.IsNullOrWhiteSpace(command.Group9Str) ? command.Group9Str.MoneyToDouble() : 0; + command.Group10 = !string.IsNullOrWhiteSpace(command.Group10Str) ? command.Group10Str.MoneyToDouble() : 0; + command.Group11 = !string.IsNullOrWhiteSpace(command.Group11Str) ? command.Group11Str.MoneyToDouble() : 0; + command.Group12 = !string.IsNullOrWhiteSpace(command.Group12Str) ? command.Group12Str.MoneyToDouble() : 0; + command.Group13 = !string.IsNullOrWhiteSpace(command.Group13Str) ? command.Group13Str.MoneyToDouble() : 0; + command.Group14 = !string.IsNullOrWhiteSpace(command.Group14Str) ? command.Group14Str.MoneyToDouble() : 0; + command.Group15 = !string.IsNullOrWhiteSpace(command.Group15Str) ? command.Group15Str.MoneyToDouble() : 0; + command.Group16 = !string.IsNullOrWhiteSpace(command.Group16Str) ? command.Group16Str.MoneyToDouble() : 0; + command.Group17 = !string.IsNullOrWhiteSpace(command.Group17Str) ? command.Group17Str.MoneyToDouble() : 0; + command.Group18 = !string.IsNullOrWhiteSpace(command.Group18Str) ? command.Group18Str.MoneyToDouble() : 0; + command.Group19 = !string.IsNullOrWhiteSpace(command.Group19Str) ? command.Group19Str.MoneyToDouble() : 0; + command.Group20 = !string.IsNullOrWhiteSpace(command.Group20Str) ? command.Group20Str.MoneyToDouble() : 0; - var result = _classifiedSalaryApplication.Create(command); - return new JsonResult(result); - } + #endregion - public IActionResult OnGetEdit(long id) - { + var res = _classifiedSalaryApplication.Edit(command); + return new JsonResult(res); + } - var res = _classifiedSalaryApplication.GetDetails(id); - return Partial("Edit", res); - } - - public IActionResult OnPostEdit(EditClassifiedSalary command) - { - #region ConvertMoneyToDouble - - command.Group1 = !string.IsNullOrWhiteSpace(command.Group1Str) ? command.Group1Str.MoneyToDouble() : 0; - command.Group2 = !string.IsNullOrWhiteSpace(command.Group2Str) ? command.Group2Str.MoneyToDouble() : 0; - command.Group3 = !string.IsNullOrWhiteSpace(command.Group3Str) ? command.Group3Str.MoneyToDouble() : 0; - command.Group4 = !string.IsNullOrWhiteSpace(command.Group4Str) ? command.Group4Str.MoneyToDouble() : 0; - command.Group5 = !string.IsNullOrWhiteSpace(command.Group5Str) ? command.Group5Str.MoneyToDouble() : 0; - command.Group6 = !string.IsNullOrWhiteSpace(command.Group6Str) ? command.Group6Str.MoneyToDouble() : 0; - command.Group7 = !string.IsNullOrWhiteSpace(command.Group7Str) ? command.Group7Str.MoneyToDouble() : 0; - command.Group8 = !string.IsNullOrWhiteSpace(command.Group8Str) ? command.Group8Str.MoneyToDouble() : 0; - command.Group9 = !string.IsNullOrWhiteSpace(command.Group9Str) ? command.Group9Str.MoneyToDouble() : 0; - command.Group10 = !string.IsNullOrWhiteSpace(command.Group10Str) ? command.Group10Str.MoneyToDouble() : 0; - command.Group11 = !string.IsNullOrWhiteSpace(command.Group11Str) ? command.Group11Str.MoneyToDouble() : 0; - command.Group12 = !string.IsNullOrWhiteSpace(command.Group12Str) ? command.Group12Str.MoneyToDouble() : 0; - command.Group13 = !string.IsNullOrWhiteSpace(command.Group13Str) ? command.Group13Str.MoneyToDouble() : 0; - command.Group14 = !string.IsNullOrWhiteSpace(command.Group14Str) ? command.Group14Str.MoneyToDouble() : 0; - command.Group15 = !string.IsNullOrWhiteSpace(command.Group15Str) ? command.Group15Str.MoneyToDouble() : 0; - command.Group16 = !string.IsNullOrWhiteSpace(command.Group16Str) ? command.Group16Str.MoneyToDouble() : 0; - command.Group17 = !string.IsNullOrWhiteSpace(command.Group17Str) ? command.Group17Str.MoneyToDouble() : 0; - command.Group18 = !string.IsNullOrWhiteSpace(command.Group18Str) ? command.Group18Str.MoneyToDouble() : 0; - command.Group19 = !string.IsNullOrWhiteSpace(command.Group19Str) ? command.Group19Str.MoneyToDouble() : 0; - command.Group20 = !string.IsNullOrWhiteSpace(command.Group20Str) ? command.Group20Str.MoneyToDouble() : 0; - - #endregion - - var res = _classifiedSalaryApplication.Edit(command); - return new JsonResult(res); - } - - public IActionResult OnGetRemove(long id) - { - var res = _classifiedSalaryApplication.RemoveClassifiedSalary(id); - if (res.IsSuccedded) - { - return new JsonResult(new - { - isSuccedded = true, - }); - } - else - { - return new JsonResult(new - { - isSuccedded = false, - }); - } - } - } -} + public IActionResult OnGetRemove(long id) + { + var res = _classifiedSalaryApplication.RemoveClassifiedSalary(id); + if (res.IsSuccedded) + return new JsonResult(new + { + isSuccedded = true + }); + return new JsonResult(new + { + isSuccedded = false + }); + } +} \ No newline at end of file diff --git a/ServiceHost/Areas/Admin/Pages/Company/ConnectedPersonnels/Index.cshtml b/ServiceHost/Areas/Admin/Pages/Company/ConnectedPersonnels/Index.cshtml index 5ae894c6..01a1555e 100644 --- a/ServiceHost/Areas/Admin/Pages/Company/ConnectedPersonnels/Index.cshtml +++ b/ServiceHost/Areas/Admin/Pages/Company/ConnectedPersonnels/Index.cshtml @@ -2,13 +2,13 @@ @model ServiceHost.Areas.Admin.Pages.Company.ConnectedPersonnels.IndexModel @{ - Layout = "Shared/_AdminLayout"; - ViewData["title"] = "لیست پرسنل‌های " + @Model.WorkshopFullName; + Layout = "Shared/_AdminLayout"; + ViewData["title"] = "لیست پرسنل‌های " + Model.WorkshopFullName; - int i = 1; - + var i = 1; - } - + + $(document).ready(function() { + $('#Contact_Id').autocomplete({ + source: '@Url.Page("Index", "Contact")' + }); + }); + \ No newline at end of file diff --git a/ServiceHost/Areas/Admin/Pages/Company/Contact2/Edit.cshtml b/ServiceHost/Areas/Admin/Pages/Company/Contact2/Edit.cshtml index a628f2bb..eb4f0943 100644 --- a/ServiceHost/Areas/Admin/Pages/Company/Contact2/Edit.cshtml +++ b/ServiceHost/Areas/Admin/Pages/Company/Contact2/Edit.cshtml @@ -2,8 +2,7 @@ @{ } @{ - - } - + \ No newline at end of file diff --git a/ServiceHost/Areas/Admin/Pages/Company/Contact2/Index.cshtml b/ServiceHost/Areas/Admin/Pages/Company/Contact2/Index.cshtml index 6218ec24..2a93e6a5 100644 --- a/ServiceHost/Areas/Admin/Pages/Company/Contact2/Index.cshtml +++ b/ServiceHost/Areas/Admin/Pages/Company/Contact2/Index.cshtml @@ -1,18 +1,18 @@ @page +@using Microsoft.AspNetCore.Http.Extensions @model ServiceHost.Areas.Admin.Pages.Company.Contact2.IndexModel -@using Microsoft.AspNetCore.Http.Extensions; @{ } @{ - string url = HttpContext.Request.GetEncodedUrl(); - //string colaps = "in"; - //string act = "active"; - int i = 1; + var url = HttpContext.Request.GetEncodedUrl(); + //string colaps = "in"; + //string act = "active"; + var i = 1; } @{ - //Layout = "~/Pages/Shared/_Layout.cshtml"; - Layout = "Shared/_AdminLayout"; - ViewData["title"] = "مخاطب"; + //Layout = "~/Pages/Shared/_Layout.cshtml"; + Layout = "Shared/_AdminLayout"; + ViewData["title"] = "مخاطب"; } } - +
- + + + + +@**@ - +
\ No newline at end of file diff --git a/ServiceHost/Areas/Admin/Pages/Company/ContractingParties/Details.cshtml b/ServiceHost/Areas/Admin/Pages/Company/ContractingParties/Details.cshtml index 9dba21b0..f0a5212b 100644 --- a/ServiceHost/Areas/Admin/Pages/Company/ContractingParties/Details.cshtml +++ b/ServiceHost/Areas/Admin/Pages/Company/ContractingParties/Details.cshtml @@ -1,6 +1,6 @@ @model CompanyManagment.App.Contracts.PersonalContractingParty.EditPersonalContractingParty @{ - }
- -
-
+ + +
\ No newline at end of file diff --git a/ServiceHost/Areas/Admin/Pages/Company/ContractingParties/Edit.cshtml b/ServiceHost/Areas/Admin/Pages/Company/ContractingParties/Edit.cshtml index 659706ad..49ffee14 100644 --- a/ServiceHost/Areas/Admin/Pages/Company/ContractingParties/Edit.cshtml +++ b/ServiceHost/Areas/Admin/Pages/Company/ContractingParties/Edit.cshtml @@ -1,6 +1,6 @@ @model CompanyManagment.App.Contracts.PersonalContractingParty.EditPersonalContractingParty @{ - }
- -
- +
+ + - + - - - - + + \ No newline at end of file diff --git a/ServiceHost/Areas/Admin/Pages/Company/ContractingParties/Index.cshtml b/ServiceHost/Areas/Admin/Pages/Company/ContractingParties/Index.cshtml index 43194c8b..fc3ee624 100644 --- a/ServiceHost/Areas/Admin/Pages/Company/ContractingParties/Index.cshtml +++ b/ServiceHost/Areas/Admin/Pages/Company/ContractingParties/Index.cshtml @@ -1,18 +1,18 @@ @page -@using CompanyManagment.App.Contracts.PersonalContractingParty @model ServiceHost.Areas.Admin.Pages.Company.ContractingParties.IndexModel @{ - //string colaps = "in"; - //string act = "active"; - int i = 1; - string withOutContract = "withOutInstitutionContract"; + //string colaps = "in"; + //string act = "active"; + var i = 1; + var withOutContract = "withOutInstitutionContract"; } -@{string employerList = ""; - Layout = "Shared/_AdminLayout"; - ViewData["title"] = "طرف حساب ها"; - - var selctedOption = "selectedOption"; + var selctedOption = "selectedOption"; } @section Styles { - + } +
- -
-
-
- -
-
- @*===================================================================================================================*@ -
-
-
-
-
-
- - - - - -
-
- - - - -
-
- - - - - -
-
-
-
-
- - - - -
-
- جستجو - - حذف فیلتر -
-
-
-
-
-
- @*==================================================================personal=====*@ -
-
-
-
-
+ +
+
+
+ +
+
+ @*===================================================================================================================*@ +
+
+
+
+
+
+ + + + + +
+
+ + + + +
+
+ + + + + +
+
+
+
+
+ + + + +
+
+ جستجو + + حذف فیلتر +
+
+
+
+
+
+ @*==================================================================personal=====*@ +
+
+
+
+
-
-
-
-

لیست طرف حساب ها

-
-
-
-
- - - - - - - - - @**@ - - - - - - - @foreach (var item in Model.Personals) - { - employerList = ""; +
+
+
+

لیست طرف حساب ها

+
+
+
+
+
#نام طرف حسابشمارهشناسنامه / شماره ثبتعملیات
+ + + + + + + + @**@ + + + + + + +@foreach (var item in Model.Personals) +{ + employerList = ""; - - - - - - - - - - + + + + + + + - if (item.HasInstitutionContract) - { - - - - } - else - { - - - - } - } - else - { - - - - } - @if (item.IsLegal == "حقیقی") - { - - - + - - { - i++; - } - } - -
#نام طرف حسابشمارهشناسنامه / شماره ثبتعملیات
@i - - @if (item.IsLegal == "حقیقی") - { - @item.FName -   - @item.LName - } - else - { - @item.LName - } - -
-

- @if (item.IsLegal == "حقیقی") - { - @item.FName -   - @item.LName - } - else - { - @item.LName - } -

- - @if (item.IsLegal == "حقیقی") - { - @item.FName -   - @item.LName - } - else - { - @item.LName - } - -
-
@item.IdNumber@item.RegisterId -
- @if (item.IsActiveString == "true") - { +
@i + + @if (item.IsLegal == "حقیقی") + { + @item.FName +   + @item.LName + } + else + { + @item.LName + } + +
+

+ @if (item.IsLegal == "حقیقی") + { + @item.FName +   + @item.LName + } + else + { + @item.LName + } +

+ + @if (item.IsLegal == "حقیقی") + { + @item.FName +   + @item.LName + } + else + { + @item.LName + } + +
+
@item.IdNumber@item.RegisterId +
+ @if (item.IsActiveString == "true") + { + if (item.HasInstitutionContract) + { + + + + } + else + { + + + + } + } + else + { + + + + } + @if (item.IsLegal == "حقیقی") + { + + + - @if (item.IsBlock == "true") - { - - @item.BlockTimes - - - } - else if(item.BlockTimes==2) - { - - @item.BlockTimes - - - } - else if(item.BlockTimes==1) - { - - @item.BlockTimes - - - } - else if(item.BlockTimes==0 || item.IsBlock != "true") - { - - @item.BlockTimes - - - } - - - - } - else - { - - - - @if (item.IsBlock == "true") - { - - @item.BlockTimes - - - } - else if(item.BlockTimes==2) - { - - @item.BlockTimes - - - } - else if(item.BlockTimes==1) - { - - @item.BlockTimes - - - } - else if(item.BlockTimes==0 ) - { - - @item.BlockTimes - - - } - - - - } -
-
-
- -
+ @if (item.IsBlock == "true") + { + + @item.BlockTimes + + + } + else if (item.BlockTimes == 2) + { + + @item.BlockTimes + + + } + else if (item.BlockTimes == 1) + { + + @item.BlockTimes + + + } + else if (item.BlockTimes == 0 || item.IsBlock != "true") + { + + @item.BlockTimes + + + } + + + + } + else + { + + + + @if (item.IsBlock == "true") + { + + @item.BlockTimes + + + } + else if (item.BlockTimes == 2) + { + + @item.BlockTimes + + + } + else if (item.BlockTimes == 1) + { + + @item.BlockTimes + + + } + else if (item.BlockTimes == 0) + { + + @item.BlockTimes + + + } + + + + } +
+
+
+ + + +
- @if (item.IsLegal == "حقیقی") - { - - - + @if (item.IsLegal == "حقیقی") + { + + + - @if (item.IsBlock == "true") - { - - @item.BlockTimes - - - } - else if(item.BlockTimes==2) - { - - @item.BlockTimes - - - } - else if(item.BlockTimes==1) - { - - @item.BlockTimes - - - } - else if(item.BlockTimes==0 || item.IsBlock != "true") - { - - @item.BlockTimes - - - } - - - - } - else - { - - - - @if (item.IsBlock == "true") - { - - @item.BlockTimes - - - } - else if(item.BlockTimes==2) - { - - @item.BlockTimes - - - } - else if(item.BlockTimes==1) - { - - @item.BlockTimes - - - } - else if(item.BlockTimes==0 ) - { - - @item.BlockTimes - - - } + @if (item.IsBlock == "true") + { + + @item.BlockTimes + + + } + else if (item.BlockTimes == 2) + { + + @item.BlockTimes + + + } + else if (item.BlockTimes == 1) + { + + @item.BlockTimes + + + } + else if (item.BlockTimes == 0 || item.IsBlock != "true") + { + + @item.BlockTimes + + + } + + + + } + else + { + + + + @if (item.IsBlock == "true") + { + + @item.BlockTimes + + + } + else if (item.BlockTimes == 2) + { + + @item.BlockTimes + + + } + else if (item.BlockTimes == 1) + { + + @item.BlockTimes + + + } + else if (item.BlockTimes == 0) + { + + @item.BlockTimes + + + } - - - - } - @if (item.IsActiveString == "true") - { - if (item.HasInstitutionContract) - { - - - - } - else - { - - - - } - } - else - { - - - - } -
-
-
-
-
-
-
-
-
+ + + + } + @if (item.IsActiveString == "true") + { + if (item.HasInstitutionContract) + { + + + + } + else + { + + + + } + } + else + { + + + + } +
+ + + + + { + i++; + } +} + + + + + + + - - @section Script { - - - - - - - - - - - - - - - - - -} + + + + + + + + + + + + + + + + + + } diff --git a/ServiceHost/Areas/Admin/Pages/Company/ContractingParties/Index.cshtml.cs b/ServiceHost/Areas/Admin/Pages/Company/ContractingParties/Index.cshtml.cs index 4c946104..50cf7c19 100644 --- a/ServiceHost/Areas/Admin/Pages/Company/ContractingParties/Index.cshtml.cs +++ b/ServiceHost/Areas/Admin/Pages/Company/ContractingParties/Index.cshtml.cs @@ -1,254 +1,255 @@ -using System; -using System.Collections.Generic; -using System.Diagnostics.CodeAnalysis; -using System.Linq; -using System.Threading.Tasks; +using System.Diagnostics.CodeAnalysis; using _0_Framework.Application; using Company.Domain.ContarctingPartyAgg; using CompanyManagment.App.Contracts.InstitutionContract; using CompanyManagment.App.Contracts.PersonalContractingParty; using CompanyManagment.App.Contracts.Representative; using Microsoft.AspNetCore.Authorization; -using Microsoft.AspNetCore.Diagnostics; using Microsoft.AspNetCore.Mvc; using Microsoft.AspNetCore.Mvc.RazorPages; -using Microsoft.Extensions.Logging; -using static Microsoft.EntityFrameworkCore.DbLoggerCategory.Database; namespace ServiceHost.Areas.Admin.Pages.Company.ContractingParties; [Authorize] public class IndexModel : PageModel { - + private readonly IPersonalContractingPartyApp _personalContractingPartyApp; - public PersonalContractingPartySearchModel SearchModel2; - public List Personals; - public List PersonCreat; - public string LName; - public string Nationalcode; - public string RepresentativeName; - private readonly IPersonalContractingPartyApp _personalContractingPartyApp; - - private readonly IPersonalContractingPartyRepository _personalContractingPartyRepository; - private readonly IRepresentativeApplication _representativeApplication; + private readonly IPersonalContractingPartyRepository _personalContractingPartyRepository; + private readonly IRepresentativeApplication _representativeApplication; + public string LName; + public string Nationalcode; + public List Personals; + public List PersonCreat; + public string RepresentativeName; - public IndexModel(IPersonalContractingPartyApp personalContractingPartyApp, IPersonalContractingPartyRepository personalContractingPartyRepository, IRepresentativeApplication representativeApplication, IInstitutionContractApplication institutionContract) - { - _personalContractingPartyApp = personalContractingPartyApp; - _personalContractingPartyRepository = personalContractingPartyRepository; - _representativeApplication = representativeApplication; - - } - - public void OnGet(PersonalContractingPartySearchModel searchModel2) - { - - if (searchModel2.IsActiveString == null) - { - searchModel2.IsActiveString = "true"; } - Personals = _personalContractingPartyApp.SearchForMain(searchModel2).OrderByDescending(x=>x.IsBlock=="true").ThenBy(x=>x.HasInstitutionContract).ToList(); - - if (!string.IsNullOrEmpty(searchModel2.Nationalcode) && searchModel2.Nationalcode.Length==10) - { - Nationalcode = Personals.Select(x => x.Nationalcode).FirstOrDefault(); - } - else - { - Nationalcode = searchModel2.Nationalcode; - } - - if (searchModel2.id > 0) - { - var pesonel= Personals.FirstOrDefault(x => x.id== searchModel2.id); - if (pesonel != null) - LName = (pesonel.IsLegal == "حقیقی" ? (pesonel.FName+" "+ pesonel.LName) : pesonel.LName); - } - else - { - LName = searchModel2.EmployeeName; - } - - if (searchModel2.RepresentativeId > 0) - { - var representative = _representativeApplication.GetDetails(searchModel2.RepresentativeId); - RepresentativeName = representative.FullName; - } - else - { - RepresentativeName = searchModel2.RepresentativeName; - } - - } + public PersonalContractingPartySearchModel SearchModel2; - public IActionResult OnGetCreate() - { + public IndexModel(IPersonalContractingPartyApp personalContractingPartyApp, + IPersonalContractingPartyRepository personalContractingPartyRepository, + IRepresentativeApplication representativeApplication, IInstitutionContractApplication institutionContract) + { + _personalContractingPartyApp = personalContractingPartyApp; + _personalContractingPartyRepository = personalContractingPartyRepository; + _representativeApplication = representativeApplication; + } - var command = new CreatePersonalContractingParty() - { - RepresentativeViewModels = _representativeApplication.GetRepresentatives(), - ArchiveCode = _personalContractingPartyApp.GetLastArchiveCode(), - - }; + public void OnGet(PersonalContractingPartySearchModel searchModel2) + { + if (searchModel2.IsActiveString == null) searchModel2.IsActiveString = "true"; + Personals = _personalContractingPartyApp.SearchForMain(searchModel2).OrderByDescending(x => x.IsBlock == "true") + .ThenBy(x => x.HasInstitutionContract).ToList(); + + if (!string.IsNullOrEmpty(searchModel2.Nationalcode) && searchModel2.Nationalcode.Length == 10) + Nationalcode = Personals.Select(x => x.Nationalcode).FirstOrDefault(); + else + Nationalcode = searchModel2.Nationalcode; + + if (searchModel2.id > 0) + { + var pesonel = Personals.FirstOrDefault(x => x.id == searchModel2.id); + if (pesonel != null) + LName = pesonel.IsLegal == "حقیقی" ? pesonel.FName + " " + pesonel.LName : pesonel.LName; + } + else + { + LName = searchModel2.EmployeeName; + } + + if (searchModel2.RepresentativeId > 0) + { + var representative = _representativeApplication.GetDetails(searchModel2.RepresentativeId); + RepresentativeName = representative.FullName; + } + else + { + RepresentativeName = searchModel2.RepresentativeName; + } + } - return Partial("./Create", command); - } - - public IActionResult OnGetInsertLegal() - { - - var command = new CreatePersonalContractingParty() - { - RepresentativeViewModels = _representativeApplication.GetRepresentatives(), - ArchiveCode = _personalContractingPartyApp.GetLastArchiveCode(), - }; - return Partial("./InsertLegal", command); - } - public IActionResult OnPostCreate(CreatePersonalContractingParty command) - { - command.NationalId = !string.IsNullOrWhiteSpace(command.NationalId) ? command.NationalId.ConvertToEnglish() : ""; - command.Phone = !string.IsNullOrWhiteSpace(command.Phone) ? command.Phone.ConvertToEnglish() : ""; - command.AgentPhone = !string.IsNullOrWhiteSpace(command.AgentPhone) ? command.AgentPhone.ConvertToEnglish() : ""; - command.Nationalcode = command.Nationalcode.ConvertToEnglish(); - var result = _personalContractingPartyApp.Create(command); - return new JsonResult(result); - } - - public IActionResult OnPostInsertLegal(CreatePersonalContractingParty command) - { - command.NationalId = command.NationalId.ConvertToEnglish(); - command.RegisterId = command.RegisterId.ConvertToEnglish(); - command.Phone = !string.IsNullOrWhiteSpace(command.Phone) ? command.Phone.ConvertToEnglish() : ""; - command.AgentPhone = !string.IsNullOrWhiteSpace(command.AgentPhone) ? command.AgentPhone.ConvertToEnglish() : ""; - var result2 = _personalContractingPartyApp.CreateLegals(command); - return new JsonResult(result2); - } - - public IActionResult OnGetEdit(long id) - { - var productCategory = _personalContractingPartyApp.GetDetailsToEdit(id); - productCategory.HasContract = _personalContractingPartyApp.GetHasContract(id); - productCategory.RepresentativeViewModels = _representativeApplication.GetRepresentatives(); - return Partial("Edit", productCategory); - } - - public IActionResult OnGetLegalEdit(long id) - { - var legaly = _personalContractingPartyApp.GetDetailsToEdit(id); - legaly.HasContract = _personalContractingPartyApp.GetHasContract(id); - legaly.RepresentativeViewModels = _representativeApplication.GetRepresentatives(); - return Partial("LegalEdit", legaly); - } - - public JsonResult OnPostEdit(EditPersonalContractingParty command) - { - if (ModelState.IsValid) - { - } - command.Phone = !string.IsNullOrWhiteSpace(command.Phone) ? command.Phone.ConvertToEnglish() : ""; - command.AgentPhone = !string.IsNullOrWhiteSpace(command.AgentPhone) ? command.AgentPhone.ConvertToEnglish() : ""; - command.NationalId = !string.IsNullOrWhiteSpace(command.NationalId) ? command.NationalId.ConvertToEnglish() : ""; - command.Nationalcode = command.Nationalcode.ConvertToEnglish(); - var result = _personalContractingPartyApp.Edit(command); - return new JsonResult(result); - } - - public JsonResult OnPostLegalEdit(EditPersonalContractingParty command) - { - if (ModelState.IsValid) - { - } - command.Phone = !string.IsNullOrWhiteSpace(command.Phone) ? command.Phone.ConvertToEnglish() : ""; - command.AgentPhone = !string.IsNullOrWhiteSpace(command.AgentPhone) ? command.AgentPhone.ConvertToEnglish() : ""; - command.NationalId = command.NationalId.ConvertToEnglish(); - command.RegisterId = command.RegisterId.ConvertToEnglish(); - var result = _personalContractingPartyApp.EditLegal(command); - return new JsonResult(result); - } - public IActionResult OnGetDetails(long id) - { - var productCategory = _personalContractingPartyApp.GetDetails(id); - return Partial("Details", productCategory); - } - public IActionResult OnGetLegalDetails(long id) - { - var legaldetails = _personalContractingPartyApp.GetDetails(id); - return Partial("LegalDetails", legaldetails); - } + public IActionResult OnGetCreate() + { + var command = new CreatePersonalContractingParty + { + RepresentativeViewModels = _representativeApplication.GetRepresentatives(), + ArchiveCode = _personalContractingPartyApp.GetLastArchiveCode() + }; - #region NewByHeydari - public IActionResult OnGetRepresentativeList(string searchText) - { - var result = _representativeApplication.GetRepresentativeListForSearchText(searchText); - result = result.OrderBy(x => x.FullName.Length).ToList(); - return new JsonResult(new - { - IsSuccedded = true, - mylist = result, - }); - } - public IActionResult OnGetPersonalContractingPartyNationalcode(string searchText) - { - var result = _personalContractingPartyApp.GetPersonalContractingPartiesForNationalcode(searchText); - result = result.OrderBy(x => x.Nationalcode.Length).ToList(); - return new JsonResult(new - { - IsSuccedded = true, - mylist = result, - }); - } - [SuppressMessage("ReSharper.DPA", "DPA0007: Large number of DB records", MessageId = "count: 276")] - public IActionResult OnGetContractPartyList(string searchText) - { - var res = _personalContractingPartyApp.GetPersonalContractingParties().OrderBy(x=>x.FullName).ToList(); - var result = res.Select(x => new PersonalContractingPartyViewModel() - { - id = x.id, - LName = x.LName, - FullName = x.FullName, + return Partial("./Create", command); + } - }); - result = result.Where(x => x.FullName.Contains(searchText)); - result = result.OrderBy(x => x.FullName.Length).ToList(); + public IActionResult OnGetInsertLegal() + { + var command = new CreatePersonalContractingParty + { + RepresentativeViewModels = _representativeApplication.GetRepresentatives(), + ArchiveCode = _personalContractingPartyApp.GetLastArchiveCode() + }; + return Partial("./InsertLegal", command); + } - return new JsonResult(new - { - IsSuccedded = true, - mylist = result, - }); + public IActionResult OnPostCreate(CreatePersonalContractingParty command) + { + command.NationalId = + !string.IsNullOrWhiteSpace(command.NationalId) ? command.NationalId.ConvertToEnglish() : ""; + command.Phone = !string.IsNullOrWhiteSpace(command.Phone) ? command.Phone.ConvertToEnglish() : ""; + command.AgentPhone = + !string.IsNullOrWhiteSpace(command.AgentPhone) ? command.AgentPhone.ConvertToEnglish() : ""; + command.Nationalcode = command.Nationalcode.ConvertToEnglish(); + var result = _personalContractingPartyApp.Create(command); + return new JsonResult(result); + } - } - public IActionResult OnPostDeletePersonalContractingParties(long id) - { - var result = _personalContractingPartyApp.DeletePersonalContractingParties(id); - return new JsonResult(result); - } - public IActionResult OnPostActivePersonalContractingParties(long id) - { - var result = _personalContractingPartyApp.Active(id); - return new JsonResult(result); - } - public IActionResult OnPostBlockPersonalContractingParties(long id) - { - var result = _personalContractingPartyApp.Block(id); - return new JsonResult(result); - } - public IActionResult OnPostDisableBlockPersonalContractingParties(long id) - { - var result = _personalContractingPartyApp.DisableBlock(id); - return new JsonResult(result); - } - public IActionResult OnPostCheckHasContract(long id) - { - bool hasContract = _personalContractingPartyApp.GetHasContract(id); - if(hasContract) - return new JsonResult(new { isSuccedded = false, message = ""}); - else - return new JsonResult(new { isSuccedded = true, message = "", }); - } - #endregion + public IActionResult OnPostInsertLegal(CreatePersonalContractingParty command) + { + command.NationalId = command.NationalId.ConvertToEnglish(); + command.RegisterId = command.RegisterId.ConvertToEnglish(); + command.Phone = !string.IsNullOrWhiteSpace(command.Phone) ? command.Phone.ConvertToEnglish() : ""; + command.AgentPhone = + !string.IsNullOrWhiteSpace(command.AgentPhone) ? command.AgentPhone.ConvertToEnglish() : ""; + var result2 = _personalContractingPartyApp.CreateLegals(command); + return new JsonResult(result2); + } + + public IActionResult OnGetEdit(long id) + { + var productCategory = _personalContractingPartyApp.GetDetailsToEdit(id); + productCategory.HasContract = _personalContractingPartyApp.GetHasContract(id); + productCategory.RepresentativeViewModels = _representativeApplication.GetRepresentatives(); + return Partial("Edit", productCategory); + } + + public IActionResult OnGetLegalEdit(long id) + { + var legaly = _personalContractingPartyApp.GetDetailsToEdit(id); + legaly.HasContract = _personalContractingPartyApp.GetHasContract(id); + legaly.RepresentativeViewModels = _representativeApplication.GetRepresentatives(); + return Partial("LegalEdit", legaly); + } + + public JsonResult OnPostEdit(EditPersonalContractingParty command) + { + if (ModelState.IsValid) + { + } + + command.Phone = !string.IsNullOrWhiteSpace(command.Phone) ? command.Phone.ConvertToEnglish() : ""; + command.AgentPhone = + !string.IsNullOrWhiteSpace(command.AgentPhone) ? command.AgentPhone.ConvertToEnglish() : ""; + command.NationalId = + !string.IsNullOrWhiteSpace(command.NationalId) ? command.NationalId.ConvertToEnglish() : ""; + command.Nationalcode = command.Nationalcode.ConvertToEnglish(); + var result = _personalContractingPartyApp.Edit(command); + return new JsonResult(result); + } + + public JsonResult OnPostLegalEdit(EditPersonalContractingParty command) + { + if (ModelState.IsValid) + { + } + + command.Phone = !string.IsNullOrWhiteSpace(command.Phone) ? command.Phone.ConvertToEnglish() : ""; + command.AgentPhone = + !string.IsNullOrWhiteSpace(command.AgentPhone) ? command.AgentPhone.ConvertToEnglish() : ""; + command.NationalId = command.NationalId.ConvertToEnglish(); + command.RegisterId = command.RegisterId.ConvertToEnglish(); + var result = _personalContractingPartyApp.EditLegal(command); + return new JsonResult(result); + } + + public IActionResult OnGetDetails(long id) + { + var productCategory = _personalContractingPartyApp.GetDetails(id); + return Partial("Details", productCategory); + } + + public IActionResult OnGetLegalDetails(long id) + { + var legaldetails = _personalContractingPartyApp.GetDetails(id); + return Partial("LegalDetails", legaldetails); + } + + + #region NewByHeydari + + public IActionResult OnGetRepresentativeList(string searchText) + { + var result = _representativeApplication.GetRepresentativeListForSearchText(searchText); + result = result.OrderBy(x => x.FullName.Length).ToList(); + return new JsonResult(new + { + IsSuccedded = true, + mylist = result + }); + } + + public IActionResult OnGetPersonalContractingPartyNationalcode(string searchText) + { + var result = _personalContractingPartyApp.GetPersonalContractingPartiesForNationalcode(searchText); + result = result.OrderBy(x => x.Nationalcode.Length).ToList(); + return new JsonResult(new + { + IsSuccedded = true, + mylist = result + }); + } + + [SuppressMessage("ReSharper.DPA", "DPA0007: Large number of DB records", MessageId = "count: 276")] + public IActionResult OnGetContractPartyList(string searchText) + { + var res = _personalContractingPartyApp.GetPersonalContractingParties().OrderBy(x => x.FullName).ToList(); + var result = res.Select(x => new PersonalContractingPartyViewModel + { + id = x.id, + LName = x.LName, + FullName = x.FullName + }); + result = result.Where(x => x.FullName.Contains(searchText)); + result = result.OrderBy(x => x.FullName.Length).ToList(); + + return new JsonResult(new + { + IsSuccedded = true, + mylist = result + }); + } + + public IActionResult OnPostDeletePersonalContractingParties(long id) + { + var result = _personalContractingPartyApp.DeletePersonalContractingParties(id); + return new JsonResult(result); + } + + public IActionResult OnPostActivePersonalContractingParties(long id) + { + var result = _personalContractingPartyApp.Active(id); + return new JsonResult(result); + } + + public IActionResult OnPostBlockPersonalContractingParties(long id) + { + var result = _personalContractingPartyApp.Block(id); + return new JsonResult(result); + } + + public IActionResult OnPostDisableBlockPersonalContractingParties(long id) + { + var result = _personalContractingPartyApp.DisableBlock(id); + return new JsonResult(result); + } + + public IActionResult OnPostCheckHasContract(long id) + { + var hasContract = _personalContractingPartyApp.GetHasContract(id); + if (hasContract) + return new JsonResult(new { isSuccedded = false, message = "" }); + return new JsonResult(new { isSuccedded = true, message = "" }); + } + + #endregion } \ No newline at end of file diff --git a/ServiceHost/Areas/Admin/Pages/Company/ContractingParties/InsertLegal.cshtml b/ServiceHost/Areas/Admin/Pages/Company/ContractingParties/InsertLegal.cshtml index 7e4edad6..90a750c1 100644 --- a/ServiceHost/Areas/Admin/Pages/Company/ContractingParties/InsertLegal.cshtml +++ b/ServiceHost/Areas/Admin/Pages/Company/ContractingParties/InsertLegal.cshtml @@ -1,6 +1,6 @@ @model CompanyManagment.App.Contracts.PersonalContractingParty.CreatePersonalContractingParty @{ - }
- +
\ No newline at end of file diff --git a/ServiceHost/Areas/Admin/Pages/Company/ContractingParties/LegalEdit.cshtml b/ServiceHost/Areas/Admin/Pages/Company/ContractingParties/LegalEdit.cshtml index 16f9f6f5..f3244213 100644 --- a/ServiceHost/Areas/Admin/Pages/Company/ContractingParties/LegalEdit.cshtml +++ b/ServiceHost/Areas/Admin/Pages/Company/ContractingParties/LegalEdit.cshtml @@ -1,6 +1,6 @@ @model CompanyManagment.App.Contracts.PersonalContractingParty.EditPersonalContractingParty @{ - }
- -
- +
+ + - - + + + + + \ No newline at end of file diff --git a/ServiceHost/Areas/Admin/Pages/Company/Contracts/ContractPrintAll.cshtml b/ServiceHost/Areas/Admin/Pages/Company/Contracts/ContractPrintAll.cshtml index 4cd3ff13..e04a3448 100644 --- a/ServiceHost/Areas/Admin/Pages/Company/Contracts/ContractPrintAll.cshtml +++ b/ServiceHost/Areas/Admin/Pages/Company/Contracts/ContractPrintAll.cshtml @@ -1,7 +1,7 @@ @page @model ServiceHost.Areas.Admin.Pages.Company.Contracts.ContractPrintAll @{ - - + } - - +
+
+
+

شغل

+
+ +
+
+
+

مبلغ توافق شده

+
-
+ + -
-
-
-
-
+
+
+ + + + + + -

تاریخ پایان قرارداد

+ + + - + @**@ - -
-
-
-
-
-

تاریخ شروع قرارداد

+
+
- - تایید - +
+
+
+
+

تاریخ شروع به کار

-
+ + + -
-
-
-
-
-
-

شغل

-
+
+
+
+
- + -
-
-
-

مبلغ توافق شده

-
+ @**@ - - + @**@ +
+
+
+
+
+

محل انجام کار 1

+ + -
-
+
+
+
+
+

محل انجام کار 2

+ + - - - - - - +
+
+ +
+
+
+ ساعت کار +
+
+
+ کارکرد عادی + + +
+
+
+
+ کارکرد چرخشی + + +
+
+
+
+ کارکرد مختلط +
+ +
+ 24-24 + -
-
-
-
-
+
+
+ + - - - -
-
-
-
+
- - - +
+
+ - @**@ - @**@ +
-
- - -
-
-

محل انجام کار 1

- - +
-
-
-
-
-

محل انجام کار 2

- - +
-
- -
-
-
- ساعت کار -
-
-
- کارکرد عادی +
- -
-
-
- کارکرد چرخشی + + + - - + - هفتگی - + + + + + + + + + + -
-
-
-
- کارکرد مختلط -
- -
+ +@*yekshanbeh*@ + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +@*doshanbeh*@ +
+ + + + + + - 24-24 - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + +@*seshanbeh*@ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +@*cheharshanbeh*@ +
+ + + + + + -
-
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +@*panjshanbeh*@ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + -
+ +@*jomeh*@ +
+ + + + + + - 12-36 - - + + - 24-48 - + + + -
+ + + + -
-
-
+ + + + + + -
+ + + -
+ + + -
-
-

دادمهرگستر


-

DadmehrGostar

-
+
+
+ + + + + + + + + + + - +@*شنبه*@ + + + + + + + -
- @*shanbeh*@ -
- - - - - - +@*یکشنبه*@ - - - + + - - - + + + - - + + +@*دوشنبه*@ + + - - + - - - + + - - - + + +@*سه شنبه*@ + + - - - + - - - + + - - + + -
+@*چهارشنیه*@ - @*yekshanbeh*@ + + -
- - - - - - - - - - + - - - + + + + - - - - +@*پنج شنبه*@ - - - - - - - - - - - - - + + - - - + - - + + -
+ + - @*doshanbeh*@ -
- - - - - - +@*جمعه*@ - - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - - @*seshanbeh*@ -
- - - - - - + - - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - @*cheharshanbeh*@ -
- - - - - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - @*panjshanbeh*@ -
- - - - - - +@*Complex*@ + + - - - + + - - - - - - - - - - - - - - - - - - - - - - - - + + - - - + + - - +
+
+
+ + -
- @*jomeh*@ -
- - - - - - + - - - +
+ محاسبه + + - - - + + + + +@**@ + - - - + +
+
- - - +
+
+
+ انتخاب کارگاه + + + + + + + - - - + + + + + + + + @*شنبه*@ + + - - - + - - + + -
+ + - -
-
- - - - - - - - - - + @*یکشنبه*@ - @*شنبه*@ - - + + - + - - + + - - + + - @*یکشنبه*@ + @*دوشنبه*@ - - + + - + - - + + - - + + - @*دوشنبه*@ + @*سه شنبه*@ - - + + - + - - + + - - + + - @*سه شنبه*@ + @*چهارشنیه*@ - - + + - + - - + + - - + + - @*چهارشنیه*@ + @*پنج شنبه*@ - - + + - + - - + + - - + + - @*پنج شنبه*@ + @*جمعه*@ - - + + - + - - + + - - + + - @*جمعه*@ - - + @*Complex*@ + + - + + - - + + - - + + + + - @*Complex*@ - - + - - - - + @**@ + - - - - - - @**@ - - - -
-
- -
-
-
- انتخاب کارگاه - - - - - - - - - - - - - - - - - - @*شنبه*@ - - - - - - - - - - - - @*یکشنبه*@ - - - - - - - - - - - - - @*دوشنبه*@ - - - - - - - - - - - - - @*سه شنبه*@ - - - - - - - - - - - - - @*چهارشنیه*@ - - - - - - - - - - - - - @*پنج شنبه*@ - - - - - - - - - - - - - @*جمعه*@ - - - - - - - - - - - - - - @*Complex*@ - - - - - - - - - - - -
-
- - - -
- - - @**@ - - -
-
- + + - @@ -1666,29 +1623,26 @@ - - - @* @* - *@ - - - - + *@ \ No newline at end of file diff --git a/ServiceHost/Areas/Admin/Pages/Company/Contracts/Details.cshtml b/ServiceHost/Areas/Admin/Pages/Company/Contracts/Details.cshtml index 114b58ca..15548a5d 100644 --- a/ServiceHost/Areas/Admin/Pages/Company/Contracts/Details.cshtml +++ b/ServiceHost/Areas/Admin/Pages/Company/Contracts/Details.cshtml @@ -1,8 +1,6 @@ -@using _0_Framework.Application -@using System.Security.Cryptography.X509Certificates -@model CompanyManagment.App.Contracts.Contract.EditContract +@model CompanyManagment.App.Contracts.Contract.EditContract @{ - - + } + + @@ -228,405 +227,408 @@ } + window.location.hash = "##"; + }, + 1000); + }); + \ No newline at end of file diff --git a/ServiceHost/Areas/Admin/Pages/Company/Contracts/EditSick.cshtml b/ServiceHost/Areas/Admin/Pages/Company/Contracts/EditSick.cshtml index e8928ec1..fb140d63 100644 --- a/ServiceHost/Areas/Admin/Pages/Company/Contracts/EditSick.cshtml +++ b/ServiceHost/Areas/Admin/Pages/Company/Contracts/EditSick.cshtml @@ -1,7 +1,7 @@ @model CompanyManagment.App.Contracts.Leave.EditLeave @{ - } - +
+
+
+

موافقت یا عدم موافقت

+
+ + +
+
+
+ +
+
+ + +
+
+
+ + + + + + + + + - \ No newline at end of file diff --git a/ServiceHost/Areas/Admin/Pages/Company/Contracts/EnterLeftWorkDate.cshtml b/ServiceHost/Areas/Admin/Pages/Company/Contracts/EnterLeftWorkDate.cshtml index 52a35410..04664658 100644 --- a/ServiceHost/Areas/Admin/Pages/Company/Contracts/EnterLeftWorkDate.cshtml +++ b/ServiceHost/Areas/Admin/Pages/Company/Contracts/EnterLeftWorkDate.cshtml @@ -4,151 +4,147 @@ \ No newline at end of file diff --git a/ServiceHost/Areas/Admin/Pages/Company/Contracts/Extension.cshtml b/ServiceHost/Areas/Admin/Pages/Company/Contracts/Extension.cshtml index d971430f..a76c5236 100644 --- a/ServiceHost/Areas/Admin/Pages/Company/Contracts/Extension.cshtml +++ b/ServiceHost/Areas/Admin/Pages/Company/Contracts/Extension.cshtml @@ -1,17 +1,8 @@ -@using _0_Framework.Application -@using CompanyManagment.App.Contracts.Contract -@using PersianTools.Core -@model CompanyManagment.App.Contracts.Contract.ExtensionViewModel +@model CompanyManagment.App.Contracts.Contract.ExtensionViewModel @{ - - - - - - - - var selctedOption = "selectedOption"; + var selctedOption = "selectedOption"; } + @section Styles { - + } +
-
-
-

- -

-

- -

- - - +
+
+

+ +

+

+ +

+ + + - @*href="#showmodal=@Url.Page("./Index", "PrintAll", new {ids = idss})"*@ -
-
+ @*href="#showmodal=@Url.Page("./Index", "PrintAll", new {ids = idss})"*@ +
+
-
-
- -
-
- @*===================================================================================================================*@ -
-
-
-
-
-
-
- -
-
-
-
- -
-
-
- - - - +
+ +
+
+ @*===================================================================================================================*@ +
+
+ +
+
+
+
+ +
+
+
+
+ +
+
+
+ + + + +
+
    + +
+
+
+
+
+ + +
+
+
+
+
+
+
+ انتخاب تاریخ +
+
+ +
+
+ +
+
+ +
+
+ @**@ + +
+
+
+
+ @**@ + +
+ +
+ +
+
+ @**@ + + +
+
+
+ +
+
+ + +
+
+ جستجو + + حذف فیلتر +
+
+
+ +
+
+ @*==================================================================personal=====*@ +
+
+
+ +
+
+ +
+
+
+

لیست قرارداد ها

+
+
+
+
+ + + + + + + + + + + + + + + + + + + + + +@foreach (var item in Model.Contracts) +{ + + + + + + + + + + + + + + @{ + i++; + } + + + } - }" autocomplete="off" placeholder="نام و نام خانوادگی پرسنل " style="width: 100%;position: relative"> -
-
    - -
-
- -
-
- - -
-
- -
-
-
-
- انتخاب تاریخ -
-
- -
-
- -
-
- -
-
- @**@ - -
-
-
-
- @**@ - -
- -
- -
-
- @**@ - - -
-
-
- -
-
- - -
-
- جستجو - - حذف فیلتر -
-
- - - - - @*==================================================================personal=====*@ - - - - - - - -
-
-
-

لیست قرارداد ها

-
-
-
-
-
#کارگاه پرسنل آغاز قراردادپایان قرارداد + + + + + + + + + +
@i + + @item.WorkshopName + +
+

+ @item.WorkshopName +

+ + @item.WorkshopName + +
+
+ + @item.EmployeeName + +
+

+ @item.EmployeeName +

+ + @item.EmployeeName + +
+
+ + @item.ContarctStart + +
+

+ @item.ContarctStart +

+ + @item.ContarctStart + +
+
+ + @item.ContractEnd + +
+

+ @item.ContractEnd +

+ + @item.ContractEnd + +
+
+ + +
- - - - - - - - - - - - - - - - - - - - - @foreach (var item in Model.Contracts) - { - - - - - - - - - - - - - - - - @{ - i++; - } - - - - } - -
#کارگاه پرسنل آغاز قراردادپایان قرارداد - - - - - - - - - -
@i - - @item.WorkshopName - -
-

- @item.WorkshopName -

- - @item.WorkshopName - -
-
- - @item.EmployeeName - -
-

- @item.EmployeeName -

- - @item.EmployeeName - -
-
- - @item.ContarctStart - -
-

- @item.ContarctStart -

- - @item.ContarctStart - -
-
- - @item.ContractEnd - -
-

- @item.ContractEnd -

- - @item.ContractEnd - -
-
- - -
-
-
-
-
-
+ + +
+
+
+
+
-
-
- +
+
@section Script { - - - -@* *@ - - - - - - - - - - + + + @* *@ + + + + + + + + + + - + - + - } - + + function signatureAll() { + $('.sweet-alert').removeClass("successSwall"); + $('.sweet-alert').removeClass("errorSwall"); + var workshopId = Number($("#SearchModel_WorkshopIds").val()); + var year = $("#SearchModel_Year").val(); + var month = $("#SearchModel_Month").val(); + var employeeSearch = $("#empSearch").val(); -} + //if (employeeSearch != '' && workshopId != "0") { + // در صورتیکه پرسنل و کارگاه سرچ شد، نیاز به انتخاب سال و ماه نباشد + // swal({ + // title: "لطفا در قسمت جستجوی قرارداد آیتمهای کارگاه، سال و ماه را انتخاب نموده و روی کلید جستجو کلیک کنید ", + // text: "", + // type: "warning", + // showCancelButton: true, + // confirmButtonColor: "#DD6B55", + // //confirmButtonText: "بستن", + // cancelButtonText: "بستن", + // closeOnConfirm: false, + // customClass: "errorSwall" + // }); + // } + // else{ + if (year.trim() == "" && month.trim() == "" && workshopId == "0") { + swal({ + title: "لطفا در قسمت جستجوی قرارداد آیتمهای کارگاه، سال و ماه را انتخاب نموده و روی کلید جستجو کلیک کنید ", + text: "", + type: "warning", + showCancelButton: true, + confirmButtonColor: "#DD6B55", + //confirmButtonText: "بستن", + cancelButtonText: "بستن", + closeOnConfirm: false, + customClass: "errorSwall" + }); + //$.Notification.autoHideNotify('error', 'top center', 'پیام سیستم ', " ابتدا آیتمهای کارگاه و سال , ماه را انتخاب کنید "); + } else if (year.trim() == "" && month.trim() == "" && workshopId != "0") { + swal({ + title: "لطفا در قسمت جستجوی قرارداد آیتمهای سال و ماه را انتخاب نموده و روی کلید جستجو کلیک کنید ", + text: "", + type: "warning", + showCancelButton: true, + confirmButtonColor: "#DD6B55", + //confirmButtonText: "بستن", + cancelButtonText: "بستن", + closeOnConfirm: false, + customClass: "errorSwall" + }); + //$.Notification.autoHideNotify('error', 'top center', 'پیام سیستم ', " ابتدا آیتمهای سال و ماه را انتخاب کنید "); + } else if (year.trim() != "" && month.trim() == "" && workshopId == "0") { + swal({ + title: "لطفا در قسمت جستجوی قرارداد آیتمهای کارگاه و ماه را انتخاب نموده و روی کلید جستجو کلیک کنید ", + text: "", + type: "warning", + showCancelButton: true, + confirmButtonColor: "#DD6B55", + //confirmButtonText: "بستن", + cancelButtonText: "بستن", + closeOnConfirm: false, + customClass: "errorSwall" + }); + //$.Notification.autoHideNotify('error', 'top center', 'پیام سیستم ', " ابتدا آیتمهای کارگاه و ماه را انتخاب کنید "); + } else if (year.trim() == "" && month.trim() != "" && workshopId == "0") { + //$.Notification.autoHideNotify('error', 'top center', 'پیام سیستم ', " ابتدا آیتمهای کارگاه و سال را انتخاب کنید "); + swal({ + title: "لطفا در قسمت جستجوی قرارداد آیتمهای کارگاه و سال را انتخاب نموده و روی کلید جستجو کلیک کنید ", + text: "", + type: "warning", + showCancelButton: true, + confirmButtonColor: "#DD6B55", + //confirmButtonText: "بستن", + cancelButtonText: "بستن", + closeOnConfirm: false, + customClass: "errorSwall" + }); + } else if (year.trim() != "" && month.trim() == "" && workshopId != "0") { + swal({ + title: "لطفا در قسمت جستجوی قرارداد آیتم ماه را انتخاب نموده و روی کلید جستجو کلیک کنید ", + text: "", + type: "warning", + showCancelButton: true, + confirmButtonColor: "#DD6B55", + //confirmButtonText: "بستن", + cancelButtonText: "بستن", + closeOnConfirm: false, + customClass: "errorSwall" + }); + //$.Notification.autoHideNotify('error', 'top center', 'پیام سیستم ', " ابتدا آیتم ماه را انتخاب کنید "); + } else if (year.trim() != "" && month.trim() != "" && workshopId == "0") { + swal({ + title: "لطفا در قسمت جستجوی قرارداد آیتم کارگاه را انتخاب نموده و روی کلید جستجو کلیک کنید ", //"ابتدا آیتم کارگاه را انتخاب کنید ", + text: "", + type: "warning", + showCancelButton: true, + confirmButtonColor: "#DD6B55", + //confirmButtonText: "بستن", + cancelButtonText: "بستن", + closeOnConfirm: false, + customClass: "errorSwall" + }); + // $.Notification.autoHideNotify('error', 'top center', 'پیام سیستم ', " ابتدا آیتم کارگاه را انتخاب کنید "); + } else if (year.trim() == "" && month.trim() != "" && workshopId != "0") { + //$.Notification.autoHideNotify('error', 'top center', 'پیام سیستم ', " ابتدا آیتم سال را انتخاب کنید "); + swal({ + title: "لطفا در قسمت جستجوی قرارداد آیتم سال را انتخاب نموده و روی کلید جستجو کلیک کنید ", + text: "", + type: "warning", + showCancelButton: true, + confirmButtonColor: "#DD6B55", + //confirmButtonText: "بستن", + cancelButtonText: "بستن", + closeOnConfirm: false, + customClass: "errorSwall" + }); + } else { + let ids = []; + $("input[name=foo]:checked").each(function() { + const id = $(this).val(); + ids.push(id); + }); + if (ids.length == 0) { + //$.Notification.autoHideNotify('error', 'top center', 'پیام سیستم ', " هیچ قراردادی انتخاب نشده است "); + swal({ + title: "هیچ قراردادی انتخاب نشده است ", + text: "لطفا از تیک های سمت راست جدول، قراردادهای مورد نظر را انتخاب کنید.", + type: "warning", + showCancelButton: true, + confirmButtonColor: "#DD6B55", + //confirmButtonText: "بستن", + cancelButtonText: "بستن", + closeOnConfirm: false, + customClass: "errorSwall" + }); + } else if (document.getElementById("sercheSignCheck").value == "false") { + swal({ + title: "لطفا روی کلید جستجو کلیک کنید ", + text: "", + type: "warning", + showCancelButton: true, + confirmButtonColor: "#DD6B55", + //confirmButtonText: "بستن", + cancelButtonText: "بستن", + closeOnConfirm: false, + customClass: "errorSwall" + }); + } else { + swal({ + title: "آیا امضای قراردادهای انتخاب شده اطمینان دارید؟", + text: "", + type: "warning", + showCancelButton: true, + confirmButtonColor: "#DD6B55", + confirmButtonText: "بله", + cancelButtonText: "خیر", + closeOnConfirm: false, + closeOnCancel: true + }, + function(isConfirm) { + if (isConfirm) { + $(".alarm").removeClass('alarm'); + $.ajax({ + async: false, + dataType: 'json', + type: 'POST', + url: '@Url.Page("/Company/Contracts/Index", "SignatureAll")', + headers: { "RequestVerificationToken": $('@Html.AntiForgeryToken()').val() }, + data: { "ids": ids, "workshopId": workshopId }, + success: function(response) { + console.log(response); + if (response.isSuccedded) { + swal({ + title: "امضای قراردادهای انتخاب شده با موفقیت انجام شد ", + text: "", + type: "success", + showCancelButton: true, + confirmButtonColor: "#DD6B55", + confirmButtonText: "بستن", + cancelButtonText: "خیر", + closeOnConfirm: true, + customClass: "successSwall" + }, + function(isConfirm) { + if (isConfirm) { + for (let index = 0; index < ids.length; index++) { + $(`#td_${ids[index]}`).html(` `); + } + $('.myLinkSign').click(function(event) { + signAjax(event, this); + }); + } + }); + } + //$.Notification.notify('success', 'top center', 'پیام سیستم ', " امضای قراردادهای انتخاب شده با موفقیت انجام شد."); + else + //$.Notification.notify('error', 'top center', 'پیام سیستم ', " امضای قراردادهای انتخاب شده با خطا مواجه شد."); + { + swal({ + title: "امضای قراردادهای انتخاب شده با خطا مواجه شد ", + text: "", + type: "warning", + showCancelButton: true, + confirmButtonColor: "#DD6B55", + //confirmButtonText: "بستن", + cancelButtonText: "بستن", + closeOnConfirm: false, + customClass: "errorSwall" + }); + } + }, + failure: function(response) { + //console.log(5, response); + } + }); + } + }); + } + } + // } + } + function deleteAllSignature() { + $('.sweet-alert').removeClass("successSwall"); + $('.sweet-alert').removeClass("errorSwall"); + var workshopId = Number($("#SearchModel_WorkshopIds").val()); + var year = $("#SearchModel_Year").val(); + var month = $("#SearchModel_Month").val(); + if (year.trim() == "" && month.trim() == "" && workshopId == "0") { + swal({ + title: "لطفا در قسمت جستجوی قرارداد آیتمهای کارگاه، سال و ماه را انتخاب نموده و روی کلید جستجو کلیک کنید ", + text: "", + type: "warning", + showCancelButton: true, + confirmButtonColor: "#DD6B55", + //confirmButtonText: "بستن", + cancelButtonText: "بستن", + closeOnConfirm: false, + customClass: "errorSwall" + }); + //$.Notification.autoHideNotify('error', 'top center', 'پیام سیستم ', " ابتدا آیتمهای کارگاه و سال , ماه را انتخاب کنید "); + } else if (year.trim() == "" && month.trim() == "" && workshopId != "0") { + swal({ + title: "لطفا در قسمت جستجوی قرارداد آیتمهای سال و ماه را انتخاب نموده و روی کلید جستجو کلیک کنید ", + text: "", + type: "warning", + showCancelButton: true, + confirmButtonColor: "#DD6B55", + //confirmButtonText: "بستن", + cancelButtonText: "بستن", + closeOnConfirm: false, + customClass: "errorSwall" + }); + //$.Notification.autoHideNotify('error', 'top center', 'پیام سیستم ', " ابتدا آیتمهای سال و ماه را انتخاب کنید "); + } else if (year.trim() != "" && month.trim() == "" && workshopId == "0") { + swal({ + title: "لطفا در قسمت جستجوی قرارداد آیتمهای کارگاه و ماه را انتخاب نموده و روی کلید جستجو کلیک کنید ", + text: "", + type: "warning", + showCancelButton: true, + confirmButtonColor: "#DD6B55", + //confirmButtonText: "بستن", + cancelButtonText: "بستن", + closeOnConfirm: false, + customClass: "errorSwall" + }); + //$.Notification.autoHideNotify('error', 'top center', 'پیام سیستم ', " ابتدا آیتمهای کارگاه و ماه را انتخاب کنید "); + } else if (year.trim() == "" && month.trim() != "" && workshopId == "0") { + //$.Notification.autoHideNotify('error', 'top center', 'پیام سیستم ', " ابتدا آیتمهای کارگاه و سال را انتخاب کنید "); + swal({ + title: "لطفا در قسمت جستجوی قرارداد آیتمهای کارگاه و سال را انتخاب نموده و روی کلید جستجو کلیک کنید ", + text: "", + type: "warning", + showCancelButton: true, + confirmButtonColor: "#DD6B55", + //confirmButtonText: "بستن", + cancelButtonText: "بستن", + closeOnConfirm: false, + customClass: "errorSwall" + }); + } else if (year.trim() != "" && month.trim() == "" && workshopId != "0") { + swal({ + title: "لطفا در قسمت جستجوی قرارداد آیتم ماه را انتخاب نموده و روی کلید جستجو کلیک کنید ", + text: "", + type: "warning", + showCancelButton: true, + confirmButtonColor: "#DD6B55", + //confirmButtonText: "بستن", + cancelButtonText: "بستن", + closeOnConfirm: false, + customClass: "errorSwall" + }); + //$.Notification.autoHideNotify('error', 'top center', 'پیام سیستم ', " ابتدا آیتم ماه را انتخاب کنید "); + } else if (year.trim() != "" && month.trim() != "" && workshopId == "0") { + swal({ + title: "لطفا در قسمت جستجوی قرارداد آیتم کارگاه را انتخاب نموده و روی کلید جستجو کلیک کنید ", //"ابتدا آیتم کارگاه را انتخاب کنید ", + text: "", + type: "warning", + showCancelButton: true, + confirmButtonColor: "#DD6B55", + //confirmButtonText: "بستن", + cancelButtonText: "بستن", + closeOnConfirm: false, + customClass: "errorSwall" + }); + // $.Notification.autoHideNotify('error', 'top center', 'پیام سیستم ', " ابتدا آیتم کارگاه را انتخاب کنید "); + } else if (year.trim() == "" && month.trim() != "" && workshopId != "0") { + //$.Notification.autoHideNotify('error', 'top center', 'پیام سیستم ', " ابتدا آیتم سال را انتخاب کنید "); + swal({ + title: "لطفا در قسمت جستجوی قرارداد آیتم سال را انتخاب نموده و روی کلید جستجو کلیک کنید ", + text: "", + type: "warning", + showCancelButton: true, + confirmButtonColor: "#DD6B55", + //confirmButtonText: "بستن", + cancelButtonText: "بستن", + closeOnConfirm: false, + customClass: "errorSwall" + }); + } else { + let ids = []; + $("input[name=foo]:checked").each(function() { + const id = $(this).val(); + ids.push(id); + }); + if (ids.length == 0) { + swal({ + title: "هیچ قراردادی انتخاب نشده است ", + text: "لطفا از تیک های سمت راست جدول، قراردادهای مورد نظر را انتخاب کنید.", + type: "warning", + showCancelButton: true, + confirmButtonColor: "#DD6B55", + //confirmButtonText: "بستن", + cancelButtonText: "بستن", + closeOnConfirm: false, + customClass: "errorSwall" + }); + //$.Notification.autoHideNotify('error', 'top center', 'پیام سیستم ', " هیچ قراردادی انتخاب نشده است "); + } else if (document.getElementById("sercheSignCheck").value == "false") { + swal({ + title: "لطفا روی کلید جستجو کلیک کنید ", + text: "", + type: "warning", + showCancelButton: true, + confirmButtonColor: "#DD6B55", + //confirmButtonText: "بستن", + cancelButtonText: "بستن", + closeOnConfirm: false, + customClass: "errorSwall" + }); + } else { + swal({ + title: "آیا از حذف امضای قراردادهای انتخاب شده اطمینان دارید؟", + text: "", + type: "warning", + showCancelButton: true, + confirmButtonColor: "#DD6B55", + confirmButtonText: "بله", + cancelButtonText: "خیر", + closeOnConfirm: false, + closeOnCancel: true + }, + function(isConfirm) { + if (isConfirm) { + $(".alarm").removeClass('alarm'); + $.ajax({ + async: false, + dataType: 'json', + type: 'POST', + url: '@Url.Page("/Company/Contracts/Index", "DeleteAllSignature")', + headers: { "RequestVerificationToken": $('@Html.AntiForgeryToken()').val() }, + data: { "ids": ids, "workshopId": workshopId }, + success: function(response) { + if (response.isSuccedded) { + //$.Notification.notify('success', 'top center', 'پیام سیستم ', "حذف امضای قراردادهای انتخاب شده با موفقیت انجام شد."); + swal({ + title: "حذف امضای قراردادهای انتخاب شده با موفقیت انجام شد ", + text: "", + type: "success", + showCancelButton: true, + confirmButtonColor: "#DD6B55", + confirmButtonText: "بستن", + //cancelButtonText: "خیر", + closeOnConfirm: true, + customClass: "successSwall" + }, + function(isConfirm) { + if (isConfirm) { + for (let index = 0; index < ids.length; index++) { + $(`#td_${ids[index]}`).html(` `); + } + $('.myLinkSign').click(function(event) { + signAjax(event, this); + }); + } + }); + } else { + swal({ + title: "حذف امضای قراردادهای انتخاب شده با خطا مواجه شد", + text: "", + type: "warning", + showCancelButton: true, + confirmButtonColor: "#DD6B55", + //confirmButtonText: "بستن", + cancelButtonText: "بستن", + closeOnConfirm: false, + customClass: "errorSwall" + }); + } + + }, + failure: function(response) { + //console.log(5, response); + } + }); + } + }); + } + } + } + + $("#empSearch").keypress(function(event) { + if (event.keyCode === 13) { + if ($("#SearchModel_EmployeeId").val() == "0") + $("#SearchModel_EmployeeName").val($("#empSearch").val()); + $("#btnSearch").click(); + } + }); + + //------------End new Change--------------- + + + +} \ No newline at end of file diff --git a/ServiceHost/Areas/Admin/Pages/Company/Contracts/Index.cshtml.cs b/ServiceHost/Areas/Admin/Pages/Company/Contracts/Index.cshtml.cs index 6cfb70a1..732f5499 100644 --- a/ServiceHost/Areas/Admin/Pages/Company/Contracts/Index.cshtml.cs +++ b/ServiceHost/Areas/Admin/Pages/Company/Contracts/Index.cshtml.cs @@ -1,17 +1,8 @@ -using System; -using System.Collections.Generic; -using System.Diagnostics.CodeAnalysis; -using System.Linq; -using System.Threading.Tasks; -using System.Runtime.InteropServices; -using System.Runtime.Versioning; -using System.Text; +using System.Diagnostics.CodeAnalysis; +using System.Globalization; using _0_Framework.Application; using Company.Domain.CheckoutAgg; -using Company.Domain.ContarctingPartyAgg; using Company.Domain.ContractAgg; -using Company.Domain.empolyerAgg; -using Company.Domain.WorkshopAgg; using CompanyManagment.App.Contracts.Contract; using CompanyManagment.App.Contracts.Employee; using CompanyManagment.App.Contracts.Employer; @@ -23,1003 +14,871 @@ using CompanyManagment.App.Contracts.WorkingHours; using CompanyManagment.App.Contracts.WorkingHoursItems; using CompanyManagment.App.Contracts.Workshop; using CompanyManagment.App.Contracts.YearlySalary; -using CompanyManagment.EFCore; using Microsoft.AspNetCore.Authorization; using Microsoft.AspNetCore.Mvc; -using Microsoft.AspNetCore.Mvc.Razor; using Microsoft.AspNetCore.Mvc.RazorPages; using Microsoft.AspNetCore.Mvc.Rendering; -using Microsoft.EntityFrameworkCore; -using Microsoft.EntityFrameworkCore.Metadata.Internal; -using Microsoft.Extensions.Logging; -using Newtonsoft.Json; -using PersianTools.Core; -using CompanyManagment.EFCore.Migrations; -using System.Globalization; -using static Microsoft.EntityFrameworkCore.DbLoggerCategory.Database; -namespace ServiceHost.Areas.Admin.Pages.Company.Contracts +namespace ServiceHost.Areas.Admin.Pages.Company.Contracts; + +[Authorize] +public class IndexModel : PageModel { - [Authorize] - public class IndexModel : PageModel - { - - public string Message { get; set; } - - public ContractSearchModel SearchModel; - - public List Contracts; - public List Contracts2; - public List EmployeeList; - public List EmployerList; - public List WorkshopList; - public List ComputingView; - public string WorkshopSearch = "false"; - public string SignCheck = "false"; - public string DeleteCheck = "false"; - public bool falseCheck { get; set; } - - - public List JobList; - public List WorkshopEmployer; - public List PersonnelList; - public string employeeFullName; - - public SelectList Workshops; - public SelectList WorkshopsCode; - public SelectList Employees; - public SelectList Employers; - public SelectList Jobs; - public List YearlyList; - private readonly IContractApplication _contractApplication; - private readonly IWorkshopApplication _workshopApplication; - private readonly IEmployeeApplication _employeeApplication; - private readonly IEmployerApplication _employerApplication; - private readonly IYearlySalaryApplication _yearlySalaryApplication; - private readonly IJobApplication _jobApplication; - private readonly IContractRepository _contractRepository; - private readonly IWorkingHoursApplication _workingHoursApplication; - private readonly IWorkingHoursItemsApplication _workingHoursItemsApplication; - private readonly IAuthHelper _authHelper; - private readonly ILeftWorkApplication _leftWorkApplication; - private readonly ILeaveApplication _leaveApplication; - private readonly ICheckoutRepository _checkoutRepository; - private readonly IPersonalContractingPartyApp _personalContractingPartyApp; - - public IndexModel(IContractApplication contractApplication, IWorkshopApplication workshopApplication, - IEmployeeApplication employeeApplication, - IEmployerApplication employerApplication, - IYearlySalaryApplication yearlySalaryApplication, - IJobApplication jobApplication, IContractRepository contractRepository, - IWorkingHoursApplication workingHoursApplication, - IWorkingHoursItemsApplication workingHoursItemsApplication, - IAuthHelper authHelper, ILeftWorkApplication leftWorkApplication, ILeaveApplication leaveApplication, ICheckoutRepository checkoutRepository, IPersonalContractingPartyApp personalContractingPartyApp) - { - _contractApplication = contractApplication; - _workshopApplication = workshopApplication; - _employeeApplication = employeeApplication; - _employerApplication = employerApplication; - _yearlySalaryApplication = yearlySalaryApplication; - _jobApplication = jobApplication; - _contractRepository = contractRepository; - _workingHoursApplication = workingHoursApplication; - _workingHoursItemsApplication = workingHoursItemsApplication; - _authHelper = authHelper; - _leftWorkApplication = leftWorkApplication; - _leaveApplication = leaveApplication; - _checkoutRepository = checkoutRepository; - _personalContractingPartyApp = personalContractingPartyApp; - } - - - [SuppressMessage("ReSharper.DPA", "DPA0009: High execution time of DB command", MessageId = "time: 619ms")] - public void OnGet(ContractSearchModel searchModel) - { - - //EmployerList = _employerApplication.GetEmployers(); - //EmployeeList = _employeeApplication.GetEmployee(); - //WorkshopList = _workshopApplication.GetWorkshop(); - Jobs = - new SelectList(_jobApplication.GetJob(), "Id", "JobName"); - - Workshops = - new SelectList(_workshopApplication.GetWorkshopAccount(), "Id", "WorkshopFullName"); - - WorkshopsCode = - new SelectList(_workshopApplication.GetWorkshopAccount(), "Id", "ArchiveCode"); - - //Employees = - // new SelectList(_employeeApplication.GetEmployee(), "Id", "EmployeeFullName"); - - Employers = - new SelectList(_employerApplication.GetEmployers(), "Id", "FullName"); - YearlyList = - _yearlySalaryApplication.GetYears(); - - Contracts = _contractApplication.SearchForMainContract(searchModel); - if (Contracts != null) - { - if (searchModel.WorkshopIds != 0 || searchModel.EmployeeId != 0) - { - WorkshopSearch = "true"; - } - if (searchModel.WorkshopIds != 0 && !string.IsNullOrEmpty(searchModel.Year)) - { - DeleteCheck = "true"; - } - if (searchModel.WorkshopIds != 0 && !string.IsNullOrEmpty(searchModel.Year) && !string.IsNullOrEmpty(searchModel.Month)) - { - SignCheck = "true"; - } - - - } - if (searchModel.EmployeeId > 0) - { - employeeFullName = Contracts.Select(x => x.EmployeeName).FirstOrDefault(); - } - else - { - employeeFullName = searchModel.EmployeeName; - } - - } - - - - public async Task OnGetPersonelMainList(string searchEmployee) - { - - PersonnelList = await _employeeApplication.GetEmployeeToList(); - var person = PersonnelList.Where(x => x.EmployeeFullName.Contains(searchEmployee)).Take(200).ToList(); - person = person.OrderBy(x => x.EmployeeFullName.Length).ToList(); - - - - return new JsonResult(new - { - IsSuccedded = true, - mylist = person, - - - }); - } - - - - // مرخصی - #region PaidLeaveSickLeav - - #region SickLeave - - public IActionResult OnGetCreateSickLeave(long employeeId, long workshopId, long hd) - { - var workshopName = _workshopApplication.GetDetails(workshopId); - var employeeName = _employeeApplication.GetDetails(employeeId); - var search = new LeaveSearchModel() - { - EmployeeId = employeeId, - WorkshopId = workshopId, - LeaveType = "استعلاجی", - - }; - var serachResult = _leaveApplication.search(search); - - var command = new CreateLeave() - { - EmployeeId = employeeId, - WorkshopId = workshopId, - LeaveSearch = serachResult, - WorkshopName = workshopName.WorkshopFullName, - EmployeeFullName = employeeName.EmployeeFullName, - - }; - return Partial("./SickLeave", command); - } - public IActionResult OnPostCreateSickLeave(CreateLeave command) - { - - command.LeaveType = "استعلاجی"; - - var result = _leaveApplication.Create(command); - var res = result.IsSuccedded; - return new JsonResult(new - { - IsSuccedded = res, - message = result.Message, - EmployeeId = command.EmployeeId, - WorkshopId = command.WorkshopId - }); - } - - public IActionResult OnPostRemoveSickLeave(long id, long EmployeeId, long WorkshopId) - { - var result = _leaveApplication.RemoveLeave(id); - var res = result.IsSuccedded; - return new JsonResult(new - { - IsSuccedded = res, - message = result.Message, - employeeId = EmployeeId, - workshopId = WorkshopId, - hd = 1 - }); - - } - public IActionResult OnGetEditSickLeave(long id) - { - - var res = _leaveApplication.GetDetails(id); - - - return Partial("EditSick", res); - } - - public IActionResult OnPostEditSickLeave(EditLeave command) - { - if (ModelState.IsValid) - { - - } - - command.LeaveType = "استعلاجی"; - var result = _leaveApplication.Edit(command); - - var res = result.IsSuccedded; - return new JsonResult(new - { - IsSuccedded = res, - message = result.Message, - employeeId = command.EmployeeId, - workshopId = command.WorkshopId, - hd = 1 - }); - - - - } - - #endregion - - #region PaidLeave - - public IActionResult OnGetCreatePaidLeave(long employeeId, long workshopId, long hd) - { - var workshopName = _workshopApplication.GetDetails(workshopId); - var employeeName = _employeeApplication.GetDetails(employeeId); - var search = new LeaveSearchModel() - { - EmployeeId = employeeId, - WorkshopId = workshopId, - LeaveType = "استحقاقی", - }; - var serachResult = _leaveApplication.search(search); - - var command = new CreateLeave() - { - EmployeeId = employeeId, - WorkshopId = workshopId, - LeaveSearch = serachResult, - WorkshopName = workshopName.WorkshopFullName, - EmployeeFullName = employeeName.EmployeeFullName, - }; - return Partial("./PaidLeave", command); - } - public IActionResult OnPostCreatePaidLeave(CreateLeave command) - { - command.LeaveType = "استحقاقی"; - - var result = _leaveApplication.Create(command); - var res = result.IsSuccedded; - return new JsonResult(new - { - IsSuccedded = res, - message = result.Message, - EmployeeId = command.EmployeeId, - WorkshopId = command.WorkshopId - }); - } - - public IActionResult OnGetCheckIfValidToEdit(long id) - { - var check = _leaveApplication.CheckIfValidToEdit(id); - if (check) - { - return new JsonResult(new - { - validToEdit = true - }); - } - else - { - return new JsonResult(new - { - validToEdit = false - }); - } - - } - public IActionResult OnGetEditPaidLeave(long id) - { - var res = _leaveApplication.GetDetails(id); - return Partial("EditPaidLeave", res); - } - - public IActionResult OnPostEditPaidLeave(EditLeave command) - { - if (ModelState.IsValid) - { - - } - - command.LeaveType = "استحقاقی"; - var result = _leaveApplication.Edit(command); - - var res = result.IsSuccedded; - return new JsonResult(new - { - IsSuccedded = res, - message = result.Message, - employeeId = command.EmployeeId, - workshopId = command.WorkshopId, - hd = 1 - }); - } - - public IActionResult OnGetComputeLeavHourse(string startHours, string endHourse) - { - var start = Convert.ToDateTime(startHours); - var end = Convert.ToDateTime(endHourse); - if (start > end || start == end) - { - end = end.AddDays(1); - } - - var hoursesSpan = (end - start); - var hours = (int)hoursesSpan.TotalHours; - var minuts = hoursesSpan.TotalMinutes % 60; - - - if (hours > 0 && minuts > 0) - { - - return new JsonResult(new - { - - res = hours + " " + "ساعت و" + " " + minuts + " " + "دقیقه", - }); - } - else if (hours > 0 && minuts == 0) - { - return new JsonResult(new - { - - res = hours + " " + "ساعت ", - }); - } - else if (hours == 0 && minuts > 0) - { - return new JsonResult(new - { - res = minuts + " " + "دقیقه", - }); - } - - return new JsonResult(new - { - totalHours = $"{hours}", - - - - }); - } - public IActionResult OnGetComputeLeavdays(string startDay, string endDay) - { - if (!string.IsNullOrWhiteSpace(startDay) && !string.IsNullOrWhiteSpace(endDay)) - { - var start = startDay.ToGeorgianDateTime(); - var end = endDay.ToGeorgianDateTime(); - if (end >= start) - { - var daysSpan = (end - start).TotalDays + 1; - return new JsonResult(new - { - res = $"{(int)daysSpan} روز", - }); - } - else - { - return new JsonResult(new - { - res = "تاریخ پایان از تاریخ شروع کوچکتر است", - }); - } - - } - - return new JsonResult(new - { - res = "", - }); - } - public IActionResult OnPostRemovePaidLeave(long id, long EmployeeId, long WorkshopId) - { - var result = _leaveApplication.RemoveLeave(id); - var res = result.IsSuccedded; - return new JsonResult(new - { - IsSuccedded = res, - message = result.Message, - employeeId = EmployeeId, - workshopId = WorkshopId, - hd = 1 - }); - - } - - #endregion - - - #endregion - //ترک کار - #region LeftWorks - - public IActionResult OnPostRemoveLeftWork(long id, long EmployeeId, string employeeName) - { - var result = _leftWorkApplication.RemoveLeftWork(id); - var res = result.IsSuccedded; - return new JsonResult(new - { - IsSuccedded = res, - message = result.Message, - employeeId = EmployeeId, - employeeName = employeeName, - hd = 1 - }); - - } - public IActionResult OnGetCreateLeftWork(long employeeId, string employeeName) - { - var search = new LeftWorkSearchModel() - { - EmployeeId = employeeId, - - }; - var serachResult = _leftWorkApplication.search(search); - var workShops = _workshopApplication.GetWorkshop(); - var command = new CreateLeftWork() - { - EmployeeId = employeeId, - EmployeeFullName = employeeName, - LeftWorkSearch = serachResult, - Workshops = workShops - - }; - return Partial("./LeftWork", command); - } - - public IActionResult OnPostCreateLetWork(CreateLeftWork command) - { - - //var workshopName = _workshopApplication.GetDetails(command.WorkshopId); - //var start = _leftWorkApplication.StartWork(command.EmployeeId, command.WorkshopId, command.LeftWorkDate); - command.LeftWorkDate = "1500/01/01"; - //command.WorkshopName = workshopName.WorkshopFullName; - - var result = _leftWorkApplication.Create(command); - var res = result.IsSuccedded; - return new JsonResult(new - { - IsSuccedded = res, - message = result.Message, - EmployeeId = command.EmployeeId, - employeeName = command.EmployeeFullName - }); - } - public IActionResult OnGetEditLeftWork(long id) - { - - var res = _leftWorkApplication.GetDetails(id); - - - return Partial("EditLeftWork", res); - } - - public IActionResult OnPostEditLeftWork(EditLeftWork command) - { - if (ModelState.IsValid) - { - - } - - - var result = _leftWorkApplication.Edit(command); - - var res = result.IsSuccedded; - return new JsonResult(new - { - IsSuccedded = res, - message = result.Message, - employeeId = command.EmployeeId, - employeeName = command.EmployeeFullName, - hd = 1 - }); - - - - } - public IActionResult OnGetEnterLeftWork(long id, string employeeName) - { - - var res = _leftWorkApplication.GetDetails(id); - res.LeftWorkDate = ""; - res.EmployeeFullName = employeeName; - - return Partial("EnterLeftWorkDate", res); - } - public IActionResult OnPostEnterLeftWork(EditLeftWork command) - { - if (ModelState.IsValid) - { - - } - - - var result = _leftWorkApplication.Edit(command); - - var res = result.IsSuccedded; - return new JsonResult(new - { - IsSuccedded = res, - message = result.Message, - employeeId = command.EmployeeId, - workshopId = command.WorkshopId, - hd = 1 - }); - - - - } - - #endregion - - public IActionResult OnPostCheckPsCode(long id, long workshopId, string code) - { - var psCode = Convert.ToInt64(code); - var cheker = _contractRepository.Exists(x => x.PersonnelCode == psCode && x.WorkshopIds == workshopId && x.EmployeeId != id && x.IsActiveString == "true"); - if (cheker) - { - return new JsonResult(new - { - IsSuccedded = true, - psCodeExist = true, - - - }); - } - else - { - return new JsonResult(new - { - IsSuccedded = true, - psCodeExist = false, - - - }); - } - - } - public IActionResult OnPostLoadPersonel(long id, long workshopId) - { - string leftWorkStartdate = ""; - var result = _employeeApplication.GetDetails(id); - var serachModel = new LeftWorkSearchModel() - { - EmployeeId = id, - WorkshopId = workshopId, - - }; - var leftWoekSerchResult = _leftWorkApplication.search(serachModel); - if (leftWoekSerchResult.Count > 0) - { - //var leftWorkLast = leftWoekSerchResult.OrderByDescending(x => x.StartWorkDateGr).FirstOrDefault(); - //if (leftWorkLast.LeftWorkDate == "1500/01/01") - //{ - // leftWorkStartdate = leftWoekSerchResult.Select(x => x.StartWorkDate).FirstOrDefault(); - //} - - leftWorkStartdate = leftWoekSerchResult.OrderBy(x => x.StartWorkDateGr).FirstOrDefault()?.StartWorkDate; - - } - - //var psCode = _contractRepository.FindPersonnelCode(workshopId, id); - //var contractExistBythisPsCode = _contractRepository.Exists(x => x.PersonnelCode == psCode && x.WorkshopIds == workshopId && x.EmployeeId == id && x.IsActiveString =="true"); - //var chekoutExistByThisPerson = _checkoutRepository.Exists(x => x.EmployeeId == id && x.WorkshopId == workshopId); - //var exsitContractAndCheckout = false; - //if(contractExistBythisPsCode || chekoutExistByThisPerson) - //{ - // exsitContractAndCheckout = true; - //} - return new JsonResult(new - { - IsSuccedded = true, - FatherName = result.FatherName, - NationalCode = result.NationalCode, - IdNumber = result.IdNumber, - DateOfBirth = result.DateOfBirth, - State = result.State, - City = result.City, - Address = result.Address, - LeftWorkStartDate = leftWorkStartdate, - //personnelCode = psCode, - //contractExist = exsitContractAndCheckout - - - }); - } - - public IActionResult OnPostLoadWorkshops(long id) - { - var result = _workshopApplication.GetWorkshopInfo(id); - return new JsonResult(new - { - IsSuccedded = true, - InsurancCode = result.InsuranceCode, - archiveCode = result.ArchiveCode, - state = result.State, - city = result.City, - address = result.Address, - adres = result.State + "-" + result.City + "-" + result.Address, - empList = result.EmpList, - employeeList = result.EmployeeList, - - - }); - } - - // پرینت تکی - #region PrintOne - - public IActionResult OnGetDetails(long id) - { - - var res = _contractApplication.GetDetails(id); - var weeklyDouble = 0.0; - var weekly = res.WorkingHoursWeekly; - if (!string.IsNullOrWhiteSpace(weekly) && - weekly != "24 - 12" && weekly != "24 - 24" && weekly != "36 - 12" && weekly != "48 - 24") - { - if (weekly.Contains("/")) - { - weeklyDouble = double.Parse(weekly); - var minute = (int)((weeklyDouble % 1) * 60); - var hour = (int)(weeklyDouble); - res.WorkingHoursWeekly = hour + " " + "ساعت و" + " " + minute + " " + "دقیقه"; - } - else if (weekly.Contains(".")) - { - weeklyDouble = double.Parse(weekly, CultureInfo.InvariantCulture); - var minute = (int)((weeklyDouble % 1) * 60); - var hour = (int)(weeklyDouble); - res.WorkingHoursWeekly = hour + " " + "ساعت و" + " " + minute + " " + "دقیقه"; - } - else - { - res.WorkingHoursWeekly = res.WorkingHoursWeekly + " " + "ساعت"; - } - - - } - - - //res.WorkshopEmployerList = _contractRepository.GetWorkshopEmployer(); - //res.Employers = _employerApplication.GetEmployers(); - //res.Employees = _employeeApplication.GetEmployee(); - //res.Workshops = _workshopApplication.GetWorkshop(); - return Partial("Details", res); - } - - #endregion - // پرینت گروهی - #region PrintAll - - public IActionResult OnGetPrintAllB(List ids) - { - var result = _contractApplication.PrintAll(ids); - var finalresult = result.OrderByDescending(x => x.ContractEndGr).ToList(); - var res = new GroupPrintViewModel - { - ContractList = finalresult - - }; - //var res = _contractApplication.PrintAll(ids); - - return Partial("PrintAllTest", res); - } - #endregion - - public IActionResult OnGetDeActive(long id) - { - - - var result = _contractApplication.DeActive(id); - - if (result.IsSuccedded) - return RedirectToPage("./Index"); - Message = result.Message; - return RedirectToPage("./Index"); - } - - public IActionResult OnGetIsActive(long id) - { - - - var result = _contractApplication.Active(id); - if (result.IsSuccedded) - return RedirectToPage("./Index"); - Message = result.Message; - return RedirectToPage("./Index"); - } - - //public IActionResult OnGetSign(long id) - //{ - - - // var result = _contractApplication.Sign(id); - // return RedirectToPage("./Index"); - - - //} - //public IActionResult OnGetUnSign(long id) - //{ - - - // var result = _contractApplication.UnSign(id); - // return RedirectToPage("./Index"); - - //} - public IActionResult OnGetSign(string Id) - { - - var id = Convert.ToInt64(Id); - var result = _contractApplication.Sign(id); - if (result.IsSuccedded) - { - return new JsonResult(new - { - IsSuccedded = true, - - }); - } - else - { - return new JsonResult(new - { - IsSuccedded = false, - - }); - } - } - public IActionResult OnGetUnSign(string Id) - { - var permissions = _authHelper.GetPermissions(); - var checkHasPermission = permissions.Any(n => n.Equals(20122)); - if (checkHasPermission) - { - var id = Convert.ToInt64(Id); - var result = _contractApplication.UnSign(id); - if (result.IsSuccedded) - { - return new JsonResult(new - { - IsSuccedded = true, - - }); - } - else - { - return new JsonResult(new - { - IsSuccedded = false, - - }); - } - } - else - { - return new JsonResult(new - { - IsSuccedded = false, - - }); - } - - } - public IActionResult OnGetGroupDeActive(List ids) - { - - foreach (var item in ids) - { - var result = _contractApplication.DeActive(item); - } - return RedirectToPage("./Index"); - - } - - - public IActionResult OnGetGroupReActive(List ids) - { - - foreach (var item in ids) - { - var result = _contractApplication.Active(item); - } - - - //if (result.IsSuccedded) - // return RedirectToPage("./Index"); - - return RedirectToPage("./Index"); - } - - - public IActionResult OnGetGroupSign(List ids) - { - - foreach (var item in ids) - { - var result = _contractApplication.Sign(item); - } - return RedirectToPage("./Index"); - - } - public IActionResult OnGetGroupUnSign(List ids) - { - - foreach (var item in ids) - { - var result = _contractApplication.UnSign(item); - } - return RedirectToPage("./Index"); - - } - #region NewChangeByHeydari - - public IActionResult OnPostDeleteAllContarcts(List ids, long workshopId) - { - var op = new OperationResult(); - var workshop = _workshopApplication.GetDetails(workshopId); - var empId = workshop.EmployerIdList.FirstOrDefault(); - var isBlock = _personalContractingPartyApp.IsBlockByEmployerId(empId); - if (isBlock == "true") - { - return new JsonResult(new - { - successDelete = false, - }); - - } - else - { - var checkoutList = _contractApplication.CheckHasCheckout(ids); - List hasSignatureIds = new List(); - if (checkoutList == null || (checkoutList != null && checkoutList.Count == 0))//تصفیه حساب نداشته باشد - { - hasSignatureIds = _contractApplication.CheckHasSignature(ids); - if (hasSignatureIds == null || (hasSignatureIds != null && hasSignatureIds.Count == 0))//امضا نداشته باشد - { - op = _contractApplication.DeleteAllContarcts(ids); - } - } - - return new JsonResult(new - { - hasCheckout = (checkoutList != null && checkoutList.Count() > 0) ? true : false, - checkoutList = checkoutList, - hasSignature = (hasSignatureIds != null && hasSignatureIds.Count() > 0) ? true : false, - signatureList = hasSignatureIds, - successDelete = op.IsSuccedded, - - }); - } - - } - - public IActionResult OnPostDeleteContarcts(long id) - { - var ids = new List(); - ids.Add(id); - var op = new OperationResult(); - var checkoutList = _contractApplication.CheckHasCheckout(ids); - List hasSignatureIds = new List(); - if (checkoutList == null || (checkoutList != null && checkoutList.Count == 0)) //تصفیه حساب نداشته باشد - { - hasSignatureIds = _contractApplication.CheckHasSignature(ids); - if (hasSignatureIds == null || - (hasSignatureIds != null && hasSignatureIds.Count == 0)) //امضا نداشته باشد - { - op = _contractApplication.DeleteContarcts(id); - } - } - - return new JsonResult(new - { - hasCheckout = (checkoutList != null && checkoutList.Count() > 0) ? true : false, - checkoutList = checkoutList, - hasSignature = (hasSignatureIds != null && hasSignatureIds.Count() > 0) ? true : false, - signatureList = hasSignatureIds, - successDelete = op.IsSuccedded, - - }); - - - } - - public IActionResult OnPostSignatureAll(List ids, long workshopId) - { - - - var result = new OperationResult(); - var workshop = _workshopApplication.GetDetails(workshopId); - var empId = workshop.EmployerIdList.FirstOrDefault(); - var isBlock = _personalContractingPartyApp.IsBlockByEmployerId(empId); - if (isBlock == "true") - { - return new JsonResult(new - { - isSuccedded = false, - }); - } - else - { - foreach (var item in ids) - { - result = _contractApplication.Sign(item); - if (!result.IsSuccedded) - break; - } - return new JsonResult(result); - } - - - - } - public IActionResult OnPostDeleteAllSignature(List ids, long workshopId) - { - var permissions = _authHelper.GetPermissions(); - var checkHasPermission = permissions.Any(n => n.Equals(20122)); - - var result = new OperationResult(); - var workshop = _workshopApplication.GetDetails(workshopId); - var empId = workshop.EmployerIdList.FirstOrDefault(); - var isBlock = _personalContractingPartyApp.IsBlockByEmployerId(empId); - if (isBlock == "true" || !checkHasPermission) - { - return new JsonResult(new - { - isSuccedded = false, - }); - } - else - { - foreach (var item in ids) - { - result = _contractApplication.UnSign(item); - if (!result.IsSuccedded) - break; - } - return new JsonResult(result); - } - } - - - #endregion - } - - public class Person - { - public string FirstName { get; set; } - public string LastName { get; set; } - public int Age { get; set; } - } + private readonly IAuthHelper _authHelper; + private readonly ICheckoutRepository _checkoutRepository; + private readonly IContractApplication _contractApplication; + private readonly IContractRepository _contractRepository; + private readonly IEmployeeApplication _employeeApplication; + private readonly IEmployerApplication _employerApplication; + private readonly IJobApplication _jobApplication; + private readonly ILeaveApplication _leaveApplication; + private readonly ILeftWorkApplication _leftWorkApplication; + private readonly IPersonalContractingPartyApp _personalContractingPartyApp; + private readonly IWorkingHoursApplication _workingHoursApplication; + private readonly IWorkingHoursItemsApplication _workingHoursItemsApplication; + private readonly IWorkshopApplication _workshopApplication; + private readonly IYearlySalaryApplication _yearlySalaryApplication; + public List ComputingView; + + public List Contracts; + public List Contracts2; + public string DeleteCheck = "false"; + public string employeeFullName; + public List EmployeeList; + public SelectList Employees; + public List EmployerList; + public SelectList Employers; + + + public List JobList; + public SelectList Jobs; + public List PersonnelList; + + public ContractSearchModel SearchModel; + public string SignCheck = "false"; + public List WorkshopEmployer; + public List WorkshopList; + + public SelectList Workshops; + public SelectList WorkshopsCode; + public string WorkshopSearch = "false"; + public List YearlyList; + + public IndexModel(IContractApplication contractApplication, IWorkshopApplication workshopApplication, + IEmployeeApplication employeeApplication, + IEmployerApplication employerApplication, + IYearlySalaryApplication yearlySalaryApplication, + IJobApplication jobApplication, IContractRepository contractRepository, + IWorkingHoursApplication workingHoursApplication, + IWorkingHoursItemsApplication workingHoursItemsApplication, + IAuthHelper authHelper, ILeftWorkApplication leftWorkApplication, ILeaveApplication leaveApplication, + ICheckoutRepository checkoutRepository, IPersonalContractingPartyApp personalContractingPartyApp) + { + _contractApplication = contractApplication; + _workshopApplication = workshopApplication; + _employeeApplication = employeeApplication; + _employerApplication = employerApplication; + _yearlySalaryApplication = yearlySalaryApplication; + _jobApplication = jobApplication; + _contractRepository = contractRepository; + _workingHoursApplication = workingHoursApplication; + _workingHoursItemsApplication = workingHoursItemsApplication; + _authHelper = authHelper; + _leftWorkApplication = leftWorkApplication; + _leaveApplication = leaveApplication; + _checkoutRepository = checkoutRepository; + _personalContractingPartyApp = personalContractingPartyApp; + } + + public string Message { get; set; } + public bool falseCheck { get; set; } + + + [SuppressMessage("ReSharper.DPA", "DPA0009: High execution time of DB command", MessageId = "time: 619ms")] + public void OnGet(ContractSearchModel searchModel) + { + //EmployerList = _employerApplication.GetEmployers(); + //EmployeeList = _employeeApplication.GetEmployee(); + //WorkshopList = _workshopApplication.GetWorkshop(); + Jobs = + new SelectList(_jobApplication.GetJob(), "Id", "JobName"); + + Workshops = + new SelectList(_workshopApplication.GetWorkshopAccount(), "Id", "WorkshopFullName"); + + WorkshopsCode = + new SelectList(_workshopApplication.GetWorkshopAccount(), "Id", "ArchiveCode"); + + //Employees = + // new SelectList(_employeeApplication.GetEmployee(), "Id", "EmployeeFullName"); + + Employers = + new SelectList(_employerApplication.GetEmployers(), "Id", "FullName"); + YearlyList = + _yearlySalaryApplication.GetYears(); + + Contracts = _contractApplication.SearchForMainContract(searchModel); + if (Contracts != null) + { + if (searchModel.WorkshopIds != 0 || searchModel.EmployeeId != 0) WorkshopSearch = "true"; + if (searchModel.WorkshopIds != 0 && !string.IsNullOrEmpty(searchModel.Year)) DeleteCheck = "true"; + if (searchModel.WorkshopIds != 0 && !string.IsNullOrEmpty(searchModel.Year) && + !string.IsNullOrEmpty(searchModel.Month)) SignCheck = "true"; + } + + if (searchModel.EmployeeId > 0) + employeeFullName = Contracts.Select(x => x.EmployeeName).FirstOrDefault(); + else + employeeFullName = searchModel.EmployeeName; + } + + + public async Task OnGetPersonelMainList(string searchEmployee) + { + PersonnelList = await _employeeApplication.GetEmployeeToList(); + var person = PersonnelList.Where(x => x.EmployeeFullName.Contains(searchEmployee)).Take(200).ToList(); + person = person.OrderBy(x => x.EmployeeFullName.Length).ToList(); + + + return new JsonResult(new + { + IsSuccedded = true, + mylist = person + }); + } + + public IActionResult OnPostCheckPsCode(long id, long workshopId, string code) + { + var psCode = Convert.ToInt64(code); + var cheker = _contractRepository.Exists(x => + x.PersonnelCode == psCode && x.WorkshopIds == workshopId && x.EmployeeId != id && + x.IsActiveString == "true"); + if (cheker) + return new JsonResult(new + { + IsSuccedded = true, + psCodeExist = true + }); + return new JsonResult(new + { + IsSuccedded = true, + psCodeExist = false + }); + } + + public IActionResult OnPostLoadPersonel(long id, long workshopId) + { + var leftWorkStartdate = ""; + var result = _employeeApplication.GetDetails(id); + var serachModel = new LeftWorkSearchModel + { + EmployeeId = id, + WorkshopId = workshopId + }; + var leftWoekSerchResult = _leftWorkApplication.search(serachModel); + if (leftWoekSerchResult.Count > 0) + //var leftWorkLast = leftWoekSerchResult.OrderByDescending(x => x.StartWorkDateGr).FirstOrDefault(); + //if (leftWorkLast.LeftWorkDate == "1500/01/01") + //{ + // leftWorkStartdate = leftWoekSerchResult.Select(x => x.StartWorkDate).FirstOrDefault(); + //} + leftWorkStartdate = leftWoekSerchResult.OrderBy(x => x.StartWorkDateGr).FirstOrDefault()?.StartWorkDate; + + //var psCode = _contractRepository.FindPersonnelCode(workshopId, id); + //var contractExistBythisPsCode = _contractRepository.Exists(x => x.PersonnelCode == psCode && x.WorkshopIds == workshopId && x.EmployeeId == id && x.IsActiveString =="true"); + //var chekoutExistByThisPerson = _checkoutRepository.Exists(x => x.EmployeeId == id && x.WorkshopId == workshopId); + //var exsitContractAndCheckout = false; + //if(contractExistBythisPsCode || chekoutExistByThisPerson) + //{ + // exsitContractAndCheckout = true; + //} + return new JsonResult(new + { + IsSuccedded = true, + result.FatherName, + result.NationalCode, + result.IdNumber, + result.DateOfBirth, + result.State, + result.City, + result.Address, + LeftWorkStartDate = leftWorkStartdate + //personnelCode = psCode, + //contractExist = exsitContractAndCheckout + }); + } + + public IActionResult OnPostLoadWorkshops(long id) + { + var result = _workshopApplication.GetWorkshopInfo(id); + return new JsonResult(new + { + IsSuccedded = true, + InsurancCode = result.InsuranceCode, + archiveCode = result.ArchiveCode, + state = result.State, + city = result.City, + address = result.Address, + adres = result.State + "-" + result.City + "-" + result.Address, + empList = result.EmpList, + employeeList = result.EmployeeList + }); + } + + // پرینت تکی + + #region PrintOne + + public IActionResult OnGetDetails(long id) + { + var res = _contractApplication.GetDetails(id); + var weeklyDouble = 0.0; + var weekly = res.WorkingHoursWeekly; + if (!string.IsNullOrWhiteSpace(weekly) && + weekly != "24 - 12" && weekly != "24 - 24" && weekly != "36 - 12" && weekly != "48 - 24") + { + if (weekly.Contains("/")) + { + weeklyDouble = double.Parse(weekly); + var minute = (int)(weeklyDouble % 1 * 60); + var hour = (int)weeklyDouble; + res.WorkingHoursWeekly = hour + " " + "ساعت و" + " " + minute + " " + "دقیقه"; + } + else if (weekly.Contains(".")) + { + weeklyDouble = double.Parse(weekly, CultureInfo.InvariantCulture); + var minute = (int)(weeklyDouble % 1 * 60); + var hour = (int)weeklyDouble; + res.WorkingHoursWeekly = hour + " " + "ساعت و" + " " + minute + " " + "دقیقه"; + } + else + { + res.WorkingHoursWeekly = res.WorkingHoursWeekly + " " + "ساعت"; + } + } + + + //res.WorkshopEmployerList = _contractRepository.GetWorkshopEmployer(); + //res.Employers = _employerApplication.GetEmployers(); + //res.Employees = _employeeApplication.GetEmployee(); + //res.Workshops = _workshopApplication.GetWorkshop(); + return Partial("Details", res); + } + + #endregion + + // پرینت گروهی + + #region PrintAll + + public IActionResult OnGetPrintAllB(List ids) + { + var result = _contractApplication.PrintAll(ids); + var finalresult = result.OrderByDescending(x => x.ContractEndGr).ToList(); + var res = new GroupPrintViewModel + { + ContractList = finalresult + }; + //var res = _contractApplication.PrintAll(ids); + + return Partial("PrintAllTest", res); + } + + #endregion + + public IActionResult OnGetDeActive(long id) + { + var result = _contractApplication.DeActive(id); + + if (result.IsSuccedded) + return RedirectToPage("./Index"); + Message = result.Message; + return RedirectToPage("./Index"); + } + + public IActionResult OnGetIsActive(long id) + { + var result = _contractApplication.Active(id); + if (result.IsSuccedded) + return RedirectToPage("./Index"); + Message = result.Message; + return RedirectToPage("./Index"); + } + + //public IActionResult OnGetSign(long id) + //{ + + + // var result = _contractApplication.Sign(id); + // return RedirectToPage("./Index"); + + + //} + //public IActionResult OnGetUnSign(long id) + //{ + + + // var result = _contractApplication.UnSign(id); + // return RedirectToPage("./Index"); + + //} + public IActionResult OnGetSign(string Id) + { + var id = Convert.ToInt64(Id); + var result = _contractApplication.Sign(id); + if (result.IsSuccedded) + return new JsonResult(new + { + IsSuccedded = true + }); + return new JsonResult(new + { + IsSuccedded = false + }); + } + + public IActionResult OnGetUnSign(string Id) + { + var permissions = _authHelper.GetPermissions(); + var checkHasPermission = permissions.Any(n => n.Equals(20122)); + if (checkHasPermission) + { + var id = Convert.ToInt64(Id); + var result = _contractApplication.UnSign(id); + if (result.IsSuccedded) + return new JsonResult(new + { + IsSuccedded = true + }); + return new JsonResult(new + { + IsSuccedded = false + }); + } + + return new JsonResult(new + { + IsSuccedded = false + }); + } + + public IActionResult OnGetGroupDeActive(List ids) + { + foreach (var item in ids) + { + var result = _contractApplication.DeActive(item); + } + + return RedirectToPage("./Index"); + } + + + public IActionResult OnGetGroupReActive(List ids) + { + foreach (var item in ids) + { + var result = _contractApplication.Active(item); + } + + + //if (result.IsSuccedded) + // return RedirectToPage("./Index"); + + return RedirectToPage("./Index"); + } + + + public IActionResult OnGetGroupSign(List ids) + { + foreach (var item in ids) + { + var result = _contractApplication.Sign(item); + } + + return RedirectToPage("./Index"); + } + + public IActionResult OnGetGroupUnSign(List ids) + { + foreach (var item in ids) + { + var result = _contractApplication.UnSign(item); + } + + return RedirectToPage("./Index"); + } + + + // مرخصی + + #region PaidLeaveSickLeav + + #region SickLeave + + public IActionResult OnGetCreateSickLeave(long employeeId, long workshopId, long hd) + { + var workshopName = _workshopApplication.GetDetails(workshopId); + var employeeName = _employeeApplication.GetDetails(employeeId); + var search = new LeaveSearchModel + { + EmployeeId = employeeId, + WorkshopId = workshopId, + LeaveType = "استعلاجی" + }; + var serachResult = _leaveApplication.search(search); + + var command = new CreateLeave + { + EmployeeId = employeeId, + WorkshopId = workshopId, + LeaveSearch = serachResult, + WorkshopName = workshopName.WorkshopFullName, + EmployeeFullName = employeeName.EmployeeFullName + }; + return Partial("./SickLeave", command); + } + + public IActionResult OnPostCreateSickLeave(CreateLeave command) + { + command.LeaveType = "استعلاجی"; + + var result = _leaveApplication.Create(command); + var res = result.IsSuccedded; + return new JsonResult(new + { + IsSuccedded = res, + message = result.Message, + command.EmployeeId, + command.WorkshopId + }); + } + + public IActionResult OnPostRemoveSickLeave(long id, long EmployeeId, long WorkshopId) + { + var result = _leaveApplication.RemoveLeave(id); + var res = result.IsSuccedded; + return new JsonResult(new + { + IsSuccedded = res, + message = result.Message, + employeeId = EmployeeId, + workshopId = WorkshopId, + hd = 1 + }); + } + + public IActionResult OnGetEditSickLeave(long id) + { + var res = _leaveApplication.GetDetails(id); + + + return Partial("EditSick", res); + } + + public IActionResult OnPostEditSickLeave(EditLeave command) + { + if (ModelState.IsValid) + { + } + + command.LeaveType = "استعلاجی"; + var result = _leaveApplication.Edit(command); + + var res = result.IsSuccedded; + return new JsonResult(new + { + IsSuccedded = res, + message = result.Message, + employeeId = command.EmployeeId, + workshopId = command.WorkshopId, + hd = 1 + }); + } + + #endregion + + #region PaidLeave + + public IActionResult OnGetCreatePaidLeave(long employeeId, long workshopId, long hd) + { + var workshopName = _workshopApplication.GetDetails(workshopId); + var employeeName = _employeeApplication.GetDetails(employeeId); + var search = new LeaveSearchModel + { + EmployeeId = employeeId, + WorkshopId = workshopId, + LeaveType = "استحقاقی" + }; + var serachResult = _leaveApplication.search(search); + + var command = new CreateLeave + { + EmployeeId = employeeId, + WorkshopId = workshopId, + LeaveSearch = serachResult, + WorkshopName = workshopName.WorkshopFullName, + EmployeeFullName = employeeName.EmployeeFullName + }; + return Partial("./PaidLeave", command); + } + + public IActionResult OnPostCreatePaidLeave(CreateLeave command) + { + command.LeaveType = "استحقاقی"; + + var result = _leaveApplication.Create(command); + var res = result.IsSuccedded; + return new JsonResult(new + { + IsSuccedded = res, + message = result.Message, + command.EmployeeId, + command.WorkshopId + }); + } + + public IActionResult OnGetCheckIfValidToEdit(long id) + { + var check = _leaveApplication.CheckIfValidToEdit(id); + if (check) + return new JsonResult(new + { + validToEdit = true + }); + return new JsonResult(new + { + validToEdit = false + }); + } + + public IActionResult OnGetEditPaidLeave(long id) + { + var res = _leaveApplication.GetDetails(id); + return Partial("EditPaidLeave", res); + } + + public IActionResult OnPostEditPaidLeave(EditLeave command) + { + if (ModelState.IsValid) + { + } + + command.LeaveType = "استحقاقی"; + var result = _leaveApplication.Edit(command); + + var res = result.IsSuccedded; + return new JsonResult(new + { + IsSuccedded = res, + message = result.Message, + employeeId = command.EmployeeId, + workshopId = command.WorkshopId, + hd = 1 + }); + } + + public IActionResult OnGetComputeLeavHourse(string startHours, string endHourse) + { + var start = Convert.ToDateTime(startHours); + var end = Convert.ToDateTime(endHourse); + if (start > end || start == end) end = end.AddDays(1); + + var hoursesSpan = end - start; + var hours = (int)hoursesSpan.TotalHours; + var minuts = hoursesSpan.TotalMinutes % 60; + + + if (hours > 0 && minuts > 0) + return new JsonResult(new + { + res = hours + " " + "ساعت و" + " " + minuts + " " + "دقیقه" + }); + if (hours > 0 && minuts == 0) + return new JsonResult(new + { + res = hours + " " + "ساعت " + }); + if (hours == 0 && minuts > 0) + return new JsonResult(new + { + res = minuts + " " + "دقیقه" + }); + + return new JsonResult(new + { + totalHours = $"{hours}" + }); + } + + public IActionResult OnGetComputeLeavdays(string startDay, string endDay) + { + if (!string.IsNullOrWhiteSpace(startDay) && !string.IsNullOrWhiteSpace(endDay)) + { + var start = startDay.ToGeorgianDateTime(); + var end = endDay.ToGeorgianDateTime(); + if (end >= start) + { + var daysSpan = (end - start).TotalDays + 1; + return new JsonResult(new + { + res = $"{(int)daysSpan} روز" + }); + } + + return new JsonResult(new + { + res = "تاریخ پایان از تاریخ شروع کوچکتر است" + }); + } + + return new JsonResult(new + { + res = "" + }); + } + + public IActionResult OnPostRemovePaidLeave(long id, long EmployeeId, long WorkshopId) + { + var result = _leaveApplication.RemoveLeave(id); + var res = result.IsSuccedded; + return new JsonResult(new + { + IsSuccedded = res, + message = result.Message, + employeeId = EmployeeId, + workshopId = WorkshopId, + hd = 1 + }); + } + + #endregion + + #endregion + + //ترک کار + + #region LeftWorks + + public IActionResult OnPostRemoveLeftWork(long id, long EmployeeId, string employeeName) + { + var result = _leftWorkApplication.RemoveLeftWork(id); + var res = result.IsSuccedded; + return new JsonResult(new + { + IsSuccedded = res, + message = result.Message, + employeeId = EmployeeId, + employeeName, + hd = 1 + }); + } + + public IActionResult OnGetCreateLeftWork(long employeeId, string employeeName) + { + var search = new LeftWorkSearchModel + { + EmployeeId = employeeId + }; + var serachResult = _leftWorkApplication.search(search); + var workShops = _workshopApplication.GetWorkshop(); + var command = new CreateLeftWork + { + EmployeeId = employeeId, + EmployeeFullName = employeeName, + LeftWorkSearch = serachResult, + Workshops = workShops + }; + return Partial("./LeftWork", command); + } + + public IActionResult OnPostCreateLetWork(CreateLeftWork command) + { + //var workshopName = _workshopApplication.GetDetails(command.WorkshopId); + //var start = _leftWorkApplication.StartWork(command.EmployeeId, command.WorkshopId, command.LeftWorkDate); + command.LeftWorkDate = "1500/01/01"; + //command.WorkshopName = workshopName.WorkshopFullName; + + var result = _leftWorkApplication.Create(command); + var res = result.IsSuccedded; + return new JsonResult(new + { + IsSuccedded = res, + message = result.Message, + command.EmployeeId, + employeeName = command.EmployeeFullName + }); + } + + public IActionResult OnGetEditLeftWork(long id) + { + var res = _leftWorkApplication.GetDetails(id); + + + return Partial("EditLeftWork", res); + } + + public IActionResult OnPostEditLeftWork(EditLeftWork command) + { + if (ModelState.IsValid) + { + } + + + var result = _leftWorkApplication.Edit(command); + + var res = result.IsSuccedded; + return new JsonResult(new + { + IsSuccedded = res, + message = result.Message, + employeeId = command.EmployeeId, + employeeName = command.EmployeeFullName, + hd = 1 + }); + } + + public IActionResult OnGetEnterLeftWork(long id, string employeeName) + { + var res = _leftWorkApplication.GetDetails(id); + res.LeftWorkDate = ""; + res.EmployeeFullName = employeeName; + + return Partial("EnterLeftWorkDate", res); + } + + public IActionResult OnPostEnterLeftWork(EditLeftWork command) + { + if (ModelState.IsValid) + { + } + + + var result = _leftWorkApplication.Edit(command); + + var res = result.IsSuccedded; + return new JsonResult(new + { + IsSuccedded = res, + message = result.Message, + employeeId = command.EmployeeId, + workshopId = command.WorkshopId, + hd = 1 + }); + } + + #endregion + + #region NewChangeByHeydari + + public IActionResult OnPostDeleteAllContarcts(List ids, long workshopId) + { + var op = new OperationResult(); + var workshop = _workshopApplication.GetDetails(workshopId); + var empId = workshop.EmployerIdList.FirstOrDefault(); + var isBlock = _personalContractingPartyApp.IsBlockByEmployerId(empId); + if (isBlock == "true") + return new JsonResult(new + { + successDelete = false + }); + + var checkoutList = _contractApplication.CheckHasCheckout(ids); + var hasSignatureIds = new List(); + if (checkoutList == null || (checkoutList != null && checkoutList.Count == 0)) //تصفیه حساب نداشته باشد + { + hasSignatureIds = _contractApplication.CheckHasSignature(ids); + if (hasSignatureIds == null || (hasSignatureIds != null && hasSignatureIds.Count == 0)) //امضا نداشته باشد + op = _contractApplication.DeleteAllContarcts(ids); + } + + return new JsonResult(new + { + hasCheckout = checkoutList != null && checkoutList.Count() > 0 ? true : false, + checkoutList, + hasSignature = hasSignatureIds != null && hasSignatureIds.Count() > 0 ? true : false, + signatureList = hasSignatureIds, + successDelete = op.IsSuccedded + }); + } + + public IActionResult OnPostDeleteContarcts(long id) + { + var ids = new List(); + ids.Add(id); + var op = new OperationResult(); + var checkoutList = _contractApplication.CheckHasCheckout(ids); + var hasSignatureIds = new List(); + if (checkoutList == null || (checkoutList != null && checkoutList.Count == 0)) //تصفیه حساب نداشته باشد + { + hasSignatureIds = _contractApplication.CheckHasSignature(ids); + if (hasSignatureIds == null || + (hasSignatureIds != null && hasSignatureIds.Count == 0)) //امضا نداشته باشد + op = _contractApplication.DeleteContarcts(id); + } + + return new JsonResult(new + { + hasCheckout = checkoutList != null && checkoutList.Count() > 0 ? true : false, + checkoutList, + hasSignature = hasSignatureIds != null && hasSignatureIds.Count() > 0 ? true : false, + signatureList = hasSignatureIds, + successDelete = op.IsSuccedded + }); + } + + public IActionResult OnPostSignatureAll(List ids, long workshopId) + { + var result = new OperationResult(); + var workshop = _workshopApplication.GetDetails(workshopId); + var empId = workshop.EmployerIdList.FirstOrDefault(); + var isBlock = _personalContractingPartyApp.IsBlockByEmployerId(empId); + if (isBlock == "true") + return new JsonResult(new + { + isSuccedded = false + }); + + foreach (var item in ids) + { + result = _contractApplication.Sign(item); + if (!result.IsSuccedded) + break; + } + + return new JsonResult(result); + } + + public IActionResult OnPostDeleteAllSignature(List ids, long workshopId) + { + var permissions = _authHelper.GetPermissions(); + var checkHasPermission = permissions.Any(n => n.Equals(20122)); + + var result = new OperationResult(); + var workshop = _workshopApplication.GetDetails(workshopId); + var empId = workshop.EmployerIdList.FirstOrDefault(); + var isBlock = _personalContractingPartyApp.IsBlockByEmployerId(empId); + if (isBlock == "true" || !checkHasPermission) + return new JsonResult(new + { + isSuccedded = false + }); + + foreach (var item in ids) + { + result = _contractApplication.UnSign(item); + if (!result.IsSuccedded) + break; + } + + return new JsonResult(result); + } + + #endregion } + +public class Person +{ + public string FirstName { get; set; } + public string LastName { get; set; } + public int Age { get; set; } +} \ No newline at end of file diff --git a/ServiceHost/Areas/Admin/Pages/Company/Contracts/LeftWork.cshtml b/ServiceHost/Areas/Admin/Pages/Company/Contracts/LeftWork.cshtml index d9a39453..fe5e0ebf 100644 --- a/ServiceHost/Areas/Admin/Pages/Company/Contracts/LeftWork.cshtml +++ b/ServiceHost/Areas/Admin/Pages/Company/Contracts/LeftWork.cshtml @@ -1,12 +1,11 @@ @model CompanyManagment.App.Contracts.LeftWork.CreateLeftWork @{ - - int i = 1; + var i = 1; } @{ - - + } + +
- +
+
+
+
+

سوابق مرخصی استحقاقی

+
+
+
+
+ + + + + + + + + + + + + @foreach (var item in Model.LeaveSearch) + { + + + + + + + @{ + i++; + } + + + } + +
# تاریخ شروع تاریخ پایان نوع مدت مرخصی مدت زمان (روز/ساعت) عملیات
@i @item.StartLeave + @item.EndLeave + + @item.PaidLeaveType + + @item.LeaveHourses + + + + + + + +
+ +
+
+
+
+
+
+
+
+ +
+ + + + + + -
+ +
+ + + + -
- + @**@ + +
- @**@ - -
- - - - -
+
@@ -359,498 +354,502 @@ \ No newline at end of file diff --git a/ServiceHost/Areas/Admin/Pages/Company/Contracts/PrintAll.cshtml b/ServiceHost/Areas/Admin/Pages/Company/Contracts/PrintAll.cshtml index a5f2f1a4..cbd7c8fa 100644 --- a/ServiceHost/Areas/Admin/Pages/Company/Contracts/PrintAll.cshtml +++ b/ServiceHost/Areas/Admin/Pages/Company/Contracts/PrintAll.cshtml @@ -1,6 +1,6 @@ @model CompanyManagment.App.Contracts.Contract.GroupPrintViewModel @{ - } - - - \ No newline at end of file diff --git a/ServiceHost/Areas/Admin/Pages/Company/Contracts/PrintAllTest.cshtml b/ServiceHost/Areas/Admin/Pages/Company/Contracts/PrintAllTest.cshtml index 4e6202b9..315b1cb3 100644 --- a/ServiceHost/Areas/Admin/Pages/Company/Contracts/PrintAllTest.cshtml +++ b/ServiceHost/Areas/Admin/Pages/Company/Contracts/PrintAllTest.cshtml @@ -1,6 +1,6 @@ @model CompanyManagment.App.Contracts.Contract.GroupPrintViewModel @{ - } - +} + + \ No newline at end of file + $printSection.innerHTML = ""; + $printSection.appendChild(domClone); + window.print(); + } + \ No newline at end of file diff --git a/ServiceHost/Areas/Admin/Pages/Company/Contracts/SickLeave.cshtml b/ServiceHost/Areas/Admin/Pages/Company/Contracts/SickLeave.cshtml index 2faa5a65..93e9f3b5 100644 --- a/ServiceHost/Areas/Admin/Pages/Company/Contracts/SickLeave.cshtml +++ b/ServiceHost/Areas/Admin/Pages/Company/Contracts/SickLeave.cshtml @@ -1,12 +1,11 @@ @model CompanyManagment.App.Contracts.Leave.CreateLeave @{ - - int i = 1; + var i = 1; } @{ - - + } +
+
+
+
+ + مدت مرخصی + + + + + +
+
+
+
+
+
+
+

موافقت یا عدم موافقت

+
+ + +
+
+
+ +
+
+ + +
+
+
+ + - +
+
+
+
+

سوابق مرخصی استحقاقی

+
+
+
+
+ + + + + + + + + + + + @foreach (var item in Model.LeaveSearch) + { + + + + + + @{ + i++; + } + + + } + +
# تاریخ شروع تاریخ پایان مدت زمان عملیات
@i @item.StartLeave + @item.EndLeave + + @item.LeaveHourses + روز + + + + + + + +
+ +
+
+
+
+
+
+
+
+ -
-
-
-
-

سوابق مرخصی استحقاقی

-
-
-
-
- - - - - - - - - - - - @foreach (var item in Model.LeaveSearch) - { - - - - - - @{ - i++; - } - - - } - -
# تاریخ شروع تاریخ پایان مدت زمان عملیات
@i @item.StartLeave - @item.EndLeave - - @item.LeaveHourses - روز - - - - - -
- -
-
-
-
-
-
-
-
- - - - - - + + + + -
+ -
- - - +
+ + + - @**@ - -
+ @**@ + +
-
+ \ No newline at end of file diff --git a/ServiceHost/Areas/Admin/Pages/Company/Contracts/alert.cshtml b/ServiceHost/Areas/Admin/Pages/Company/Contracts/alert.cshtml index 3e1fb001..483f37fd 100644 --- a/ServiceHost/Areas/Admin/Pages/Company/Contracts/alert.cshtml +++ b/ServiceHost/Areas/Admin/Pages/Company/Contracts/alert.cshtml @@ -1,8 +1,7 @@ @model CompanyManagment.App.Contracts.Contract.ExtensionViewModel @{ - - int i = 1; - int b = 0; + var i = 1; + var b = 0; @@ -15,72 +14,66 @@ - @if (Model.Contracts != null) - { - @foreach (var item in Model.Contracts) - { +@if (Model.Contracts != null) +{ + @foreach (var item in Model.Contracts) + { + + @if (item.RedColor) + { + + } + @if (item.MoreThanOneMonth && item.Waiting == false) + { + + } + else if (item.Waiting && item.MoreThanOneMonth == false) + { + + } + else if (item.Waiting && item.MoreThanOneMonth) + { + + } + + + @i + + + + @if (Model.FormStep == "convert") + { + @if (item.Extension) + { + - - @if (item.RedColor) - { - - } - @if (item.MoreThanOneMonth && item.Waiting == false) - { - - } - else if (item.Waiting && item.MoreThanOneMonth == false) - { - - } - else if (item.Waiting && item.MoreThanOneMonth) - { - - } - - - @i - - - - @if (@Model.FormStep == "convert") - { - @if (item.Extension) - { + b++; + } + else + { + @if (item.RedColor) + { + + } + else + { + + } + } + } + - + - - b++; - } - else - { - @if (item.RedColor) - { - - } - else - { - - } - - } - - - } - - - - - @item.ContractNo + @item.ContractNo - + - - @*@foreach (var emp in Model.Employers) + + @*@foreach (var emp in Model.Employers) { if (item.EmployerId == emp.Id) { @@ -88,178 +81,155 @@ } }*@ - @item.EmployerName - + @item.EmployerName + - + - @item.WorkshopName - + @item.WorkshopName + - - - @item.EmployeeName + - + @item.EmployeeName + + + + + + + @item.ContarctStart + + + + + + + @if (item.LaterThanEnd) + { + ####/##/## + } + else + { + @item.ContractEnd + } + + + + + + + + @if (item.RedColor == false) + { + + + @item.NextMonthStart + + + + } + + @if (item.NextMonthStart == null) + { + ####/##/## + } + + + + + + @if (item.RedColor == false) + { + + + + + @item.NextMonthEnd + + + } + @if (item.NextMonthEnd == null) + { + ####/##/## + } + + - - - @item.ContarctStart + @if (item.LaterThanEnd) + { + @item.ContractEnd + } + else + { + ####/##/## + } + - - - - @if (item.LaterThanEnd) - { - ####/##/## - } - else - { - @item.ContractEnd - } - - - - - - - - @if (item.RedColor == false) - { - - - @item.NextMonthStart - - - - - } - - @if (@item.NextMonthStart == null) - { - ####/##/## - } - - - - - - @if (item.RedColor == false) - { - - - - - @item.NextMonthEnd - - - - } - @if (@item.NextMonthEnd == null) - { - - ####/##/## - - - } - - - - - - - - - @if (item.LaterThanEnd) - { - @item.ContractEnd - } - else - { - ####/##/## - } - - - - - @{ - i++; - - } - - - - - - - - - - } - } + @{ + i++; + + } + + } +} - + //var redCheck = $('.redColor').val(); + //if (redCheck == true) { + // console.log("ok"); + // $('.redColor').closest('tr').css("background", "red"); + //} + var checkboxes = document.getElementsByName('redColor'); + for (var i = 0, n = checkboxes.length; i < n; i++) { + checkboxes[i].parentNode.style.background = "#ff8f8d"; + } + var checkboxes = document.getElementsByName('Waiting'); + for (var i = 0, n = checkboxes.length; i < n; i++) { + checkboxes[i].parentNode.style.background = "#ffcd40"; + } + var checkboxes = document.getElementsByName('MoreThanOneMonth'); + for (var i = 0, n = checkboxes.length; i < n; i++) { + checkboxes[i].parentNode.style.background = "#cbff7c"; + } + var checkboxes = document.getElementsByName('MixWatingAndMore'); + for (var i = 0, n = checkboxes.length; i < n; i++) { + checkboxes[i].parentNode.style.background = "#ffcd40"; + } + var checkboxes2 = document.getElementsByName('MixWatingAndMore'); + for (var s = 0, m = checkboxes2.length; s < m; s++) { + $('#alarm').append( + `
مدت قرارد  ${checkboxes2[s].value + }   بیش از یک ماه است
از آخرین قرارداد  ${ + checkboxes2[s].value}   تا تاریخ تبدیل انتخاب شده هیچ قراردادی وجود ندارد
` + ); + } + var checkboxes2 = document.getElementsByName('MoreThanOneMonth'); + for (var b = 0, m = checkboxes2.length; b < m; b++) { + $('#alarm').append( + `
مدت قرارد  ${checkboxes2[b].value + }   بیش از یک ماه است
` + ); + } + var checkboxes3 = document.getElementsByName('Waiting'); + for (var a = 0, f = checkboxes3.length; a < f; a++) { + $('#alarm').append( + `
از آخرین قرارداد  ${ + checkboxes3[a].value}   تا تاریخ تبدیل انتخاب شده هیچ قراردادی وجود ندارد
` + ); + } + /*ff8f8d*/ + \ No newline at end of file diff --git a/ServiceHost/Areas/Admin/Pages/Company/CrossJobGuild/Create.cshtml b/ServiceHost/Areas/Admin/Pages/Company/CrossJobGuild/Create.cshtml index a3ed32b2..b1d3d494 100644 --- a/ServiceHost/Areas/Admin/Pages/Company/CrossJobGuild/Create.cshtml +++ b/ServiceHost/Areas/Admin/Pages/Company/CrossJobGuild/Create.cshtml @@ -1,7 +1,6 @@ -@using _0_Framework.Application -@model CompanyManagment.App.Contracts.CrossJobGuild.CreateCrossJobGuild +@model CompanyManagment.App.Contracts.CrossJobGuild.CreateCrossJobGuild @{ - }
- - - - -
+ \ No newline at end of file diff --git a/ServiceHost/Areas/Admin/Pages/Company/Employees/Edit.cshtml b/ServiceHost/Areas/Admin/Pages/Company/Employees/Edit.cshtml index 21212522..a5fe04a0 100644 --- a/ServiceHost/Areas/Admin/Pages/Company/Employees/Edit.cshtml +++ b/ServiceHost/Areas/Admin/Pages/Company/Employees/Edit.cshtml @@ -16,413 +16,413 @@ } - +
- - ویرایش پرسنل -
-
-
-
مشخصات سامانه ای
-
مشخصات تکمیلی
-
مشخصات اجباری
-
-
- -
-
-
-
-
-
- -
-
+
+
+
+
+
+ +
+ + +
+
+
+
+
+
+
+ +
+ + +
+
+
+
+
+ + +
+
+
+
+ + + +

فقط حروف فارسی وارد شود.

+
+
+ + + +

فقط حروف فارسی وارد شود.

+
+
+ + + +

فقط حروف فارسی وارد شود.

+
+
+ + + +

فقط عدد وارد شود.

+
+
+
+
+ + + +

فقط عدد وارد شود.

+
+
+ + + +

فقط عدد وارد شود.

+
+
+ + +
+
+ + + + + +
+
+
+
+ +
+
+
+ + + + + + + + + + + @{ + var index = 0; + } + @if (Model.EditEmployeChildrenList.Count > 0) + { + @for (var h = 0; h <= Model.EditEmployeChildrenList.Count - 1; h++) + { + //int a = h; + + + + + + index = index + 1; + } + } + else + { + + + + + + } + + +
تاریخ تولدنام فرزند #
+
+ +
+
+ @if (index == 0) + { + + + @* *@ + + } + else + { + + + @* *@ + + } +
+ + +
+
+ +
` +
@(index + 1)
+
+ +
+ +
+
+ +
+
1
+
+ افزودن فرزند +
+ +
+
+
+
+
+
+
شما دسترسی به این بخش ندارید!
+
+
+
+
+
+ + +
+
+ + +
+
+ + +
+
+
+
+ + + +

فقط عدد وارد شود.

+
+
+ + + +

فقط حروف فارسی وارد شود.

+
+
+
+
+ + +
+
+ + +
+
+
+
+ + +
+
+ + +
+
+
+
+ + +
+
+ + +
+
+
+
شما دسترسی به این بخش ندارید!
+
+
+
+
+ اداره کار +
+
+ + +
+
+
+
+ + +
+
+
+
+ تامین اجتماعی +
+
+ + +
+
+
+
+ + +
+
+
+
+ قوه قضائیه +
+
+ + +
+
+
+
+ + +
+
+
+
+ امور مالیاتی +
+
+ + +
+
+
+
+ + +
+
+
+
+
شما دسترسی به این بخش ندارید!
+
+ + +
@@ -430,532 +430,532 @@ + }); + return result; + } + \ No newline at end of file diff --git a/ServiceHost/Areas/Admin/Pages/Company/Employees/Index.cshtml b/ServiceHost/Areas/Admin/Pages/Company/Employees/Index.cshtml index a23e4dd4..3d1f7d2e 100644 --- a/ServiceHost/Areas/Admin/Pages/Company/Employees/Index.cshtml +++ b/ServiceHost/Areas/Admin/Pages/Company/Employees/Index.cshtml @@ -1,17 +1,16 @@ @page -@using CompanyManagment.App.Contracts.PersonalContractingParty @model ServiceHost.Areas.Admin.Pages.Company.Employees.IndexModel @{ - //string colaps = "in"; - //string act = "active"; - int i = 1; + //string colaps = "in"; + //string act = "active"; + var i = 1; } @{ - Layout = "Shared/_AdminLayout"; - ViewData["title"] = "پرسنل"; - - var selctedOption = "selectedOption"; + var selctedOption = "selectedOption"; } + @section Styles - { - - - } +{ + + +} +
-
-
-
- -
-
- @*===================================================================================================================*@ -
-
-
-
-
-
- - @* *@ - - - - -
-
- - @* *@ - - - - +
+
+
+ +
+
+ @*===================================================================================================================*@ +
+
+ +
+
+
+ + @* *@ + + + + +
+
+ + @* *@ + + + + -
-
- - - - -
-
    -
-
-
-
- - -
+
+
+ + + + +
+
    +
+
+
+
+ + +
-
-
-
- @*
+
+
+
+ @*
*@ -
- - -
-
- - -
-
- - -
-
- -
-
-
- +
+ -
- @* +
+
+ @* *@ - جستجو - + جستجو + - حذف فیلتر -
-
-
- -
-
- @*==================================================================personal=====*@ -
-
-
+ حذف فیلتر +
+
+
+ +
+
+ @*==================================================================personal=====*@ +
+
+
-
-
+
+
-
-
-
-

لیست کارفرما

-
-
-
-
- - - - - @* *@ - - - - - - - - - - - - @foreach (var item in Model.Employees) - { - - - @* *@ -@* + + } + +
#نام و نام خانوادگیکد ملی عملیات
@i +
+
+
+

لیست کارفرما

+
+
+
+
+ + + + + @* *@ + + + + + + + + + + + + @foreach (var item in Model.Employees) + { + + + @* *@ + @* *@ - - - - - - - - - @{ - i++; - } - + + + + + + + + @{ + i++; + } + - - } - -
#نام و نام خانوادگیکد ملی عملیات
@i @item.FName   @item.LName - - @item.FName -   - @item.LName - -
-

- @item.FName - @item.LName -

- - @item.FName - @item.LName - -
-
- @item.NationalCode - -
- @*
+
+ + @item.FName +   + @item.LName + +
+

+ @item.FName + @item.LName +

+ + @item.FName + @item.LName + +
+
+ @item.NationalCode + +
+ @*
مرخصی
@if(item.WorkshopList!=null && item.WorkshopList.Count>0) @@ -579,770 +572,770 @@ }
*@ - - -
+ + - -
-
-
-
-
-
+ +
+
+
+
+
+
@section Script { - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + } \ No newline at end of file diff --git a/ServiceHost/Areas/Admin/Pages/Company/Employees/Index.cshtml.cs b/ServiceHost/Areas/Admin/Pages/Company/Employees/Index.cshtml.cs index 5d520dd8..86730b38 100644 --- a/ServiceHost/Areas/Admin/Pages/Company/Employees/Index.cshtml.cs +++ b/ServiceHost/Areas/Admin/Pages/Company/Employees/Index.cshtml.cs @@ -1,15 +1,6 @@ -using System; -using System.Collections.Generic; -using System.Data.OleDb; -using System.IO; -using System.Linq; -using System.Security.Cryptography.X509Certificates; -using System.Text; -using System.Threading; -using System.Threading.Tasks; +using System.Text; using _0_Framework.Application; using Company.Domain.CheckoutAgg; -using Company.Domain.ContarctingPartyAgg; using Company.Domain.ContractAgg; using CompanyManagment.App.Contracts.Checkout; using CompanyManagment.App.Contracts.Contract; @@ -20,1653 +11,1558 @@ using CompanyManagment.App.Contracts.Employer; using CompanyManagment.App.Contracts.Job; using CompanyManagment.App.Contracts.LeftWork; using CompanyManagment.App.Contracts.LeftWorkInsurance; -using CompanyManagment.App.Contracts.PersonalContractingParty; using CompanyManagment.App.Contracts.PersonnleCode; using CompanyManagment.App.Contracts.Workshop; - using Microsoft.AspNetCore.Authorization; -using Microsoft.AspNetCore.Hosting; using Microsoft.AspNetCore.Mvc; using Microsoft.AspNetCore.Mvc.RazorPages; using Microsoft.AspNetCore.Mvc.Rendering; -using Microsoft.AspNetCore.SignalR; -using Microsoft.AspNetCore.StaticFiles; using PersianTools.Core; using SocialExplorer.IO.FastDBF; //using SocialExplorer.IO.FastDBF; -namespace ServiceHost.Areas.Admin.Pages.Company.Employees +namespace ServiceHost.Areas.Admin.Pages.Company.Employees; + +[Authorize] +public class IndexModel : PageModel { - [Authorize] - public class IndexModel : PageModel - { - [TempData] - public string Message { get; set; } - public EmployeeSearchModel SearchModel; - public List ChildrenList; - public List Employees; - public List PersonnelList; - public string employeeFullName; - public string WorkshopFullName; - public string EmployerFullName; - //public string LName; - - [BindProperty] - public List listArray { get; set; } - - private readonly IEmployeeApplication _employeeApplication; - private readonly IEmployerApplication _employerApplication; - private readonly IEmployeeChildrenApplication _employeeChildrenApplication; - private readonly IWorkshopApplication _workShopApplication; - private readonly IContractApplication _contractApplication; - private readonly IContractRepository _contractRepository; - private readonly ICheckoutApplication _checkoutApplication; - private readonly ICheckoutRepository _checkoutRepository; - private readonly IWebHostEnvironment _webHostEnvironment; - private readonly ILeftWorkInsuranceApplication _leftWorkInsuranceApplication; - private readonly ILeftWorkApplication _leftWorkApplication; - private readonly IPersonnelCodeApplication _personnelCodeApplication; - private readonly IJobApplication _jobApplication; - private readonly IAuthHelper _authHelper; - - - public IndexModel(IAuthHelper authHelper,IEmployeeApplication employeeApplication, IEmployeeChildrenApplication employeeChildrenApplication, IWorkshopApplication workShopApplication, IContractApplication contractApplication, IContractRepository contractRepository, ICheckoutApplication checkoutApplication, ICheckoutRepository checkoutRepository, IWebHostEnvironment webHostEnvironment, ILeftWorkInsuranceApplication leftWorkInsuranceApplication, ILeftWorkApplication leftWorkApplication, IPersonnelCodeApplication personnelCodeApplication, IJobApplication jobApplication, IEmployerApplication employerApplication) - { - - _employeeApplication = employeeApplication; - _employeeChildrenApplication = employeeChildrenApplication; - _workShopApplication = workShopApplication; - _contractApplication = contractApplication; - _contractRepository = contractRepository; - _checkoutApplication = checkoutApplication; - _checkoutRepository = checkoutRepository; - _webHostEnvironment = webHostEnvironment; - _leftWorkInsuranceApplication = leftWorkInsuranceApplication; - _leftWorkApplication = leftWorkApplication; - _personnelCodeApplication =personnelCodeApplication ; - _jobApplication = jobApplication; - _employerApplication = employerApplication; - _authHelper = authHelper; - } - - public void OnGet(EmployeeSearchModel searchModel) - { - Employees = _employeeApplication.SearchForMain(searchModel); - - if (searchModel.Id > 0) - { - employeeFullName = Employees.Select(x => x.EmployeeFullName).FirstOrDefault(); - } - else - { - employeeFullName = searchModel.EmployeeName; - } - - if (searchModel.WorkshopId > 0) - { - var workshop = _workShopApplication.GetDetails(searchModel.WorkshopId); - WorkshopFullName = workshop.WorkshopFullName; - } - else - { - WorkshopFullName = searchModel.WorkshopName; - } - - - if (searchModel.EmployerId > 0) - { - var employer = _employerApplication.GetDetails(searchModel.EmployerId); - EmployerFullName = (employer.IsLegal == "حقیقی" ? (employer.FName + " " + employer.LName) : employer.LName); ; - } - else - { - EmployerFullName = searchModel.EmployerLName; - } - - - } - //public async Task OnGet(EmployeeSearchModel searchModel) - //{ - // Employees = await _employeeApplication.Search(searchModel); - // if (searchModel.Id > 0) - // { - // employeeFullName = Employees.Select(x => x.EmployeeFullName).FirstOrDefault(); - // } - //} - #region newEmployeeSearch - - public async Task OnGetPersonelMainList(string searchEmployee) - { - - PersonnelList = await _employeeApplication.GetEmployeeToList(); - var person = PersonnelList.Where(x => x.EmployeeFullName.Contains(searchEmployee)).Take(200).ToList(); - person = person.OrderBy(x => x.EmployeeFullName.Length).ToList(); - - //var person = await _employeeApplication.GetEmployeeToList(); - - return new JsonResult(new - { - IsSuccedded = true, - mylist = person, - - - }); - } - - #endregion - #region stroredProcedure - - public IActionResult OnPostSerachEmployeeByText(string textSearch) - { - var emplyoeeList = _employeeApplication.GetEmployeeByTextSearch(textSearch); - return new JsonResult(new - { - IsSuccedded = true, - empList = emplyoeeList, - }); - } - - - #endregion - #region CopyPsCode - - public IActionResult OnGetCopyAllPsCode() - { - return Partial("./CopyPersonnelCode"); - } - public IActionResult OnGetCopyPersonnelCode() - { - var workshops = _workShopApplication.GetWorkshop(); - foreach (var workshop in workshops) - { - var a = new ContractSearchModel() - { - WorkshopIds = workshop.Id, - EmployeeId = 0, - EditPersonnelCode = true, - - }; - var ContractSearch = _contractApplication.Search(a); - var result = ContractSearch.GroupBy(c => c.PersonnelCode) - .Select(c => c.First()) - .ToList(); - var finalresult = result.OrderBy(x => x.PersonnelCode).ToList(); - foreach (var contract in finalresult) - { - var command = new CreatePersonnelCode() - { - WorkshopId = contract.WorkshopIds, - EmployeeId = contract.EmployeeId, - PersonnelCode = contract.PersonnelCode - }; - - var res = _personnelCodeApplication.Create(command); - - //pscode= $"{contract.PersonnelCode}"; - //emp = contract.EmployeeName; - //wk = contract.WorkshopName; - - Console.WriteLine($"{res.IsSuccedded} [archiveCode: {contract.ArchiveCode}] personel code : {contract.PersonnelCode}"); - Thread.Sleep(200); - } - - } - - - return new JsonResult(new - { - success = true, - - - }); - - } - - #endregion - #region CodeChange - - public IActionResult OnPostCheck(ExtensionViewModel command) - { - var a = command.ConvertYear; - var b = command.ConvertMonth; - - - var op = new OperationResult(); - if (command.ContractsId == null) - { - op = op.Failed("هیچ قراردادی برای تمدید انتخاب نشده است"); - - return new JsonResult(op); - } - else - { - op = op.Succcedded(); - return new JsonResult(op); - } - - - - } - public IActionResult OnGetLoadContracts(long workshopId, long employeeId) - { - var contractListResult = new List(); - var LeftWorkSerchModel = new LeftWorkSearchModel() - { - WorkshopId = workshopId, - EmployeeId = employeeId - }; - - - var LeftWorkList = _leftWorkApplication.search(LeftWorkSerchModel); - var newContractList = new List(); - if (LeftWorkList.Count > 0) - { - var personelList = LeftWorkList.GroupBy(x => x.EmployeeId).Select(x => x.First()).ToList(); - - - - - contractListResult = personelList.Select(x => new ContractViweModel() - { - EmployeeName = x.EmployeeFullName, - WorkshopIds = x.WorkshopId, - EmployeeId = x.EmployeeId, - LaterThanEnd = true, - Extension = true, - RedColor = false, - - - - }).ToList(); - - foreach (var item in contractListResult) - { - long pCode = 0; - var search = new PersonnelCodeSearchModel() - { - WorkshopId = item.WorkshopIds, - EmployeeId = item.EmployeeId - }; - var pesronelcodelList = _personnelCodeApplication.Search(search); - if (pesronelcodelList.Count > 0) - { - PersonnelCodeViewModel first = null; - foreach (var model in pesronelcodelList) - { - first = model; - break; - } - - if (first != null) pCode = first.PersonnelCode; - } - - - item.PersonnelCode = pCode; - newContractList.Add(item); - } - } - - - newContractList = newContractList.OrderBy(x => x.PersonnelCode).ToList(); - var command2 = new CreateCheckout() - { - - - Contracts = newContractList, - - - }; - return Partial("alert", command2); - } - public IActionResult OnGetChangeCode() - { - listArray = new List(); - - - - var command = new CreateCheckout() - { - - - WorkshopNameSelectList = new SelectList(_workShopApplication.GetWorkshopAccount(), "Id", "WorkshopFullName"), - WorkshopCodeSelectList = new SelectList(_workShopApplication.GetWorkshopAccount(), "Id", "ArchiveCode") - }; - - return Partial("./ChangeCode", command); - } - - - public IActionResult GetProgress() - { - string progress = HttpContext.Response.Headers["X-Progress"]; - - if (string.IsNullOrEmpty(progress)) - { - return new JsonResult(300); - } - - return new JsonResult(int.Parse(progress)); - } - public async Task OnPostChangeCode(CreateCheckout command, CancellationToken cancellationToken) - { - var count = command.Contracts.Count; - if (count > 0) - { - IProgress progress = new Progress(value => { - - // report progress to client - Response.Headers.Add($"X-Progress-{Guid.NewGuid()}", value.ToString()); - }); - for (int i = 0; i <= count - 1; i++) - { - if (command.Contracts[i].PersonnelCode > 0) - { - var search = new PersonnelCodeSearchModel() - { - WorkshopId = command.WorkshopId, - EmployeeId = command.Contracts[i].EmployeeId - }; - - var contractSerachModel = new ContractSearchModel() - { - EmployeeId = command.Contracts[i].EmployeeId, - WorkshopIds = command.WorkshopId - - }; - var chekoutSerachModel = new CheckoutSearchModel() - { - EmployeeId = command.Contracts[i].EmployeeId, - WorkshopId = command.WorkshopId - - }; - var pesronelcodelList = _personnelCodeApplication.Search(search); - var contractSerachResult = _contractApplication.Search(contractSerachModel); - var chekoutSerchResult = await _checkoutApplication.Search(chekoutSerachModel).ConfigureAwait(false); - if (pesronelcodelList.Count > 0) - { - foreach (var person in pesronelcodelList) - { - var getPeronel = _personnelCodeApplication.GetDetails(person.Id); - if (getPeronel != null) - { - var edit = new EditPersonnelCode() - { - Id = getPeronel.Id, - PersonnelCode = command.Contracts[i].PersonnelCode, - }; - _personnelCodeApplication.Edit(edit); - } - progress.Report((i + 1) * 33 / count + 33); - } - } - else - { - var createCommand = new CreatePersonnelCode() - { - WorkshopId = command.WorkshopId, - EmployeeId = command.Contracts[i].EmployeeId, - PersonnelCode = command.Contracts[i].PersonnelCode, - }; - _personnelCodeApplication.Create(createCommand); - } - - if (contractSerachResult.Count > 0) - { - foreach (var contract in contractSerachResult) - { - var getContract = _contractRepository.Get(contract.Id); - getContract.EditPersonnelCode(command.Contracts[i].PersonnelCode, contract.ContractStartGr, contract.ArchiveCode); - _contractRepository.SaveChanges(); - progress.Report((i + 1) * 33 / count + 33); // report progress to client - } - } - - if (chekoutSerchResult.Count > 0) - { - foreach (var checkout in chekoutSerchResult) - { - var getCeckout = _checkoutRepository.Get(checkout.Id); - getCeckout.EditPersonnelCode(command.Contracts[i].PersonnelCode, checkout.ContractStartGr, checkout.ArchiveCode); - _contractRepository.SaveChanges(); - progress.Report((i + 1) * 33 / count + 33); // report progress to client - } - } - - - } - - } - } - var opration = new OperationResult() - { - IsSuccedded = true, - Message = "عملیات با موفقیت انجام شد", - }; - - return new JsonResult(opration); - } - - #endregion - - #region LeftWorkInsurance - - public PartialViewResult OnPostGetLeftWorkInsurance(long employeeId, string employeeName) - { - - var search = new LeftWorkInsuranceSearchModel() - { - EmployeeId = employeeId, - - }; - //var employee = _employeeApplication.GetDetails(employeeId); - var serachResult = _leftWorkInsuranceApplication.search(search); - var ListGroup = new List(); - if (serachResult.Count > 0) - { - var result = serachResult.GroupBy(c => c.WorkshopId) - .Select(c => c.First()) - .ToList(); - foreach (var item in result) - { - - #region personelcode - var personelSearchModel = new PersonnelCodeSearchModel(); - personelSearchModel.EmployeeId = item.EmployeeId; - personelSearchModel.WorkshopId = item.WorkshopId; - var personelcode = _personnelCodeApplication.GetPersonnelCodeViewModel(personelSearchModel); - #endregion - - int isActive = 0; - var leftWorkInsuranceViewModels = serachResult.Where(x => x.WorkshopId == item.WorkshopId) - .OrderByDescending(x => x.StartWorkDateGr).ToList(); - int activeCount = leftWorkInsuranceViewModels.Where(p => p.IsActiveWorkshop == true).Count(); - if (activeCount > 0) - { - isActive = 1; - } - var group = new LeftWorkInsuranceGroup() - { - WorkshopId = item.WorkshopId, - WorkshopName = item.WorkshopName, - LeftworkInsuranceViewModels = leftWorkInsuranceViewModels, - IsActiveWorkshop = isActive, - PersonnelCode = personelcode.PersonnelCode, - HasPersonelCode = personelcode.HasPersonelCode, - JobId = item.JobId, - IncludeStatus = item.IncludeStatus, - JobList = _jobApplication.GetJobListByWorkshopId(item.WorkshopId) - }; - ListGroup.Add(group); - } - } - - ListGroup = ListGroup.OrderByDescending(p => p.IsActiveWorkshop).ThenBy(p => p.WorkshopName).ToList(); - - var command = new LeftworkInsuranceDividedList() - { - EmployeeId = employeeId, - Workshops = new SelectList(_workShopApplication.GetWorkshopAll(), "Id", "WorkshopFullName"), - LeftWorkInsuranceGroups = ListGroup, - EmployeeName = employeeName//employee.EmployeeFullName - }; - - return Partial("./LeftWorkInsurance", command); - } - public IActionResult OnGetCreateLeftWorkInsurance(long employeeId, string employeeName) - { - var permissionIds = _authHelper.GetPermissions(); - - var search = new LeftWorkInsuranceSearchModel() - { - EmployeeId = employeeId, - }; - var employee = _employeeApplication.GetDetails(employeeId); - var serachResult = _leftWorkInsuranceApplication.search(search); - var ListGroup = new List(); - if (serachResult.Count > 0) - { - var result = serachResult.GroupBy(c => c.WorkshopId) - .Select(c => c.First()) - .ToList(); - foreach (var item in result) - { - #region personelcode - var personelSearchModel = new PersonnelCodeSearchModel(); - personelSearchModel.EmployeeId = item.EmployeeId; - personelSearchModel.WorkshopId = item.WorkshopId; - var personelcode = _personnelCodeApplication.GetPersonnelCodeViewModel(personelSearchModel); - #endregion - - int isActive = 0; - var leftWorkInsuranceViewModels = serachResult.Where(x => x.WorkshopId == item.WorkshopId) - .OrderByDescending(x => x.StartWorkDateGr).ToList(); - int activeCount = leftWorkInsuranceViewModels.Where(p => p.IsActiveWorkshop == true).Count(); - if (activeCount > 0) - { - isActive = 1; - } - var group = new LeftWorkInsuranceGroup() - { - WorkshopId = item.WorkshopId, - WorkshopName = item.WorkshopName, - LeftworkInsuranceViewModels = leftWorkInsuranceViewModels, - IsActiveWorkshop = isActive, - PersonnelCode = personelcode.PersonnelCode, - HasPersonelCode = personelcode.HasPersonelCode, - JobId = item.JobId, - IncludeStatus = item.IncludeStatus, - JobList = _jobApplication.GetJobListByWorkshopId(item.WorkshopId) - }; - ListGroup.Add(group); - } - } - - ListGroup = ListGroup.OrderByDescending(p => p.IsActiveWorkshop).ThenBy(p => p.WorkshopName).ToList(); - - var command = new LeftworkInsuranceDividedList() - { - EmployeeId = employeeId, - Workshops = new SelectList(_workShopApplication.GetWorkshopAll(), "Id", "WorkshopFullName"), - LeftWorkInsuranceGroups = ListGroup, - EmployeeName = employee.EmployeeFullName, - PermissionIds = permissionIds - }; - - return Partial("./LeftWorkInsurance", command); - } - - public IActionResult OnPostCreateLeftWorkInsurance(LeftworkInsuranceDividedList command) - { - string message = string.Empty; - OperationResult endResult = new OperationResult(); - endResult.IsSuccedded = true; - List results = new List(); - - if (!command.IsDelete && command.LeftWorkInsuranceGroups == null || (command.LeftWorkInsuranceGroups != null && command.LeftWorkInsuranceGroups.Count == 0)) - { - return new JsonResult(new { endResult = endResult.Failed("پر کردن اطلاعات شرکت ضروری می باشد"), flag = "ok" }); - } - if ( endResult.IsSuccedded == true && command.PersonnelCode != null && command.PersonnelCode.Count > 0) - { - var personelcode = command.PersonnelCode.Where(x => x.HasPersonelCode == false && x.PersonnelCode == 0).FirstOrDefault(); - if (personelcode != null) - { - return new JsonResult(new { endResult = endResult.Failed("شماره پرسنلی در کارگاه " + personelcode.WorkShopName + " نامعتبر است. "), flag = "ok" }); - } - } - if ( endResult.IsSuccedded == true && command.LeftWorkInsuranceGroups != null && command.LeftWorkInsuranceGroups.Count > 0) - { - // int index = 0; - foreach (var item in command.LeftWorkInsuranceGroups) - { - if (item.LeftworkInsuranceViewModels != null && item.LeftworkInsuranceViewModels.Count > 0) - { - var leftworkInsurance = item.LeftworkInsuranceViewModels.Where(x => x.JobId == 0).FirstOrDefault(); - if (leftworkInsurance != null) - { - return new JsonResult(new { endResult = endResult.Failed("سمت پرسنل در کارگاه " + leftworkInsurance.WorkshopName + " انتخاب نشده است. "), flag = "ok" }); - } - } - else if (!command.IsDelete) - { - return new JsonResult(new { endResult = endResult.Failed("پرکردن اطلاعات کارگاه " + item.WorkshopName + " ضروری می باشد، در غیر اینصورت کارگاه مورد نظر را حذف نمایید "), flag = "ok" }); - } - } - } - //if (endResult.IsSuccedded == true && (!command.IsDelete && command.LeftWorkInsuranceGroups != null && command.LeftWorkInsuranceGroups.Count > 0) || command.IsDelete) - //{ - // return new JsonResult(new { endResult = endResult.Succcedded(-1,"ثبت با موفقیت انجام شد"), flag = "ok" }); - //} - if (endResult.IsSuccedded == true && (!command.IsDelete && command.LeftWorkInsuranceGroups != null && command.LeftWorkInsuranceGroups.Count > 0) || command.IsDelete) - { - string employeeFullName = _employeeApplication.GetDetails(command.EmployeeId).EmployeeFullName; - if (command.LeftWorkInsuranceGroups != null) - { - endResult = _leftWorkInsuranceApplication.CreateLeftworkInsuranceByLeftworkGroups(employeeFullName, command.EmployeeId, command.PersonnelCode, command.LeftWorkInsuranceGroups); - } - } - return new JsonResult(new { endResult = endResult, flag = "ok" }); - // return new JsonResult(new { endResult = results, flag = "ok" }); - } - - public IActionResult OnPostBeforeDate(string date) - { - var persianBefore = ""; - var year = Convert.ToInt32(date.Substring(0, 4)); - var month = Convert.ToInt32(date.Substring(5, 2)); - var day = Convert.ToInt32(date.Substring(8, 2)); - var persianDate = new PersianDateTime(year, month, day); - var persianBeforeDate = persianDate.AddDays(-1); - persianBefore = persianBeforeDate.ToString("yyyy/MM/dd"); - - - return new JsonResult(new - { - ResultDate = persianBefore, - }); - } - - public IActionResult OnPostAfterDate(string date) - { - var persianAfter = ""; - var year = Convert.ToInt32(date.Substring(0, 4)); - var month = Convert.ToInt32(date.Substring(5, 2)); - var day = Convert.ToInt32(date.Substring(8, 2)); - - var persianDate = new PersianDateTime(year, month, day); - var persianAfterDate = persianDate.AddDays(1); - persianAfter = persianAfterDate.ToString("yyyy/MM/dd"); - - return new JsonResult(new - { - ResultDate = persianAfter, - }); - } - - public JsonResult OnPostDeleteLeftWorkInsuranceWorkshop(long workshopId, long employeeId) - { - var delResult = _leftWorkInsuranceApplication.RemoveAllLeftWorkInsurance(workshopId, employeeId); - return new JsonResult(delResult); - } - - #endregion - - public IActionResult OnGetCreate() - { - return Partial("./Create"); - } - - public IActionResult OnPostCreate(CreateEmployee command) - { - - - - - var children = command.CreateEmployeChildrenList.Count(x => x.DateOfBirth !=null); - command.NumberOfChildren = children.ToString(); - var result = _employeeApplication.Create(command); - Thread.Sleep(1000); - - if (result.IsSuccedded) - { - for (int i = 0; i <= children-1; i++) - { - if (command.CreateEmployeChildrenList[i].DateOfBirth != null) - { - - var child = new CreateEmployeChildren - { - ParentNationalCode = command.NationalCode, - DateOfBirth = command.CreateEmployeChildrenList[i].DateOfBirth, - FName = command.CreateEmployeChildrenList[i].FName, - EmployeeId = result.SendId, - }; - _employeeChildrenApplication.Create(child); - - } - } - } - return new JsonResult(result); - } - - - public IActionResult OnGetEdit(long id) - { - var employee = _employeeApplication.GetDetails(id); - employee.EditEmployeChildrenList = _employeeChildrenApplication.GetChildren(employee.Id); - - return Partial("Edit", employee); - } - - public JsonResult OnPostEdit(EditEmployee command) - { - int childrenEdit = 0; - int children = 0; - if (ModelState.IsValid) - { - - } - - if (command.CreateEmployeChildrenList!=null) - { - children = command.CreateEmployeChildrenList.Count(x => x.DateOfBirth != null); - } - - if (command.EditEmployeChildrenList != null) - { - childrenEdit = command.EditEmployeChildrenList.Count(x => x.DateOfBirth != null); - } - - //if (children > 0) - //{ - // var oldChildrenNumber = Convert.ToInt32(command.NumberOfChildren); - // var sumChildren = oldChildrenNumber + children; - // command.NumberOfChildren = sumChildren.ToString(); - //} - - - - var result = _employeeApplication.Edit(command); - Thread.Sleep(1000); - if (result.IsSuccedded) - { - - for (int i = 0; i <= childrenEdit-1; i++) - { - if (command.EditEmployeChildrenList != null && command.EditEmployeChildrenList[i].DateOfBirth != null) - { - - var child = new EditEmployeeChildren - { - ParentNationalCode = command.NationalCode, - DateOfBirth = command.EditEmployeChildrenList[i].DateOfBirth, - FName = command.EditEmployeChildrenList[i].FName, - EmployeeId = command.Id, - Id = command.EditEmployeChildrenList[i].Id, - IsRemoved = command.EditEmployeChildrenList[i].IsRemoved - }; - _employeeChildrenApplication.Edit(child); - - } - } - - for (int i = 0; i <= children - 1; i++) - { - if (command.CreateEmployeChildrenList != null && command.CreateEmployeChildrenList[i].DateOfBirth != null) - { - - var child = new CreateEmployeChildren - { - EmployeeId = command.Id, - ParentNationalCode = command.NationalCode, - DateOfBirth = command.CreateEmployeChildrenList[i].DateOfBirth, - FName = command.CreateEmployeChildrenList[i].FName - }; - _employeeChildrenApplication.Create(child); - - } - } - - } - - var childrenCunt = _employeeChildrenApplication.GetChildren(command.Id).Count; - command.NumberOfChildren = childrenCunt.ToString(); - _employeeApplication.Edit(command); - return new JsonResult(result); - - - - } - - public IActionResult OnGetDetails(long id) - { - var emp = _employeeApplication.GetDetails(id); - emp.CreateEmployeChildrenList = _employeeChildrenApplication.GetChildren(id); - - var path = $"profilePhotos"; - var directoryPath = $"{_webHostEnvironment.WebRootPath}\\ProductPictures\\{path}"; - //string TestPath = "D:\\"; - var odbf = new DbfFile(Encoding.GetEncoding(1256)); - odbf.Open(Path.Combine(directoryPath, "DSKKAR00.dbf"), FileMode.Create); - //کد کارگاه - odbf.Header.AddColumn(new DbfColumn("DSK_ID", DbfColumn.DbfColumnType.Character, 10, 0)); - //نام کارگاه - odbf.Header.AddColumn(new DbfColumn("DSK_NAME", DbfColumn.DbfColumnType.Character, 100, 0)); - //نام کارفرما - odbf.Header.AddColumn(new DbfColumn("DSK_FARM", DbfColumn.DbfColumnType.Character, 100, 0)); - //نام آدرس - odbf.Header.AddColumn(new DbfColumn("DSK_ADRS", DbfColumn.DbfColumnType.Character, 100, 0)); - //نوع لیست - odbf.Header.AddColumn(new DbfColumn("DSK_KIND", DbfColumn.DbfColumnType.Number, 1, 0)); - //سال عملکرد - odbf.Header.AddColumn(new DbfColumn("DSK_YY", DbfColumn.DbfColumnType.Number, 2, 0)); - //ماه عملکرد - odbf.Header.AddColumn(new DbfColumn("DSK_MM", DbfColumn.DbfColumnType.Number, 2, 0)); - //شماره لیست - odbf.Header.AddColumn(new DbfColumn("DSK_LISTNO", DbfColumn.DbfColumnType.Character, 12, 0)); - //شرح لیست - odbf.Header.AddColumn(new DbfColumn("DSK_DISC", DbfColumn.DbfColumnType.Character, 100, 0)); - //تعداد کارکنان - odbf.Header.AddColumn(new DbfColumn("DSK_NUM", DbfColumn.DbfColumnType.Number, 5, 0)); - //تعداد کارکنان - odbf.Header.AddColumn(new DbfColumn("DSK_TDD", DbfColumn.DbfColumnType.Number, 6, 0)); - //مجموع دستمزد روزانه - odbf.Header.AddColumn(new DbfColumn("DSK_TROOZ", DbfColumn.DbfColumnType.Number, 12, 0)); - //مجموع دستمزد ماهانه - odbf.Header.AddColumn(new DbfColumn("DSK_TMAH", DbfColumn.DbfColumnType.Number, 12, 0)); - //مجموع مزایای ماهانه - odbf.Header.AddColumn(new DbfColumn("DSK_TMAZ", DbfColumn.DbfColumnType.Number, 12, 0)); - //مجموع دستمزد و مزایای ماهانه مشمول - odbf.Header.AddColumn(new DbfColumn("DSK_TMASH", DbfColumn.DbfColumnType.Number, 12, 0)); - // مجموع کل دستمزد و مزایای ماهانه مشمول و غیر مشمول - odbf.Header.AddColumn(new DbfColumn("DSK_TTOTL", DbfColumn.DbfColumnType.Number, 12, 0)); - //مجموع حق بیمه سهم بیمه شده - odbf.Header.AddColumn(new DbfColumn("DSK_TBIME", DbfColumn.DbfColumnType.Number, 12, 0)); - //مجموع حق بیمه سهم کارفرما - odbf.Header.AddColumn(new DbfColumn("DSK_TKOSO", DbfColumn.DbfColumnType.Number, 12, 0)); - //مجموع حق بیمه بیکاری - odbf.Header.AddColumn(new DbfColumn("DSK_BIC", DbfColumn.DbfColumnType.Number, 12, 0)); - //نرخ حق بیمه - odbf.Header.AddColumn(new DbfColumn("DSK_RATE", DbfColumn.DbfColumnType.Number, 5, 0)); - //نرخ پورسانتاژ - odbf.Header.AddColumn(new DbfColumn("DSK_PRATE", DbfColumn.DbfColumnType.Number, 2, 0)); - //نرخ مشاغل سخت زیان آور - odbf.Header.AddColumn(new DbfColumn("DSK_BIMH", DbfColumn.DbfColumnType.Number, 12, 0)); - //ردیف پیمان - odbf.Header.AddColumn(new DbfColumn("MON_PYM", DbfColumn.DbfColumnType.Character, 3, 0)); - var orec = new DbfRecord(odbf.Header); - //کد کارگاه - orec[0] = GetSpecifiedCharactes("9008289145", 10); - orec[1] = ConvertToIranSystem.ToIranSystem(GetSpecifiedCharactes("ریواس سیستم پارس", 100), IranSystemNumbers.DontConvert); - orec[2] = ConvertToIranSystem.ToIranSystem(GetSpecifiedCharactes("ریواس سیستم پارس", 100), IranSystemNumbers.DontConvert); - orec[3] = ConvertToIranSystem.ToIranSystem(GetSpecifiedCharactes("رشت - بلوار شهدای گمنام - کوچه شهید علی قربانی - ساختمان پیام نور - طبقه اول واحد 2", 100), IranSystemNumbers.DontConvert); - // نوع لیست - orec[4] = "0"; - //سال - orec[5] = "2"; - //ماه - orec[6] = "2"; - //شماره لیست - orec[7] = GetSpecifiedCharactes("01", 12); - //شرح لیست - orec[8] = ConvertToIranSystem.ToIranSystem(GetSpecifiedCharactes("", 100), IranSystemNumbers.DontConvert); - //تعداد کرکنان - orec[9] = "3"; - //مجموع روزهای کارکرد - orec[10] = "93"; - //مجموع دستمزد روزانه - orec[11] = "5308284"; - //مجموع دستمزد ماهانه - orec[12] = "164556804"; - //مجموع مزایای ماهانه مشمول - orec[13] = "60000000"; - //مجموع دستمزد و مزایای ماهانه مشمول - orec[14] = "224556804"; - //مجموع کل دستمزد و مزایای ماهانه مشمول و غیر مشمول - orec[15] = "224556804"; - // مجموع حق بیمه سهم بیمه شده - orec[16] = "15718977"; - //مجموع حق بیمه سهم کارفرما - orec[17] = "44911361"; - //مجموع حق بیمه بیکاری - orec[18] = "6736704"; - //نرخ حق بیمه - orec[19] = "23"; - //نرخ پورسانتاژ - orec[20] = "0"; - //نرخ مشاغل سخت زیان آور - orec[21] = "0"; - //ردیف پیمان - orec[22] = GetSpecifiedCharactes("000", 12); - - - - - - - odbf.Write(orec); - //odbf.Header.RecordCount = 50; - odbf.WriteHeader(); - - odbf.Close(); - - //لیست پرسنل - var dsw = new DbfFile(Encoding.GetEncoding(1256)); - dsw.Open(Path.Combine(directoryPath, "DSKWOR00.dbf"), FileMode.Create); - //کد کارگاه - dsw.Header.AddColumn(new DbfColumn("DSW_ID", DbfColumn.DbfColumnType.Character, 10, 0)); - //سال عملکرد - dsw.Header.AddColumn(new DbfColumn("DSW_YY", DbfColumn.DbfColumnType.Number, 2, 0)); - //ماه عملکرد - dsw.Header.AddColumn(new DbfColumn("DSW_MM", DbfColumn.DbfColumnType.Number, 2, 0)); - //شماره لیست - dsw.Header.AddColumn(new DbfColumn("DSW_LISTNO", DbfColumn.DbfColumnType.Character, 12, 0)); - //شماره بیمه - dsw.Header.AddColumn(new DbfColumn("DSW_ID1", DbfColumn.DbfColumnType.Character, 10, 0)); - // نام - dsw.Header.AddColumn(new DbfColumn("DSW_FNAME", DbfColumn.DbfColumnType.Character, 100, 0)); - // نام خانوادگی - dsw.Header.AddColumn(new DbfColumn("DSW_LNAME", DbfColumn.DbfColumnType.Character, 100, 0)); - //نام پدر - dsw.Header.AddColumn(new DbfColumn("DSW_DNAME", DbfColumn.DbfColumnType.Character, 100, 0)); - // شماره شناسنامه - dsw.Header.AddColumn(new DbfColumn("DSW_IDNO", DbfColumn.DbfColumnType.Character, 15, 0)); - // محل صدور - dsw.Header.AddColumn(new DbfColumn("DSW_IDPLC", DbfColumn.DbfColumnType.Character, 100, 0)); - // تاریخ صدور - dsw.Header.AddColumn(new DbfColumn("DSW_IDATE", DbfColumn.DbfColumnType.Character, 8, 0)); - // تاریخ تولد - dsw.Header.AddColumn(new DbfColumn("DSW_BDATE", DbfColumn.DbfColumnType.Character, 8, 0)); - // جنسیت - dsw.Header.AddColumn(new DbfColumn("DSW_SEX", DbfColumn.DbfColumnType.Character, 3, 0)); - // ملیت - dsw.Header.AddColumn(new DbfColumn("DSW_NAT", DbfColumn.DbfColumnType.Character, 10, 0)); - // شرح شغل - dsw.Header.AddColumn(new DbfColumn("DSW_OCP", DbfColumn.DbfColumnType.Character, 100, 0)); - // تاریخ شروع بکار - dsw.Header.AddColumn(new DbfColumn("DSW_SDATE", DbfColumn.DbfColumnType.Character, 8, 0)); - // تاریخ ترک کار - dsw.Header.AddColumn(new DbfColumn("DSW_EDATE", DbfColumn.DbfColumnType.Character, 8, 0)); - // تعداد روزهای کارکرد - dsw.Header.AddColumn(new DbfColumn("DSW_DD", DbfColumn.DbfColumnType.Number, 2, 0)); - // دستمزد روزانه - dsw.Header.AddColumn(new DbfColumn("DSW_ROOZ", DbfColumn.DbfColumnType.Number, 12, 0)); - // دستمزد ماهانه - dsw.Header.AddColumn(new DbfColumn("DSW_MAH", DbfColumn.DbfColumnType.Number, 12, 0)); - // مزایای ماهانه - dsw.Header.AddColumn(new DbfColumn("DSW_MAZ", DbfColumn.DbfColumnType.Number, 12, 0)); - // جمع دستمزد و مزایای ماهانه مشمول - dsw.Header.AddColumn(new DbfColumn("DSW_MASH", DbfColumn.DbfColumnType.Number, 12, 0)); - // جمع کل دستمزد و مزایای ماهانه - dsw.Header.AddColumn(new DbfColumn("DSW_TOTL", DbfColumn.DbfColumnType.Number, 12, 0)); - //حق بیمه سهم بیمه شده - dsw.Header.AddColumn(new DbfColumn("DSW_BIME", DbfColumn.DbfColumnType.Number, 12, 0)); - //نرخ پورسانتاژ - dsw.Header.AddColumn(new DbfColumn("DSW_PRATE", DbfColumn.DbfColumnType.Number, 2, 0)); - // کد شغل - dsw.Header.AddColumn(new DbfColumn("DSW_JOB", DbfColumn.DbfColumnType.Character, 6, 0)); - // کد ملی - dsw.Header.AddColumn(new DbfColumn("PER_NATCOD", DbfColumn.DbfColumnType.Character, 10, 0)); - - - var dswrec = new DbfRecord(dsw.Header); - //کد کارگاه - dswrec[0] = GetSpecifiedCharactes("9008289145", 10); - //سال - dswrec[1] = "2"; - //ماه - dswrec[2] = "2"; - //شماره لیست - dswrec[3] = GetSpecifiedCharactes("01", 12); - //شماره بیمه - dswrec[4] = GetSpecifiedCharactes("48071464", 8); - // نام - dswrec[5] = ConvertToIranSystem.ToIranSystem(GetSpecifiedCharactes("راضیه", 100), IranSystemNumbers.DontConvert); - //خانوادگی نام - dswrec[6] = ConvertToIranSystem.ToIranSystem(GetSpecifiedCharactes("پیردهقان", 100), IranSystemNumbers.DontConvert); - //پدر نام - dswrec[7] = ConvertToIranSystem.ToIranSystem(GetSpecifiedCharactes("غلام", 100), IranSystemNumbers.DontConvert); - //شماره شناسنامه - dswrec[8] = "2650230614"; - //محل صدور - dswrec[9] = ConvertToIranSystem.ToIranSystem(GetSpecifiedCharactes("رشت", 100), IranSystemNumbers.DontConvert); ; - //تاریخ صدور - dswrec[10] = "13770805"; - //تاریخ تولد - dswrec[11] = "13770721"; - //جنسیت - dswrec[12] = ConvertToIranSystem.ToIranSystem(GetSpecifiedCharactes("زن", 3), IranSystemNumbers.DontConvert); - //ملیت - dswrec[13]= ConvertToIranSystem.ToIranSystem(GetSpecifiedCharactes("ایرانی", 10), IranSystemNumbers.DontConvert); - //شرح شغل - dswrec[14] = ConvertToIranSystem.ToIranSystem(GetSpecifiedCharactes("کارشناس نرم افزار کامپیوتر", 100), IranSystemNumbers.DontConvert); - //تاریخ شروع بکار - dswrec[15] = "14000201"; - //تاریخ ترک کار - dswrec[16] = ""; - //تعداد روزهای کارکرد - dswrec[17] = "31"; - //دستمزد روزانه - dswrec[18] = "1769428"; - //دستمزد مااهانه - dswrec[19] = "54852268"; - //مزایای ماهانه - dswrec[20] = "20000000"; - //دستمزد و مزایای ماهانه مشمول - dswrec[21] = "74852268"; - //جمع کل دستمزد و مزایای ماهانه مسمول غیرمشمول - dswrec[22] = "74852268"; - //حق بیمه سهم بیمه شده - dswrec[23] = "5239659"; - //نرخ پورسانتاژ - dswrec[24] = "0"; - //کد شغل - dswrec[25] = "033022"; - //کد ملی - dswrec[26] = "2650230614"; - - dsw.Write(dswrec); - - - var dswrec2 = new DbfRecord(dsw.Header); - //کد کارگاه - dswrec2[0] = GetSpecifiedCharactes("9008289145", 10); - //سال - dswrec2[1] = "2"; - //ماه - dswrec2[2] = "2"; - //شماره لیست - dswrec2[3] = GetSpecifiedCharactes("01", 12); - //شماره بیمه - dswrec2[4] = GetSpecifiedCharactes("34157806", 8); - // نام - dswrec2[5] = ConvertToIranSystem.ToIranSystem(GetSpecifiedCharactes("پیمان", 100), IranSystemNumbers.DontConvert); - //خانوادگی نام - dswrec2[6] = ConvertToIranSystem.ToIranSystem(GetSpecifiedCharactes("افشاری بجاربنه", 100), IranSystemNumbers.DontConvert); - //پدر نام - dswrec2[7] = ConvertToIranSystem.ToIranSystem(GetSpecifiedCharactes("علیرضا", 100), IranSystemNumbers.DontConvert); - //شماره شناسنامه - dswrec2[8] = "2580900713"; - //محل صدور - dswrec2[9] = ConvertToIranSystem.ToIranSystem(GetSpecifiedCharactes("رشت", 100), IranSystemNumbers.DontConvert); ; - //تاریخ صدور - dswrec2[10] = ""; - //تاریخ تولد - dswrec2[11] = "13750229"; - //جنسیت - dswrec2[12] = ConvertToIranSystem.ToIranSystem(GetSpecifiedCharactes("مرد", 3), IranSystemNumbers.DontConvert); - //ملیت - dswrec2[13] = ConvertToIranSystem.ToIranSystem(GetSpecifiedCharactes("ایرانی", 10), IranSystemNumbers.DontConvert); - //شرح شغل - dswrec2[14] = ConvertToIranSystem.ToIranSystem(GetSpecifiedCharactes("کارشناس نرم افزار کامپیوتر", 100), IranSystemNumbers.DontConvert); - //تاریخ شروع بکار - dswrec2[15] = "14010701"; - //تاریخ ترک کار - dswrec2[16] = ""; - //تعداد روزهای کارکرد - dswrec2[17] = "31"; - //دستمزد روزانه - dswrec2[18] = "1769428"; - //دستمزد مااهانه - dswrec2[19] = "54852268"; - //مزایای ماهانه - dswrec2[20] = "20000000"; - //دستمزد و مزایای ماهانه مشمول - dswrec2[21] = "74852268"; - //جمع کل دستمزد و مزایای ماهانه مسمول غیرمشمول - dswrec2[22] = "74852268"; - //حق بیمه سهم بیمه شده - dswrec2[23] = "5239659"; - //نرخ پورسانتاژ - dswrec2[24] = "0"; - //کد شغل - dswrec2[25] = "033022"; - //کد ملی - dswrec2[26] = "2580900713"; - - dsw.Write(dswrec2); - - - var dswrec3 = new DbfRecord(dsw.Header); - //کد کارگاه - dswrec3[0] = GetSpecifiedCharactes("9008289145", 10); - //سال - dswrec3[1] = "2"; - //ماه - dswrec3[2] = "2"; - //شماره لیست - dswrec3[3] = GetSpecifiedCharactes("01", 12); - //شماره بیمه - dswrec3[4] = GetSpecifiedCharactes("48076618", 8); - // نام - dswrec3[5] = ConvertToIranSystem.ToIranSystem(GetSpecifiedCharactes("فاطمه", 100), IranSystemNumbers.DontConvert); - //خانوادگی نام - dswrec3[6] = ConvertToIranSystem.ToIranSystem(GetSpecifiedCharactes("پادکان", 100), IranSystemNumbers.DontConvert); - //پدر نام - dswrec3[7] = ConvertToIranSystem.ToIranSystem(GetSpecifiedCharactes("محمدفرشاد", 100), IranSystemNumbers.DontConvert); - //شماره شناسنامه - dswrec3[8] = "2581230231"; - //محل صدور - dswrec3[9] = ConvertToIranSystem.ToIranSystem(GetSpecifiedCharactes("رشت", 100), IranSystemNumbers.DontConvert); ; - //تاریخ صدور - dswrec3[10] = ""; - //تاریخ تولد - dswrec3[11] = "13780926"; - //جنسیت - dswrec3[12] = ConvertToIranSystem.ToIranSystem(GetSpecifiedCharactes("زن", 3), IranSystemNumbers.DontConvert); - //ملیت - dswrec3[13] = ConvertToIranSystem.ToIranSystem(GetSpecifiedCharactes("ایرانی", 10), IranSystemNumbers.DontConvert); - //شرح شغل - dswrec3[14] = ConvertToIranSystem.ToIranSystem(GetSpecifiedCharactes("کارشناس نرم افزار کامپیوتر", 100), IranSystemNumbers.DontConvert); - //تاریخ شروع بکار - dswrec3[15] = "14010701"; - //تاریخ ترک کار - dswrec3[16] = ""; - //تعداد روزهای کارکرد - dswrec3[17] = "31"; - //دستمزد روزانه - dswrec3[18] = "1769428"; - //دستمزد مااهانه - dswrec3[19] = "54852268"; - //مزایای ماهانه - dswrec3[20] = "20000000"; - //دستمزد و مزایای ماهانه مشمول - dswrec3[21] = "74852268"; - //جمع کل دستمزد و مزایای ماهانه مسمول غیرمشمول - dswrec3[22] = "74852268"; - //حق بیمه سهم بیمه شده - dswrec3[23] = "5239659"; - //نرخ پورسانتاژ - dswrec3[24] = "0"; - //کد شغل - dswrec3[25] = "001094"; - //کد ملی - dswrec3[26] = "2581230231"; - - dsw.Write(dswrec3); - - dsw.WriteHeader(); - - dsw.Close(); - - - - - return Partial("Details", emp); - - } - - private string GetSpecifiedCharactes(string str, int MaxLength) - { - return str.Length <= MaxLength ? str : str.Substring(0, MaxLength); - } - public IActionResult OnGetDeActive(long id) - { - var result = _employeeApplication.DeActive(id); - if (result.IsSuccedded) - return RedirectToPage("./Index"); - Message = result.Message; - return RedirectToPage("./Index"); - } - - public IActionResult OnGetIsActive(long id) - { - var result = _employeeApplication.Active(id); - if (result.IsSuccedded) - return RedirectToPage("./Index"); - Message = result.Message; - return RedirectToPage("./Index"); - } - public IActionResult OnGetInsuranceRecords(long employeeId) - { - var editEIR = new EditEmployeeInsuranceRecord(); - editEIR.WorkshopSelectList = new SelectList(_workShopApplication.GetWorkshopAll(), "Id", "WorkshopFullName"); - editEIR.EmployeeId = employeeId; - editEIR.employeeInsuranceRecordViewModels = _employeeApplication - .SearchInsuranceRecord(new EmployeeInsuranceRecordSearchModel { EmployeeId = employeeId }) - .OrderByDescending(x => x.Workshop.IsActiveString).ToList(); - - - var emp = _employeeApplication.GetDetails(employeeId); - var fullname = string.Join(" ", emp.FName, emp.LName, "(" + emp.NationalCode + ")"); - - return Partial("./InsuranceRecords", editEIR); - } - - public IActionResult OnPostInsuranceRecords(EditEmployeeInsuranceRecord eir) - { - OperationResult operationResult = new OperationResult(); - - - List ids_Exist = new List(); - - #region Validation - - - operationResult = _employeeApplication.ValidationEmployeeCompleteItem(eir.EmployeeId); - if (!operationResult.IsSuccedded) - { - return new JsonResult(operationResult); - } - - var eir_lst = new List(); - - if (eir.employeeInsuranceRecordViewModels != null) - foreach (var _eir in eir.employeeInsuranceRecordViewModels) - { - operationResult = _employeeApplication.ValidationEmployeeInsuranceRecord(_eir); - if (!operationResult.IsSuccedded) - { - return new JsonResult(operationResult); - } - var create = new CreateEmployeeInsuranceRecord - { - EmployeeId = eir.EmployeeId, - WorkShopId = _eir.WorkShopId, - DateOfStart = _eir.DateOfStart.ToGeorgianDateTime(), - DateOfEnd = _eir.DateOfEnd == null ? null : _eir.DateOfEnd.ToGeorgianDateTime() - }; - eir_lst.Add(create); - } - - operationResult = _employeeApplication.ValidationEmployeeInsuranceRecord(eir_lst); - if (!operationResult.IsSuccedded) - { - return new JsonResult(operationResult); - } - - #endregion - - #region Remove Items - try - { - if (eir.employeeInsuranceRecordViewModels != null) - foreach (var _eir in eir.employeeInsuranceRecordViewModels) - { - if (_eir.Id == 0) //new - { - } - else //Exist - { - ids_Exist.Add(_eir.Id); - } - } - var exist = _employeeApplication.SearchInsuranceRecord(new EmployeeInsuranceRecordSearchModel { EmployeeId = eir.EmployeeId }); - if (exist != null) - { - foreach (var item in exist) - { - if (ids_Exist.Count != 0) - { - if (!ids_Exist.Contains(item.Id)) - { - _employeeApplication.RemoveEmployeeInsuranceRecord(item.Id); - } - } - else - { - _employeeApplication.RemoveEmployeeInsuranceRecord(item.Id); - } - } - } - } - catch (Exception) - { - return new JsonResult(operationResult); - - } - #endregion - - - #region Create_Edit - if (eir.employeeInsuranceRecordViewModels != null) - foreach (var _eir in eir.employeeInsuranceRecordViewModels) - { - if (_eir.Id == 0) //Create - { - var create = new CreateEmployeeInsuranceRecord - { - EmployeeId = eir.EmployeeId, - WorkShopId = _eir.WorkShopId, - DateOfStart = _eir.DateOfStart.ToGeorgianDateTime(), - DateOfEnd = _eir.DateOfEnd == null ? null : _eir.DateOfEnd.ToGeorgianDateTime() - }; - operationResult = _employeeApplication.CreateEmployeeInsuranceRecord(create); - } - else //Edit - { - var edit = new EditEmployeeInsuranceRecord - { - Id = _eir.Id, - EmployeeId = eir.EmployeeId, - WorkShopId = _eir.WorkShopId, - DateOfStart = _eir.DateOfStart.ToGeorgianDateTime(), - DateOfEnd = _eir.DateOfEnd == null ? null : _eir.DateOfEnd.ToGeorgianDateTime() - }; - operationResult = _employeeApplication.EditEmployeeInsuranceRecord(edit); - } - } - #endregion - - - //return Partial("./InsuranceRecords"); - operationResult.IsSuccedded = true; - - return new JsonResult(operationResult); - } - - public IActionResult OnPostCaldate(string dateOfstart, string dateOfend) - { - if (string.IsNullOrEmpty(dateOfend)) - { - dateOfend = (DateTime.Now).ToFarsi(); - } - var TotalDays = Tools.BetweenDateGeorgianToDay(dateOfstart.ToGeorgianDateTime(), dateOfend.ToGeorgianDateTime()); - return new JsonResult(TotalDays); - } - public IActionResult OnPostCaldatearr(List dateOfstart, List dateOfend) - { - int i = 0; - decimal TotalDays = 0; - foreach (var item in dateOfstart) - { - - if (string.IsNullOrEmpty(dateOfend[i])) - { - dateOfend[i] = (DateTime.Now).ToFarsi(); - } - if (!string.IsNullOrEmpty(item)) - { - TotalDays += Tools.BetweenDateGeorgianToDay(dateOfstart[i].ToGeorgianDateTime(), dateOfend[i].ToGeorgianDateTime()); - } - i++; - } - - var totalYears_ws = Math.Truncate(TotalDays / 365); - var totalMonths_ws = Math.Truncate((TotalDays % 365) / 30); - var remainingDays_ws = Math.Truncate((TotalDays % 365) % 30); - var result = new - { - TotalDays_ws = TotalDays, - totalYears_ws = totalYears_ws + " سال", - totalMonths_ws = totalMonths_ws + " ماه", - remainingDays_ws = remainingDays_ws + " روز" - }; - return new JsonResult(result); - - } - - - #region LeftWork - - - - public IActionResult OnGetLeftWork(long employeeId, string employeeName) - { - var permissionIds = _authHelper.GetPermissions(); - var search = new LeftWorkSearchModel() - { - EmployeeId = employeeId, - }; - var employee = _employeeApplication.GetDetails(employeeId); - var serachResult = _leftWorkApplication.SearchLeftWork(search); - var ListGroup = new List(); - if (serachResult.Count > 0) - { - var result = serachResult.GroupBy(c => c.WorkshopId) - .Select(c => c.First()) - .ToList(); - foreach (var item in result) - { - - #region personelcode - var personelSearchModel = new PersonnelCodeSearchModel(); - personelSearchModel.EmployeeId = item.EmployeeId; - personelSearchModel.WorkshopId = item.WorkshopId; - var personelcode = _personnelCodeApplication.GetPersonnelCodeViewModel(personelSearchModel); - #endregion - - int isActive = 0; - var leftWorkViewModels = serachResult.Where(x => x.WorkshopId == item.WorkshopId) - .OrderByDescending(x => x.StartWorkDateGr).ToList(); - int activeCount = leftWorkViewModels.Where(p => p.IsActiveWorkshop == true).Count(); - if (activeCount > 0) - { - isActive = 1; - } - var group = new LeftWorkGroup() - { - WorkshopId = item.WorkshopId, - WorkshopName = item.WorkshopName, - LeftWorkViewModels = leftWorkViewModels, - IsActiveWorkshop = isActive, - PersonnelCode = personelcode.PersonnelCode, - HasPersonelCode = personelcode.HasPersonelCode, - JobId = item.JobId, - IncludeStatus = item.IncludeStatus, - }; - ListGroup.Add(group); - } - } - - ListGroup = ListGroup.OrderByDescending(p => p.IsActiveWorkshop).ThenBy(p => p.WorkshopName).ToList(); - - var command = new LeftWorkDividedList() - { - EmployeeId = employeeId, - Workshops = new SelectList(_workShopApplication.GetWorkshopAll(), "Id", "WorkshopFullName"), - LeftWorkGroups = ListGroup, - EmployeeName = employee.EmployeeFullName, - PermissionIds = permissionIds - }; - - return Partial("./LeftWork", command); - } - - public IActionResult OnPostCreateLeftWork(LeftWorkDividedList command) - { - string message = string.Empty; - OperationResult endResult = new OperationResult(); - endResult.IsSuccedded = true; - //List results = new List(); - - if (!command.IsDelete && command.LeftWorkGroups == null || (command.LeftWorkGroups != null && command.LeftWorkGroups.Count == 0)) - { - return new JsonResult(new { endResult = endResult.Failed("پر کردن اطلاعات شرکت ضروری می باشد"), flag = "ok" }); - - } - if (endResult.IsSuccedded == true && command.PersonnelCode != null && command.PersonnelCode.Count > 0) - { - var personelcode = command.PersonnelCode.Where(x =>x.HasPersonelCode==false && x.PersonnelCode == 0).FirstOrDefault(); - if (personelcode != null) - { - return new JsonResult(new { endResult = endResult.Failed("شماره پرسنلی در کارگاه " + personelcode.WorkShopName + " نامعتبر است. "), flag = "ok" }); - } - } - if (endResult.IsSuccedded == true && command.LeftWorkGroups != null && command.LeftWorkGroups.Count > 0) - { - // int index = 0; - foreach (var item in command.LeftWorkGroups) - { - if (item.LeftWorkViewModels != null && item.LeftWorkViewModels.Count > 0) - { - var LeftWork = item.LeftWorkViewModels.Where(x => x.JobId == 0).FirstOrDefault(); - if (LeftWork != null) - { - return new JsonResult(new { endResult = endResult.Failed("سمت پرسنل در کارگاه " + LeftWork.WorkshopName + " انتخاب نشده است. "), flag = "ok" }); - } - } - else if(!command.IsDelete ) - { - return new JsonResult(new { endResult = endResult.Failed("پرکردن اطلاعات کارگاه " + item.WorkshopName + " ضروری می باشد، در غیر اینصورت کارگاه مورد نظر را حذف نمایید "), flag = "ok" }); - } - } - } - if (endResult.IsSuccedded == true && (!command.IsDelete && command.LeftWorkGroups != null && command.LeftWorkGroups.Count > 0) ||command.IsDelete) - { - string employeeFullName = _employeeApplication.GetDetails(command.EmployeeId).EmployeeFullName; - if (command.LeftWorkGroups != null) - { - endResult = _leftWorkApplication.CreateLeftWorkByLeftWorkGroups(employeeFullName,command.EmployeeId, command.PersonnelCode,command.LeftWorkGroups); - } - } - - if (command.IsDelete && command.LeftWorkGroups == null) - { - return new JsonResult(new { endResult = "ثبت با موفقیت انجام شد", flag = "ok" }); - } - return new JsonResult(new { endResult = endResult, flag = "ok" }); - } - - - public JsonResult OnPostDeleteLeftWorkWorkshop(long workshopId, long employeeId) - { - var delResult = _leftWorkApplication.RemoveAllLeftWork(workshopId, employeeId); - return new JsonResult(delResult); - } - - - - - - #endregion - - #region PersonelCode - public IActionResult OnPostGetPersonelCode(long workshopId, long employeeId) - { - var searchModel = new PersonnelCodeSearchModel(); - searchModel.WorkshopId = workshopId; - searchModel.EmployeeId = employeeId; - var personnelCode = _personnelCodeApplication.GetPersonnelCodeViewModel(searchModel); - - return new JsonResult(new - { - PersonnelCode = personnelCode.PersonnelCode, - HasPersonelCode = personnelCode.HasPersonelCode, - }); - } - #endregion - - #region WorkshopInformation - public IActionResult OnPostGetWorkshopInformation(long workshopId) - { - - var workshop = _workShopApplication.GetDetails(workshopId); - - return new JsonResult(new - { - AddBonusesPay = workshop.AddBonusesPay, - AddLeavePay = workshop.AddLeavePay, - AddYearsPay = workshop.AddYearsPay, - }); - } - #endregion - - public IActionResult OnPostJobListByWorkshopId(long workshopId) - { - var jobs = _jobApplication.GetJobListByWorkshopId(workshopId); - return new JsonResult(new - { - IsSuccedded = true, - jobList = jobs, - }); - } - public IActionResult OnPostJobListByText(string textSearch, long workshopId) - { - var jobs = _jobApplication.GetJobListByTextAndWorkshopId(textSearch, workshopId); - jobs = jobs.OrderBy(x => x.JobName.Length).ToList().Select(x => new JobViewModel() - { - Id = x.Id, - JobName = x.JobName, - JobCode = x.JobCode, - SearchResultTitle = x.JobName, - SearchResultCode = x.JobCode - - }).ToList(); - return new JsonResult(new - { - IsSuccedded = true, - jobList = jobs, - List = jobs, - }); - } - - public IActionResult OnPostJobByTextSearch(string textSearch) - { - var jobs = _jobApplication.GetJobListByText(textSearch); - - jobs = jobs.OrderBy(x => x.JobName.Length).ToList().Select(x => new JobViewModel() - { - Id = x.Id, - JobName = x.JobName, - JobCode = x.JobCode, - SearchResultTitle = x.JobName, - SearchResultCode = x.JobCode - - }).ToList(); - return new JsonResult(new - { - IsSuccedded = true, - List = jobs, - }); - } - public IActionResult OnPostCheckDeleteLeftWork(long workshopId,long employeeId,string date, int type) - { - var result = new OperationResult(); - if (!string.IsNullOrEmpty(date)) - { - result = _leftWorkApplication.CheckDeleteLeftWork(workshopId, employeeId, date, type); - - } - else - { - result.Succcedded(); - } - return new JsonResult(result); - } - - public IActionResult OnPostCheckDeleteLeftWorkInsurance(long workshopId,long employeeId,string date, int type) - { - var result = new OperationResult(); - if (!string.IsNullOrEmpty(date)) - { - result= _leftWorkInsuranceApplication.CheckDeleteLeftWorkInsurance(workshopId,employeeId,date, type); - } - else - { - result.Succcedded(); - } - return new JsonResult(result); - } - public IActionResult OnPostCheckEditLeftWorkInsurance(long workshopId, long employeeId, string date, int type) - { - var result = new OperationResult(); - if (!string.IsNullOrEmpty(date)) - { - result = _leftWorkInsuranceApplication.CheckEditLeftWorkInsurance(workshopId, employeeId, date, type); - } - else - { - result.Succcedded(); - } - return new JsonResult(result); - } - - public IActionResult OnPostCheckBeforeSaveLeftWorkInsurance(long workshopId, long employeeId, string date, int type) - { - var result = new OperationResult(); - if (!string.IsNullOrEmpty(date)) - { - result =_leftWorkInsuranceApplication.CheckBeforeSaveLeftWorkInsurance(workshopId, employeeId, date, type); - } - else - { - result.Succcedded(); - } - return new JsonResult(result); - } - - public IActionResult OnPostCheckEditLeftWork(long workshopId, long employeeId, string date, int type) - { - var result = new OperationResult(); - if (!string.IsNullOrEmpty(date)) - { - result = _leftWorkApplication.CheckEditLeftWork(workshopId, employeeId, date, type); - } - else - { - result.Succcedded(); - } - return new JsonResult(result); - } - - #region New by heydari - - public IActionResult OnGetWorkshopName(string searchText) - { - var result = _workShopApplication.GetWorkshopByTextSearch(searchText); - result = result.OrderBy(x => x.WorkshopFullName.Length).ToList(); - return new JsonResult(new - { - IsSuccedded = true, - mylist = result, - }); - } - public IActionResult OnGetEmployerName(string searchText) - { - var result = _employerApplication.GetEmployerWithFNameOrLName(searchText); - result = result.OrderBy(x => x.LName.Length).ToList(); - return new JsonResult(new - { - IsSuccedded = true, - mylist = result, - }); - } - #endregion - - - - } - -} + private readonly IAuthHelper _authHelper; + private readonly ICheckoutApplication _checkoutApplication; + private readonly ICheckoutRepository _checkoutRepository; + private readonly IContractApplication _contractApplication; + private readonly IContractRepository _contractRepository; + + private readonly IEmployeeApplication _employeeApplication; + private readonly IEmployeeChildrenApplication _employeeChildrenApplication; + private readonly IEmployerApplication _employerApplication; + private readonly IJobApplication _jobApplication; + private readonly ILeftWorkApplication _leftWorkApplication; + private readonly ILeftWorkInsuranceApplication _leftWorkInsuranceApplication; + private readonly IPersonnelCodeApplication _personnelCodeApplication; + private readonly IWebHostEnvironment _webHostEnvironment; + private readonly IWorkshopApplication _workShopApplication; + public List ChildrenList; + public string employeeFullName; + public List Employees; + public string EmployerFullName; + public List PersonnelList; + public EmployeeSearchModel SearchModel; + public string WorkshopFullName; + + + public IndexModel(IAuthHelper authHelper, IEmployeeApplication employeeApplication, + IEmployeeChildrenApplication employeeChildrenApplication, IWorkshopApplication workShopApplication, + IContractApplication contractApplication, IContractRepository contractRepository, + ICheckoutApplication checkoutApplication, ICheckoutRepository checkoutRepository, + IWebHostEnvironment webHostEnvironment, ILeftWorkInsuranceApplication leftWorkInsuranceApplication, + ILeftWorkApplication leftWorkApplication, IPersonnelCodeApplication personnelCodeApplication, + IJobApplication jobApplication, IEmployerApplication employerApplication) + { + _employeeApplication = employeeApplication; + _employeeChildrenApplication = employeeChildrenApplication; + _workShopApplication = workShopApplication; + _contractApplication = contractApplication; + _contractRepository = contractRepository; + _checkoutApplication = checkoutApplication; + _checkoutRepository = checkoutRepository; + _webHostEnvironment = webHostEnvironment; + _leftWorkInsuranceApplication = leftWorkInsuranceApplication; + _leftWorkApplication = leftWorkApplication; + _personnelCodeApplication = personnelCodeApplication; + _jobApplication = jobApplication; + _employerApplication = employerApplication; + _authHelper = authHelper; + } + + [TempData] public string Message { get; set; } + //public string LName; + + [BindProperty] public List listArray { get; set; } + + public void OnGet(EmployeeSearchModel searchModel) + { + Employees = _employeeApplication.SearchForMain(searchModel); + + if (searchModel.Id > 0) + employeeFullName = Employees.Select(x => x.EmployeeFullName).FirstOrDefault(); + else + employeeFullName = searchModel.EmployeeName; + + if (searchModel.WorkshopId > 0) + { + var workshop = _workShopApplication.GetDetails(searchModel.WorkshopId); + WorkshopFullName = workshop.WorkshopFullName; + } + else + { + WorkshopFullName = searchModel.WorkshopName; + } + + + if (searchModel.EmployerId > 0) + { + var employer = _employerApplication.GetDetails(searchModel.EmployerId); + EmployerFullName = employer.IsLegal == "حقیقی" ? employer.FName + " " + employer.LName : employer.LName; + ; + } + else + { + EmployerFullName = searchModel.EmployerLName; + } + } + + //public async Task OnGet(EmployeeSearchModel searchModel) + //{ + // Employees = await _employeeApplication.Search(searchModel); + // if (searchModel.Id > 0) + // { + // employeeFullName = Employees.Select(x => x.EmployeeFullName).FirstOrDefault(); + // } + //} + + #region newEmployeeSearch + + public async Task OnGetPersonelMainList(string searchEmployee) + { + PersonnelList = await _employeeApplication.GetEmployeeToList(); + var person = PersonnelList.Where(x => x.EmployeeFullName.Contains(searchEmployee)).Take(200).ToList(); + person = person.OrderBy(x => x.EmployeeFullName.Length).ToList(); + + //var person = await _employeeApplication.GetEmployeeToList(); + + return new JsonResult(new + { + IsSuccedded = true, + mylist = person + }); + } + + #endregion + + #region stroredProcedure + + public IActionResult OnPostSerachEmployeeByText(string textSearch) + { + var emplyoeeList = _employeeApplication.GetEmployeeByTextSearch(textSearch); + return new JsonResult(new + { + IsSuccedded = true, + empList = emplyoeeList + }); + } + + #endregion + + public IActionResult OnGetCreate() + { + return Partial("./Create"); + } + + public IActionResult OnPostCreate(CreateEmployee command) + { + var children = command.CreateEmployeChildrenList.Count(x => x.DateOfBirth != null); + command.NumberOfChildren = children.ToString(); + var result = _employeeApplication.Create(command); + Thread.Sleep(1000); + + if (result.IsSuccedded) + for (var i = 0; i <= children - 1; i++) + if (command.CreateEmployeChildrenList[i].DateOfBirth != null) + { + var child = new CreateEmployeChildren + { + ParentNationalCode = command.NationalCode, + DateOfBirth = command.CreateEmployeChildrenList[i].DateOfBirth, + FName = command.CreateEmployeChildrenList[i].FName, + EmployeeId = result.SendId + }; + _employeeChildrenApplication.Create(child); + } + + return new JsonResult(result); + } + + + public IActionResult OnGetEdit(long id) + { + var employee = _employeeApplication.GetDetails(id); + employee.EditEmployeChildrenList = _employeeChildrenApplication.GetChildren(employee.Id); + + return Partial("Edit", employee); + } + + public JsonResult OnPostEdit(EditEmployee command) + { + var childrenEdit = 0; + var children = 0; + if (ModelState.IsValid) + { + } + + if (command.CreateEmployeChildrenList != null) + children = command.CreateEmployeChildrenList.Count(x => x.DateOfBirth != null); + + if (command.EditEmployeChildrenList != null) + childrenEdit = command.EditEmployeChildrenList.Count(x => x.DateOfBirth != null); + + //if (children > 0) + //{ + // var oldChildrenNumber = Convert.ToInt32(command.NumberOfChildren); + // var sumChildren = oldChildrenNumber + children; + // command.NumberOfChildren = sumChildren.ToString(); + //} + + + var result = _employeeApplication.Edit(command); + Thread.Sleep(1000); + if (result.IsSuccedded) + { + for (var i = 0; i <= childrenEdit - 1; i++) + if (command.EditEmployeChildrenList != null && command.EditEmployeChildrenList[i].DateOfBirth != null) + { + var child = new EditEmployeeChildren + { + ParentNationalCode = command.NationalCode, + DateOfBirth = command.EditEmployeChildrenList[i].DateOfBirth, + FName = command.EditEmployeChildrenList[i].FName, + EmployeeId = command.Id, + Id = command.EditEmployeChildrenList[i].Id, + IsRemoved = command.EditEmployeChildrenList[i].IsRemoved + }; + _employeeChildrenApplication.Edit(child); + } + + for (var i = 0; i <= children - 1; i++) + if (command.CreateEmployeChildrenList != null && + command.CreateEmployeChildrenList[i].DateOfBirth != null) + { + var child = new CreateEmployeChildren + { + EmployeeId = command.Id, + ParentNationalCode = command.NationalCode, + DateOfBirth = command.CreateEmployeChildrenList[i].DateOfBirth, + FName = command.CreateEmployeChildrenList[i].FName + }; + _employeeChildrenApplication.Create(child); + } + } + + var childrenCunt = _employeeChildrenApplication.GetChildren(command.Id).Count; + command.NumberOfChildren = childrenCunt.ToString(); + _employeeApplication.Edit(command); + return new JsonResult(result); + } + + public IActionResult OnGetDetails(long id) + { + var emp = _employeeApplication.GetDetails(id); + emp.CreateEmployeChildrenList = _employeeChildrenApplication.GetChildren(id); + + var path = "profilePhotos"; + var directoryPath = $"{_webHostEnvironment.WebRootPath}\\ProductPictures\\{path}"; + //string TestPath = "D:\\"; + var odbf = new DbfFile(Encoding.GetEncoding(1256)); + odbf.Open(Path.Combine(directoryPath, "DSKKAR00.dbf"), FileMode.Create); + //کد کارگاه + odbf.Header.AddColumn(new DbfColumn("DSK_ID", DbfColumn.DbfColumnType.Character, 10, 0)); + //نام کارگاه + odbf.Header.AddColumn(new DbfColumn("DSK_NAME", DbfColumn.DbfColumnType.Character, 100, 0)); + //نام کارفرما + odbf.Header.AddColumn(new DbfColumn("DSK_FARM", DbfColumn.DbfColumnType.Character, 100, 0)); + //نام آدرس + odbf.Header.AddColumn(new DbfColumn("DSK_ADRS", DbfColumn.DbfColumnType.Character, 100, 0)); + //نوع لیست + odbf.Header.AddColumn(new DbfColumn("DSK_KIND", DbfColumn.DbfColumnType.Number, 1, 0)); + //سال عملکرد + odbf.Header.AddColumn(new DbfColumn("DSK_YY", DbfColumn.DbfColumnType.Number, 2, 0)); + //ماه عملکرد + odbf.Header.AddColumn(new DbfColumn("DSK_MM", DbfColumn.DbfColumnType.Number, 2, 0)); + //شماره لیست + odbf.Header.AddColumn(new DbfColumn("DSK_LISTNO", DbfColumn.DbfColumnType.Character, 12, 0)); + //شرح لیست + odbf.Header.AddColumn(new DbfColumn("DSK_DISC", DbfColumn.DbfColumnType.Character, 100, 0)); + //تعداد کارکنان + odbf.Header.AddColumn(new DbfColumn("DSK_NUM", DbfColumn.DbfColumnType.Number, 5, 0)); + //تعداد کارکنان + odbf.Header.AddColumn(new DbfColumn("DSK_TDD", DbfColumn.DbfColumnType.Number, 6, 0)); + //مجموع دستمزد روزانه + odbf.Header.AddColumn(new DbfColumn("DSK_TROOZ", DbfColumn.DbfColumnType.Number, 12, 0)); + //مجموع دستمزد ماهانه + odbf.Header.AddColumn(new DbfColumn("DSK_TMAH", DbfColumn.DbfColumnType.Number, 12, 0)); + //مجموع مزایای ماهانه + odbf.Header.AddColumn(new DbfColumn("DSK_TMAZ", DbfColumn.DbfColumnType.Number, 12, 0)); + //مجموع دستمزد و مزایای ماهانه مشمول + odbf.Header.AddColumn(new DbfColumn("DSK_TMASH", DbfColumn.DbfColumnType.Number, 12, 0)); + // مجموع کل دستمزد و مزایای ماهانه مشمول و غیر مشمول + odbf.Header.AddColumn(new DbfColumn("DSK_TTOTL", DbfColumn.DbfColumnType.Number, 12, 0)); + //مجموع حق بیمه سهم بیمه شده + odbf.Header.AddColumn(new DbfColumn("DSK_TBIME", DbfColumn.DbfColumnType.Number, 12, 0)); + //مجموع حق بیمه سهم کارفرما + odbf.Header.AddColumn(new DbfColumn("DSK_TKOSO", DbfColumn.DbfColumnType.Number, 12, 0)); + //مجموع حق بیمه بیکاری + odbf.Header.AddColumn(new DbfColumn("DSK_BIC", DbfColumn.DbfColumnType.Number, 12, 0)); + //نرخ حق بیمه + odbf.Header.AddColumn(new DbfColumn("DSK_RATE", DbfColumn.DbfColumnType.Number, 5, 0)); + //نرخ پورسانتاژ + odbf.Header.AddColumn(new DbfColumn("DSK_PRATE", DbfColumn.DbfColumnType.Number, 2, 0)); + //نرخ مشاغل سخت زیان آور + odbf.Header.AddColumn(new DbfColumn("DSK_BIMH", DbfColumn.DbfColumnType.Number, 12, 0)); + //ردیف پیمان + odbf.Header.AddColumn(new DbfColumn("MON_PYM", DbfColumn.DbfColumnType.Character, 3, 0)); + var orec = new DbfRecord(odbf.Header); + //کد کارگاه + orec[0] = GetSpecifiedCharactes("9008289145", 10); + orec[1] = GetSpecifiedCharactes("ریواس سیستم پارس", 100).ToIranSystem(); + orec[2] = GetSpecifiedCharactes("ریواس سیستم پارس", 100).ToIranSystem(); + orec[3] = GetSpecifiedCharactes( + "رشت - بلوار شهدای گمنام - کوچه شهید علی قربانی - ساختمان پیام نور - طبقه اول واحد 2", 100).ToIranSystem(); + // نوع لیست + orec[4] = "0"; + //سال + orec[5] = "2"; + //ماه + orec[6] = "2"; + //شماره لیست + orec[7] = GetSpecifiedCharactes("01", 12); + //شرح لیست + orec[8] = GetSpecifiedCharactes("", 100).ToIranSystem(); + //تعداد کرکنان + orec[9] = "3"; + //مجموع روزهای کارکرد + orec[10] = "93"; + //مجموع دستمزد روزانه + orec[11] = "5308284"; + //مجموع دستمزد ماهانه + orec[12] = "164556804"; + //مجموع مزایای ماهانه مشمول + orec[13] = "60000000"; + //مجموع دستمزد و مزایای ماهانه مشمول + orec[14] = "224556804"; + //مجموع کل دستمزد و مزایای ماهانه مشمول و غیر مشمول + orec[15] = "224556804"; + // مجموع حق بیمه سهم بیمه شده + orec[16] = "15718977"; + //مجموع حق بیمه سهم کارفرما + orec[17] = "44911361"; + //مجموع حق بیمه بیکاری + orec[18] = "6736704"; + //نرخ حق بیمه + orec[19] = "23"; + //نرخ پورسانتاژ + orec[20] = "0"; + //نرخ مشاغل سخت زیان آور + orec[21] = "0"; + //ردیف پیمان + orec[22] = GetSpecifiedCharactes("000", 12); + + + odbf.Write(orec); + //odbf.Header.RecordCount = 50; + odbf.WriteHeader(); + + odbf.Close(); + + //لیست پرسنل + var dsw = new DbfFile(Encoding.GetEncoding(1256)); + dsw.Open(Path.Combine(directoryPath, "DSKWOR00.dbf"), FileMode.Create); + //کد کارگاه + dsw.Header.AddColumn(new DbfColumn("DSW_ID", DbfColumn.DbfColumnType.Character, 10, 0)); + //سال عملکرد + dsw.Header.AddColumn(new DbfColumn("DSW_YY", DbfColumn.DbfColumnType.Number, 2, 0)); + //ماه عملکرد + dsw.Header.AddColumn(new DbfColumn("DSW_MM", DbfColumn.DbfColumnType.Number, 2, 0)); + //شماره لیست + dsw.Header.AddColumn(new DbfColumn("DSW_LISTNO", DbfColumn.DbfColumnType.Character, 12, 0)); + //شماره بیمه + dsw.Header.AddColumn(new DbfColumn("DSW_ID1", DbfColumn.DbfColumnType.Character, 10, 0)); + // نام + dsw.Header.AddColumn(new DbfColumn("DSW_FNAME", DbfColumn.DbfColumnType.Character, 100, 0)); + // نام خانوادگی + dsw.Header.AddColumn(new DbfColumn("DSW_LNAME", DbfColumn.DbfColumnType.Character, 100, 0)); + //نام پدر + dsw.Header.AddColumn(new DbfColumn("DSW_DNAME", DbfColumn.DbfColumnType.Character, 100, 0)); + // شماره شناسنامه + dsw.Header.AddColumn(new DbfColumn("DSW_IDNO", DbfColumn.DbfColumnType.Character, 15, 0)); + // محل صدور + dsw.Header.AddColumn(new DbfColumn("DSW_IDPLC", DbfColumn.DbfColumnType.Character, 100, 0)); + // تاریخ صدور + dsw.Header.AddColumn(new DbfColumn("DSW_IDATE", DbfColumn.DbfColumnType.Character, 8, 0)); + // تاریخ تولد + dsw.Header.AddColumn(new DbfColumn("DSW_BDATE", DbfColumn.DbfColumnType.Character, 8, 0)); + // جنسیت + dsw.Header.AddColumn(new DbfColumn("DSW_SEX", DbfColumn.DbfColumnType.Character, 3, 0)); + // ملیت + dsw.Header.AddColumn(new DbfColumn("DSW_NAT", DbfColumn.DbfColumnType.Character, 10, 0)); + // شرح شغل + dsw.Header.AddColumn(new DbfColumn("DSW_OCP", DbfColumn.DbfColumnType.Character, 100, 0)); + // تاریخ شروع بکار + dsw.Header.AddColumn(new DbfColumn("DSW_SDATE", DbfColumn.DbfColumnType.Character, 8, 0)); + // تاریخ ترک کار + dsw.Header.AddColumn(new DbfColumn("DSW_EDATE", DbfColumn.DbfColumnType.Character, 8, 0)); + // تعداد روزهای کارکرد + dsw.Header.AddColumn(new DbfColumn("DSW_DD", DbfColumn.DbfColumnType.Number, 2, 0)); + // دستمزد روزانه + dsw.Header.AddColumn(new DbfColumn("DSW_ROOZ", DbfColumn.DbfColumnType.Number, 12, 0)); + // دستمزد ماهانه + dsw.Header.AddColumn(new DbfColumn("DSW_MAH", DbfColumn.DbfColumnType.Number, 12, 0)); + // مزایای ماهانه + dsw.Header.AddColumn(new DbfColumn("DSW_MAZ", DbfColumn.DbfColumnType.Number, 12, 0)); + // جمع دستمزد و مزایای ماهانه مشمول + dsw.Header.AddColumn(new DbfColumn("DSW_MASH", DbfColumn.DbfColumnType.Number, 12, 0)); + // جمع کل دستمزد و مزایای ماهانه + dsw.Header.AddColumn(new DbfColumn("DSW_TOTL", DbfColumn.DbfColumnType.Number, 12, 0)); + //حق بیمه سهم بیمه شده + dsw.Header.AddColumn(new DbfColumn("DSW_BIME", DbfColumn.DbfColumnType.Number, 12, 0)); + //نرخ پورسانتاژ + dsw.Header.AddColumn(new DbfColumn("DSW_PRATE", DbfColumn.DbfColumnType.Number, 2, 0)); + // کد شغل + dsw.Header.AddColumn(new DbfColumn("DSW_JOB", DbfColumn.DbfColumnType.Character, 6, 0)); + // کد ملی + dsw.Header.AddColumn(new DbfColumn("PER_NATCOD", DbfColumn.DbfColumnType.Character, 10, 0)); + + + var dswrec = new DbfRecord(dsw.Header); + //کد کارگاه + dswrec[0] = GetSpecifiedCharactes("9008289145", 10); + //سال + dswrec[1] = "2"; + //ماه + dswrec[2] = "2"; + //شماره لیست + dswrec[3] = GetSpecifiedCharactes("01", 12); + //شماره بیمه + dswrec[4] = GetSpecifiedCharactes("48071464", 8); + // نام + dswrec[5] = GetSpecifiedCharactes("راضیه", 100).ToIranSystem(); + //خانوادگی نام + dswrec[6] = GetSpecifiedCharactes("پیردهقان", 100).ToIranSystem(); + //پدر نام + dswrec[7] = GetSpecifiedCharactes("غلام", 100).ToIranSystem(); + //شماره شناسنامه + dswrec[8] = "2650230614"; + //محل صدور + dswrec[9] = GetSpecifiedCharactes("رشت", 100).ToIranSystem(); + ; + //تاریخ صدور + dswrec[10] = "13770805"; + //تاریخ تولد + dswrec[11] = "13770721"; + //جنسیت + dswrec[12] = GetSpecifiedCharactes("زن", 3).ToIranSystem(); + //ملیت + dswrec[13] = GetSpecifiedCharactes("ایرانی", 10).ToIranSystem(); + //شرح شغل + dswrec[14] = GetSpecifiedCharactes("کارشناس نرم افزار کامپیوتر", 100).ToIranSystem(); + //تاریخ شروع بکار + dswrec[15] = "14000201"; + //تاریخ ترک کار + dswrec[16] = ""; + //تعداد روزهای کارکرد + dswrec[17] = "31"; + //دستمزد روزانه + dswrec[18] = "1769428"; + //دستمزد مااهانه + dswrec[19] = "54852268"; + //مزایای ماهانه + dswrec[20] = "20000000"; + //دستمزد و مزایای ماهانه مشمول + dswrec[21] = "74852268"; + //جمع کل دستمزد و مزایای ماهانه مسمول غیرمشمول + dswrec[22] = "74852268"; + //حق بیمه سهم بیمه شده + dswrec[23] = "5239659"; + //نرخ پورسانتاژ + dswrec[24] = "0"; + //کد شغل + dswrec[25] = "033022"; + //کد ملی + dswrec[26] = "2650230614"; + + dsw.Write(dswrec); + + + var dswrec2 = new DbfRecord(dsw.Header); + //کد کارگاه + dswrec2[0] = GetSpecifiedCharactes("9008289145", 10); + //سال + dswrec2[1] = "2"; + //ماه + dswrec2[2] = "2"; + //شماره لیست + dswrec2[3] = GetSpecifiedCharactes("01", 12); + //شماره بیمه + dswrec2[4] = GetSpecifiedCharactes("34157806", 8); + // نام + dswrec2[5] = GetSpecifiedCharactes("پیمان", 100).ToIranSystem(); + //خانوادگی نام + dswrec2[6] = GetSpecifiedCharactes("افشاری بجاربنه", 100).ToIranSystem(); + //پدر نام + dswrec2[7] = GetSpecifiedCharactes("علیرضا", 100).ToIranSystem(); + //شماره شناسنامه + dswrec2[8] = "2580900713"; + //محل صدور + dswrec2[9] = GetSpecifiedCharactes("رشت", 100).ToIranSystem(); + ; + //تاریخ صدور + dswrec2[10] = ""; + //تاریخ تولد + dswrec2[11] = "13750229"; + //جنسیت + dswrec2[12] = GetSpecifiedCharactes("مرد", 3).ToIranSystem(); + //ملیت + dswrec2[13] = GetSpecifiedCharactes("ایرانی", 10).ToIranSystem(); + //شرح شغل + dswrec2[14] = GetSpecifiedCharactes("کارشناس نرم افزار کامپیوتر", 100).ToIranSystem(); + //تاریخ شروع بکار + dswrec2[15] = "14010701"; + //تاریخ ترک کار + dswrec2[16] = ""; + //تعداد روزهای کارکرد + dswrec2[17] = "31"; + //دستمزد روزانه + dswrec2[18] = "1769428"; + //دستمزد مااهانه + dswrec2[19] = "54852268"; + //مزایای ماهانه + dswrec2[20] = "20000000"; + //دستمزد و مزایای ماهانه مشمول + dswrec2[21] = "74852268"; + //جمع کل دستمزد و مزایای ماهانه مسمول غیرمشمول + dswrec2[22] = "74852268"; + //حق بیمه سهم بیمه شده + dswrec2[23] = "5239659"; + //نرخ پورسانتاژ + dswrec2[24] = "0"; + //کد شغل + dswrec2[25] = "033022"; + //کد ملی + dswrec2[26] = "2580900713"; + + dsw.Write(dswrec2); + + + var dswrec3 = new DbfRecord(dsw.Header); + //کد کارگاه + dswrec3[0] = GetSpecifiedCharactes("9008289145", 10); + //سال + dswrec3[1] = "2"; + //ماه + dswrec3[2] = "2"; + //شماره لیست + dswrec3[3] = GetSpecifiedCharactes("01", 12); + //شماره بیمه + dswrec3[4] = GetSpecifiedCharactes("48076618", 8); + // نام + dswrec3[5] = GetSpecifiedCharactes("فاطمه", 100).ToIranSystem(); + //خانوادگی نام + dswrec3[6] = GetSpecifiedCharactes("پادکان", 100).ToIranSystem(); + //پدر نام + dswrec3[7] = GetSpecifiedCharactes("محمدفرشاد", 100).ToIranSystem(); + //شماره شناسنامه + dswrec3[8] = "2581230231"; + //محل صدور + dswrec3[9] = GetSpecifiedCharactes("رشت", 100).ToIranSystem(); + ; + //تاریخ صدور + dswrec3[10] = ""; + //تاریخ تولد + dswrec3[11] = "13780926"; + //جنسیت + dswrec3[12] = GetSpecifiedCharactes("زن", 3).ToIranSystem(); + //ملیت + dswrec3[13] = GetSpecifiedCharactes("ایرانی", 10).ToIranSystem(); + //شرح شغل + dswrec3[14] = GetSpecifiedCharactes("کارشناس نرم افزار کامپیوتر", 100).ToIranSystem(); + //تاریخ شروع بکار + dswrec3[15] = "14010701"; + //تاریخ ترک کار + dswrec3[16] = ""; + //تعداد روزهای کارکرد + dswrec3[17] = "31"; + //دستمزد روزانه + dswrec3[18] = "1769428"; + //دستمزد مااهانه + dswrec3[19] = "54852268"; + //مزایای ماهانه + dswrec3[20] = "20000000"; + //دستمزد و مزایای ماهانه مشمول + dswrec3[21] = "74852268"; + //جمع کل دستمزد و مزایای ماهانه مسمول غیرمشمول + dswrec3[22] = "74852268"; + //حق بیمه سهم بیمه شده + dswrec3[23] = "5239659"; + //نرخ پورسانتاژ + dswrec3[24] = "0"; + //کد شغل + dswrec3[25] = "001094"; + //کد ملی + dswrec3[26] = "2581230231"; + + dsw.Write(dswrec3); + + dsw.WriteHeader(); + + dsw.Close(); + + + return Partial("Details", emp); + } + + private string GetSpecifiedCharactes(string str, int MaxLength) + { + return str.Length <= MaxLength ? str : str.Substring(0, MaxLength); + } + + public IActionResult OnGetDeActive(long id) + { + var result = _employeeApplication.DeActive(id); + if (result.IsSuccedded) + return RedirectToPage("./Index"); + Message = result.Message; + return RedirectToPage("./Index"); + } + + public IActionResult OnGetIsActive(long id) + { + var result = _employeeApplication.Active(id); + if (result.IsSuccedded) + return RedirectToPage("./Index"); + Message = result.Message; + return RedirectToPage("./Index"); + } + + public IActionResult OnGetInsuranceRecords(long employeeId) + { + var editEIR = new EditEmployeeInsuranceRecord(); + editEIR.WorkshopSelectList = new SelectList(_workShopApplication.GetWorkshopAll(), "Id", "WorkshopFullName"); + editEIR.EmployeeId = employeeId; + editEIR.employeeInsuranceRecordViewModels = _employeeApplication + .SearchInsuranceRecord(new EmployeeInsuranceRecordSearchModel { EmployeeId = employeeId }) + .OrderByDescending(x => x.Workshop.IsActiveString).ToList(); + + + var emp = _employeeApplication.GetDetails(employeeId); + var fullname = string.Join(" ", emp.FName, emp.LName, "(" + emp.NationalCode + ")"); + + return Partial("./InsuranceRecords", editEIR); + } + + public IActionResult OnPostInsuranceRecords(EditEmployeeInsuranceRecord eir) + { + var operationResult = new OperationResult(); + + + var ids_Exist = new List(); + + #region Validation + + operationResult = _employeeApplication.ValidationEmployeeCompleteItem(eir.EmployeeId); + if (!operationResult.IsSuccedded) return new JsonResult(operationResult); + + var eir_lst = new List(); + + if (eir.employeeInsuranceRecordViewModels != null) + foreach (var _eir in eir.employeeInsuranceRecordViewModels) + { + operationResult = _employeeApplication.ValidationEmployeeInsuranceRecord(_eir); + if (!operationResult.IsSuccedded) return new JsonResult(operationResult); + var create = new CreateEmployeeInsuranceRecord + { + EmployeeId = eir.EmployeeId, + WorkShopId = _eir.WorkShopId, + DateOfStart = _eir.DateOfStart.ToGeorgianDateTime(), + DateOfEnd = _eir.DateOfEnd == null ? null : _eir.DateOfEnd.ToGeorgianDateTime() + }; + eir_lst.Add(create); + } + + operationResult = _employeeApplication.ValidationEmployeeInsuranceRecord(eir_lst); + if (!operationResult.IsSuccedded) return new JsonResult(operationResult); + + #endregion + + #region Remove Items + + try + { + if (eir.employeeInsuranceRecordViewModels != null) + foreach (var _eir in eir.employeeInsuranceRecordViewModels) + if (_eir.Id == 0) //new + { + } + else //Exist + { + ids_Exist.Add(_eir.Id); + } + + var exist = _employeeApplication.SearchInsuranceRecord(new EmployeeInsuranceRecordSearchModel + { EmployeeId = eir.EmployeeId }); + if (exist != null) + foreach (var item in exist) + if (ids_Exist.Count != 0) + { + if (!ids_Exist.Contains(item.Id)) _employeeApplication.RemoveEmployeeInsuranceRecord(item.Id); + } + else + { + _employeeApplication.RemoveEmployeeInsuranceRecord(item.Id); + } + } + catch (Exception) + { + return new JsonResult(operationResult); + } + + #endregion + + + #region Create_Edit + + if (eir.employeeInsuranceRecordViewModels != null) + foreach (var _eir in eir.employeeInsuranceRecordViewModels) + if (_eir.Id == 0) //Create + { + var create = new CreateEmployeeInsuranceRecord + { + EmployeeId = eir.EmployeeId, + WorkShopId = _eir.WorkShopId, + DateOfStart = _eir.DateOfStart.ToGeorgianDateTime(), + DateOfEnd = _eir.DateOfEnd == null ? null : _eir.DateOfEnd.ToGeorgianDateTime() + }; + operationResult = _employeeApplication.CreateEmployeeInsuranceRecord(create); + } + else //Edit + { + var edit = new EditEmployeeInsuranceRecord + { + Id = _eir.Id, + EmployeeId = eir.EmployeeId, + WorkShopId = _eir.WorkShopId, + DateOfStart = _eir.DateOfStart.ToGeorgianDateTime(), + DateOfEnd = _eir.DateOfEnd == null ? null : _eir.DateOfEnd.ToGeorgianDateTime() + }; + operationResult = _employeeApplication.EditEmployeeInsuranceRecord(edit); + } + + #endregion + + + //return Partial("./InsuranceRecords"); + operationResult.IsSuccedded = true; + + return new JsonResult(operationResult); + } + + public IActionResult OnPostCaldate(string dateOfstart, string dateOfend) + { + if (string.IsNullOrEmpty(dateOfend)) dateOfend = DateTime.Now.ToFarsi(); + var TotalDays = + Tools.BetweenDateGeorgianToDay(dateOfstart.ToGeorgianDateTime(), dateOfend.ToGeorgianDateTime()); + return new JsonResult(TotalDays); + } + + public IActionResult OnPostCaldatearr(List dateOfstart, List dateOfend) + { + var i = 0; + decimal TotalDays = 0; + foreach (var item in dateOfstart) + { + if (string.IsNullOrEmpty(dateOfend[i])) dateOfend[i] = DateTime.Now.ToFarsi(); + if (!string.IsNullOrEmpty(item)) + TotalDays += Tools.BetweenDateGeorgianToDay(dateOfstart[i].ToGeorgianDateTime(), + dateOfend[i].ToGeorgianDateTime()); + i++; + } + + var totalYears_ws = Math.Truncate(TotalDays / 365); + var totalMonths_ws = Math.Truncate(TotalDays % 365 / 30); + var remainingDays_ws = Math.Truncate(TotalDays % 365 % 30); + var result = new + { + TotalDays_ws = TotalDays, + totalYears_ws = totalYears_ws + " سال", + totalMonths_ws = totalMonths_ws + " ماه", + remainingDays_ws = remainingDays_ws + " روز" + }; + return new JsonResult(result); + } + + #region PersonelCode + + public IActionResult OnPostGetPersonelCode(long workshopId, long employeeId) + { + var searchModel = new PersonnelCodeSearchModel(); + searchModel.WorkshopId = workshopId; + searchModel.EmployeeId = employeeId; + var personnelCode = _personnelCodeApplication.GetPersonnelCodeViewModel(searchModel); + + return new JsonResult(new + { + personnelCode.PersonnelCode, personnelCode.HasPersonelCode + }); + } + + #endregion + + #region WorkshopInformation + + public IActionResult OnPostGetWorkshopInformation(long workshopId) + { + var workshop = _workShopApplication.GetDetails(workshopId); + + return new JsonResult(new + { + workshop.AddBonusesPay, + workshop.AddLeavePay, + workshop.AddYearsPay + }); + } + + #endregion + + public IActionResult OnPostJobListByWorkshopId(long workshopId) + { + var jobs = _jobApplication.GetJobListByWorkshopId(workshopId); + return new JsonResult(new + { + IsSuccedded = true, + jobList = jobs + }); + } + + public IActionResult OnPostJobListByText(string textSearch, long workshopId) + { + var jobs = _jobApplication.GetJobListByTextAndWorkshopId(textSearch, workshopId); + jobs = jobs.OrderBy(x => x.JobName.Length).ToList().Select(x => new JobViewModel + { + Id = x.Id, + JobName = x.JobName, + JobCode = x.JobCode, + SearchResultTitle = x.JobName, + SearchResultCode = x.JobCode + }).ToList(); + return new JsonResult(new + { + IsSuccedded = true, + jobList = jobs, + List = jobs + }); + } + + public IActionResult OnPostJobByTextSearch(string textSearch) + { + var jobs = _jobApplication.GetJobListByText(textSearch); + + jobs = jobs.OrderBy(x => x.JobName.Length).ToList().Select(x => new JobViewModel + { + Id = x.Id, + JobName = x.JobName, + JobCode = x.JobCode, + SearchResultTitle = x.JobName, + SearchResultCode = x.JobCode + }).ToList(); + return new JsonResult(new + { + IsSuccedded = true, + List = jobs + }); + } + + public IActionResult OnPostCheckDeleteLeftWork(long workshopId, long employeeId, string date, int type) + { + var result = new OperationResult(); + if (!string.IsNullOrEmpty(date)) + result = _leftWorkApplication.CheckDeleteLeftWork(workshopId, employeeId, date, type); + else + result.Succcedded(); + return new JsonResult(result); + } + + public IActionResult OnPostCheckDeleteLeftWorkInsurance(long workshopId, long employeeId, string date, int type) + { + var result = new OperationResult(); + if (!string.IsNullOrEmpty(date)) + result = _leftWorkInsuranceApplication.CheckDeleteLeftWorkInsurance(workshopId, employeeId, date, type); + else + result.Succcedded(); + return new JsonResult(result); + } + + public IActionResult OnPostCheckEditLeftWorkInsurance(long workshopId, long employeeId, string date, int type) + { + var result = new OperationResult(); + if (!string.IsNullOrEmpty(date)) + result = _leftWorkInsuranceApplication.CheckEditLeftWorkInsurance(workshopId, employeeId, date, type); + else + result.Succcedded(); + return new JsonResult(result); + } + + public IActionResult OnPostCheckBeforeSaveLeftWorkInsurance(long workshopId, long employeeId, string date, int type) + { + var result = new OperationResult(); + if (!string.IsNullOrEmpty(date)) + result = _leftWorkInsuranceApplication.CheckBeforeSaveLeftWorkInsurance(workshopId, employeeId, date, type); + else + result.Succcedded(); + return new JsonResult(result); + } + + public IActionResult OnPostCheckEditLeftWork(long workshopId, long employeeId, string date, int type) + { + var result = new OperationResult(); + if (!string.IsNullOrEmpty(date)) + result = _leftWorkApplication.CheckEditLeftWork(workshopId, employeeId, date, type); + else + result.Succcedded(); + return new JsonResult(result); + } + + #region CopyPsCode + + public IActionResult OnGetCopyAllPsCode() + { + return Partial("./CopyPersonnelCode"); + } + + public IActionResult OnGetCopyPersonnelCode() + { + var workshops = _workShopApplication.GetWorkshop(); + foreach (var workshop in workshops) + { + var a = new ContractSearchModel + { + WorkshopIds = workshop.Id, + EmployeeId = 0, + EditPersonnelCode = true + }; + var ContractSearch = _contractApplication.Search(a); + var result = ContractSearch.GroupBy(c => c.PersonnelCode) + .Select(c => c.First()) + .ToList(); + var finalresult = result.OrderBy(x => x.PersonnelCode).ToList(); + foreach (var contract in finalresult) + { + var command = new CreatePersonnelCode + { + WorkshopId = contract.WorkshopIds, + EmployeeId = contract.EmployeeId, + PersonnelCode = contract.PersonnelCode + }; + + var res = _personnelCodeApplication.Create(command); + + //pscode= $"{contract.PersonnelCode}"; + //emp = contract.EmployeeName; + //wk = contract.WorkshopName; + + Console.WriteLine( + $"{res.IsSuccedded} [archiveCode: {contract.ArchiveCode}] personel code : {contract.PersonnelCode}"); + Thread.Sleep(200); + } + } + + + return new JsonResult(new + { + success = true + }); + } + + #endregion + + #region CodeChange + + public IActionResult OnPostCheck(ExtensionViewModel command) + { + var a = command.ConvertYear; + var b = command.ConvertMonth; + + + var op = new OperationResult(); + if (command.ContractsId == null) + { + op = op.Failed("هیچ قراردادی برای تمدید انتخاب نشده است"); + + return new JsonResult(op); + } + + op = op.Succcedded(); + return new JsonResult(op); + } + + public IActionResult OnGetLoadContracts(long workshopId, long employeeId) + { + var contractListResult = new List(); + var LeftWorkSerchModel = new LeftWorkSearchModel + { + WorkshopId = workshopId, + EmployeeId = employeeId + }; + + + var LeftWorkList = _leftWorkApplication.search(LeftWorkSerchModel); + var newContractList = new List(); + if (LeftWorkList.Count > 0) + { + var personelList = LeftWorkList.GroupBy(x => x.EmployeeId).Select(x => x.First()).ToList(); + + + contractListResult = personelList.Select(x => new ContractViweModel + { + EmployeeName = x.EmployeeFullName, + WorkshopIds = x.WorkshopId, + EmployeeId = x.EmployeeId, + LaterThanEnd = true, + Extension = true, + RedColor = false + }).ToList(); + + foreach (var item in contractListResult) + { + long pCode = 0; + var search = new PersonnelCodeSearchModel + { + WorkshopId = item.WorkshopIds, + EmployeeId = item.EmployeeId + }; + var pesronelcodelList = _personnelCodeApplication.Search(search); + if (pesronelcodelList.Count > 0) + { + PersonnelCodeViewModel first = null; + foreach (var model in pesronelcodelList) + { + first = model; + break; + } + + if (first != null) pCode = first.PersonnelCode; + } + + + item.PersonnelCode = pCode; + newContractList.Add(item); + } + } + + + newContractList = newContractList.OrderBy(x => x.PersonnelCode).ToList(); + var command2 = new CreateCheckout + { + Contracts = newContractList + }; + return Partial("alert", command2); + } + + public IActionResult OnGetChangeCode() + { + listArray = new List(); + + + var command = new CreateCheckout + { + WorkshopNameSelectList = + new SelectList(_workShopApplication.GetWorkshopAccount(), "Id", "WorkshopFullName"), + WorkshopCodeSelectList = new SelectList(_workShopApplication.GetWorkshopAccount(), "Id", "ArchiveCode") + }; + + return Partial("./ChangeCode", command); + } + + + public IActionResult GetProgress() + { + string progress = HttpContext.Response.Headers["X-Progress"]; + + if (string.IsNullOrEmpty(progress)) return new JsonResult(300); + + return new JsonResult(int.Parse(progress)); + } + + public async Task OnPostChangeCode(CreateCheckout command, CancellationToken cancellationToken) + { + var count = command.Contracts.Count; + if (count > 0) + { + IProgress progress = new Progress(value => + { + // report progress to client + Response.Headers.Add($"X-Progress-{Guid.NewGuid()}", value.ToString()); + }); + for (var i = 0; i <= count - 1; i++) + if (command.Contracts[i].PersonnelCode > 0) + { + var search = new PersonnelCodeSearchModel + { + WorkshopId = command.WorkshopId, + EmployeeId = command.Contracts[i].EmployeeId + }; + + var contractSerachModel = new ContractSearchModel + { + EmployeeId = command.Contracts[i].EmployeeId, + WorkshopIds = command.WorkshopId + }; + var chekoutSerachModel = new CheckoutSearchModel + { + EmployeeId = command.Contracts[i].EmployeeId, + WorkshopId = command.WorkshopId + }; + var pesronelcodelList = _personnelCodeApplication.Search(search); + var contractSerachResult = _contractApplication.Search(contractSerachModel); + var chekoutSerchResult = + await _checkoutApplication.Search(chekoutSerachModel).ConfigureAwait(false); + if (pesronelcodelList.Count > 0) + { + foreach (var person in pesronelcodelList) + { + var getPeronel = _personnelCodeApplication.GetDetails(person.Id); + if (getPeronel != null) + { + var edit = new EditPersonnelCode + { + Id = getPeronel.Id, + PersonnelCode = command.Contracts[i].PersonnelCode + }; + _personnelCodeApplication.Edit(edit); + } + + progress.Report((i + 1) * 33 / count + 33); + } + } + else + { + var createCommand = new CreatePersonnelCode + { + WorkshopId = command.WorkshopId, + EmployeeId = command.Contracts[i].EmployeeId, + PersonnelCode = command.Contracts[i].PersonnelCode + }; + _personnelCodeApplication.Create(createCommand); + } + + if (contractSerachResult.Count > 0) + foreach (var contract in contractSerachResult) + { + var getContract = _contractRepository.Get(contract.Id); + getContract.EditPersonnelCode(command.Contracts[i].PersonnelCode, contract.ContractStartGr, + contract.ArchiveCode); + _contractRepository.SaveChanges(); + progress.Report((i + 1) * 33 / count + 33); // report progress to client + } + + if (chekoutSerchResult.Count > 0) + foreach (var checkout in chekoutSerchResult) + { + var getCeckout = _checkoutRepository.Get(checkout.Id); + getCeckout.EditPersonnelCode(command.Contracts[i].PersonnelCode, checkout.ContractStartGr, + checkout.ArchiveCode); + _contractRepository.SaveChanges(); + progress.Report((i + 1) * 33 / count + 33); // report progress to client + } + } + } + + var opration = new OperationResult + { + IsSuccedded = true, + Message = "عملیات با موفقیت انجام شد" + }; + + return new JsonResult(opration); + } + + #endregion + + #region LeftWorkInsurance + + public PartialViewResult OnPostGetLeftWorkInsurance(long employeeId, string employeeName) + { + var search = new LeftWorkInsuranceSearchModel + { + EmployeeId = employeeId + }; + //var employee = _employeeApplication.GetDetails(employeeId); + var serachResult = _leftWorkInsuranceApplication.search(search); + var ListGroup = new List(); + if (serachResult.Count > 0) + { + var result = serachResult.GroupBy(c => c.WorkshopId) + .Select(c => c.First()) + .ToList(); + foreach (var item in result) + { + #region personelcode + + var personelSearchModel = new PersonnelCodeSearchModel(); + personelSearchModel.EmployeeId = item.EmployeeId; + personelSearchModel.WorkshopId = item.WorkshopId; + var personelcode = _personnelCodeApplication.GetPersonnelCodeViewModel(personelSearchModel); + + #endregion + + var isActive = 0; + var leftWorkInsuranceViewModels = serachResult.Where(x => x.WorkshopId == item.WorkshopId) + .OrderByDescending(x => x.StartWorkDateGr).ToList(); + var activeCount = leftWorkInsuranceViewModels.Where(p => p.IsActiveWorkshop).Count(); + if (activeCount > 0) isActive = 1; + var group = new LeftWorkInsuranceGroup + { + WorkshopId = item.WorkshopId, + WorkshopName = item.WorkshopName, + LeftworkInsuranceViewModels = leftWorkInsuranceViewModels, + IsActiveWorkshop = isActive, + PersonnelCode = personelcode.PersonnelCode, + HasPersonelCode = personelcode.HasPersonelCode, + JobId = item.JobId, + IncludeStatus = item.IncludeStatus, + JobList = _jobApplication.GetJobListByWorkshopId(item.WorkshopId) + }; + ListGroup.Add(group); + } + } + + ListGroup = ListGroup.OrderByDescending(p => p.IsActiveWorkshop).ThenBy(p => p.WorkshopName).ToList(); + + var command = new LeftworkInsuranceDividedList + { + EmployeeId = employeeId, + Workshops = new SelectList(_workShopApplication.GetWorkshopAll(), "Id", "WorkshopFullName"), + LeftWorkInsuranceGroups = ListGroup, + EmployeeName = employeeName //employee.EmployeeFullName + }; + + return Partial("./LeftWorkInsurance", command); + } + + public IActionResult OnGetCreateLeftWorkInsurance(long employeeId, string employeeName) + { + var permissionIds = _authHelper.GetPermissions(); + + var search = new LeftWorkInsuranceSearchModel + { + EmployeeId = employeeId + }; + var employee = _employeeApplication.GetDetails(employeeId); + var serachResult = _leftWorkInsuranceApplication.search(search); + var ListGroup = new List(); + if (serachResult.Count > 0) + { + var result = serachResult.GroupBy(c => c.WorkshopId) + .Select(c => c.First()) + .ToList(); + foreach (var item in result) + { + #region personelcode + + var personelSearchModel = new PersonnelCodeSearchModel(); + personelSearchModel.EmployeeId = item.EmployeeId; + personelSearchModel.WorkshopId = item.WorkshopId; + var personelcode = _personnelCodeApplication.GetPersonnelCodeViewModel(personelSearchModel); + + #endregion + + var isActive = 0; + var leftWorkInsuranceViewModels = serachResult.Where(x => x.WorkshopId == item.WorkshopId) + .OrderByDescending(x => x.StartWorkDateGr).ToList(); + var activeCount = leftWorkInsuranceViewModels.Where(p => p.IsActiveWorkshop).Count(); + if (activeCount > 0) isActive = 1; + var group = new LeftWorkInsuranceGroup + { + WorkshopId = item.WorkshopId, + WorkshopName = item.WorkshopName, + LeftworkInsuranceViewModels = leftWorkInsuranceViewModels, + IsActiveWorkshop = isActive, + PersonnelCode = personelcode.PersonnelCode, + HasPersonelCode = personelcode.HasPersonelCode, + JobId = item.JobId, + IncludeStatus = item.IncludeStatus, + JobList = _jobApplication.GetJobListByWorkshopId(item.WorkshopId) + }; + ListGroup.Add(group); + } + } + + ListGroup = ListGroup.OrderByDescending(p => p.IsActiveWorkshop).ThenBy(p => p.WorkshopName).ToList(); + + var command = new LeftworkInsuranceDividedList + { + EmployeeId = employeeId, + Workshops = new SelectList(_workShopApplication.GetWorkshopAll(), "Id", "WorkshopFullName"), + LeftWorkInsuranceGroups = ListGroup, + EmployeeName = employee.EmployeeFullName, + PermissionIds = permissionIds + }; + + return Partial("./LeftWorkInsurance", command); + } + + public IActionResult OnPostCreateLeftWorkInsurance(LeftworkInsuranceDividedList command) + { + var message = string.Empty; + var endResult = new OperationResult(); + endResult.IsSuccedded = true; + var results = new List(); + + if ((!command.IsDelete && command.LeftWorkInsuranceGroups == null) || + (command.LeftWorkInsuranceGroups != null && command.LeftWorkInsuranceGroups.Count == 0)) + return new JsonResult(new + { endResult = endResult.Failed("پر کردن اطلاعات شرکت ضروری می باشد"), flag = "ok" }); + if (endResult.IsSuccedded && command.PersonnelCode != null && command.PersonnelCode.Count > 0) + { + var personelcode = command.PersonnelCode.Where(x => x.HasPersonelCode == false && x.PersonnelCode == 0) + .FirstOrDefault(); + if (personelcode != null) + return new JsonResult(new + { + endResult = endResult.Failed("شماره پرسنلی در کارگاه " + personelcode.WorkShopName + + " نامعتبر است. "), + flag = "ok" + }); + } + + if (endResult.IsSuccedded && command.LeftWorkInsuranceGroups != null && + command.LeftWorkInsuranceGroups.Count > 0) + // int index = 0; + foreach (var item in command.LeftWorkInsuranceGroups) + if (item.LeftworkInsuranceViewModels != null && item.LeftworkInsuranceViewModels.Count > 0) + { + var leftworkInsurance = item.LeftworkInsuranceViewModels.Where(x => x.JobId == 0).FirstOrDefault(); + if (leftworkInsurance != null) + return new JsonResult(new + { + endResult = endResult.Failed("سمت پرسنل در کارگاه " + leftworkInsurance.WorkshopName + + " انتخاب نشده است. "), + flag = "ok" + }); + } + else if (!command.IsDelete) + { + return new JsonResult(new + { + endResult = endResult.Failed("پرکردن اطلاعات کارگاه " + item.WorkshopName + + " ضروری می باشد، در غیر اینصورت کارگاه مورد نظر را حذف نمایید "), + flag = "ok" + }); + } + + //if (endResult.IsSuccedded == true && (!command.IsDelete && command.LeftWorkInsuranceGroups != null && command.LeftWorkInsuranceGroups.Count > 0) || command.IsDelete) + //{ + // return new JsonResult(new { endResult = endResult.Succcedded(-1,"ثبت با موفقیت انجام شد"), flag = "ok" }); + //} + if ((endResult.IsSuccedded && !command.IsDelete && command.LeftWorkInsuranceGroups != null && + command.LeftWorkInsuranceGroups.Count > 0) || command.IsDelete) + { + var employeeFullName = _employeeApplication.GetDetails(command.EmployeeId).EmployeeFullName; + if (command.LeftWorkInsuranceGroups != null) + endResult = _leftWorkInsuranceApplication.CreateLeftworkInsuranceByLeftworkGroups(employeeFullName, + command.EmployeeId, command.PersonnelCode, command.LeftWorkInsuranceGroups); + } + + return new JsonResult(new { endResult, flag = "ok" }); + // return new JsonResult(new { endResult = results, flag = "ok" }); + } + + public IActionResult OnPostBeforeDate(string date) + { + var persianBefore = ""; + var year = Convert.ToInt32(date.Substring(0, 4)); + var month = Convert.ToInt32(date.Substring(5, 2)); + var day = Convert.ToInt32(date.Substring(8, 2)); + var persianDate = new PersianDateTime(year, month, day); + var persianBeforeDate = persianDate.AddDays(-1); + persianBefore = persianBeforeDate.ToString("yyyy/MM/dd"); + + + return new JsonResult(new + { + ResultDate = persianBefore + }); + } + + public IActionResult OnPostAfterDate(string date) + { + var persianAfter = ""; + var year = Convert.ToInt32(date.Substring(0, 4)); + var month = Convert.ToInt32(date.Substring(5, 2)); + var day = Convert.ToInt32(date.Substring(8, 2)); + + var persianDate = new PersianDateTime(year, month, day); + var persianAfterDate = persianDate.AddDays(1); + persianAfter = persianAfterDate.ToString("yyyy/MM/dd"); + + return new JsonResult(new + { + ResultDate = persianAfter + }); + } + + public JsonResult OnPostDeleteLeftWorkInsuranceWorkshop(long workshopId, long employeeId) + { + var delResult = _leftWorkInsuranceApplication.RemoveAllLeftWorkInsurance(workshopId, employeeId); + return new JsonResult(delResult); + } + + #endregion + + + #region LeftWork + + public IActionResult OnGetLeftWork(long employeeId, string employeeName) + { + var permissionIds = _authHelper.GetPermissions(); + var search = new LeftWorkSearchModel + { + EmployeeId = employeeId + }; + var employee = _employeeApplication.GetDetails(employeeId); + var serachResult = _leftWorkApplication.SearchLeftWork(search); + var ListGroup = new List(); + if (serachResult.Count > 0) + { + var result = serachResult.GroupBy(c => c.WorkshopId) + .Select(c => c.First()) + .ToList(); + foreach (var item in result) + { + #region personelcode + + var personelSearchModel = new PersonnelCodeSearchModel(); + personelSearchModel.EmployeeId = item.EmployeeId; + personelSearchModel.WorkshopId = item.WorkshopId; + var personelcode = _personnelCodeApplication.GetPersonnelCodeViewModel(personelSearchModel); + + #endregion + + var isActive = 0; + var leftWorkViewModels = serachResult.Where(x => x.WorkshopId == item.WorkshopId) + .OrderByDescending(x => x.StartWorkDateGr).ToList(); + var activeCount = leftWorkViewModels.Where(p => p.IsActiveWorkshop).Count(); + if (activeCount > 0) isActive = 1; + var group = new LeftWorkGroup + { + WorkshopId = item.WorkshopId, + WorkshopName = item.WorkshopName, + LeftWorkViewModels = leftWorkViewModels, + IsActiveWorkshop = isActive, + PersonnelCode = personelcode.PersonnelCode, + HasPersonelCode = personelcode.HasPersonelCode, + JobId = item.JobId, + IncludeStatus = item.IncludeStatus + }; + ListGroup.Add(group); + } + } + + ListGroup = ListGroup.OrderByDescending(p => p.IsActiveWorkshop).ThenBy(p => p.WorkshopName).ToList(); + + var command = new LeftWorkDividedList + { + EmployeeId = employeeId, + Workshops = new SelectList(_workShopApplication.GetWorkshopAll(), "Id", "WorkshopFullName"), + LeftWorkGroups = ListGroup, + EmployeeName = employee.EmployeeFullName, + PermissionIds = permissionIds + }; + + return Partial("./LeftWork", command); + } + + public IActionResult OnPostCreateLeftWork(LeftWorkDividedList command) + { + var message = string.Empty; + var endResult = new OperationResult(); + endResult.IsSuccedded = true; + //List results = new List(); + + if ((!command.IsDelete && command.LeftWorkGroups == null) || + (command.LeftWorkGroups != null && command.LeftWorkGroups.Count == 0)) + return new JsonResult(new + { endResult = endResult.Failed("پر کردن اطلاعات شرکت ضروری می باشد"), flag = "ok" }); + if (endResult.IsSuccedded && command.PersonnelCode != null && command.PersonnelCode.Count > 0) + { + var personelcode = command.PersonnelCode.Where(x => x.HasPersonelCode == false && x.PersonnelCode == 0) + .FirstOrDefault(); + if (personelcode != null) + return new JsonResult(new + { + endResult = endResult.Failed("شماره پرسنلی در کارگاه " + personelcode.WorkShopName + + " نامعتبر است. "), + flag = "ok" + }); + } + + if (endResult.IsSuccedded && command.LeftWorkGroups != null && command.LeftWorkGroups.Count > 0) + // int index = 0; + foreach (var item in command.LeftWorkGroups) + if (item.LeftWorkViewModels != null && item.LeftWorkViewModels.Count > 0) + { + var LeftWork = item.LeftWorkViewModels.Where(x => x.JobId == 0).FirstOrDefault(); + if (LeftWork != null) + return new JsonResult(new + { + endResult = endResult.Failed("سمت پرسنل در کارگاه " + LeftWork.WorkshopName + + " انتخاب نشده است. "), + flag = "ok" + }); + } + else if (!command.IsDelete) + { + return new JsonResult(new + { + endResult = endResult.Failed("پرکردن اطلاعات کارگاه " + item.WorkshopName + + " ضروری می باشد، در غیر اینصورت کارگاه مورد نظر را حذف نمایید "), + flag = "ok" + }); + } + + if ((endResult.IsSuccedded && !command.IsDelete && command.LeftWorkGroups != null && + command.LeftWorkGroups.Count > 0) || command.IsDelete) + { + var employeeFullName = _employeeApplication.GetDetails(command.EmployeeId).EmployeeFullName; + if (command.LeftWorkGroups != null) + endResult = _leftWorkApplication.CreateLeftWorkByLeftWorkGroups(employeeFullName, command.EmployeeId, + command.PersonnelCode, command.LeftWorkGroups); + } + + if (command.IsDelete && command.LeftWorkGroups == null) + return new JsonResult(new { endResult = "ثبت با موفقیت انجام شد", flag = "ok" }); + return new JsonResult(new { endResult, flag = "ok" }); + } + + + public JsonResult OnPostDeleteLeftWorkWorkshop(long workshopId, long employeeId) + { + var delResult = _leftWorkApplication.RemoveAllLeftWork(workshopId, employeeId); + return new JsonResult(delResult); + } + + #endregion + + #region New by heydari + + public IActionResult OnGetWorkshopName(string searchText) + { + var result = _workShopApplication.GetWorkshopByTextSearch(searchText); + result = result.OrderBy(x => x.WorkshopFullName.Length).ToList(); + return new JsonResult(new + { + IsSuccedded = true, + mylist = result + }); + } + + public IActionResult OnGetEmployerName(string searchText) + { + var result = _employerApplication.GetEmployerWithFNameOrLName(searchText); + result = result.OrderBy(x => x.LName.Length).ToList(); + return new JsonResult(new + { + IsSuccedded = true, + mylist = result + }); + } + + #endregion +} \ No newline at end of file diff --git a/ServiceHost/Areas/Admin/Pages/Company/Employees/InsuranceRecords.cshtml b/ServiceHost/Areas/Admin/Pages/Company/Employees/InsuranceRecords.cshtml index c74afcd6..a8373168 100644 --- a/ServiceHost/Areas/Admin/Pages/Company/Employees/InsuranceRecords.cshtml +++ b/ServiceHost/Areas/Admin/Pages/Company/Employees/InsuranceRecords.cshtml @@ -1,9 +1,6 @@ -@using _0_Framework.Application -@model CompanyManagment.App.Contracts.EmployeeInsuranceRecord.EditEmployeeInsuranceRecord +@model CompanyManagment.App.Contracts.EmployeeInsuranceRecord.EditEmployeeInsuranceRecord @{ - - - }
- + -
- - - - -
+ +
+
\ No newline at end of file diff --git a/ServiceHost/Areas/Admin/Pages/Company/Employers/Edit.cshtml b/ServiceHost/Areas/Admin/Pages/Company/Employers/Edit.cshtml index 85c499d4..1577b62c 100644 --- a/ServiceHost/Areas/Admin/Pages/Company/Employers/Edit.cshtml +++ b/ServiceHost/Areas/Admin/Pages/Company/Employers/Edit.cshtml @@ -1,447 +1,450 @@ -@using _0_Framework.Application -@model CompanyManagment.App.Contracts.Employer.EditEmployer +@model CompanyManagment.App.Contracts.Employer.EditEmployer @{ } - +
- -
ویرایش مشخصات کارفرمای حقیقی
-
-
-
-
-
مشخصات کارفرمای حقیقی
-
اطلاعات سامانه ای
-
-
-
- - - -
-
-
-
- -
- - -
-
-
-
-
- -
- - -
-
-
-
-
-
-
- - @* @if (Model.HasWorkshop) + +
ویرایش مشخصات کارفرمای حقیقی
+ +
+
+
+
مشخصات کارفرمای حقیقی
+
اطلاعات سامانه ای
+
+
+
+ + + +
+
+
+
+ +
+ + +
+
+
+
+
+ +
+ + +
+
+
+
+
+
+
+ + @* @if (Model.HasWorkshop) { } else { *@ - - @* } *@ - - -

فقط حروف فارسی وارد شود.

-
-
-
-
- - - @* @if (Model.HasWorkshop) + + @* } *@ + + +

فقط حروف فارسی وارد شود.

+
+
+
+
+ + + @* @if (Model.HasWorkshop) { } else { *@ - - @* } *@ - - -

فقط حروف فارسی وارد شود.

-
-
-
-
- - - @* @if (Model.HasWorkshop) + + @* } *@ + + +

فقط حروف فارسی وارد شود.

+
+
+
+
+ + + @* @if (Model.HasWorkshop) { } else { *@ - - - @*} *@ + - - -

فقط حروف فارسی وارد شود.

-
-
-
-
- - - @if (Model.HasWorkshop) - { - - } - else - { - - } + @*} *@ - -

فقط عدد وارد شود.

-
-
-
-
- - @if (Model.HasWorkshop) - { - - } - else - { - - } + +

فقط حروف فارسی وارد شود.

+
+
+
+
+ - - -

فقط عدد وارد شود.

-
-
-
-
- - - -

فقط حروف فارسی وارد شود.

-
-
-
-
-
- - - -
-
-
-
-
- - - -
-
-
-
- - - -

فقط عدد وارد شود.

-
-
-
-
- - - -

فقط عدد وارد شود.

-
-
-
-
-
-
-
- اداره کار -
-
- - -
-
-
-
- - -
-
-
-
- تامین اجتماعی -
-
- - -
-
-
-
- - -
-
-
-
- قوه قضائیه -
-
- - -
-
-
-
- - -
-
-
-
- امور مالیاتی -
-
- - -
-
-
-
- - -
-
-
-
-
- @**@ - -
- - - + @if (Model.HasWorkshop) + { + + } + else + { + + } + + + +

فقط عدد وارد شود.

+
+
+
+
+ + @if (Model.HasWorkshop) + { + + } + else + { + + } + + + +

فقط عدد وارد شود.

+
+
+
+
+ + + +

فقط حروف فارسی وارد شود.

+
+
+
+
+
+ + + +
+
+
+
+
+ + + +
+
+
+
+ + + +

فقط عدد وارد شود.

+
+
+
+
+ + + +

فقط عدد وارد شود.

+
+
+
+
+
+
+
+ اداره کار +
+
+ + +
+
+
+
+ + +
+
+
+
+ تامین اجتماعی +
+
+ + +
+
+
+
+ + +
+
+
+
+ قوه قضائیه +
+
+ + +
+
+
+
+ + +
+
+
+
+ امور مالیاتی +
+
+ + +
+
+
+
+ + +
+
+
+
+
+@**@ + +
+ + +
+ } else { + $("#actualEmployer").submit(); + } + }); + //تنظیمات تاریخ + $(".persianDateInput").on('keyup', + function() { + if (event.which !== 8 && event.which !== 46) { + let value = $(this).val(); + const lengthValue = value.length; + if (lengthValue === 4) { + value += '/'; + } + if (lengthValue === 7) { + value += '/'; + } + $(this).val(value); + } + }); + $(".persianDateInput").on("keydown", + function(event) { + const keyCode = event.which || event.keyCode; + const isDigit = (keyCode >= 48 && keyCode <= 57) || (keyCode >= 96 && keyCode <= 105); + const isControlKey = (keyCode === 8) || (keyCode === 9) || (keyCode === 13) || (keyCode === 35) || (keyCode === 36) || (keyCode === 37) || (keyCode === 39) || (keyCode === 46); + if (!isDigit && !isControlKey) { + event.preventDefault(); + } + }); + $(".persianDateInput").on('blur', + function() { + const value = $(this).val(); + const lengthValue = value.length; + if (!dateValidCheck(this)) { + $(this).addClass("errored"); + } else { + $(this).removeClass("errored"); + } + }); + \ No newline at end of file diff --git a/ServiceHost/Areas/Admin/Pages/Company/Employers/Index.cshtml b/ServiceHost/Areas/Admin/Pages/Company/Employers/Index.cshtml index c7ed26f9..c37edfa7 100644 --- a/ServiceHost/Areas/Admin/Pages/Company/Employers/Index.cshtml +++ b/ServiceHost/Areas/Admin/Pages/Company/Employers/Index.cshtml @@ -1,20 +1,19 @@ @page -@using CompanyManagment.App.Contracts.PersonalContractingParty @model ServiceHost.Areas.Admin.Pages.Company.Employers.IndexModel @{ - //string colaps = "in"; - //string act = "active"; - int i = 1; - string withOutContractingParty = "withOutContractingParty"; + //string colaps = "in"; + //string act = "active"; + var i = 1; + var withOutContractingParty = "withOutContractingParty"; } @{ - var selctedOption = "selectedOption"; - string workshopList = ""; - Layout = "Shared/_AdminLayout"; - ViewData["title"] = "کارفرما"; - @*select2 css start*@ - } + @section Styles { - + } +
- -
-
-
-
-

- -

- @* + +
+
+
+ -
-
- @*===================================================================================================================*@ -
-
- @*
+
+
+
+ @*===================================================================================================================*@ +
+
+ @*

جستجو

-
*@ -
-
-
-
- - - - -
- -
- - @* *@ +
*@ + +
+
+
+ + + + +
- - - -
+
+ + @* *@ -
- - - - -
- + + + +
-
- - - - - -
-
-
-
-
- - - - -
-
- جستجو - - حذف فیلتر -
-
-
- -
-
- @*==================================================================personal=====*@ -
-
-
-
-
- -
-
-
-

لیست کارفرما

-
-
-
-
- - - - - - - - @**@ - - - - - - - @foreach (var item in Model.Employers) - { - workshopList = ""; - - - - - - - - + + { + i++; + } + } + +
#نام کارفرماشمارهشناسنامه / شماره ثبتعملیات
@i - - @if (item.IsLegal == "حقیقی") - { - @item.FName -   - @item.LName - } - else - { - @item.LName - } - -
-

- @if (item.IsLegal == "حقیقی") - { - @item.FName -   - @item.LName - } - else - { - @item.LName - } -

- - @if (item.IsLegal == "حقیقی") - { - @item.FName -   - @item.LName - } - else - { - @item.LName - } - -
-
@item.IdNumber@item.RegisterId -
- @if (item.IsLegal == "حقیقی") - { - - - - - - - } - else - { - - - - - - +
+ + + + +
- } - @if (item.IsActive) - { - - } - else - { - - } -
-
-
- -
- @if (item.IsLegal == "حقیقی") - { - - - - - - - } - else - { - - - - - - +
+ + + + + +
+
+
+
+
+ + + + +
+
+ جستجو + + حذف فیلتر +
+
+
+ +
+ + @*==================================================================personal=====*@ + + + + + - } - @if (item.IsActive) - { - - } - else - { - - } - - - +
+
+
+

لیست کارفرما

+
+
+
+
+ + + + + + + + @**@ + + + + + + + @foreach (var item in Model.Employers) + { + workshopList = ""; + + + + + + + + - - { - i++; - } - } - -
#نام کارفرماشمارهشناسنامه / شماره ثبتعملیات
@i + + @if (item.IsLegal == "حقیقی") + { + @item.FName +   + @item.LName + } + else + { + @item.LName + } + +
+

+ @if (item.IsLegal == "حقیقی") + { + @item.FName +   + @item.LName + } + else + { + @item.LName + } +

+ + @if (item.IsLegal == "حقیقی") + { + @item.FName +   + @item.LName + } + else + { + @item.LName + } + +
+
@item.IdNumber@item.RegisterId +
+ @if (item.IsLegal == "حقیقی") + { + + + + + + + } + else + { + + + + + + + } -
-
-
-
-
-
+ @if (item.IsActive) + { + + + + } + else + { + + + + } + +
+
+ + + +
+ @if (item.IsLegal == "حقیقی") + { + + + + + + + } + else + { + + + + + + + } + @if (item.IsActive) + { + + + + } + else + { + + + + } +
+
+
+ +
+
+
+
+
+
- @section Script { - - - - @* + + + + @* *@ - - - - - - - - - - - - - - - - - - - - - -} - - - - + + + + + + + + + + + + + + + + + +} \ No newline at end of file diff --git a/ServiceHost/Areas/Admin/Pages/Company/Employers/Index.cshtml.cs b/ServiceHost/Areas/Admin/Pages/Company/Employers/Index.cshtml.cs index d9db0d2a..be0f364e 100644 --- a/ServiceHost/Areas/Admin/Pages/Company/Employers/Index.cshtml.cs +++ b/ServiceHost/Areas/Admin/Pages/Company/Employers/Index.cshtml.cs @@ -1,8 +1,5 @@ -using System.Collections.Generic; -using System.Linq; -using _0_Framework.Application; +using _0_Framework.Application; using Company.Domain.ContarctingPartyAgg; -using Company.Domain.empolyerAgg; using CompanyManagment.App.Contracts.Employer; using CompanyManagment.App.Contracts.PersonalContractingParty; using CompanyManagment.App.Contracts.Workshop; @@ -11,254 +8,270 @@ using Microsoft.AspNetCore.Mvc; using Microsoft.AspNetCore.Mvc.RazorPages; using Microsoft.AspNetCore.Mvc.Rendering; -namespace ServiceHost.Areas.Admin.Pages.Company.Employers +namespace ServiceHost.Areas.Admin.Pages.Company.Employers; + +[Authorize] +public class IndexModel : PageModel { - [Authorize] - public class IndexModel : PageModel - { - [TempData] - public string Message { get; set; } - public EmployerSearchModel SearchModel; - - public List Employers; + private readonly IEmployerApplication _employerApplication; + private readonly IPersonalContractingPartyApp _personalContractingPartyApp; + private readonly IPersonalContractingPartyRepository _personalContractingPartyRepository2; + private readonly IWorkshopApplication _workshopApplication; - public SelectList ContactingParties; - public string ContactingPartyName; - public string Nationalcode; - public string IdNumber; - public string LName; - private readonly IEmployerApplication _employerApplication; - private readonly IWorkshopApplication _workshopApplication; - private readonly IPersonalContractingPartyApp _personalContractingPartyApp; - private readonly IPersonalContractingPartyRepository _personalContractingPartyRepository2; + public SelectList ContactingParties; + public string ContactingPartyName; + + public List Employers; + public string IdNumber; + public string LName; + public string Nationalcode; + public EmployerSearchModel SearchModel; - public IndexModel(IEmployerApplication employerApplication, IPersonalContractingPartyApp personalContractingPartyApp, IPersonalContractingPartyRepository personalContractingPartyRepository, IWorkshopApplication workshopApplication) - { + public IndexModel(IEmployerApplication employerApplication, + IPersonalContractingPartyApp personalContractingPartyApp, + IPersonalContractingPartyRepository personalContractingPartyRepository, + IWorkshopApplication workshopApplication) + { + _employerApplication = employerApplication; + _personalContractingPartyApp = personalContractingPartyApp; + _personalContractingPartyRepository2 = personalContractingPartyRepository; + _workshopApplication = workshopApplication; + } - _employerApplication = employerApplication; - _personalContractingPartyApp = personalContractingPartyApp; - _personalContractingPartyRepository2 = personalContractingPartyRepository; - _workshopApplication = workshopApplication; - } + [TempData] public string Message { get; set; } - public void OnGet(EmployerSearchModel searchModel) - { - ContactingParties =new SelectList(_personalContractingPartyApp.GetPersonalContractingParties(), "id", "LName"); - Employers = _employerApplication.Search(searchModel).OrderByDescending(x => x.HasBlockContractingParty==true).ThenByDescending(x=>x.HasContractingParty).ToList(); + public void OnGet(EmployerSearchModel searchModel) + { + ContactingParties = new SelectList(_personalContractingPartyApp.GetPersonalContractingParties(), "id", "LName"); + Employers = _employerApplication.Search(searchModel).OrderByDescending(x => x.HasBlockContractingParty) + .ThenByDescending(x => x.HasContractingParty).ToList(); - //-----FName or LName----- + //-----FName or LName----- - if (searchModel.Id > 0) - { - var employer = Employers.FirstOrDefault(x => x.Id == searchModel.Id); - if (employer != null) - LName = (employer.IsLegal == "حقیقی" ? (employer.FName + " " + employer.LName) : employer.LName); - } - else - { - LName = searchModel.EmployerLName; - } + if (searchModel.Id > 0) + { + var employer = Employers.FirstOrDefault(x => x.Id == searchModel.Id); + if (employer != null) + LName = employer.IsLegal == "حقیقی" ? employer.FName + " " + employer.LName : employer.LName; + } + else + { + LName = searchModel.EmployerLName; + } - //-----RegisterId or IdNumber----- - if (!string.IsNullOrEmpty(searchModel.IdNumber)) - { - IdNumber = searchModel.IdNumber; - } + //-----RegisterId or IdNumber----- + if (!string.IsNullOrEmpty(searchModel.IdNumber)) IdNumber = searchModel.IdNumber; - //-----Nationalcode or NationalId----- - if (!string.IsNullOrEmpty(searchModel.Nationalcode) ) - { - Nationalcode = searchModel.Nationalcode; - } + //-----Nationalcode or NationalId----- + if (!string.IsNullOrEmpty(searchModel.Nationalcode)) Nationalcode = searchModel.Nationalcode; - //-----ContractingParty----- - if (searchModel.ContractingPartyID > 0) - { - var representative = _personalContractingPartyApp.GetDetails(searchModel.ContractingPartyID); - ContactingPartyName = representative.FullName; - } - else - { - ContactingPartyName = searchModel.ContactingPartyName; - } - } + //-----ContractingParty----- + if (searchModel.ContractingPartyID > 0) + { + var representative = _personalContractingPartyApp.GetDetails(searchModel.ContractingPartyID); + ContactingPartyName = representative.FullName; + } + else + { + ContactingPartyName = searchModel.ContactingPartyName; + } + } - public IActionResult OnGetCreate() - { - var command = new CreateEmployer - { - ContractingParties = _personalContractingPartyApp.GetPersonalContractingParties() - }; - - return Partial("./Create", command); - } + public IActionResult OnGetCreate() + { + var command = new CreateEmployer + { + ContractingParties = _personalContractingPartyApp.GetPersonalContractingParties() + }; - public IActionResult OnGetInsertLegal() - { - var command = new CreateEmployer - { - ContractingParties = _personalContractingPartyApp.GetPersonalContractingParties() - }; - return Partial("./InsertLegal", command); - } - public IActionResult OnPostCreate(CreateEmployer command) - { - //var personalContractingParty = _personalContractingPartyRepository2.Get(command.ContractingPartyId); - //personalContractingParty.Edit2( "test"); - command.IdNumber = !string.IsNullOrWhiteSpace(command.IdNumber) ? command.IdNumber.ConvertToEnglish() : ""; - command.Nationalcode = !string.IsNullOrWhiteSpace(command.Nationalcode) ? command.Nationalcode.ConvertToEnglish() : ""; - command.Phone = !string.IsNullOrWhiteSpace(command.Phone) ? command.Phone.ConvertToEnglish() : ""; - command.AgentPhone = !string.IsNullOrWhiteSpace(command.AgentPhone) ? command.AgentPhone.ConvertToEnglish() : ""; - var result = _employerApplication.Create(command); - return new JsonResult(result); - } + return Partial("./Create", command); + } + + public IActionResult OnGetInsertLegal() + { + var command = new CreateEmployer + { + ContractingParties = _personalContractingPartyApp.GetPersonalContractingParties() + }; + return Partial("./InsertLegal", command); + } + + public IActionResult OnPostCreate(CreateEmployer command) + { + //var personalContractingParty = _personalContractingPartyRepository2.Get(command.ContractingPartyId); + //personalContractingParty.Edit2( "test"); + command.IdNumber = !string.IsNullOrWhiteSpace(command.IdNumber) ? command.IdNumber.ConvertToEnglish() : ""; + command.Nationalcode = !string.IsNullOrWhiteSpace(command.Nationalcode) + ? command.Nationalcode.ConvertToEnglish() + : ""; + command.Phone = !string.IsNullOrWhiteSpace(command.Phone) ? command.Phone.ConvertToEnglish() : ""; + command.AgentPhone = + !string.IsNullOrWhiteSpace(command.AgentPhone) ? command.AgentPhone.ConvertToEnglish() : ""; + var result = _employerApplication.Create(command); + return new JsonResult(result); + } - public IActionResult OnPostInsertLegal(CreateEmployer command) - { - command.RegisterId = !string.IsNullOrWhiteSpace(command.RegisterId) ? command.RegisterId.ConvertToEnglish() : ""; - command.NationalId = !string.IsNullOrWhiteSpace(command.NationalId) ? command.NationalId.ConvertToEnglish() : ""; - command.Phone = !string.IsNullOrWhiteSpace(command.Phone) ? command.Phone.ConvertToEnglish() : ""; - command.AgentPhone = !string.IsNullOrWhiteSpace(command.AgentPhone) ? command.AgentPhone.ConvertToEnglish() : ""; - var result2 = _employerApplication.CreateLegals(command); - return new JsonResult(result2); - } + public IActionResult OnPostInsertLegal(CreateEmployer command) + { + command.RegisterId = + !string.IsNullOrWhiteSpace(command.RegisterId) ? command.RegisterId.ConvertToEnglish() : ""; + command.NationalId = + !string.IsNullOrWhiteSpace(command.NationalId) ? command.NationalId.ConvertToEnglish() : ""; + command.Phone = !string.IsNullOrWhiteSpace(command.Phone) ? command.Phone.ConvertToEnglish() : ""; + command.AgentPhone = + !string.IsNullOrWhiteSpace(command.AgentPhone) ? command.AgentPhone.ConvertToEnglish() : ""; + var result2 = _employerApplication.CreateLegals(command); + return new JsonResult(result2); + } - public IActionResult OnGetEdit(long id) - { - var employer = _employerApplication.GetDetails(id); - employer.ContractingParties = _personalContractingPartyApp.GetPersonalContractingParties(); - var ids=new List(){id}; - employer.HasWorkshop = _workshopApplication.GetWorkshopsByEmployerId(ids).Count()>0?true:false; - return Partial("Edit", employer); - } + public IActionResult OnGetEdit(long id) + { + var employer = _employerApplication.GetDetails(id); + employer.ContractingParties = _personalContractingPartyApp.GetPersonalContractingParties(); + var ids = new List { id }; + employer.HasWorkshop = _workshopApplication.GetWorkshopsByEmployerId(ids).Count() > 0 ? true : false; + return Partial("Edit", employer); + } - public IActionResult OnGetLegalEdit(long id) - { - var employerlegaly = _employerApplication.GetDetails(id); - employerlegaly.ContractingParties = _personalContractingPartyApp.GetPersonalContractingParties(); - var ids = new List() { id }; - employerlegaly.HasWorkshop = _workshopApplication.GetWorkshopsByEmployerId(ids).Count() > 0 ? true : false; - return Partial("LegalEdit", employerlegaly); - } + public IActionResult OnGetLegalEdit(long id) + { + var employerlegaly = _employerApplication.GetDetails(id); + employerlegaly.ContractingParties = _personalContractingPartyApp.GetPersonalContractingParties(); + var ids = new List { id }; + employerlegaly.HasWorkshop = _workshopApplication.GetWorkshopsByEmployerId(ids).Count() > 0 ? true : false; + return Partial("LegalEdit", employerlegaly); + } - public JsonResult OnPostEdit(EditEmployer command) - { - if (ModelState.IsValid) - { - } - command.IdNumber = !string.IsNullOrWhiteSpace(command.IdNumber) ? command.IdNumber.ConvertToEnglish() : ""; - command.Nationalcode = !string.IsNullOrWhiteSpace(command.Nationalcode) ? command.Nationalcode.ConvertToEnglish() : ""; - command.Phone = !string.IsNullOrWhiteSpace(command.Phone) ? command.Phone.ConvertToEnglish() : ""; - command.AgentPhone = !string.IsNullOrWhiteSpace(command.AgentPhone) ? command.AgentPhone.ConvertToEnglish() : ""; + public JsonResult OnPostEdit(EditEmployer command) + { + if (ModelState.IsValid) + { + } - var result = _employerApplication.Edit(command); - return new JsonResult(result); - } - public JsonResult OnPostLegalEdit(EditEmployer command) - { + command.IdNumber = !string.IsNullOrWhiteSpace(command.IdNumber) ? command.IdNumber.ConvertToEnglish() : ""; + command.Nationalcode = !string.IsNullOrWhiteSpace(command.Nationalcode) + ? command.Nationalcode.ConvertToEnglish() + : ""; + command.Phone = !string.IsNullOrWhiteSpace(command.Phone) ? command.Phone.ConvertToEnglish() : ""; + command.AgentPhone = + !string.IsNullOrWhiteSpace(command.AgentPhone) ? command.AgentPhone.ConvertToEnglish() : ""; - if (ModelState.IsValid) - { - } + var result = _employerApplication.Edit(command); + return new JsonResult(result); + } - command.RegisterId = !string.IsNullOrWhiteSpace(command.RegisterId) ? command.RegisterId.ConvertToEnglish() : ""; - command.NationalId = !string.IsNullOrWhiteSpace(command.NationalId) ? command.NationalId.ConvertToEnglish() : ""; - command.Phone = !string.IsNullOrWhiteSpace(command.Phone) ? command.Phone.ConvertToEnglish() : ""; - command.AgentPhone = !string.IsNullOrWhiteSpace(command.AgentPhone) ? command.AgentPhone.ConvertToEnglish() : ""; - var result = _employerApplication.EditLegal(command); - return new JsonResult(result); - } - public IActionResult OnGetDetails(long id) - { - var emp = _employerApplication.GetDetails(id); - emp.ContractingParties = _personalContractingPartyApp.GetPersonalContractingParties(); - return Partial("Details", emp); - } - public IActionResult OnGetLegalDetails(long id) - { - var legaldetails = _employerApplication.GetDetails(id); - legaldetails.ContractingParties = _personalContractingPartyApp.GetPersonalContractingParties(); - return Partial("LegalDetails", legaldetails); - } + public JsonResult OnPostLegalEdit(EditEmployer command) + { + if (ModelState.IsValid) + { + } - public IActionResult OnGetDeActive(long id) - { - var result = _employerApplication.DeActive(id); - if (result.IsSuccedded) - return RedirectToPage("./Index"); - Message = result.Message; - return RedirectToPage("./Index"); - } + command.RegisterId = + !string.IsNullOrWhiteSpace(command.RegisterId) ? command.RegisterId.ConvertToEnglish() : ""; + command.NationalId = + !string.IsNullOrWhiteSpace(command.NationalId) ? command.NationalId.ConvertToEnglish() : ""; + command.Phone = !string.IsNullOrWhiteSpace(command.Phone) ? command.Phone.ConvertToEnglish() : ""; + command.AgentPhone = + !string.IsNullOrWhiteSpace(command.AgentPhone) ? command.AgentPhone.ConvertToEnglish() : ""; + var result = _employerApplication.EditLegal(command); + return new JsonResult(result); + } - public IActionResult OnGetIsActive(long id) - { - var result = _employerApplication.Active(id); - if (result.IsSuccedded) - return RedirectToPage("./Index"); - Message = result.Message; - return RedirectToPage("./Index"); - } + public IActionResult OnGetDetails(long id) + { + var emp = _employerApplication.GetDetails(id); + emp.ContractingParties = _personalContractingPartyApp.GetPersonalContractingParties(); + return Partial("Details", emp); + } + + public IActionResult OnGetLegalDetails(long id) + { + var legaldetails = _employerApplication.GetDetails(id); + legaldetails.ContractingParties = _personalContractingPartyApp.GetPersonalContractingParties(); + return Partial("LegalDetails", legaldetails); + } + + public IActionResult OnGetDeActive(long id) + { + var result = _employerApplication.DeActive(id); + if (result.IsSuccedded) + return RedirectToPage("./Index"); + Message = result.Message; + return RedirectToPage("./Index"); + } + + public IActionResult OnGetIsActive(long id) + { + var result = _employerApplication.Active(id); + if (result.IsSuccedded) + return RedirectToPage("./Index"); + Message = result.Message; + return RedirectToPage("./Index"); + } - #region NewByHeydari - - public IActionResult OnPostDeleteEmployer(long id) - { - var result = _employerApplication.DeleteEmployer(id); - return new JsonResult(result); - } - public IActionResult OnPostActiveEmployer(long id) - { - var result = _employerApplication.ActiveAll(id); - return new JsonResult(result); - } - public IActionResult OnGetContractPartyList(string searchText) - { - var res = _personalContractingPartyApp.GetPersonalContractingParties(); - var result = res.Where(x => x.LName.Contains(searchText)).Take(200).ToList(); - result = result.OrderBy(x => x.LName.Length).ToList(); + #region NewByHeydari - return new JsonResult(new - { - IsSuccedded = true, - mylist = result, - }); - } + public IActionResult OnPostDeleteEmployer(long id) + { + var result = _employerApplication.DeleteEmployer(id); + return new JsonResult(result); + } - public IActionResult OnGetEmployerNationalcode(string searchText) - { - var result = _employerApplication.GetEmployerWithNationalcodeOrNationalId(searchText); - result = result.OrderBy(x => x.Nationalcode.Length).ToList(); - return new JsonResult(new - { - IsSuccedded = true, - mylist = result, - }); - } - public IActionResult OnGetEmployerIdNumber(string searchText) - { - var result = _employerApplication.GetEmployerWithIdNumberOrRegisterId(searchText); - result = result.OrderBy(x => x.IdNumber.Length).ToList(); - return new JsonResult(new - { - IsSuccedded = true, - mylist = result, - }); - } - - public IActionResult OnGetEmployerName(string searchText) - { - var result = _employerApplication.GetEmployerWithFNameOrLName(searchText); - result = result.OrderBy(x => x.LName.Length).ToList(); - return new JsonResult(new - { - IsSuccedded = true, - mylist = result, - }); - } - #endregion - } -} + public IActionResult OnPostActiveEmployer(long id) + { + var result = _employerApplication.ActiveAll(id); + return new JsonResult(result); + } + + public IActionResult OnGetContractPartyList(string searchText) + { + var res = _personalContractingPartyApp.GetPersonalContractingParties(); + var result = res.Where(x => x.LName.Contains(searchText)).Take(200).ToList(); + result = result.OrderBy(x => x.LName.Length).ToList(); + + return new JsonResult(new + { + IsSuccedded = true, + mylist = result + }); + } + + public IActionResult OnGetEmployerNationalcode(string searchText) + { + var result = _employerApplication.GetEmployerWithNationalcodeOrNationalId(searchText); + result = result.OrderBy(x => x.Nationalcode.Length).ToList(); + return new JsonResult(new + { + IsSuccedded = true, + mylist = result + }); + } + + public IActionResult OnGetEmployerIdNumber(string searchText) + { + var result = _employerApplication.GetEmployerWithIdNumberOrRegisterId(searchText); + result = result.OrderBy(x => x.IdNumber.Length).ToList(); + return new JsonResult(new + { + IsSuccedded = true, + mylist = result + }); + } + + public IActionResult OnGetEmployerName(string searchText) + { + var result = _employerApplication.GetEmployerWithFNameOrLName(searchText); + result = result.OrderBy(x => x.LName.Length).ToList(); + return new JsonResult(new + { + IsSuccedded = true, + mylist = result + }); + } + + #endregion +} \ No newline at end of file diff --git a/ServiceHost/Areas/Admin/Pages/Company/Employers/InsertLegal.cshtml b/ServiceHost/Areas/Admin/Pages/Company/Employers/InsertLegal.cshtml index c06d7fc6..e7084873 100644 --- a/ServiceHost/Areas/Admin/Pages/Company/Employers/InsertLegal.cshtml +++ b/ServiceHost/Areas/Admin/Pages/Company/Employers/InsertLegal.cshtml @@ -4,470 +4,474 @@
- -
مشخصات کارفرمای حقوقی
-
-
-
-
-
مشخصات کارفرما
-
مشخصات مدیر عامل
-
اطلاعات سامانه ای
-
-
+ +
مشخصات کارفرمای حقوقی
+ +
+
+
+
مشخصات کارفرما
+
مشخصات مدیر عامل
+
اطلاعات سامانه ای
+
+
-
-
- - - @**@ -
-
-
- - - @**@ -
-
-
-
- - - -

فقط عدد وارد شود.

-
-
-
-
- - - -

فقط عدد وارد شود.

-
-
-
-
- - - -

فقط عدد وارد شود.

-
-
-
-
- - - -

فقط عدد وارد شود.

-
-
-
-
-
-
-
-
- -
- - -
-
-
-
-
- -
- - -
-
-
-
-
-
-
- - - -

فقط حروف فارسی وارد شود.

-
-
-
-
- - - -

فقط حروف فارسی وارد شود.

-
-
-
-
-
-
- - - -

فقط عدد وارد شود.

-
-
-
-
- - - -

فقط عدد وارد شود.

-
-
-
-
-
-
- - - @**@ -
-
-
-
- - - -

فقط حروف فارسی وارد شود.

-
-
-
-
-
-
- - - @**@ -
-
-
-
- - - -

فقط حروف فارسی وارد شود.

-
-
-
-
-
-
-
- اداره کار -
-
- - -
-
-
-
- - -
-
-
-
- تامین اجتماعی -
-
- - -
-
-
-
- - -
-
-
-
- قوه قضائیه -
-
- - -
-
-
-
- - -
-
-
-
- امور مالیاتی -
-
- - -
-
-
-
- - -
-
-
-
-
- -
- - +
+
+ + + @**@ +
+
+
+ + + @**@ +
+
+
+
+ + + +

فقط عدد وارد شود.

+
+
+
+
+ + + +

فقط عدد وارد شود.

+
+
+
+
+ + + +

فقط عدد وارد شود.

+
+
+
+
+ + + +

فقط عدد وارد شود.

+
+
+
+
+
+
+
+
+ +
+ + +
+
+
+
+
+ +
+ + +
+
+
+
+
+
+
+ + + +

فقط حروف فارسی وارد شود.

+
+
+
+
+ + + +

فقط حروف فارسی وارد شود.

+
+
+
+
+
+
+ + + +

فقط عدد وارد شود.

+
+
+
+
+ + + +

فقط عدد وارد شود.

+
+
+
+
+
+
+ + + @**@ +
+
+
+
+ + + +

فقط حروف فارسی وارد شود.

+
+
+
+
+
+
+ + + @**@ +
+
+
+
+ + + +

فقط حروف فارسی وارد شود.

+
+
+
+
+
+
+
+ اداره کار +
+
+ + +
+
+
+
+ + +
+
+
+
+ تامین اجتماعی +
+
+ + +
+
+
+
+ + +
+
+
+
+ قوه قضائیه +
+
+ + +
+
+
+
+ + +
+
+
+
+ امور مالیاتی +
+
+ + +
+
+
+
+ + +
+
+
+
+
+ +
+ +
\ No newline at end of file diff --git a/ServiceHost/Areas/Admin/Pages/Company/Employers/LegalDetails.cshtml b/ServiceHost/Areas/Admin/Pages/Company/Employers/LegalDetails.cshtml index 5822f0ed..c3c2ae1a 100644 --- a/ServiceHost/Areas/Admin/Pages/Company/Employers/LegalDetails.cshtml +++ b/ServiceHost/Areas/Admin/Pages/Company/Employers/LegalDetails.cshtml @@ -1,7 +1,6 @@ -@using _0_Framework.Application -@model CompanyManagment.App.Contracts.Employer.EditEmployer +@model CompanyManagment.App.Contracts.Employer.EditEmployer @{ - }
- + -
- +
+
+ اطلاعات سامانه های دولتی - - تاریخ صدور شناسنامه - @Model.DateOfIssue + - -
-
-
-
-
- اطلاعات سامانه های دولتی - + + + + + + + + - - - - + + + - + - - - + - - - + + + - + + + - + - - - + - - - + + + - + + + - + - - - + - - - + + + - - +
نام کاربری اداره کار رمز عبور اداره کار
@Model.MclsUserName + @Model.MclsPassword +
نام کاربری اداره کار رمز عبور اداره کار
E Service نام کاربری E Service رمز عبور
@Model.MclsUserName @Model.MclsPassword
E Service نام کاربری E Service رمز عبور @Model.EserviceUserName + @Model.EservicePassword +
نام کاربری سامانه مالیات رمز عبور سامانه مالیات
@Model.EserviceUserName @Model.EservicePassword
نام کاربری سامانه مالیات رمز عبور سامانه مالیات @Model.TaxOfficeUserName + @Model.TaxOfficepassword +
نام کاربری سامانه ثنا رمز عبور سامانه ثنا
@Model.TaxOfficeUserName @Model.TaxOfficepassword
نام کاربری سامانه ثنا رمز عبور سامانه ثنا @Model.SanaUserName + @Model.SanaPassword +
- @Model.SanaUserName - @Model.SanaPassword - +
+
- +
+ + - -
- - - - + +
+
\ No newline at end of file diff --git a/ServiceHost/Areas/Admin/Pages/Company/Employers/LegalEdit.cshtml b/ServiceHost/Areas/Admin/Pages/Company/Employers/LegalEdit.cshtml index f57ac981..f9ab96da 100644 --- a/ServiceHost/Areas/Admin/Pages/Company/Employers/LegalEdit.cshtml +++ b/ServiceHost/Areas/Admin/Pages/Company/Employers/LegalEdit.cshtml @@ -1,473 +1,477 @@ -@using _0_Framework.Application -@model CompanyManagment.App.Contracts.Employer.EditEmployer +@model CompanyManagment.App.Contracts.Employer.EditEmployer @{ } - +
- -
ویرایش مشخصات کارفرمای حقوقی
-
-
-
-
-
مشخصات کارفرما
-
مشخصات مدیر عامل
-
اطلاعات سامانه ای
-
-
-
-
- - - @**@ -
-
-
- - - @**@ -
-
-
-
- - - -

فقط عدد وارد شود.

-
-
-
-
- - - -

فقط عدد وارد شود.

-
-
-
-
- - - -

فقط عدد وارد شود.

-
-
-
-
- - - -

فقط عدد وارد شود.

-
-
-
-
-
-
-
-
- -
- + +
+
+
+
+
+ +
+ + +
+
+
+
+
+
+
+ + + +

فقط حروف فارسی وارد شود.

+
+
+
+
+ + + +

فقط حروف فارسی وارد شود.

+
+
+
+
+
+
+ + + +

فقط عدد وارد شود.

+
+
+
+
+ + + +

فقط عدد وارد شود.

+
+
+
+
+
+
+ + + @**@ +
+
+
+
+ + + +

فقط حروف فارسی وارد شود.

+
+
+
+
+
+
+ + + @**@ +
+
+
+
+ + + +

فقط حروف فارسی وارد شود.

+
+
+
+
+
+
+
+ اداره کار +
+
+ + +
+
+
+
+ + +
+
+
+
+ تامین اجتماعی +
+
+ + +
+
+
+
+ + +
+
+
+
+ قوه قضائیه +
+
+ + +
+
+
+
+ + +
+
+
+
+ امور مالیاتی +
+
+ + +
+
+
+
+ + +
+
+
+
+
+ + +
+ +
+ function prevButton(element) { + const prevBtn = element; + const nextBtn = $(".next"); + const form1 = $("#form1"); + const form2 = $("#form2"); + const form3 = $("#form3"); + const progressBar = $("#progressBar"); + nextBtn.css({ + 'background-color': "white", + 'color': '#1763b1' + }); + if (form2.css('left') == '3000px' && form3.css('right') == '3000px') { + prevBtn.css({ + 'background-color': "#c7c0c0ba", + 'color': '#000000b8', + 'box-shadow': 'none' + }); + + } else if (form2.css('left') == '0px') { + progressBar.css({ + 'width': '33.33%' + }); + prevBtn.css({ + 'background-color': "#c7c0c0ba", + 'color': '#000000b8', + 'box-shadow': 'none' + }); + form2.css({ + left: '3000px' + }); + form1.css({ + right: '0px' + }); + } else if (form3.css('right') == '10px') { + progressBar.css({ + 'width': '66.66%' + }); + prevBtn.css({ + 'background-color': "white", + 'color': '#0f9500', + 'box-shadow': '0 2px 5px 0 rgba(0, 0, 0, 0.16), 0 2px 10px 0 rgba(0, 0, 0, 0.12)' + }); + form2.css({ + left: '0px' + }); + form3.css({ + right: '3000px' + }); + } + } + + $("#save").click(function() { + $("#form1").find('.not-empty').each(function() { + if ($(this).val() === '') { + $(this).addClass('errored'); + } else { + $(this).removeClass('errored'); + } + }); + const option1 = document.getElementById("party").options.selectedIndex; + if (option1 == 0) { + $("#divParty .select2-selection").addClass('errored'); + } else { + $("#divParty .select2-selection").removeClass('errored'); + } + if ($('#form1 .errored').length > 0 || $('#form1 input.patternMisMatch').length > 0) { + $('.sweet-alert').removeClass("successSwall"); + $('.sweet-alert').removeClass("errorSwall"); + swal({ + title: 'لطفا موارد اجباری را تکمیل کنید.', + text: "", + type: "warning", + showCancelButton: true, + confirmButtonColor: "#DD6B55", + //confirmButtonText: "بستن", + cancelButtonText: "بستن", + closeOnConfirm: false, + customClass: "errorSwall" + }); + + } else { + $("#legalEmployer").submit(); + } + }); + //تنظیمات تاریخ + $(".persianDateInput").on('keyup', + function() { + if (event.which !== 8 && event.which !== 46) { + let value = $(this).val(); + const lengthValue = value.length; + if (lengthValue === 4) { + value += '/'; + } + if (lengthValue === 7) { + value += '/'; + } + $(this).val(value); + } + }); + $(".persianDateInput").on("keydown", + function(event) { + const keyCode = event.which || event.keyCode; + const isDigit = (keyCode >= 48 && keyCode <= 57) || (keyCode >= 96 && keyCode <= 105); + const isControlKey = (keyCode === 8) || (keyCode === 9) || (keyCode === 13) || (keyCode === 35) || (keyCode === 36) || (keyCode === 37) || (keyCode === 39) || (keyCode === 46); + if (!isDigit && !isControlKey) { + event.preventDefault(); + } + }); + $(".persianDateInput").on('blur', + function() { + const value = $(this).val(); + const lengthValue = value.length; + if (!dateValidCheck(this)) { + $(this).addClass("errored"); + } else { + $(this).removeClass("errored"); + } + }); + \ No newline at end of file diff --git a/ServiceHost/Areas/Admin/Pages/Company/FaceRecognition/Index.cshtml b/ServiceHost/Areas/Admin/Pages/Company/FaceRecognition/Index.cshtml index 73fd7b29..5b8776f0 100644 --- a/ServiceHost/Areas/Admin/Pages/Company/FaceRecognition/Index.cshtml +++ b/ServiceHost/Areas/Admin/Pages/Company/FaceRecognition/Index.cshtml @@ -1,9 +1,9 @@ @page @model ServiceHost.Areas.Admin.Pages.Company.FaceRecognition.IndexModel @{ - Layout = "Shared/_AdminLayoutCopy"; - ViewData["title"] = "حضور غیاب"; - }
-
+ + + + \ No newline at end of file diff --git a/ServiceHost/Areas/Admin/Pages/Company/FileEmployee/Edit.cshtml b/ServiceHost/Areas/Admin/Pages/Company/FileEmployee/Edit.cshtml index 6c39eaf5..18e24314 100644 --- a/ServiceHost/Areas/Admin/Pages/Company/FileEmployee/Edit.cshtml +++ b/ServiceHost/Areas/Admin/Pages/Company/FileEmployee/Edit.cshtml @@ -1,9 +1,6 @@ -@using _0_Framework.Application -@model CompanyManagment.App.Contracts.FileEmployee.EditFileEmployee +@model CompanyManagment.App.Contracts.FileEmployee.EditFileEmployee @{ - - - - @* - - - @**@ - - - - @* - *@ - - - - + *@ \ No newline at end of file diff --git a/ServiceHost/Areas/Admin/Pages/Company/FileEmployer/EditReal.cshtml b/ServiceHost/Areas/Admin/Pages/Company/FileEmployer/EditReal.cshtml index 7a623b69..a7ce1113 100644 --- a/ServiceHost/Areas/Admin/Pages/Company/FileEmployer/EditReal.cshtml +++ b/ServiceHost/Areas/Admin/Pages/Company/FileEmployer/EditReal.cshtml @@ -1,9 +1,6 @@ -@using _0_Framework.Application -@model CompanyManagment.App.Contracts.FileEmployer.EditFileEmployer +@model CompanyManagment.App.Contracts.FileEmployer.EditFileEmployer @{ - - - }
- - - - -
- - - - + \ No newline at end of file diff --git a/ServiceHost/Areas/Admin/Pages/Company/FileEmployer/RealDetails.cshtml b/ServiceHost/Areas/Admin/Pages/Company/FileEmployer/RealDetails.cshtml index 1db4f167..19b0a474 100644 --- a/ServiceHost/Areas/Admin/Pages/Company/FileEmployer/RealDetails.cshtml +++ b/ServiceHost/Areas/Admin/Pages/Company/FileEmployer/RealDetails.cshtml @@ -1,7 +1,6 @@ -@using _0_Framework.Application -@model CompanyManagment.App.Contracts.FileEmployer.EditFileEmployer +@model CompanyManagment.App.Contracts.FileEmployer.EditFileEmployer @{ - }
-
+ + + + \ No newline at end of file diff --git a/ServiceHost/Areas/Admin/Pages/Company/FilePage/Alerts.cshtml b/ServiceHost/Areas/Admin/Pages/Company/FilePage/Alerts.cshtml index faf9a068..2ddc2411 100644 --- a/ServiceHost/Areas/Admin/Pages/Company/FilePage/Alerts.cshtml +++ b/ServiceHost/Areas/Admin/Pages/Company/FilePage/Alerts.cshtml @@ -1,8 +1,8 @@ @page @model ServiceHost.Areas.Admin.Pages.Company.FilePage.AlertsModel @{ - Layout = "Shared/_AdminLayout"; - ViewData["title"] = "گزارش ها"; + Layout = "Shared/_AdminLayout"; + ViewData["title"] = "گزارش ها"; } -
-
-
+
+
-
-
-

- -

+
+ -
-
-
-
-
-
-
-
- + - -
-
- -
-
- +
+
+ -
-
- +
+
+ -
- - -
+ +
+
+ +
-
-
+
-
- - مشاهده همه -
-
-
- -
-
-
-
-
+
-
-
-
-
-
-

لیست گزارش ها

-
-
-
-
- - - - +
+
- - - - - - - - - - - - @{ var i = 1; } - @foreach (var item in Model.viewModels) - { - - - - - - - - - - - - i++; - } +
+ + مشاهده همه +
+ + + + + + + + - -
# شماره بایگانی کلاسه پرونده موکل طرف مقابل عملیات قابل انجام به تعویق انداختن
-

@i

-
-

@item.File.ArchiveNo

-
-

@item.File.FileClass

-
-

@item.File.ClientFullName

-
-

@item.File.OppositePersonFullName

-
-

@item.FileState.Title

-
- - - -
-
-
-
-
-
+
+
+ +
+
+
+

لیست گزارش ها

+
+
+
+
+ + + + + + + + + + + + + + + + + @{ var i = 1; } + @foreach (var item in Model.viewModels) + { + + + + + + + + + + + + i++; + } + + +
# شماره بایگانی کلاسه پرونده موکل طرف مقابل عملیات قابل انجام به تعویق انداختن
+

@i

+
+

@item.File.ArchiveNo

+
+

@item.File.FileClass

+
+

@item.File.ClientFullName

+
+

@item.File.OppositePersonFullName

+
+

@item.FileState.Title

+
+ + + +
+
+
+
+
+
- @section Script { - - - + + + - - - } \ No newline at end of file diff --git a/ServiceHost/Areas/Admin/Pages/Company/FilePage/Alerts.cshtml.cs b/ServiceHost/Areas/Admin/Pages/Company/FilePage/Alerts.cshtml.cs index db4a0cfe..89d5a5a3 100644 --- a/ServiceHost/Areas/Admin/Pages/Company/FilePage/Alerts.cshtml.cs +++ b/ServiceHost/Areas/Admin/Pages/Company/FilePage/Alerts.cshtml.cs @@ -4,79 +4,94 @@ using CompanyManagment.App.Contracts.FileAlert; using CompanyManagment.App.Contracts.FileState; using Microsoft.AspNetCore.Mvc; using Microsoft.AspNetCore.Mvc.RazorPages; -using System.Collections.Generic; -using System.Linq; +using ArchiveNo_FileClass_UserIdList = CompanyManagment.App.Contracts.FileAlert.ArchiveNo_FileClass_UserIdList; +using Users = CompanyManagment.App.Contracts.FileAlert.Users; -namespace ServiceHost.Areas.Admin.Pages.Company.FilePage +namespace ServiceHost.Areas.Admin.Pages.Company.FilePage; + +public class AlertsModel : PageModel { - public class AlertsModel : PageModel - { - public List viewModels; - public FileAlertSearchModel searchModel; + private readonly IFileAlertApplication _fileAlertApplication; - private readonly IFileApplication _fileApplication; - private readonly IFileAlertApplication _fileAlertApplication; - private readonly IFileStateApplication _fileStateApplication; + private readonly IFileApplication _fileApplication; + private readonly IFileStateApplication _fileStateApplication; + public FileAlertSearchModel searchModel; + public List viewModels; - public AlertsModel - ( - IFileApplication fileApplication, - IFileAlertApplication fileAlertApplication, - IFileStateApplication fileStateApplication - ) - { - _fileApplication = fileApplication; - _fileAlertApplication = fileAlertApplication; - _fileStateApplication = fileStateApplication; - } + public AlertsModel + ( + IFileApplication fileApplication, + IFileAlertApplication fileAlertApplication, + IFileStateApplication fileStateApplication + ) + { + _fileApplication = fileApplication; + _fileAlertApplication = fileAlertApplication; + _fileStateApplication = fileStateApplication; + } - public void OnGet(FileAlertSearchModel searchModel) - { - var files = _fileApplication.Search(new FileSearchModel { ArchiveNo = searchModel.ArchiveNo, FileClass = searchModel.FileClass, Status = FileEnums.ACTIVE }); + public void OnGet(FileAlertSearchModel searchModel) + { + var files = _fileApplication.Search(new FileSearchModel + { ArchiveNo = searchModel.ArchiveNo, FileClass = searchModel.FileClass, Status = FileEnums.ACTIVE }); - viewModels = _fileAlertApplication.GetFilesAlerts(files); + viewModels = _fileAlertApplication.GetFilesAlerts(files); - if (searchModel.FileState_Id != 0) - viewModels = viewModels.Where(x => x.FileState_Id == searchModel.FileState_Id).ToList(); + if (searchModel.FileState_Id != 0) + viewModels = viewModels.Where(x => x.FileState_Id == searchModel.FileState_Id).ToList(); - var filesId = viewModels.Select(y => y.File_Id).ToList(); + var filesId = viewModels.Select(y => y.File_Id).ToList(); - files = files.Where(x => filesId.Contains(x.Id)).ToList(); + files = files.Where(x => filesId.Contains(x.Id)).ToList(); - - if (this.searchModel == null) - { - this.searchModel = new FileAlertSearchModel - { - ArchiveNo_FileClass_UserIdList = files.Select(x => new CompanyManagment.App.Contracts.FileAlert.ArchiveNo_FileClass_UserIdList { ArchiveNo = x.ArchiveNo.ToString(), FileClass = x.FileClass, UserId = x.Client == 1 ? x.Reqester : x.Summoned }).ToList(), - UsersList = _fileApplication.GetAllEmploees().Select(x => new CompanyManagment.App.Contracts.FileAlert.Users { Id = x.Id, FullName = x.EmployeeFullName }).ToList(), - FileStatesList = _fileStateApplication.Search(new FileStateSearchModel()).OrderBy(x => x.Id).ToList() - }; + if (this.searchModel == null) + { + this.searchModel = new FileAlertSearchModel + { + ArchiveNo_FileClass_UserIdList = files.Select(x => new ArchiveNo_FileClass_UserIdList + { + ArchiveNo = x.ArchiveNo.ToString(), FileClass = x.FileClass, + UserId = x.Client == 1 ? x.Reqester : x.Summoned + }).ToList(), + UsersList = _fileApplication.GetAllEmploees() + .Select(x => new Users { Id = x.Id, FullName = x.EmployeeFullName }).ToList(), + FileStatesList = _fileStateApplication.Search(new FileStateSearchModel()).OrderBy(x => x.Id).ToList() + }; - this.searchModel.UsersList.AddRange(_fileApplication.GetAllEmployers().Select(x => new CompanyManagment.App.Contracts.FileAlert.Users { Id = x.Id, FullName = x.FullName }).ToList()); - } - else - { - this.searchModel.ArchiveNo_FileClass_UserIdList = files.Select(x => new CompanyManagment.App.Contracts.FileAlert.ArchiveNo_FileClass_UserIdList { ArchiveNo = x.ArchiveNo.ToString(), FileClass = x.FileClass, UserId = x.Client == 1 ? x.Reqester : x.Summoned }).ToList(); - this.searchModel.UsersList = _fileApplication.GetAllEmploees().Select(x => new CompanyManagment.App.Contracts.FileAlert.Users { Id = x.Id, FullName = x.EmployeeFullName }).ToList(); - this.searchModel.UsersList.AddRange(_fileApplication.GetAllEmployers().Select(x => new CompanyManagment.App.Contracts.FileAlert.Users { Id = x.Id, FullName = x.FullName }).ToList()); - this.searchModel.FileStatesList = _fileStateApplication.Search(new FileStateSearchModel()).OrderBy(x => x.Id).ToList(); - } - } + this.searchModel.UsersList.AddRange(_fileApplication.GetAllEmployers() + .Select(x => new Users { Id = x.Id, FullName = x.FullName }).ToList()); + } + else + { + this.searchModel.ArchiveNo_FileClass_UserIdList = files.Select(x => new ArchiveNo_FileClass_UserIdList + { + ArchiveNo = x.ArchiveNo.ToString(), FileClass = x.FileClass, + UserId = x.Client == 1 ? x.Reqester : x.Summoned + }).ToList(); + this.searchModel.UsersList = _fileApplication.GetAllEmploees() + .Select(x => new Users { Id = x.Id, FullName = x.EmployeeFullName }).ToList(); + this.searchModel.UsersList.AddRange(_fileApplication.GetAllEmployers() + .Select(x => new Users { Id = x.Id, FullName = x.FullName }).ToList()); + this.searchModel.FileStatesList = + _fileStateApplication.Search(new FileStateSearchModel()).OrderBy(x => x.Id).ToList(); + } + } - public JsonResult OnPostSetAdditionalDeadline(EditFileAlert fileAlert) - { - var operationResult = new OperationResult(); - var fileAdditionalDeadlines = _fileAlertApplication.Search(new FileAlertSearchModel { File_Id = fileAlert.File_Id, FileState_Id = fileAlert.FileState_Id }); + public JsonResult OnPostSetAdditionalDeadline(EditFileAlert fileAlert) + { + var operationResult = new OperationResult(); + var fileAdditionalDeadlines = _fileAlertApplication.Search(new FileAlertSearchModel + { File_Id = fileAlert.File_Id, FileState_Id = fileAlert.FileState_Id }); - if (fileAdditionalDeadlines.Where(x => x.AdditionalDeadline == fileAlert.AdditionalDeadline).Count() >= _fileAlertApplication.getMaximumAdditionalDeadlineTimes(fileAlert.AdditionalDeadline)) + if (fileAdditionalDeadlines.Where(x => x.AdditionalDeadline == fileAlert.AdditionalDeadline).Count() >= + _fileAlertApplication.getMaximumAdditionalDeadlineTimes(fileAlert.AdditionalDeadline)) - return new JsonResult(operationResult.Failed("تعداد دفعات مجاز تمدید " + fileAlert.AdditionalDeadline + " روزه به پایان رسیده است.")); + return new JsonResult(operationResult.Failed("تعداد دفعات مجاز تمدید " + fileAlert.AdditionalDeadline + + " روزه به پایان رسیده است.")); - _fileAlertApplication.Create(fileAlert); + _fileAlertApplication.Create(fileAlert); - return new JsonResult(operationResult.Succcedded()); - } - } -} + return new JsonResult(operationResult.Succcedded()); + } +} \ No newline at end of file diff --git a/ServiceHost/Areas/Admin/Pages/Company/FilePage/CreateFile.cshtml b/ServiceHost/Areas/Admin/Pages/Company/FilePage/CreateFile.cshtml index 2adee5ed..d65ff895 100644 --- a/ServiceHost/Areas/Admin/Pages/Company/FilePage/CreateFile.cshtml +++ b/ServiceHost/Areas/Admin/Pages/Company/FilePage/CreateFile.cshtml @@ -1,6 +1,6 @@ @model CompanyManagment.App.Contracts.File1.CreateFile - - + + +
- +
+ $.ajax({ + //contentType: 'application/json; charset=utf-8', + dataType: 'json', + type: 'POST', + url: '@Url.Page("./Index", "CheckUniqueFileClass")', + headers: { "RequestVerificationToken": $('input[name="__RequestVerificationToken"]').val() }, + data: { "fileClass": fileClass }, + + success: function(response) { + console.log(response); + if (response.stat == false) { + + $("button[type=submit]").attr('disabled', true); + $.Notification.autoHideNotify('error', 'top center', 'پیام سیستم ', response.message); + //swal("", response.message, "error"); + } else { + $("button[type=submit]").attr('disabled', false); + } + }, + failure: function(response) { + console.log(5, response); + alert("خطایی رخ داده است. لطفا با مدیر سیستم تماس بگیرید"); + } + }); + + } + + + } + \ No newline at end of file diff --git a/ServiceHost/Areas/Admin/Pages/Company/FilePage/CreateOrEditEvidence.cshtml b/ServiceHost/Areas/Admin/Pages/Company/FilePage/CreateOrEditEvidence.cshtml index 15f83b19..ebf3960f 100644 --- a/ServiceHost/Areas/Admin/Pages/Company/FilePage/CreateOrEditEvidence.cshtml +++ b/ServiceHost/Areas/Admin/Pages/Company/FilePage/CreateOrEditEvidence.cshtml @@ -1,6 +1,6 @@ @model CompanyManagment.App.Contracts.Evidence.EditEvidence - - +
+ +
+
+ + + +
+
+
+ + +
+
+ + + } + + \ No newline at end of file diff --git a/ServiceHost/Areas/Admin/Pages/Company/FilePage/CreateOrEditFileTiming.cshtml b/ServiceHost/Areas/Admin/Pages/Company/FilePage/CreateOrEditFileTiming.cshtml index 6a7dce3b..d535475b 100644 --- a/ServiceHost/Areas/Admin/Pages/Company/FilePage/CreateOrEditFileTiming.cshtml +++ b/ServiceHost/Areas/Admin/Pages/Company/FilePage/CreateOrEditFileTiming.cshtml @@ -74,63 +74,63 @@ transform: scale(1); } - + + $('.modal').on('hidden.bs.modal', + function() { + $('.modal-dialog').addClass('modal-lg'); + }); + \ No newline at end of file diff --git a/ServiceHost/Areas/Admin/Pages/Company/FilePage/CreateOrEditFileTitle.cshtml b/ServiceHost/Areas/Admin/Pages/Company/FilePage/CreateOrEditFileTitle.cshtml index d5b05715..6084d586 100644 --- a/ServiceHost/Areas/Admin/Pages/Company/FilePage/CreateOrEditFileTitle.cshtml +++ b/ServiceHost/Areas/Admin/Pages/Company/FilePage/CreateOrEditFileTitle.cshtml @@ -1,6 +1,6 @@ @model CompanyManagment.App.Contracts.FileTitle.EditFileTitle @{ - int i = 1; + var i = 1; } - + + + + + + + + + - + function EditTitle(id, title) { + $('#Id').val(id); + $('#Title').val(title); + } + \ No newline at end of file diff --git a/ServiceHost/Areas/Admin/Pages/Company/FilePage/CreateOrEditMasterPetition.cshtml b/ServiceHost/Areas/Admin/Pages/Company/FilePage/CreateOrEditMasterPetition.cshtml index c3a87764..14e395f6 100644 --- a/ServiceHost/Areas/Admin/Pages/Company/FilePage/CreateOrEditMasterPetition.cshtml +++ b/ServiceHost/Areas/Admin/Pages/Company/FilePage/CreateOrEditMasterPetition.cshtml @@ -1,6 +1,6 @@ @model CompanyManagment.App.Contracts.MasterPetition.EditMasterPetition - + + + + + + + } + + \ No newline at end of file diff --git a/ServiceHost/Areas/Admin/Pages/Company/FilePage/CreateOrEditPetition.cshtml b/ServiceHost/Areas/Admin/Pages/Company/FilePage/CreateOrEditPetition.cshtml index cb233782..b2ae196c 100644 --- a/ServiceHost/Areas/Admin/Pages/Company/FilePage/CreateOrEditPetition.cshtml +++ b/ServiceHost/Areas/Admin/Pages/Company/FilePage/CreateOrEditPetition.cshtml @@ -1,6 +1,6 @@ @model CompanyManagment.App.Contracts.Petition.EditPetition - + + + + + + + $(this).parents('.penaltyTitleDates').find('.penaltyTitleFromDate').val(""); + $(this).parents('.penaltyTitleDates').find('.penaltyTitleToDate').val(""); + } + }); + $('.penaltyTitleFromDate').focusout(function() { + + if ($(this).val() != null || $(this).val() != 0) { + + $(this).parents('.penaltyTitleDates').find('.day').val(""); + } + }); + + $('.penaltyTitleToDate').focusout(function() { + + if ($(this).val() != null || $(this).val() != 0) { + + $(this).parents('.penaltyTitleDates').find('.day').val(""); + } + }); + } + + \ No newline at end of file diff --git a/ServiceHost/Areas/Admin/Pages/Company/FilePage/Edit.cshtml b/ServiceHost/Areas/Admin/Pages/Company/FilePage/Edit.cshtml index b71353e2..091c8e00 100644 --- a/ServiceHost/Areas/Admin/Pages/Company/FilePage/Edit.cshtml +++ b/ServiceHost/Areas/Admin/Pages/Company/FilePage/Edit.cshtml @@ -1,6 +1,6 @@ @model CompanyManagment.App.Contracts.File1.EditFile @{ - string[] turns = {"اول", "دوم", "سوم", "چهارم", "پنجم", "ششم", "هفتم", "هشتم", "نهم", "دهم"}; + string[] turns = { "اول", "دوم", "سوم", "چهارم", "پنجم", "ششم", "هفتم", "هشتم", "نهم", "دهم" }; } + + + + + \ No newline at end of file diff --git a/ServiceHost/Areas/Admin/Pages/Company/FilePage/FileSummary.cshtml b/ServiceHost/Areas/Admin/Pages/Company/FilePage/FileSummary.cshtml index f31e28c9..fa4479a4 100644 --- a/ServiceHost/Areas/Admin/Pages/Company/FilePage/FileSummary.cshtml +++ b/ServiceHost/Areas/Admin/Pages/Company/FilePage/FileSummary.cshtml @@ -1,9 +1,10 @@ -@using _0_Framework.Application -@using System.Security.Cryptography.X509Certificates -@model CompanyManagment.App.Contracts.File1.FileSummary +@model CompanyManagment.App.Contracts.File1.FileSummary @{ - string[] turns = {"اول", "دوم", "سوم", "چهارم", "پنجم", "ششم", "هفتم", "هشتم", "نهم", - "دهم", "یازدهم", "دوازدهم", "سیزدهم", "چهاردهم", "پانزدهم", "شانزدهم", "هفدهم", "هجدهم", "نوزدهم", "بیستم"}; + string[] turns = + { + "اول", "دوم", "سوم", "چهارم", "پنجم", "ششم", "هفتم", "هشتم", "نهم", + "دهم", "یازدهم", "دوازدهم", "سیزدهم", "چهاردهم", "پانزدهم", "شانزدهم", "هفدهم", "هجدهم", "نوزدهم", "بیستم" + }; } -
- + -
-
+
+
-
-
-

- -

+
+ -
-
- @*===================================================================================================================*@ +
+
+
+ @*===================================================================================================================*@ -
-
-
- -
-
-
- +
+
+
+ -
-
- -
-
- +
+
+ -
-
-
- -
-
- -
-
- -
-
- -
-
-
- -
-
- -
-
- -
-
- -
-
- -
- -
+ +
+
+ +
+
+
+ +
+
+ +
+
+ +
+
+ +
+
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+ +
+ +
-
-
+
+
-
- - مشاهده همه -
-
-
- -
-
-
-
-
+
+ + مشاهده همه +
+
+
+ +
+
+
+
+
-
-
+ + -
-
-
-

لیست پرونده ها

-
-
-
-
- - - - - - - - - - - - - - - - - - - - - - - - +
+
+
+

لیست پرونده ها

+
+
+
+
+
## بایگانی کلاسه پرونده حقیقی / حقوقی تاریخ ثبت دادخواست نوبت رسیدگی مدارک تحقیق نوبت رسیدگی دادنامه تشخیص تاریخ ثبت دادخواست نوبت رسیدگی مدارک تحقیق نوبت رسیدگی دادنامه حل اختلاف عملیات
+ + + + + + + + + + + + + + + + + + + + + + + - @foreach (var item in Model.viewModels) - { - var background = ""; - var status = 0; - var style = ""; - var exitStyle = ""; - if (item.HasMandate == 1) - { - background = "background-color : #eb7070;"; - } +@foreach (var item in Model.viewModels) +{ + var background = ""; + var status = 0; + var style = ""; + var exitStyle = ""; + if (item.HasMandate == 1) + { + background = "background-color : #eb7070;"; + } - + - @if(item.Status != FileEnums.TEMPORARY_EXIT) - { - status = FileEnums.TEMPORARY_EXIT; - } - else - { - style = "background-color: #ffffff; border: 1px solid #000; transform: rotate(180deg);"; - exitStyle = "background-color: #e4b801"; - status = FileEnums.ACTIVE; - } - - + + - @if (@item.Client == 1) - { - - } - else - { - - } + @if (item.Client == 1) + { + + } + else + { + + } - - + + - - + - - + + + - + - - - @{ - i++; - } + @{ + i++; + } - - - } + + +} - -
## بایگانی کلاسه پرونده حقیقی / حقوقی تاریخ ثبت دادخواست نوبت رسیدگی مدارک تحقیق نوبت رسیدگی دادنامه تشخیص تاریخ ثبت دادخواست نوبت رسیدگی مدارک تحقیق نوبت رسیدگی دادنامه حل اختلاف عملیات
-

@i

-
- - - - - - - - - - + - - + + + + + + + + + +
- - - -
-

@i

-
- - +

@i

+
+ + + + + + + + + + - - -
+ + + +
+

@i

+
+ + -
-
-

@item.ArchiveNo

-
-

@(item.FileClass ?? "-")

-
+
+

@item.ArchiveNo

+
+

@(item.FileClass ?? "-")

+
- - - - - - - - - -
-
-

- @(item.ReqesterFullname ?? "-") -

- - @(item.ReqesterFullname ?? "-") - -
-
-
-

- @(item.SummonedFullname ?? "-") -

- - @(item.SummonedFullname ?? "-") - -
-
-
- - - - - - - - - -
-
-

- @(item.SummonedFullname ?? "-") -

- - @(item.SummonedFullname ?? "-") - -
-
-
-

- @(item.ReqesterFullname ?? "-") -

- - @(item.ReqesterFullname ?? "-") - -
-
-
+ + + + + + + + + +
+
+

+ @(item.ReqesterFullname ?? "-") +

+ + @(item.ReqesterFullname ?? "-") + +
+
+
+

+ @(item.SummonedFullname ?? "-") +

+ + @(item.SummonedFullname ?? "-") + +
+
+
+ + + + + + + + + +
+
+

+ @(item.SummonedFullname ?? "-") +

+ + @(item.SummonedFullname ?? "-") + +
+
+
+

+ @(item.ReqesterFullname ?? "-") +

+ + @(item.ReqesterFullname ?? "-") + +
+
+
-

@item.DiagnosisBoard.DisputeResolutionPetitionDate

-
- @if (item.DiagnosisBoard.Id != 0&& item.FirstDiagnosisPS.Id != 0) - { - - - - - - - - - - - - -
-

@(item.FirstDiagnosisPS.Date ?? "-")

-
-

نوبت اول

-
-

@item.DiagnosisBoard.Branch - @item.DiagnosisBoard.BoardChairman

-
- } - else - { - - - - - - -
-
-
-
- } -
+

@item.DiagnosisBoard.DisputeResolutionPetitionDate

+
+ @if (item.DiagnosisBoard.Id != 0 && item.FirstDiagnosisPS.Id != 0) + { + + + + + + + + + + + + +
+

@(item.FirstDiagnosisPS.Date ?? "-")

+
+

نوبت اول

+
+

@item.DiagnosisBoard.Branch - @item.DiagnosisBoard.BoardChairman

+
+ } + else + { + + + + + + + + + + + + +
-
-
-
+ } +
+ - @if(item.DiagnosisEvidenceId == 0) - { - style = "background-color: #fff; border-color: #009688; color: #009688 !important"; - } - else - { - style = "background-color: #009688; border-color: #009688;"; - } + @if (item.DiagnosisEvidenceId == 0) + { + style = "background-color: #fff; border-color: #009688; color: #009688 !important"; + } + else + { + style = "background-color: #009688; border-color: #009688;"; + } - - - - + + + + - - @if(item.DiagnosisMasterPetitionId == 0) - { - style = "background-color: #fff; border-color: #ff7700; color: #ff7700 !important"; - } - else - { - style = "background-color: #ff7700; border-color: #ff7700;"; - } - - - - - @if (item.DiagnosisBoard.Id != 0 && item.LastDiagnosisPS.Id != 0) - { - - - - - - - - - - - - -
-

@(item.LastDiagnosisPS.Date ?? "-")

-
-

نوبت @turns[item.DiagnosisPsCount]

-
-

@item.DiagnosisBoard.Branch - @item.DiagnosisBoard.BoardChairman

-
- } - else - { - - - - - - -
-
-
-
- } -
- - - - - - - - - - + + - - - + + +
-

@(item.DiagnosisPetition.PetitionIssuanceDate ?? "-")

-
-

@(item.DiagnosisPetition.TotalPenalty ?? "-")

-
- @*@if(item.DiagnosisPetition.PetitionIssuanceDate != null) + @if (item.DiagnosisMasterPetitionId == 0) + { + style = "background-color: #fff; border-color: #ff7700; color: #ff7700 !important"; + } + else + { + style = "background-color: #ff7700; border-color: #ff7700;"; + } + + + + + + @if (item.DiagnosisBoard.Id != 0 && item.LastDiagnosisPS.Id != 0) + { + + + + + + + + + + + + +
+

@(item.LastDiagnosisPS.Date ?? "-")

+
+

نوبت @turns[item.DiagnosisPsCount]

+
+

@item.DiagnosisBoard.Branch - @item.DiagnosisBoard.BoardChairman

+
+ } + else + { + + + + + + + + + + + + +
-
-
-
+ } +
+ + + + + + + + + + - - -
+

@(item.DiagnosisPetition.PetitionIssuanceDate ?? "-")

+
+

@(item.DiagnosisPetition.TotalPenalty ?? "-")

+
+ @*@if(item.DiagnosisPetition.PetitionIssuanceDate != null) {*@ - - - - @*}*@ -
-
-

@(item.DisputeResolutionBoard.DisputeResolutionPetitionDate ?? "-")

-
- @if (item.DisputeResolutionBoard.Id != 0 && item.FirstDisputeResolutionPS.Id != 0) - { - - - - - - - - - - - - -
-

@(item.FirstDisputeResolutionPS.Date ?? "-")

-
-

نوبت اول

-
-

@item.DisputeResolutionBoard.Branch - @item.DisputeResolutionBoard.BoardChairman

-
- } - else - { - - - - - - -
-
-
-
- } -
+ + + + @*}*@ +
+
+

@(item.DisputeResolutionBoard.DisputeResolutionPetitionDate ?? "-")

+
+ @if (item.DisputeResolutionBoard.Id != 0 && item.FirstDisputeResolutionPS.Id != 0) + { + + + + + + + + + + + + +
+

@(item.FirstDisputeResolutionPS.Date ?? "-")

+
+

نوبت اول

+
+

@item.DisputeResolutionBoard.Branch - @item.DisputeResolutionBoard.BoardChairman

+
+ } + else + { + + + + + + + + + + + + +
-
-
-
+ } +
- @if(item.DisputeResolutionEvidenceId == 0) - { - style = "background-color: #fff; border-color: #009688; color: #009688 !important"; - } - else - { - style = "background-color: #009688; border-color: #009688;"; - } + @if (item.DisputeResolutionEvidenceId == 0) + { + style = "background-color: #fff; border-color: #009688; color: #009688 !important"; + } + else + { + style = "background-color: #009688; border-color: #009688;"; + } - - - - + + + + - @if(item.DisputeResolutionMasterPetitionId == 0) - { - style = "background-color: #fff; border-color: #ff7700; color: #ff7700 !important"; - } - else - { - style = "background-color: #ff7700; border-color: #ff7700;"; - } + @if (item.DisputeResolutionMasterPetitionId == 0) + { + style = "background-color: #fff; border-color: #ff7700; color: #ff7700 !important"; + } + else + { + style = "background-color: #ff7700; border-color: #ff7700;"; + } - - - - - @if (item.DisputeResolutionBoard.Id != 0 && item.LastDisputeResolutionPS.Id != 0) - { - - - - - - - - - - - - -
-

@(item.LastDisputeResolutionPS.Date ?? "-")

-
-

نوبت @turns[item.DisputeResolutionPsCount]

-
-

@item.DisputeResolutionBoard.Branch - @item.DisputeResolutionBoard.BoardChairman

-
- } - else - { - - - - - - -
-
-
-
- } -
- - - - - - - - - - + + + + + + @*}*@ + + + +
-

@(item.DisputeResolutionPetition.PetitionIssuanceDate ?? "-")

-
-

@(item.DisputeResolutionPetition.TotalPenalty ?? "-")

-
- @*@if(item.DisputeResolutionPetition.PetitionIssuanceDate != null) + + + + + @if (item.DisputeResolutionBoard.Id != 0 && item.LastDisputeResolutionPS.Id != 0) + { + + + + + + + + + + + + +
+

@(item.LastDisputeResolutionPS.Date ?? "-")

+
+

نوبت @turns[item.DisputeResolutionPsCount]

+
+

@item.DisputeResolutionBoard.Branch - @item.DisputeResolutionBoard.BoardChairman

+
+ } + else + { + + + + + + + + + + + + +
-
-
-
+ } +
+ + + + + + + + + + - - -
+

@(item.DisputeResolutionPetition.PetitionIssuanceDate ?? "-")

+
+

@(item.DisputeResolutionPetition.TotalPenalty ?? "-")

+
+ @*@if(item.DisputeResolutionPetition.PetitionIssuanceDate != null) {*@ - - - - @*}*@ -
-
+
- - - - - - - - - - - - -
- - - -
- - - -
- @if(item.Status == FileEnums.DEACTIVE) - { - style = "background-color: #fff; border-color: #ef5350; color: #ef5350 !important"; - status = FileEnums.DEACTIVE; - } - else - { - style = "background-color: #ef5350; border-color: #ef5350;"; - status = FileEnums.ACTIVE; - } - - - -
-
+ + + + + + + + + + + + +
+ + + +
+ + + +
+ @if (item.Status == FileEnums.DEACTIVE) + { + style = "background-color: #fff; border-color: #ef5350; color: #ef5350 !important"; + status = FileEnums.DEACTIVE; + } + else + { + style = "background-color: #ef5350; border-color: #ef5350;"; + status = FileEnums.ACTIVE; + } + + + +
+
-
-
-
-
-
+ + + + + + + - @section Script { - - - + + + - + - + var message = ""; + + switch (status) { + case @FileEnums.ACTIVE: + message = "آیا انجام این کار اطمینان دارید؟"; + break; + + case @FileEnums.DEACTIVE: + message = "آیا انجام این کار اطمینان دارید؟"; + break; + + case @FileEnums.TEMPORARY_EXIT: + message = "آیا پرونده موقتا از بایگانی جاری خارج شود؟"; + break; + } + + swal({ + title: "", + text: message, + type: "warning", + showCancelButton: true, + confirmButtonColor: "#DD6B55", + confirmButtonText: "بله", + cancelButtonText: "خیر", + closeOnConfirm: true, + closeOnCancel: true + }, + function(isConfirm) { + if (isConfirm) { + + $.ajax({ + dataType: 'json', + type: 'POST', + url: '@Url.Page("./Index", "SetFileStatus")', + headers: { "RequestVerificationToken": $('@Html.AntiForgeryToken()').val() }, + data: { "id": id, "status": status }, + + success: function(response) { + console.log(response); + $.Notification.autoHideNotify('success', 'top center', 'پیام سیستم ', response.message); + setTimeout(function() { + + location.reload(); + }, + 1200); + + }, + failure: function(response) { + console.log(5, response); + $.Notification.autoHideNotify('error', 'top center', 'پیام سیستم ', response.message); + } + }); + + } + }); + } + } \ No newline at end of file diff --git a/ServiceHost/Areas/Admin/Pages/Company/FilePage/Index.cshtml.cs b/ServiceHost/Areas/Admin/Pages/Company/FilePage/Index.cshtml.cs index a6befd47..f38e226d 100644 --- a/ServiceHost/Areas/Admin/Pages/Company/FilePage/Index.cshtml.cs +++ b/ServiceHost/Areas/Admin/Pages/Company/FilePage/Index.cshtml.cs @@ -1,15 +1,9 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Threading.Tasks; - -using _0_Framework_b.Application; +using _0_Framework_b.Application; using CompanyManagment.App.Contracts.Board; using CompanyManagment.App.Contracts.Contact2; using CompanyManagment.App.Contracts.Evidence; using CompanyManagment.App.Contracts.EvidenceDetail; using CompanyManagment.App.Contracts.File1; -//using CompanyManagment.App.Contracts.FileAlert; using CompanyManagment.App.Contracts.FileTiming; using CompanyManagment.App.Contracts.FileTitle; using CompanyManagment.App.Contracts.MasterPenaltyTitle; @@ -19,639 +13,640 @@ using CompanyManagment.App.Contracts.PenaltyTitle; using CompanyManagment.App.Contracts.Petition; using CompanyManagment.App.Contracts.ProceedingSession; using CompanyManagment.App.Contracts.WorkHistory; -using MD.PersianDateTime; using Microsoft.AspNetCore.Mvc; using Microsoft.AspNetCore.Mvc.RazorPages; +using ArchiveNo_FileClass_UserIdList = CompanyManagment.App.Contracts.File1.ArchiveNo_FileClass_UserIdList; +using Users = CompanyManagment.App.Contracts.File1.Users; +//using CompanyManagment.App.Contracts.FileAlert; -namespace ServiceHost.Areas.Admin.Pages.Company.FilePage +namespace ServiceHost.Areas.Admin.Pages.Company.FilePage; + +public class IndexModel : PageModel { - public class IndexModel : PageModel - { - public FileSearchModel fileSearchModel; - public List viewModels; - - private readonly IFileApplication _fileApplication; - private readonly IBoardApplication _boardApplication; - private readonly IPetitionApplication _petitionApplication; - private readonly IWorkHistoryApplication _workHistoryApplication; - private readonly IPenaltyTitleApplication _penaltyTitleApplication; - private readonly IProceedingSessionApplication _proceedingSessionApplication; - private readonly IMasterPetitionApplication _masterPetitionApplication; - private readonly IMasterWorkHistoryApplication _masterWorkHistoryApplication; - private readonly IMasterPenaltyTitleApplication _masterPenaltyTitleApplication; - private readonly IEvidenceApplication _evidenceApplication; - private readonly IEvidenceDetailApplication _evidenceDetailApplication; - private readonly IFileTitleApplication _fileTitleApplication; - private readonly IFileTimingApplication _fileTimingApplication; - private readonly IContactApplication2 _contactApplication; - - - public IndexModel( - IFileApplication fileApplication, - IBoardApplication boardApplication, - IPetitionApplication petitionApplication, - IWorkHistoryApplication workHistoryApplication, - IPenaltyTitleApplication penaltyTitleApplication, - IProceedingSessionApplication proceedingSessionApplication, - IMasterPetitionApplication masterPetitionApplication, - IMasterWorkHistoryApplication masterWorkHistoryApplication, - IMasterPenaltyTitleApplication masterPenaltyTitleApplication, - IEvidenceApplication evidenceApplication, - IEvidenceDetailApplication evidenceDetailApplication, - IFileTitleApplication fileTitleApplication, - IFileTimingApplication fileTimingApplication, - IContactApplication2 contactApplication - ) - { - _fileApplication = fileApplication; - _boardApplication = boardApplication; - _petitionApplication = petitionApplication; - _workHistoryApplication = workHistoryApplication; - _penaltyTitleApplication = penaltyTitleApplication; - _proceedingSessionApplication = proceedingSessionApplication; - _masterPetitionApplication = masterPetitionApplication; - _masterWorkHistoryApplication = masterWorkHistoryApplication; - _masterPenaltyTitleApplication = masterPenaltyTitleApplication; - _evidenceApplication = evidenceApplication; - _evidenceDetailApplication = evidenceDetailApplication; - _fileTitleApplication = fileTitleApplication; - _fileTimingApplication = fileTimingApplication; - _contactApplication = contactApplication; - } - - public void OnGet(FileSearchModel fileSearchModel) - { - var files = new List(); - - if (fileSearchModel.diagnosisBoard == null) - fileSearchModel.diagnosisBoard = new BoardSearchModel(); - - if (fileSearchModel.diagnosisProceedingSession == null) - fileSearchModel.diagnosisProceedingSession = new ProceedingSessionSearchModel(); - - if (fileSearchModel.disputeResolutionBoard == null) - fileSearchModel.disputeResolutionBoard = new BoardSearchModel(); - - if (fileSearchModel.disputeResolutionProceedingSession == null) - fileSearchModel.disputeResolutionProceedingSession = - new ProceedingSessionSearchModel(); - - - var allFiles = _fileApplication.Search(new FileSearchModel()); - - if (this.fileSearchModel == null) - { - this.fileSearchModel = new FileSearchModel - { - ArchiveNo_FileClass_UserIdList = allFiles.Select(x => new CompanyManagment.App.Contracts.File1.ArchiveNo_FileClass_UserIdList { ArchiveNo = x.ArchiveNo.ToString(), FileClass = x.FileClass, UserId = x.Client == 1 ? x.Reqester : x.Summoned }).ToList(), - UsersList = _fileApplication.GetAllEmploees().Select(x => new CompanyManagment.App.Contracts.File1.Users { Id = x.Id, FullName = x.EmployeeFullName, RequesterOrSummoned = 1 }).ToList(), - }; - - this.fileSearchModel.UsersList.AddRange(_fileApplication.GetAllEmployers().Select(x => new CompanyManagment.App.Contracts.File1.Users { Id = x.Id, FullName = x.FullName, RequesterOrSummoned = 2 }).ToList()); - } - else - { - this.fileSearchModel.ArchiveNo_FileClass_UserIdList = allFiles.Select(x => new CompanyManagment.App.Contracts.File1.ArchiveNo_FileClass_UserIdList { ArchiveNo = x.ArchiveNo.ToString(), FileClass = x.FileClass, UserId = x.Client == 1 ? x.Reqester : x.Summoned }).ToList(); - this.fileSearchModel.UsersList = _fileApplication.GetAllEmploees().Select(x => new CompanyManagment.App.Contracts.File1.Users { Id = x.Id, FullName = x.EmployeeFullName, RequesterOrSummoned = 1 }).ToList(); - this.fileSearchModel.UsersList.AddRange(_fileApplication.GetAllEmployers().Select(x => new CompanyManagment.App.Contracts.File1.Users { Id = x.Id, FullName = x.FullName, RequesterOrSummoned = 2 }).ToList()); - } - - if(!fileSearchModel.IsSearch) - files = _fileApplication.Search(fileSearchModel).Take(50).ToList(); - else - files = _fileApplication.Search(fileSearchModel).ToList(); - - files.ForEach(f => f.ReqesterFullname = _fileApplication.GetEmployeeFullNameById(f.Reqester)); - files.ForEach(f => f.SummonedFullname = _fileApplication.GetEmployerFullNameById(f.Summoned)); - - viewModels = files; - - var i = 0; - foreach (var file in files.ToList()) - { - var tempViewModel = new FileViewModel(); - tempViewModel = _fileApplication.GetFileDetails(file); - - if (fileSearchModel.IsSearch) - { - if (_fileApplication.FilterFileDetails(tempViewModel, fileSearchModel)) - { - viewModels[i] = tempViewModel; - i++; - } - else - viewModels.RemoveAt(i); - } - } - } - - public IActionResult OnGetCreateFile() - { - var archiveNo = _fileApplication.FindLastArchiveNumber(); - - var createFile = new CreateFile - { - ArchiveNo = archiveNo + 1, - Employees = _fileApplication.GetAllEmploees(false), - Employers = _fileApplication.GetAllEmployers(false), - Contacts = _contactApplication.GetAllContact() - }; - - - return Partial("./CreateFile", createFile); - } - - public IActionResult OnPostCreateFile(CreateFile command) - { - var result = _fileApplication.Create(command); - - return new JsonResult(result); - } - - public IActionResult OnGetEditFile(long id = -1) - { - if (id == -1) - { - var file = _fileApplication.Search(new FileSearchModel()).FirstOrDefault(); - if (file != null) id = file.Id; - } - - var editFile = _fileApplication.GetDetails(id); - var diagnosisBoard = - _boardApplication.GetDetails(editFile.Id, 1) - ?? new EditBoard { File_Id = editFile.Id, BoardType_Id = 1 }; - - var diagnosisPS = new List { new EditProceedingSession() }; - if (diagnosisBoard.Id != 0) - { - var PsSearchModel = new ProceedingSessionSearchModel { Board_Id = diagnosisBoard.Id, Status = 0 }; - diagnosisPS = _proceedingSessionApplication.Search(PsSearchModel); - - if (diagnosisPS.Count == 0) - diagnosisPS.Add(new EditProceedingSession()); - } - //diagnosisPS = - // diagnosisPS.Count != 0 - // ? diagnosisPS - // : new List { new EditProceedingSession() }; - - var diagnosisPetition = _petitionApplication.GetDetails(editFile.Id, 1); - - var disputeResolutionBoard = - _boardApplication.GetDetails(editFile.Id, 2) - ?? new EditBoard { File_Id = editFile.Id, BoardType_Id = 2 }; - - var disputeResolutionPS = new List { new EditProceedingSession() }; - if(disputeResolutionBoard.Id != 0) - { - var PsSearchModel = new ProceedingSessionSearchModel { Board_Id = disputeResolutionBoard.Id }; - disputeResolutionPS = _proceedingSessionApplication.Search(PsSearchModel); - - if (disputeResolutionPS.Count == 0) - disputeResolutionPS.Add(new EditProceedingSession()); - } - //disputeResolutionPS = - // disputeResolutionPS.Count != 0 - // ? disputeResolutionPS - // : new List { new EditProceedingSession() }; - - var disputeResolutionPetition = _petitionApplication.GetDetails(editFile.Id, 2); - - editFile.createDiagnosisBoard = diagnosisBoard; - editFile.createDiagnosisPS = diagnosisPS; - editFile.createDiagnosisPetition = diagnosisPetition; - - editFile.createDisputeResolutionBoard = disputeResolutionBoard; - editFile.createDisputeResolutionPS = disputeResolutionPS; - editFile.createDisputeResolutionPetition = disputeResolutionPetition; - editFile.Employees = _fileApplication.GetAllEmploees(); - editFile.Employers = _fileApplication.GetAllEmployers(); - - return Partial("Edit", editFile); - } - - public IActionResult OnPostEditFile(EditFile command) - { - var result = _fileApplication.Edit(command); - - if (!result.IsSuccedded) - return new JsonResult(result); - - if ( - command.createDiagnosisBoard.BoardChairman != null - || command.createDiagnosisBoard.Branch != null - || command.createDiagnosisBoard.DisputeResolutionPetitionDate != null - || command.createDiagnosisBoard.ExpertReport != null - ) - { - if (command.createDiagnosisBoard.Id == 0) - { - result = _boardApplication.Create(command.createDiagnosisBoard); - } - else - { - result = _boardApplication.Edit(command.createDiagnosisBoard); - } - - if (!result.IsSuccedded) - return new JsonResult(result); - - if(command.createDiagnosisPS != null) - result = _proceedingSessionApplication.CreateProceedingSessions( - command.createDiagnosisPS, - result.EntityId - ); - - if (!result.IsSuccedded) - return new JsonResult(result); - } - - if ( - command.createDisputeResolutionBoard.BoardChairman != null - || command.createDisputeResolutionBoard.Branch != null - || command.createDisputeResolutionBoard.DisputeResolutionPetitionDate != null - || command.createDisputeResolutionBoard.ExpertReport != null - ) - { - if (command.createDisputeResolutionBoard.Id == 0) - { - result = _boardApplication.Create(command.createDisputeResolutionBoard); - } - else - { - result = _boardApplication.Edit(command.createDisputeResolutionBoard); - } - - if (!result.IsSuccedded) - return new JsonResult(result); - - if (command.createDisputeResolutionPS != null) - result = _proceedingSessionApplication.CreateProceedingSessions( - command.createDisputeResolutionPS, - result.EntityId - ); - - if (!result.IsSuccedded) - return new JsonResult(result); - } - - return new JsonResult(result); - } - - public IActionResult OnGetCreateOrEditPetition(long fileId, int boardTypeId) - { - var file = _fileApplication.GetDetails(fileId); - - var petition = _petitionApplication.GetDetails(fileId, boardTypeId) ?? new EditPetition(); - var workHistories = _workHistoryApplication.Search(petition.Id); - workHistories = - workHistories.Count != 0 - ? workHistories - : new List { new EditWorkHistory() }; - - var PenaltyTitles = _penaltyTitleApplication.Search(petition.Id); - PenaltyTitles = - PenaltyTitles.Count != 0 - ? PenaltyTitles - : new List { new EditPenaltyTitle() }; - - petition.File_Id = fileId; - petition.BoardType_Id = boardTypeId; - petition.FileData = file; - petition.CreateWorkHistory = workHistories; - petition.CreatePenaltyTitle = PenaltyTitles; - - return Partial("./CreateOrEditPetition", petition); - } - - public IActionResult OnPostCreateOrEditPetition(EditPetition command) - { - var petitionResult = new OperationResult(); - - if (command.Id == 0) - { - petitionResult = _petitionApplication.Create(command); - } - else - { - petitionResult = _petitionApplication.Edit(command); - } - - if (!petitionResult.IsSuccedded) - return new JsonResult(petitionResult); - - var workResult = _workHistoryApplication.CreateWorkHistories( - command.CreateWorkHistory, - petitionResult.EntityId - ); - - if (!workResult.IsSuccedded) - return new JsonResult(workResult); - - var penaltyResult = _penaltyTitleApplication.CreatePenaltyTitles( - command.CreatePenaltyTitle, - petitionResult.EntityId - ); - - if (!penaltyResult.IsSuccedded) - return new JsonResult(penaltyResult); - - return new JsonResult(penaltyResult); - } - - public IActionResult OnGetCreateOrEditMasterPetition(long fileId, int boardTypeId) - { - var file = _fileApplication.GetDetails(fileId); - - var masterPetition = _masterPetitionApplication.GetDetails(fileId, boardTypeId) ?? new EditMasterPetition(); - var workHistories = _masterWorkHistoryApplication.Search(masterPetition.Id); - workHistories = - workHistories.Count != 0 - ? workHistories - : new List { new EditMasterWorkHistory() }; - - var PenaltyTitles = _masterPenaltyTitleApplication.Search(masterPetition.Id); - PenaltyTitles = - PenaltyTitles.Count != 0 - ? PenaltyTitles - : new List { new EditMasterPenaltyTitle() }; - - masterPetition.File_Id = fileId; - masterPetition.BoardType_Id = boardTypeId; - masterPetition.FileData = file; - masterPetition.CreateMasterWorkHistory = workHistories; - masterPetition.CreateMasterPenaltyTitle = PenaltyTitles; - - return Partial("./CreateOrEditMasterPetition", masterPetition); - } - - public IActionResult OnPostCreateOrEditMasterPetition(EditMasterPetition command) - { - var masterPetitionResult = new OperationResult(); - //if (!ModelState.IsValid) - //{ - // return BadRequest(); - - //} - - //var result = _fileApplication.Edit(command.FileData); - - //if (!result.IsSuccedded) - // return new JsonResult(result); - - if (command.Id == 0) - { - masterPetitionResult = _masterPetitionApplication.Create(command); - } - else - { - masterPetitionResult = _masterPetitionApplication.Edit(command); - } - - if (!masterPetitionResult.IsSuccedded) - return new JsonResult(masterPetitionResult); - - var workResult = _masterWorkHistoryApplication.CreateMasterWorkHistories( - command.CreateMasterWorkHistory, - masterPetitionResult.EntityId - ); - - if (!workResult.IsSuccedded) - return new JsonResult(workResult); - - var penaltyResult = _masterPenaltyTitleApplication.CreateMasterPenaltyTitles( - command.CreateMasterPenaltyTitle, - masterPetitionResult.EntityId - ); - - if (!penaltyResult.IsSuccedded) - return new JsonResult(penaltyResult); - - return new JsonResult(penaltyResult); - } - - public IActionResult OnGetCreateOrEditEvidence(long fileId, int boardTypeId) - { - var file = _fileApplication.GetDetails(fileId); - - var evidence = _evidenceApplication.GetDetails(fileId, boardTypeId) ?? new EditEvidence(); - var evidenceDetails = _evidenceDetailApplication.Search(evidence.Id); - evidenceDetails = - evidenceDetails.Count != 0 - ? evidenceDetails - : new List { new EditEvidenceDetail() }; - - - evidence.File_Id = fileId; - evidence.BoardType_Id = boardTypeId; - evidence.FileData = file; - evidence.CreateEvidenceDetail = evidenceDetails; - - return Partial("./CreateOrEditEvidence", evidence); - } - - public IActionResult OnPostCreateOrEditEvidence(EditEvidence command) - { - var evidenceResult = new OperationResult(); - //if (!ModelState.IsValid) - //{ - // return BadRequest(); - - //} - - //var result = _fileApplication.Edit(command.FileData); - - //if (!result.IsSuccedded) - // return new JsonResult(result); - - if (command.Id == 0) - { - evidenceResult = _evidenceApplication.Create(command); - } - else - { - evidenceResult = _evidenceApplication.Edit(command); - } - - if (!evidenceResult.IsSuccedded) - return new JsonResult(evidenceResult); - - var evidenceDetail = _evidenceDetailApplication.CreateEvidenceDetail( - command.CreateEvidenceDetail, - evidenceResult.EntityId - ); - - if (!evidenceDetail.IsSuccedded) - return new JsonResult(evidenceDetail); - - return new JsonResult(evidenceDetail); - } - - public IActionResult OnGetCreateOrEditFileTitle(string type) - { - var EditFileTitle = new EditFileTitle(); - EditFileTitle.FileTitlesList = _fileTitleApplication.Search(new FileTitleSearchModel { Type = type }); - - return Partial("./CreateOrEditFileTitle", EditFileTitle); - } - - public IActionResult OnPostCreateOrEditFileTitle(EditFileTitle command) - { - var result = new OperationResult(); - - if (_fileTitleApplication.Search(new FileTitleSearchModel { Title = command.Title, Type = command.Type }).Count != 0) - result.Failed("این عنوان قبلا ثبت شده است"); - else - { - if (command.Id == 0) - result = _fileTitleApplication.Create(command); - - else - { - var fileTitle = _fileTitleApplication.Search(new FileTitleSearchModel { Id = command.Id }).FirstOrDefault(); - fileTitle.Title = command.Title; - result = _fileTitleApplication.Edit(fileTitle); - } - } - - var res = new - { - result = result, - type = command.Type - }; - - return new JsonResult(res); - } - - public IActionResult OnGetCreateOrEditFileTiming(string type) - { - var FileTimings = _fileTimingApplication.Search(new FileTimingSearchModel()); - - if (FileTimings.Count == 0) - FileTimings = Enumerable.Repeat(new EditFileTiming(), 6).ToList(); - - return Partial("./CreateOrEditFileTiming", FileTimings); - } - - public IActionResult OnPostCreateOrEditFileTiming(List command) - { - var result = new OperationResult(); - - foreach (var item in command) - { - if (item.Id == 0) - _fileTimingApplication.Create(item); - - else - _fileTimingApplication.Edit(item); - } - - return new JsonResult(result.Succcedded()); - } - - public IActionResult OnGetFileSummary(long id) - { - var summary = _fileApplication.GetFileSummary(id); - - return Partial("FileSummary", summary); - } - - public JsonResult OnPostCheckUniqueArchiveNo(string archiveNo) - { - var sModel = new FileSearchModel { ArchiveNo = archiveNo }; - var vModel = _fileApplication.Search(sModel); - - return new JsonResult( - new - { - stat = vModel.Count() == 0 ? true : false, - message = vModel == null ? "" : "شماره بایگانی تکراری است" - } - ); - } - public JsonResult OnPostCheckUniqueFileClass(string fileClass) - { - var sModel = new FileSearchModel { FileClass = fileClass }; - var vModel = _fileApplication.Search(sModel); - - return new JsonResult( - new - { - stat = vModel.Count() == 0 ? true : false, - message = vModel == null ? "" : "کلاسه پرونده تکراری است" - } - ); - } - - public JsonResult OnPostRemoveMasterPetition(long id) - { - _masterPenaltyTitleApplication.RemoveMasterPenaltyTitles(id); - _masterWorkHistoryApplication.RemoveMasterWorkHistories(id); - var result = _masterPetitionApplication.Remove(id); - - return new JsonResult(result); - } - public JsonResult OnGetGetFileTitles(string type) - { - var fileTitlesList = new List(); - - if (type == "contact") - fileTitlesList = _contactApplication.GetAllContact().Select(x => x.NameContact).ToList(); - - else - fileTitlesList = _fileTitleApplication.Search(new FileTitleSearchModel { Type = type }).Select(x => x.Title).ToList(); - - - return new JsonResult(fileTitlesList); - } - - public JsonResult OnPostRemoveFileTitle(long id) - { - var result = _fileTitleApplication.Remove(id); - - return new JsonResult(result); - } - - public JsonResult OnPostRemoveEvidence(long id) - { - _evidenceDetailApplication.RemoveEvidenceDetails(id); - var result = _evidenceApplication.Remove(id); - - return new JsonResult(result); - } - - public JsonResult OnPostSetFileStatus(long id, int status) - { - var result = new OperationResult(); - var file = _fileApplication.GetDetails(id); - file.Status = status; - result = _fileApplication.Edit(file); - - switch (file.Status) - { - case 1: - - //file.Status = 2; - //result = _fileApplication.Edit(file); - result.Message = "پرونده با موفقیت فعال شد"; - break; - - case 2: - //file.Status = 1; - //result = _fileApplication.Edit(file); - result.Message = "پرونده با موفقیت غیرفعال شد"; - break; - - case 3: - //file.Status = 1; - //result = _fileApplication.Edit(file); - result.Message = "پرونده با موفقیت از بایگانی خارج شد"; - break; - } - - return new JsonResult(result); - } - - - } -} + private readonly IBoardApplication _boardApplication; + private readonly IContactApplication2 _contactApplication; + private readonly IEvidenceApplication _evidenceApplication; + private readonly IEvidenceDetailApplication _evidenceDetailApplication; + + private readonly IFileApplication _fileApplication; + private readonly IFileTimingApplication _fileTimingApplication; + private readonly IFileTitleApplication _fileTitleApplication; + private readonly IMasterPenaltyTitleApplication _masterPenaltyTitleApplication; + private readonly IMasterPetitionApplication _masterPetitionApplication; + private readonly IMasterWorkHistoryApplication _masterWorkHistoryApplication; + private readonly IPenaltyTitleApplication _penaltyTitleApplication; + private readonly IPetitionApplication _petitionApplication; + private readonly IProceedingSessionApplication _proceedingSessionApplication; + private readonly IWorkHistoryApplication _workHistoryApplication; + public FileSearchModel fileSearchModel; + public List viewModels; + + + public IndexModel( + IFileApplication fileApplication, + IBoardApplication boardApplication, + IPetitionApplication petitionApplication, + IWorkHistoryApplication workHistoryApplication, + IPenaltyTitleApplication penaltyTitleApplication, + IProceedingSessionApplication proceedingSessionApplication, + IMasterPetitionApplication masterPetitionApplication, + IMasterWorkHistoryApplication masterWorkHistoryApplication, + IMasterPenaltyTitleApplication masterPenaltyTitleApplication, + IEvidenceApplication evidenceApplication, + IEvidenceDetailApplication evidenceDetailApplication, + IFileTitleApplication fileTitleApplication, + IFileTimingApplication fileTimingApplication, + IContactApplication2 contactApplication + ) + { + _fileApplication = fileApplication; + _boardApplication = boardApplication; + _petitionApplication = petitionApplication; + _workHistoryApplication = workHistoryApplication; + _penaltyTitleApplication = penaltyTitleApplication; + _proceedingSessionApplication = proceedingSessionApplication; + _masterPetitionApplication = masterPetitionApplication; + _masterWorkHistoryApplication = masterWorkHistoryApplication; + _masterPenaltyTitleApplication = masterPenaltyTitleApplication; + _evidenceApplication = evidenceApplication; + _evidenceDetailApplication = evidenceDetailApplication; + _fileTitleApplication = fileTitleApplication; + _fileTimingApplication = fileTimingApplication; + _contactApplication = contactApplication; + } + + public void OnGet(FileSearchModel fileSearchModel) + { + var files = new List(); + + if (fileSearchModel.diagnosisBoard == null) + fileSearchModel.diagnosisBoard = new BoardSearchModel(); + + if (fileSearchModel.diagnosisProceedingSession == null) + fileSearchModel.diagnosisProceedingSession = new ProceedingSessionSearchModel(); + + if (fileSearchModel.disputeResolutionBoard == null) + fileSearchModel.disputeResolutionBoard = new BoardSearchModel(); + + if (fileSearchModel.disputeResolutionProceedingSession == null) + fileSearchModel.disputeResolutionProceedingSession = + new ProceedingSessionSearchModel(); + + + var allFiles = _fileApplication.Search(new FileSearchModel()); + + if (this.fileSearchModel == null) + { + this.fileSearchModel = new FileSearchModel + { + ArchiveNo_FileClass_UserIdList = allFiles.Select(x => new ArchiveNo_FileClass_UserIdList + { + ArchiveNo = x.ArchiveNo.ToString(), FileClass = x.FileClass, + UserId = x.Client == 1 ? x.Reqester : x.Summoned + }).ToList(), + UsersList = _fileApplication.GetAllEmploees().Select(x => new Users + { Id = x.Id, FullName = x.EmployeeFullName, RequesterOrSummoned = 1 }).ToList() + }; + + this.fileSearchModel.UsersList.AddRange(_fileApplication.GetAllEmployers() + .Select(x => new Users { Id = x.Id, FullName = x.FullName, RequesterOrSummoned = 2 }).ToList()); + } + else + { + this.fileSearchModel.ArchiveNo_FileClass_UserIdList = allFiles.Select(x => + new ArchiveNo_FileClass_UserIdList + { + ArchiveNo = x.ArchiveNo.ToString(), FileClass = x.FileClass, + UserId = x.Client == 1 ? x.Reqester : x.Summoned + }).ToList(); + this.fileSearchModel.UsersList = _fileApplication.GetAllEmploees().Select(x => + new Users { Id = x.Id, FullName = x.EmployeeFullName, RequesterOrSummoned = 1 }).ToList(); + this.fileSearchModel.UsersList.AddRange(_fileApplication.GetAllEmployers() + .Select(x => new Users { Id = x.Id, FullName = x.FullName, RequesterOrSummoned = 2 }).ToList()); + } + + if (!fileSearchModel.IsSearch) + files = _fileApplication.Search(fileSearchModel).Take(50).ToList(); + else + files = _fileApplication.Search(fileSearchModel).ToList(); + + files.ForEach(f => f.ReqesterFullname = _fileApplication.GetEmployeeFullNameById(f.Reqester)); + files.ForEach(f => f.SummonedFullname = _fileApplication.GetEmployerFullNameById(f.Summoned)); + + viewModels = files; + + var i = 0; + foreach (var file in files.ToList()) + { + var tempViewModel = new FileViewModel(); + tempViewModel = _fileApplication.GetFileDetails(file); + + if (fileSearchModel.IsSearch) + { + if (_fileApplication.FilterFileDetails(tempViewModel, fileSearchModel)) + { + viewModels[i] = tempViewModel; + i++; + } + else + { + viewModels.RemoveAt(i); + } + } + } + } + + public IActionResult OnGetCreateFile() + { + var archiveNo = _fileApplication.FindLastArchiveNumber(); + + var createFile = new CreateFile + { + ArchiveNo = archiveNo + 1, + Employees = _fileApplication.GetAllEmploees(false), + Employers = _fileApplication.GetAllEmployers(false), + Contacts = _contactApplication.GetAllContact() + }; + + + return Partial("./CreateFile", createFile); + } + + public IActionResult OnPostCreateFile(CreateFile command) + { + var result = _fileApplication.Create(command); + + return new JsonResult(result); + } + + public IActionResult OnGetEditFile(long id = -1) + { + if (id == -1) + { + var file = _fileApplication.Search(new FileSearchModel()).FirstOrDefault(); + if (file != null) id = file.Id; + } + + var editFile = _fileApplication.GetDetails(id); + var diagnosisBoard = + _boardApplication.GetDetails(editFile.Id, 1) + ?? new EditBoard { File_Id = editFile.Id, BoardType_Id = 1 }; + + var diagnosisPS = new List { new() }; + if (diagnosisBoard.Id != 0) + { + var PsSearchModel = new ProceedingSessionSearchModel { Board_Id = diagnosisBoard.Id, Status = 0 }; + diagnosisPS = _proceedingSessionApplication.Search(PsSearchModel); + + if (diagnosisPS.Count == 0) + diagnosisPS.Add(new EditProceedingSession()); + } + //diagnosisPS = + // diagnosisPS.Count != 0 + // ? diagnosisPS + // : new List { new EditProceedingSession() }; + + var diagnosisPetition = _petitionApplication.GetDetails(editFile.Id, 1); + + var disputeResolutionBoard = + _boardApplication.GetDetails(editFile.Id, 2) + ?? new EditBoard { File_Id = editFile.Id, BoardType_Id = 2 }; + + var disputeResolutionPS = new List { new() }; + if (disputeResolutionBoard.Id != 0) + { + var PsSearchModel = new ProceedingSessionSearchModel { Board_Id = disputeResolutionBoard.Id }; + disputeResolutionPS = _proceedingSessionApplication.Search(PsSearchModel); + + if (disputeResolutionPS.Count == 0) + disputeResolutionPS.Add(new EditProceedingSession()); + } + //disputeResolutionPS = + // disputeResolutionPS.Count != 0 + // ? disputeResolutionPS + // : new List { new EditProceedingSession() }; + + var disputeResolutionPetition = _petitionApplication.GetDetails(editFile.Id, 2); + + editFile.createDiagnosisBoard = diagnosisBoard; + editFile.createDiagnosisPS = diagnosisPS; + editFile.createDiagnosisPetition = diagnosisPetition; + + editFile.createDisputeResolutionBoard = disputeResolutionBoard; + editFile.createDisputeResolutionPS = disputeResolutionPS; + editFile.createDisputeResolutionPetition = disputeResolutionPetition; + editFile.Employees = _fileApplication.GetAllEmploees(); + editFile.Employers = _fileApplication.GetAllEmployers(); + + return Partial("Edit", editFile); + } + + public IActionResult OnPostEditFile(EditFile command) + { + var result = _fileApplication.Edit(command); + + if (!result.IsSuccedded) + return new JsonResult(result); + + if ( + command.createDiagnosisBoard.BoardChairman != null + || command.createDiagnosisBoard.Branch != null + || command.createDiagnosisBoard.DisputeResolutionPetitionDate != null + || command.createDiagnosisBoard.ExpertReport != null + ) + { + if (command.createDiagnosisBoard.Id == 0) + result = _boardApplication.Create(command.createDiagnosisBoard); + else + result = _boardApplication.Edit(command.createDiagnosisBoard); + + if (!result.IsSuccedded) + return new JsonResult(result); + + if (command.createDiagnosisPS != null) + result = _proceedingSessionApplication.CreateProceedingSessions( + command.createDiagnosisPS, + result.EntityId + ); + + if (!result.IsSuccedded) + return new JsonResult(result); + } + + if ( + command.createDisputeResolutionBoard.BoardChairman != null + || command.createDisputeResolutionBoard.Branch != null + || command.createDisputeResolutionBoard.DisputeResolutionPetitionDate != null + || command.createDisputeResolutionBoard.ExpertReport != null + ) + { + if (command.createDisputeResolutionBoard.Id == 0) + result = _boardApplication.Create(command.createDisputeResolutionBoard); + else + result = _boardApplication.Edit(command.createDisputeResolutionBoard); + + if (!result.IsSuccedded) + return new JsonResult(result); + + if (command.createDisputeResolutionPS != null) + result = _proceedingSessionApplication.CreateProceedingSessions( + command.createDisputeResolutionPS, + result.EntityId + ); + + if (!result.IsSuccedded) + return new JsonResult(result); + } + + return new JsonResult(result); + } + + public IActionResult OnGetCreateOrEditPetition(long fileId, int boardTypeId) + { + var file = _fileApplication.GetDetails(fileId); + + var petition = _petitionApplication.GetDetails(fileId, boardTypeId) ?? new EditPetition(); + var workHistories = _workHistoryApplication.Search(petition.Id); + workHistories = + workHistories.Count != 0 + ? workHistories + : new List { new() }; + + var PenaltyTitles = _penaltyTitleApplication.Search(petition.Id); + PenaltyTitles = + PenaltyTitles.Count != 0 + ? PenaltyTitles + : new List { new() }; + + petition.File_Id = fileId; + petition.BoardType_Id = boardTypeId; + petition.FileData = file; + petition.CreateWorkHistory = workHistories; + petition.CreatePenaltyTitle = PenaltyTitles; + + return Partial("./CreateOrEditPetition", petition); + } + + public IActionResult OnPostCreateOrEditPetition(EditPetition command) + { + var petitionResult = new OperationResult(); + + if (command.Id == 0) + petitionResult = _petitionApplication.Create(command); + else + petitionResult = _petitionApplication.Edit(command); + + if (!petitionResult.IsSuccedded) + return new JsonResult(petitionResult); + + var workResult = _workHistoryApplication.CreateWorkHistories( + command.CreateWorkHistory, + petitionResult.EntityId + ); + + if (!workResult.IsSuccedded) + return new JsonResult(workResult); + + var penaltyResult = _penaltyTitleApplication.CreatePenaltyTitles( + command.CreatePenaltyTitle, + petitionResult.EntityId + ); + + if (!penaltyResult.IsSuccedded) + return new JsonResult(penaltyResult); + + return new JsonResult(penaltyResult); + } + + public IActionResult OnGetCreateOrEditMasterPetition(long fileId, int boardTypeId) + { + var file = _fileApplication.GetDetails(fileId); + + var masterPetition = _masterPetitionApplication.GetDetails(fileId, boardTypeId) ?? new EditMasterPetition(); + var workHistories = _masterWorkHistoryApplication.Search(masterPetition.Id); + workHistories = + workHistories.Count != 0 + ? workHistories + : new List { new() }; + + var PenaltyTitles = _masterPenaltyTitleApplication.Search(masterPetition.Id); + PenaltyTitles = + PenaltyTitles.Count != 0 + ? PenaltyTitles + : new List { new() }; + + masterPetition.File_Id = fileId; + masterPetition.BoardType_Id = boardTypeId; + masterPetition.FileData = file; + masterPetition.CreateMasterWorkHistory = workHistories; + masterPetition.CreateMasterPenaltyTitle = PenaltyTitles; + + return Partial("./CreateOrEditMasterPetition", masterPetition); + } + + public IActionResult OnPostCreateOrEditMasterPetition(EditMasterPetition command) + { + var masterPetitionResult = new OperationResult(); + //if (!ModelState.IsValid) + //{ + // return BadRequest(); + + //} + + //var result = _fileApplication.Edit(command.FileData); + + //if (!result.IsSuccedded) + // return new JsonResult(result); + + if (command.Id == 0) + masterPetitionResult = _masterPetitionApplication.Create(command); + else + masterPetitionResult = _masterPetitionApplication.Edit(command); + + if (!masterPetitionResult.IsSuccedded) + return new JsonResult(masterPetitionResult); + + var workResult = _masterWorkHistoryApplication.CreateMasterWorkHistories( + command.CreateMasterWorkHistory, + masterPetitionResult.EntityId + ); + + if (!workResult.IsSuccedded) + return new JsonResult(workResult); + + var penaltyResult = _masterPenaltyTitleApplication.CreateMasterPenaltyTitles( + command.CreateMasterPenaltyTitle, + masterPetitionResult.EntityId + ); + + if (!penaltyResult.IsSuccedded) + return new JsonResult(penaltyResult); + + return new JsonResult(penaltyResult); + } + + public IActionResult OnGetCreateOrEditEvidence(long fileId, int boardTypeId) + { + var file = _fileApplication.GetDetails(fileId); + + var evidence = _evidenceApplication.GetDetails(fileId, boardTypeId) ?? new EditEvidence(); + var evidenceDetails = _evidenceDetailApplication.Search(evidence.Id); + evidenceDetails = + evidenceDetails.Count != 0 + ? evidenceDetails + : new List { new() }; + + + evidence.File_Id = fileId; + evidence.BoardType_Id = boardTypeId; + evidence.FileData = file; + evidence.CreateEvidenceDetail = evidenceDetails; + + return Partial("./CreateOrEditEvidence", evidence); + } + + public IActionResult OnPostCreateOrEditEvidence(EditEvidence command) + { + var evidenceResult = new OperationResult(); + //if (!ModelState.IsValid) + //{ + // return BadRequest(); + + //} + + //var result = _fileApplication.Edit(command.FileData); + + //if (!result.IsSuccedded) + // return new JsonResult(result); + + if (command.Id == 0) + evidenceResult = _evidenceApplication.Create(command); + else + evidenceResult = _evidenceApplication.Edit(command); + + if (!evidenceResult.IsSuccedded) + return new JsonResult(evidenceResult); + + var evidenceDetail = _evidenceDetailApplication.CreateEvidenceDetail( + command.CreateEvidenceDetail, + evidenceResult.EntityId + ); + + if (!evidenceDetail.IsSuccedded) + return new JsonResult(evidenceDetail); + + return new JsonResult(evidenceDetail); + } + + public IActionResult OnGetCreateOrEditFileTitle(string type) + { + var EditFileTitle = new EditFileTitle(); + EditFileTitle.FileTitlesList = _fileTitleApplication.Search(new FileTitleSearchModel { Type = type }); + + return Partial("./CreateOrEditFileTitle", EditFileTitle); + } + + public IActionResult OnPostCreateOrEditFileTitle(EditFileTitle command) + { + var result = new OperationResult(); + + if (_fileTitleApplication.Search(new FileTitleSearchModel { Title = command.Title, Type = command.Type }) + .Count != 0) + { + result.Failed("این عنوان قبلا ثبت شده است"); + } + else + { + if (command.Id == 0) + { + result = _fileTitleApplication.Create(command); + } + + else + { + var fileTitle = _fileTitleApplication.Search(new FileTitleSearchModel { Id = command.Id }) + .FirstOrDefault(); + fileTitle.Title = command.Title; + result = _fileTitleApplication.Edit(fileTitle); + } + } + + var res = new + { + result, + type = command.Type + }; + + return new JsonResult(res); + } + + public IActionResult OnGetCreateOrEditFileTiming(string type) + { + var FileTimings = _fileTimingApplication.Search(new FileTimingSearchModel()); + + if (FileTimings.Count == 0) + FileTimings = Enumerable.Repeat(new EditFileTiming(), 6).ToList(); + + return Partial("./CreateOrEditFileTiming", FileTimings); + } + + public IActionResult OnPostCreateOrEditFileTiming(List command) + { + var result = new OperationResult(); + + foreach (var item in command) + if (item.Id == 0) + _fileTimingApplication.Create(item); + + else + _fileTimingApplication.Edit(item); + + return new JsonResult(result.Succcedded()); + } + + public IActionResult OnGetFileSummary(long id) + { + var summary = _fileApplication.GetFileSummary(id); + + return Partial("FileSummary", summary); + } + + public JsonResult OnPostCheckUniqueArchiveNo(string archiveNo) + { + var sModel = new FileSearchModel { ArchiveNo = archiveNo }; + var vModel = _fileApplication.Search(sModel); + + return new JsonResult( + new + { + stat = vModel.Count() == 0 ? true : false, + message = vModel == null ? "" : "شماره بایگانی تکراری است" + } + ); + } + + public JsonResult OnPostCheckUniqueFileClass(string fileClass) + { + var sModel = new FileSearchModel { FileClass = fileClass }; + var vModel = _fileApplication.Search(sModel); + + return new JsonResult( + new + { + stat = vModel.Count() == 0 ? true : false, + message = vModel == null ? "" : "کلاسه پرونده تکراری است" + } + ); + } + + public JsonResult OnPostRemoveMasterPetition(long id) + { + _masterPenaltyTitleApplication.RemoveMasterPenaltyTitles(id); + _masterWorkHistoryApplication.RemoveMasterWorkHistories(id); + var result = _masterPetitionApplication.Remove(id); + + return new JsonResult(result); + } + + public JsonResult OnGetGetFileTitles(string type) + { + var fileTitlesList = new List(); + + if (type == "contact") + fileTitlesList = _contactApplication.GetAllContact().Select(x => x.NameContact).ToList(); + + else + fileTitlesList = _fileTitleApplication.Search(new FileTitleSearchModel { Type = type }).Select(x => x.Title) + .ToList(); + + + return new JsonResult(fileTitlesList); + } + + public JsonResult OnPostRemoveFileTitle(long id) + { + var result = _fileTitleApplication.Remove(id); + + return new JsonResult(result); + } + + public JsonResult OnPostRemoveEvidence(long id) + { + _evidenceDetailApplication.RemoveEvidenceDetails(id); + var result = _evidenceApplication.Remove(id); + + return new JsonResult(result); + } + + public JsonResult OnPostSetFileStatus(long id, int status) + { + var result = new OperationResult(); + var file = _fileApplication.GetDetails(id); + file.Status = status; + result = _fileApplication.Edit(file); + + switch (file.Status) + { + case 1: + + //file.Status = 2; + //result = _fileApplication.Edit(file); + result.Message = "پرونده با موفقیت فعال شد"; + break; + + case 2: + //file.Status = 1; + //result = _fileApplication.Edit(file); + result.Message = "پرونده با موفقیت غیرفعال شد"; + break; + + case 3: + //file.Status = 1; + //result = _fileApplication.Edit(file); + result.Message = "پرونده با موفقیت از بایگانی خارج شد"; + break; + } + + return new JsonResult(result); + } +} \ No newline at end of file diff --git a/ServiceHost/Areas/Admin/Pages/Company/FilePage/Sessions.cshtml b/ServiceHost/Areas/Admin/Pages/Company/FilePage/Sessions.cshtml index 5b646526..aa635771 100644 --- a/ServiceHost/Areas/Admin/Pages/Company/FilePage/Sessions.cshtml +++ b/ServiceHost/Areas/Admin/Pages/Company/FilePage/Sessions.cshtml @@ -1,11 +1,10 @@ @page -@model ServiceHost.Areas.Admin.Pages.Company.FilePage.SessionsModel -@using MD.PersianDateTime.Standard @using _0_Framework.Application +@model ServiceHost.Areas.Admin.Pages.Company.FilePage.SessionsModel @{ - //var currentYear = new PersianDateTime(DateTime.Now).Year; - Layout = "Shared/_AdminLayout"; - ViewData["title"] = "جلسات"; + //var currentYear = new PersianDateTime(DateTime.Now).Year; + Layout = "Shared/_AdminLayout"; + ViewData["title"] = "جلسات"; } -
-
-
+
+
-
-
-

- -

+
+ -
-
-
-
-
- -
-
-
- +
+
+
+ -
-
- -
-
- +
+
+ -
-
- -
-
-
- +
+
+ -
-
- +
+
+ +
+
+
+ -
-
- +
+
+ -
-
- -
-
- -
-
- -
-
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
-
-
+
+
-
- - مشاهده همه -
-
-
- -
-
-
-
-
+
+ + مشاهده همه +
+
+
+ +
+
+
+
+
-
- + + -
-
-
-

لیست جلسات

-
-
-
-
- - - - - +
+
+
+

لیست جلسات

+
+
+
+
+
#
+ + - - - - - - - - - - - - - - @{ var i = 1; } - @foreach (var item in Model.viewModels) - { - - + - @for(var k = 0; k < 10; k++) - { - - } + + + + + + + + + + + + + + @{ var i = 1; } + @foreach (var item in Model.viewModels) + { + + - + @for (var k = 0; k < 10; k++) + { + + } - @foreach (var ps in item.SessionsList) - { - - - - - - - - - - - - - - i++; - } - } + - -
شماره بایگانی کلاسه پرونده موکل طرف مقابل ساعت مرجع رسیدگی مرحله رسیدگی شعبه رئیس هیات
@item.FullDate# شماره بایگانی کلاسه پرونده موکل طرف مقابل ساعت مرجع رسیدگی مرحله رسیدگی شعبه رئیس هیات
@item.FullDate
-

@i

-
-

@ps.File.ArchiveNo

-
-

@ps.File.FileClass

-
-

@ps.File.ClientFullName

-
-

@ps.File.OppositePersonFullName

-
-

@ps.Session.Time

-
-

@ps.File.ProceederReference

-
-

@(ps.Board.BoardType_Id == 1 ? "تشخیص" : "حل اختلاف")

-
-

@ps.Board.Branch

-
-

@ps.Board.BoardChairman

-
- @if(ps.Session.Status == 1) - { - if(ps.Session.Date == DateTime.Now.ToFarsi()) - { - انجام شد - } - } - else - { - انجام شده - } -
-
-
-
-
-
+ @foreach (var ps in item.SessionsList) + { + + +

@i

+ + +

@ps.File.ArchiveNo

+ + +

@ps.File.FileClass

+ + +

@ps.File.ClientFullName

+ + +

@ps.File.OppositePersonFullName

+ + +

@ps.Session.Time

+ + +

@ps.File.ProceederReference

+ + +

@(ps.Board.BoardType_Id == 1 ? "تشخیص" : "حل اختلاف")

+ + +

@ps.Board.Branch

+ + +

@ps.Board.BoardChairman

+ + + @if (ps.Session.Status == 1) + { + if (ps.Session.Date == DateTime.Now.ToFarsi()) + { + انجام شد + } + } + else + { + انجام شده + } + + + i++; + } + } + + + + + + + + - @section Script { - - - + + + - - - } \ No newline at end of file diff --git a/ServiceHost/Areas/Admin/Pages/Company/FilePage/Sessions.cshtml.cs b/ServiceHost/Areas/Admin/Pages/Company/FilePage/Sessions.cshtml.cs index 1eb62665..eaad9ac1 100644 --- a/ServiceHost/Areas/Admin/Pages/Company/FilePage/Sessions.cshtml.cs +++ b/ServiceHost/Areas/Admin/Pages/Company/FilePage/Sessions.cshtml.cs @@ -1,82 +1,85 @@ using _0_Framework_b.Application; -using CompanyManagment.App.Contracts.Board; using CompanyManagment.App.Contracts.File1; - +using CompanyManagment.App.Contracts.ProceedingSession; using Microsoft.AspNetCore.Mvc; using Microsoft.AspNetCore.Mvc.RazorPages; -using PersianTools.Core; -using System; -using System.Collections.Generic; -using System.Linq; -using CompanyManagment.App.Contracts.ProceedingSession; +using ArchiveNo_FileClass_UserIdList = CompanyManagment.App.Contracts.ProceedingSession.ArchiveNo_FileClass_UserIdList; +using Users = CompanyManagment.App.Contracts.ProceedingSession.Users; -namespace ServiceHost.Areas.Admin.Pages.Company.FilePage +namespace ServiceHost.Areas.Admin.Pages.Company.FilePage; + +public class SessionsModel : PageModel { - public class SessionsModel : PageModel - { - public List viewModels = new List(); - public ProceedingSessionSearchModel searchModel; - public int Year; + private readonly IFileApplication _fileApplication; + private readonly IProceedingSessionApplication _proceedingSessionApplication; + public ProceedingSessionSearchModel searchModel; + public List viewModels = new(); - private readonly IFileApplication _fileApplication; - private readonly IProceedingSessionApplication _proceedingSessionApplication; - //private readonly IBoardApplication _boardApplication; + public int Year; + //private readonly IBoardApplication _boardApplication; - public SessionsModel - ( - IFileApplication fileApplication, - IProceedingSessionApplication proceedingSessionApplication - //IBoardApplication boardApplication - ) - { - _fileApplication = fileApplication; - _proceedingSessionApplication = proceedingSessionApplication; - //_boardApplication = boardApplication; - } - - public void OnGet(ProceedingSessionSearchModel searchModel) - { - _proceedingSessionApplication.UpdatePastProceedingSessions(); + public SessionsModel + ( + IFileApplication fileApplication, + IProceedingSessionApplication proceedingSessionApplication + //IBoardApplication boardApplication + ) + { + _fileApplication = fileApplication; + _proceedingSessionApplication = proceedingSessionApplication; + //_boardApplication = boardApplication; + } - viewModels = _proceedingSessionApplication.FilterSessions(searchModel); + public void OnGet(ProceedingSessionSearchModel searchModel) + { + _proceedingSessionApplication.UpdatePastProceedingSessions(); - var files = _fileApplication.Search(new FileSearchModel()); - var ArchiveNo_FileClass_UserIdList = files.Select(x => new CompanyManagment.App.Contracts.ProceedingSession.ArchiveNo_FileClass_UserIdList { ArchiveNo = x.ArchiveNo.ToString(), FileClass = x.FileClass, UserId = x.Client == 1 ? x.Reqester : x.Summoned }).Where(x => x.FileClass != null).ToList(); - var UserIds = ArchiveNo_FileClass_UserIdList.Select(x => x.UserId).ToList(); - var UsersList = _fileApplication.GetAllEmploees().Select(x => new CompanyManagment.App.Contracts.ProceedingSession.Users { Id = x.Id, FullName = x.EmployeeFullName, RequesterOrSummoned = 1 }).Where(x => UserIds.Contains(x.Id)).ToList(); - UsersList.AddRange(_fileApplication.GetAllEmployers().Select(x => new CompanyManagment.App.Contracts.ProceedingSession.Users { Id = x.Id, FullName = x.FullName, RequesterOrSummoned = 2 }).Where(x => UserIds.Contains(x.Id)).ToList()); - UsersList.Distinct(); + viewModels = _proceedingSessionApplication.FilterSessions(searchModel); - if (this.searchModel == null) - this.searchModel = new ProceedingSessionSearchModel(); + var files = _fileApplication.Search(new FileSearchModel()); + var ArchiveNo_FileClass_UserIdList = files.Select(x => new ArchiveNo_FileClass_UserIdList + { + ArchiveNo = x.ArchiveNo.ToString(), FileClass = x.FileClass, + UserId = x.Client == 1 ? x.Reqester : x.Summoned + }).Where(x => x.FileClass != null).ToList(); + var UserIds = ArchiveNo_FileClass_UserIdList.Select(x => x.UserId).ToList(); + var UsersList = _fileApplication.GetAllEmploees() + .Select(x => new Users { Id = x.Id, FullName = x.EmployeeFullName, RequesterOrSummoned = 1 }) + .Where(x => UserIds.Contains(x.Id)).ToList(); + UsersList.AddRange(_fileApplication.GetAllEmployers() + .Select(x => new Users { Id = x.Id, FullName = x.FullName, RequesterOrSummoned = 2 }) + .Where(x => UserIds.Contains(x.Id)).ToList()); + UsersList.Distinct(); - this.searchModel.ArchiveNo_FileClass_UserIdList = ArchiveNo_FileClass_UserIdList; - this.searchModel.UsersList = UsersList; + if (this.searchModel == null) + this.searchModel = new ProceedingSessionSearchModel(); - Year = GetLatestPsYear(); - } + this.searchModel.ArchiveNo_FileClass_UserIdList = ArchiveNo_FileClass_UserIdList; + this.searchModel.UsersList = UsersList; - public JsonResult OnPostSetSessionStatus(long PsId, int status) - { + Year = GetLatestPsYear(); + } - var Ps = _proceedingSessionApplication.Search(new ProceedingSessionSearchModel { Id = PsId, Status = 0 }).FirstOrDefault(); + public JsonResult OnPostSetSessionStatus(long PsId, int status) + { + var Ps = _proceedingSessionApplication.Search(new ProceedingSessionSearchModel { Id = PsId, Status = 0 }) + .FirstOrDefault(); - Ps.Status = status; + Ps.Status = status; - var operationResult = _proceedingSessionApplication.Edit(Ps); + var operationResult = _proceedingSessionApplication.Edit(Ps); - return new JsonResult(operationResult); + return new JsonResult(operationResult); + } - } + private int GetLatestPsYear() + { + var lastPS = _proceedingSessionApplication.Search(new ProceedingSessionSearchModel()) + .OrderByDescending(x => x.Date).FirstOrDefault(); - private int GetLatestPsYear() - { - var lastPS = _proceedingSessionApplication.Search(new ProceedingSessionSearchModel()).OrderByDescending(x => x.Date).FirstOrDefault(); + if (lastPS == null) + return int.Parse(DateTime.Today.ToFarsiYear()); - if (lastPS == null) - return int.Parse(DateTime.Today.ToFarsiYear()); - - return int.Parse(lastPS.Date.ToGeorgianDateTime().ToFarsiYear()); - } - } -} + return int.Parse(lastPS.Date.ToGeorgianDateTime().ToFarsiYear()); + } +} \ No newline at end of file diff --git a/ServiceHost/Areas/Admin/Pages/Company/Holidays/Create.cshtml b/ServiceHost/Areas/Admin/Pages/Company/Holidays/Create.cshtml index 40428859..39888052 100644 --- a/ServiceHost/Areas/Admin/Pages/Company/Holidays/Create.cshtml +++ b/ServiceHost/Areas/Admin/Pages/Company/Holidays/Create.cshtml @@ -1,11 +1,6 @@ -@using _0_Framework.Application -@model CompanyManagment.App.Contracts.Holiday.CreateHoliday +@model CompanyManagment.App.Contracts.Holiday.CreateHoliday @{ - - - - - - - + + } @{ - - -
-
-
- طرف حساب :@Model.ContractingPartyName -
-
- صورت حساب مالی -
-
- - @Model.today - - @Model.day - @Model.month - @Model.year - -
-
-
-
-
- ثبت سند -
-
- تاریخ آخرین ارسال پیام:1402/07/15 -
-
-
-
- تاریخ -
- - امروز -
-
-
- توضیحات -
-
- -
-
- -
-
- -
-
-
-
- وضعیت -
-
- -
-
- -
-
-
-
- - بازگشت - - -
-
-
+ + +
+
+
+ طرف حساب :@Model.ContractingPartyName +
+
+ صورت حساب مالی +
+
+ + @Model.today + + @Model.day + @Model.month + @Model.year + +
+
+
+
+
+ ثبت سند +
+
+ تاریخ آخرین ارسال پیام:1402/07/15 +
+
+
+
+ تاریخ +
+ + امروز +
+
+
+ توضیحات +
+
+ +
+
+ +
+
+ +
+
+
+
+ وضعیت +
+
+ +
+
+ +
+
+
+
+ + بازگشت + + +
+
+
- @if (@Model.HasData) - { - -
-
- - - - - - - - - - - + + } + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
تاریخبدهکاربستانکارباقیمانده -
- @* + @if (Model.HasData) + { + +
+
+ + + + + + + + + + + - - - - - @foreach (var item in @Model.TransactionList) - { - - - @{ - Model.I++; - } - - - - - - + + + + @foreach (var item in Model.TransactionList) + { + + + @{ + Model.I++; + } + + + + + + - - - } - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
تاریخبدهکاربستانکارباقیمانده +
+ @* *@ - - - -
-
@Model.I @item.TdateFa - @{ - if (@item.SentSms) - { -
-
- -
-
@item.DeptorString
-
-
- } - else - { - @item.DeptorString - } - } -
@item.CreditorString@item.BalanceString
+ @Model.I + @item.TdateFa + @{ + if (item.SentSms) + { +
+
+ +
+
@item.DeptorString
+
+
+ } + else + { + @item.DeptorString + } + } +
@item.CreditorString + @item.BalanceString + - -
-
- - -
-
-
@Model.ThisPageDebt@Model.ThisPageCredit@Model.ThisPageBalance
جمع کل@Model.TotalDebt @Model.TotalCredit@Model.TotalBalance
@Model.ThisPageDebt@Model.ThisPageCredit@Model.ThisPageBalance
جمع کل@Model.TotalDebt @Model.TotalCredit@Model.TotalBalance
-
-
- } - else - { -
برای @Model.ContractingPartyName هیچ سندی ثبت نشده است
- - بازگشت - - } +
+ +
+ +
+
+ + + + +
+
+
@Model.ThisPageDebt@Model.ThisPageCredit@Model.ThisPageBalance
جمع کل@Model.TotalDebt @Model.TotalCredit + @Model.TotalBalance +
@Model.ThisPageDebt@Model.ThisPageCredit@Model.ThisPageBalance
جمع کل@Model.TotalDebt @Model.TotalCredit + @Model.TotalBalance +
+
+
+ } + else + { +
برای @Model.ContractingPartyName هیچ سندی ثبت نشده است
+ + بازگشت + + } } @section Script { - - - + + - + -} + swal({ + title: "توجه داشته باشید با تایید این پیام رنگ طوسی آیتم نظر حذف می شود ", + text: "", + type: "warning", + showCancelButton: true, + confirmButtonColor: "#DD6B55", + confirmButtonText: "تایید", + cancelButtonText: "خیر", + closeOnConfirm: true + }, + function(isConfirm) { + if (isConfirm) { + $.ajax({ + async: false, + dataType: 'json', + type: 'GET', + url: '@Url.Page("./FinancialStatments", "RemoveBlocked")', + data: { "id": Number(trId) }, + headers: { "RequestVerificationToken": $('input[name="__RequestVerificationToken"]').val() }, + success: function(response) { + if (response.isSuccedded) { + $(`#${trId}`).removeClass("blocked"); + $(`#closeBtn-${trId}`).remove(); + } + }, + failure: function(response) { + console.log(5, response); + } + }); //endOf Ajax + } else { + } + }); + } + + + +} \ No newline at end of file diff --git a/ServiceHost/Areas/Admin/Pages/Company/InstitutionContracts/FinancialStatments.cshtml.cs b/ServiceHost/Areas/Admin/Pages/Company/InstitutionContracts/FinancialStatments.cshtml.cs index 555a5144..e947c3d9 100644 --- a/ServiceHost/Areas/Admin/Pages/Company/InstitutionContracts/FinancialStatments.cshtml.cs +++ b/ServiceHost/Areas/Admin/Pages/Company/InstitutionContracts/FinancialStatments.cshtml.cs @@ -5,745 +5,682 @@ using Microsoft.AspNetCore.Mvc; using Microsoft.AspNetCore.Mvc.RazorPages; using PersianTools.Core; -namespace ServiceHost.Areas.Admin.Pages.Company.InstitutionContracts +namespace ServiceHost.Areas.Admin.Pages.Company.InstitutionContracts; + +public class FinancialStatmentsModel : PageModel { - public class FinancialStatmentsModel : PageModel - { - - private readonly IFinancialStatmentApplication _financialStatmentApplication; - private readonly IFinancialTransactionApplication _financialTransactionApplication; - public FinancialDividViewModel DividedList; - public List TransactionList; - public string ContractingPartyName; - public long ContractingPartyId; - public long FinancialStatmentId; - public string ThisPageDebt; - public string ThisPageCredit; - public string ThisPageBalance; - public string TotalDebt; - public string TotalCredit; - public string TotalBalance; - public double TotalBalanceDouble; - public string today; - public string month; - public string day; - public string year; - public bool HasData; - public int FirstPageNumber = 0; - public int CurrentPageNumber = 0; - public int LastPageNumber = 0; - public int I = 0; - - public FinancialStatmentsModel(IFinancialStatmentApplication financialStatmentApplication, IFinancialTransactionApplication financialTransactionApplication) - { - - _financialStatmentApplication = financialStatmentApplication; - _financialTransactionApplication = financialTransactionApplication; - } - - public void OnGet(string name, long id, int pageNumber) - { - var transactionCount = 0; - ContractingPartyName = name; - ContractingPartyId = id; - var resultList = new List(); - var todayGr = DateTime.Now; - var todayFa = todayGr.ToFarsi(); - var syear = Convert.ToInt32(todayFa.Substring(0, 4)); - var smonth = Convert.ToInt32(todayFa.Substring(5, 2)); - var sday = Convert.ToInt32(todayFa.Substring(8, 2)); - var d1 = new PersianDateTime(syear, smonth, sday); - - - today = d1.DayOfWeek; - month = d1.MonthOfYear; - day = todayFa.Substring(8, 2); - year = todayFa.Substring(0, 4); - - var pagination = 10; - var firstGetStatement = _financialStatmentApplication.GetDetailsByContractingPartyId(id); - var allTransactions = firstGetStatement.FinancialTransactionViewModels; - if (allTransactions != null) - { - FinancialStatmentId = firstGetStatement.Id; - transactionCount = allTransactions.Count(); - HasData = true; - double firstBalance = 0; - - #region LesThan10 - if (transactionCount <= pagination)// <= 10 - { - I = 1; - FirstPageNumber = 1; - CurrentPageNumber = 1; - LastPageNumber = 1; - var transactions = allTransactions.OrderBy(x => x.TdateGr).ToList(); - var transActionsWithBalance = new List(); - - double thisPageDebt = 0; - double thisPageCredit = 0; - double thisPageBalance = 0; - double totalDebt = 0; - double totalCredit = 0; - double totalBalance = 0; - for (int i = 0; i < transactionCount; i++) - { - if (i == 0) - { - if (transactions[i].TypeOfTransaction == "debt") - { - transactions[i].Balance = transactions[i].Deptor; - firstBalance = transactions[i].Deptor; - transactions[i].BalanceString = firstBalance.ToMoney(); - } - else - { - var s1 = (transactions[i].Creditor) * 2; - transactions[i].Balance = transactions[i].Creditor - s1;//تبدیل به منفی - firstBalance = transactions[i].Creditor - s1; - transactions[i].BalanceString = firstBalance.ToMoney(); - } - - var tAction = transactions[i]; - transActionsWithBalance.Add(tAction); - } - else - { - if (transactions[i].TypeOfTransaction == "debt") - { - firstBalance += transactions[i].Deptor; - transactions[i].Balance = firstBalance; - transactions[i].BalanceString = firstBalance.ToMoney(); - } - else - { - firstBalance -= transactions[i].Creditor; - transactions[i].Balance = firstBalance; - - transactions[i].BalanceString = firstBalance.ToMoney(); - } - var tAction = transactions[i]; - transActionsWithBalance.Add(tAction); - } - } - - thisPageDebt = transActionsWithBalance.Sum(x => x.Deptor); - thisPageCredit = transActionsWithBalance.Sum(x => x.Creditor); - thisPageBalance = thisPageDebt - thisPageCredit; - ThisPageDebt = thisPageDebt.ToMoney(); - ThisPageCredit = thisPageCredit.ToMoney(); - ThisPageBalance = thisPageBalance.ToMoney(); - TotalDebt = ThisPageDebt; - TotalCredit = ThisPageCredit; - TotalBalance = ThisPageBalance; - TotalBalanceDouble = thisPageBalance; - TransactionList = transActionsWithBalance; - - //var groupToList = new FinancialGroupViewModel() - //{ - // FinancialTransactionViewModels = allTransactions.OrderBy(x => x.TdateGr).ToList(), - // StartList = 1, - // EndList = pagination, - //}; - //resultList.Add(groupToList); - //DividedList = new FinancialDividViewModel() - //{ - // FinancialGroupViewModels = resultList, - // BtnCounter = resultList.Count, - //}; - } - - #endregion - - #region MoreThan10 - - else - { - var pageCounter = allTransactions.Count / pagination; - var b = allTransactions.Count % pagination; - if (b > 0) - pageCounter += 1; - FirstPageNumber = 1; - CurrentPageNumber = pageCounter; - LastPageNumber = pageCounter; - double totalDebt = 0; - double totalCredit = 0; - double totalBalance = 0; - double thisPageDebt = 0; - double thisPageCredit = 0; - double thisPageBalance = 0; - - if (pageNumber == 0) - { - I = ((pageCounter * pagination) - pagination) + 1; - var Last10Transactions = new List(); - //ده تای آخر - if (b > 0) - { - - - Last10Transactions = allTransactions.OrderByDescending(x => x.TdateGr).Take(b).ToList(); - } - else - { - - Last10Transactions = allTransactions.OrderByDescending(x => x.TdateGr).Take(pagination).ToList(); - } - - - var last10TransactionsIdList = Last10Transactions.Select(x => x.Id).ToList(); - //قبل از 10 تای آخر - var BeforeLast10 = allTransactions - .Where(x => !last10TransactionsIdList.Contains(x.Id)) - .OrderBy(x => x.TdateGr).ToList(); - // بدست آوردن مجموع مقادیر قبل از لیست 10 تایی - for (int n = 0; n < BeforeLast10.Count; n++) - { - if (n == 0) - { - if (BeforeLast10[n].TypeOfTransaction == "debt") - { - BeforeLast10[n].Balance = BeforeLast10[n].Deptor; - firstBalance = BeforeLast10[n].Deptor; - totalDebt = firstBalance; - totalBalance = firstBalance; - } - else - { - var s1 = (BeforeLast10[n].Creditor) * 2; - BeforeLast10[n].Balance = BeforeLast10[n].Creditor - s1; //تبدیل به منفی - firstBalance = BeforeLast10[n].Creditor - s1; - totalCredit = BeforeLast10[n].Creditor; - totalBalance = firstBalance; - } - } - else - { - if (BeforeLast10[n].TypeOfTransaction == "debt") - { - firstBalance += BeforeLast10[n].Deptor; - BeforeLast10[n].Balance = firstBalance; - totalDebt += BeforeLast10[n].Deptor; - totalBalance = totalDebt - totalCredit; - } - else - { - firstBalance -= BeforeLast10[n].Creditor; - BeforeLast10[n].Balance = firstBalance; - totalCredit += BeforeLast10[n].Creditor; - totalBalance = totalDebt - totalCredit; - } - } - } - - - Last10Transactions = Last10Transactions.OrderBy(x => x.TdateGr).ToList(); - var transActionsWithBalance = new List(); - - - // محاسبه 10 تای آخر - for (int i = 0; i < Last10Transactions.Count; i++) - { - - - if (Last10Transactions[i].TypeOfTransaction == "debt") - { - firstBalance += Last10Transactions[i].Deptor; - Last10Transactions[i].Balance = firstBalance; - Last10Transactions[i].BalanceString = firstBalance.ToMoney(); - totalDebt += Last10Transactions[i].Deptor; - thisPageDebt += Last10Transactions[i].Deptor; - totalBalance = totalDebt - totalCredit; - } - else - { - firstBalance -= Last10Transactions[i].Creditor; - Last10Transactions[i].Balance = firstBalance; - Last10Transactions[i].BalanceString = firstBalance.ToMoney(); - totalCredit += Last10Transactions[i].Creditor; - thisPageCredit += Last10Transactions[i].Creditor; - totalBalance = totalDebt - totalCredit; - } - - var tAction = Last10Transactions[i]; - transActionsWithBalance.Add(tAction); - } - - thisPageBalance = thisPageDebt - thisPageCredit; - ThisPageDebt = thisPageDebt.ToMoney(); - ThisPageCredit = thisPageCredit.ToMoney(); - ThisPageBalance = thisPageBalance.ToMoney(); - TotalDebt = totalDebt.ToMoney(); - TotalCredit = totalCredit.ToMoney(); - TotalBalance = totalBalance.ToMoney(); - TotalBalanceDouble = totalBalance; - TransactionList = transActionsWithBalance; - } - - - } - - #endregion - - } - else - { - HasData = false; - } - - - - - } - - public IActionResult OnGetEdit(long id, int pageNumber) - { - var res = _financialTransactionApplication.GetDetails(id); - res.PageNumber = pageNumber; - - var todayGr = DateTime.Now; - res.Today = todayGr.ToFarsi(); - return Partial("./EditTransaction", res); - } - - public IActionResult OnGetRemoveBlocked(long id) - { - var res = _financialTransactionApplication.RemoveBlocked(id); - if (res.IsSuccedded) - { - return new JsonResult(new - { - isSuccedded = true, - }); - } - else - { - return new JsonResult(new - { - isSuccedded = false, - }); - } - } - #region Pagination - - public IActionResult OnGetPagination(long id, int pageNumber) - { - var result = new FinancialGroupViewModel(); - - var transactionCount = 0; - var pagination = 10; - var firstGetStatement = _financialStatmentApplication.GetDetailsByContractingPartyId(id); - var allTransactions = firstGetStatement.FinancialTransactionViewModels; - var pageIndex = (pageNumber * pagination) - pagination; - - - if (allTransactions != null) - { - double firstBalance = 0; - double totalDebt = 0; - double totalCredit = 0; - double totalBalance = 0; - double thisPageDebt = 0; - double thisPageCredit = 0; - double thisPageBalance = 0; - allTransactions = allTransactions.OrderBy(x => x.TdateGr).ToList(); - int lastPageNumber = 0; - var pageCounter = allTransactions.Count / pagination; - var b = allTransactions.Count % pagination;//باقیمانده تقسیم - if (b > 0) - lastPageNumber = pageCounter + 1; - - - if (pageNumber == 1) - { - result.I = 1; - result.CurrentPageNumber = 1; - var firs10TransactionsList = allTransactions.Skip(pageIndex).Take(pagination).ToList(); - var first10IList = firs10TransactionsList.Select(x => x.Id).ToList(); - var afterFirst10 = allTransactions - .Where(x => !first10IList.Contains(x.Id)) - .OrderBy(x => x.TdateGr).ToList(); - - firs10TransactionsList = firs10TransactionsList.OrderBy(x => x.TdateGr).ToList(); - var transActionsWithBalance = new List(); - - - // محاسبه 10 تای اول - for (int i = 0; i < firs10TransactionsList.Count; i++) - { - - - if (firs10TransactionsList[i].TypeOfTransaction == "debt") - { - firstBalance += firs10TransactionsList[i].Deptor; - firs10TransactionsList[i].Balance = firstBalance; - firs10TransactionsList[i].BalanceString = firstBalance.ToMoney(); - totalDebt += firs10TransactionsList[i].Deptor; - thisPageDebt += firs10TransactionsList[i].Deptor; - totalBalance = totalDebt - totalCredit; - } - else - { - firstBalance -= firs10TransactionsList[i].Creditor; - firs10TransactionsList[i].Balance = firstBalance; - firs10TransactionsList[i].BalanceString = firstBalance.ToMoney(); - totalCredit += firs10TransactionsList[i].Creditor; - thisPageCredit += firs10TransactionsList[i].Creditor; - totalBalance = totalDebt - totalCredit; - } - - var tAction = firs10TransactionsList[i]; - transActionsWithBalance.Add(tAction); - } - - result.TransactionList = transActionsWithBalance; - thisPageBalance = thisPageDebt - thisPageCredit; - result.ThisPageDebt = thisPageDebt.ToMoney(); - result.ThisPageCredit = thisPageCredit.ToMoney(); - result.ThisPageBalance = thisPageBalance.ToMoney(); - - // بدست آوردن مجموع مقادیر بعد از لیست 10 تایی - for (int n = 0; n < afterFirst10.Count; n++) - { - - if (afterFirst10[n].TypeOfTransaction == "debt") - { - firstBalance += afterFirst10[n].Deptor; - afterFirst10[n].Balance = firstBalance; - - totalDebt += afterFirst10[n].Deptor; - - totalBalance = totalDebt - totalCredit; - } - else - { - firstBalance -= afterFirst10[n].Creditor; - afterFirst10[n].Balance = firstBalance; - - totalCredit += afterFirst10[n].Creditor; - - totalBalance = totalDebt - totalCredit; - } - - } - - result.TotalDebt = totalDebt.ToMoney(); - result.TotalCredit = totalCredit.ToMoney(); - result.TotalBalance = totalBalance.ToMoney(); - result.TotalBalanceDouble = totalBalance; - } - else if (pageNumber > 1 && pageNumber < lastPageNumber) - { - - var currentTransactionsList = allTransactions.Skip(pageIndex).Take(pagination).ToList(); - var currentFirstTransaction = currentTransactionsList.OrderBy(x => x.TdateGr) - .Select(x => x.TdateGr) - .FirstOrDefault(); - var currentLastTransaction = currentTransactionsList - .OrderByDescending(x => x.TdateGr).Select(x=>x.TdateGr) - .FirstOrDefault(); - var beforeCurrent10 = allTransactions.Where(x => x.TdateGr < currentFirstTransaction).ToList(); - var afterCurrent10 = allTransactions.Where(x => x.TdateGr > currentLastTransaction).ToList(); - result.I = beforeCurrent10.Count + 1; - result.CurrentPageNumber = pageNumber; - //محاسبه تراکنش های قبل از 10 تای جاری - for (int n = 0; n < beforeCurrent10.Count; n++) - { - if (n == 0) - { - if (beforeCurrent10[n].TypeOfTransaction == "debt") - { - beforeCurrent10[n].Balance = beforeCurrent10[n].Deptor; - firstBalance = beforeCurrent10[n].Deptor; - totalDebt = firstBalance; - totalBalance = firstBalance; - } - else - { - var s1 = (beforeCurrent10[n].Creditor) * 2; - beforeCurrent10[n].Balance = beforeCurrent10[n].Creditor - s1; //تبدیل به منفی - firstBalance = beforeCurrent10[n].Creditor - s1; - totalCredit = beforeCurrent10[n].Creditor; - totalBalance = firstBalance; - } - } - else - { - if (beforeCurrent10[n].TypeOfTransaction == "debt") - { - firstBalance += beforeCurrent10[n].Deptor; - beforeCurrent10[n].Balance = firstBalance; - totalDebt += beforeCurrent10[n].Deptor; - totalBalance = totalDebt - totalCredit; - } - else - { - firstBalance -= beforeCurrent10[n].Creditor; - beforeCurrent10[n].Balance = firstBalance; - totalCredit += beforeCurrent10[n].Creditor; - totalBalance = totalDebt - totalCredit; - } - } - } - - currentTransactionsList = currentTransactionsList.OrderBy(x => x.TdateGr).ToList(); - var transActionsWithBalance = new List(); - - - // محاسبه 10 تای جاری - for (int i = 0; i < currentTransactionsList.Count; i++) - { - - - if (currentTransactionsList[i].TypeOfTransaction == "debt") - { - firstBalance += currentTransactionsList[i].Deptor; - currentTransactionsList[i].Balance = firstBalance; - currentTransactionsList[i].BalanceString = firstBalance.ToMoney(); - totalDebt += currentTransactionsList[i].Deptor; - thisPageDebt += currentTransactionsList[i].Deptor; - totalBalance = totalDebt - totalCredit; - } - else - { - firstBalance -= currentTransactionsList[i].Creditor; - currentTransactionsList[i].Balance = firstBalance; - currentTransactionsList[i].BalanceString = firstBalance.ToMoney(); - totalCredit += currentTransactionsList[i].Creditor; - thisPageCredit += currentTransactionsList[i].Creditor; - totalBalance = totalDebt - totalCredit; - } - - var tAction = currentTransactionsList[i]; - transActionsWithBalance.Add(tAction); - } - result.TransactionList = transActionsWithBalance; - thisPageBalance = thisPageDebt - thisPageCredit; - result.ThisPageDebt = thisPageDebt.ToMoney(); - result.ThisPageCredit = thisPageCredit.ToMoney(); - result.ThisPageBalance = thisPageBalance.ToMoney(); - //محسبه ترکانش های بعد از 10 تای جاری - for (int n = 0; n < afterCurrent10.Count; n++) - { - - if (afterCurrent10[n].TypeOfTransaction == "debt") - { - firstBalance += afterCurrent10[n].Deptor; - afterCurrent10[n].Balance = firstBalance; - - totalDebt += afterCurrent10[n].Deptor; - - totalBalance = totalDebt - totalCredit; - } - else - { - firstBalance -= afterCurrent10[n].Creditor; - afterCurrent10[n].Balance = firstBalance; - - totalCredit += afterCurrent10[n].Creditor; - - totalBalance = totalDebt - totalCredit; - } - - } - - result.TotalDebt = totalDebt.ToMoney(); - result.TotalCredit = totalCredit.ToMoney(); - result.TotalBalance = totalBalance.ToMoney(); - result.TotalBalanceDouble = totalBalance; - } - else if (pageNumber == lastPageNumber) - { - result.CurrentPageNumber = pageNumber; - result.I = ((lastPageNumber * pagination) - pagination) + 1; - var last10Transactions = new List(); - if (b > 0) - { - last10Transactions = allTransactions.Skip(pageIndex).Take(b).ToList(); - } - else - { - last10Transactions = allTransactions.Skip(pageIndex).Take(pagination).ToList(); - } - //ده تای آخر - - var last10TransactionsIdList = last10Transactions.Select(x => x.Id).ToList(); - //قبل از 10 تای آخر - var BeforeLast10 = allTransactions - .Where(x => !last10TransactionsIdList.Contains(x.Id)) - .OrderBy(x => x.TdateGr).ToList(); - // بدست آوردن مجموع مقادیر قبل از لیست 10 تایی - for (int n = 0; n < BeforeLast10.Count; n++) - { - if (n == 0) - { - if (BeforeLast10[n].TypeOfTransaction == "debt") - { - BeforeLast10[n].Balance = BeforeLast10[n].Deptor; - firstBalance = BeforeLast10[n].Deptor; - totalDebt = firstBalance; - totalBalance = firstBalance; - } - else - { - var s1 = (BeforeLast10[n].Creditor) * 2; - BeforeLast10[n].Balance = BeforeLast10[n].Creditor - s1; //تبدیل به منفی - firstBalance = BeforeLast10[n].Creditor - s1; - totalCredit = BeforeLast10[n].Creditor; - totalBalance = firstBalance; - } - } - else - { - if (BeforeLast10[n].TypeOfTransaction == "debt") - { - firstBalance += BeforeLast10[n].Deptor; - BeforeLast10[n].Balance = firstBalance; - totalDebt += BeforeLast10[n].Deptor; - totalBalance = totalDebt - totalCredit; - } - else - { - firstBalance -= BeforeLast10[n].Creditor; - BeforeLast10[n].Balance = firstBalance; - totalCredit += BeforeLast10[n].Creditor; - totalBalance = totalDebt - totalCredit; - } - } - } - - - last10Transactions = last10Transactions.OrderBy(x => x.TdateGr).ToList(); - var transActionsWithBalance = new List(); - - - // محاسبه 10 تای آخر - for (int i = 0; i < last10Transactions.Count; i++) - { - - - if (last10Transactions[i].TypeOfTransaction == "debt") - { - firstBalance += last10Transactions[i].Deptor; - last10Transactions[i].Balance = firstBalance; - last10Transactions[i].BalanceString = firstBalance.ToMoney(); - totalDebt += last10Transactions[i].Deptor; - thisPageDebt += last10Transactions[i].Deptor; - totalBalance = totalDebt - totalCredit; - } - else - { - firstBalance -= last10Transactions[i].Creditor; - last10Transactions[i].Balance = firstBalance; - last10Transactions[i].BalanceString = firstBalance.ToMoney(); - totalCredit += last10Transactions[i].Creditor; - thisPageCredit += last10Transactions[i].Creditor; - totalBalance = totalDebt - totalCredit; - } - - var tAction = last10Transactions[i]; - transActionsWithBalance.Add(tAction); - } - result.TransactionList = transActionsWithBalance; - thisPageBalance = thisPageDebt - thisPageCredit; - result.ThisPageDebt = thisPageDebt.ToMoney(); - result.ThisPageCredit = thisPageCredit.ToMoney(); - result.ThisPageBalance = thisPageBalance.ToMoney(); - result.TotalDebt = totalDebt.ToMoney(); - result.TotalCredit = totalCredit.ToMoney(); - result.TotalBalance = totalBalance.ToMoney(); - result.TotalBalanceDouble = totalBalance; - - - } - - - - //transactionCount = allTransactions.Count(); - - } - return Partial("TransactionMailList", result); - } - - #endregion - public IActionResult OnGetCreate(CreateFinancialStatment command) - { - var create = _financialStatmentApplication.Create(command); - - if (create.IsSuccedded) - { - - - return new JsonResult(new - { - success = true, - }); - } - else - { - return new JsonResult(new - { - success = false, - }); - } - } - - public IActionResult OnPostEdit(long id, string tDateFa, string typeOfTransaction, string descriptionOption, string description, string deptorString, string creditorString) - { - var command = new EditFinancialTransaction() - { - Id = id, - TdateFa = tDateFa, - TypeOfTransaction = typeOfTransaction, - DescriptionOption = descriptionOption, - Description = description, - DeptorString = deptorString, - CreditorString = creditorString, - }; - var result = _financialTransactionApplication.Edit(command); - if (result.IsSuccedded) - { - return new JsonResult(new - { - success = true, - }); - } - else - { - return new JsonResult(new - { - success = false, - }); - } - - - } - public IActionResult OnGetRemoveTransaction(long id) - { - var res = _financialTransactionApplication.RemoveFinancialTransaction(id); - if (res.IsSuccedded) - { - return new JsonResult(new - { - success = true, - }); - } - else - { - return new JsonResult(new - { - success = false, - }); - } - } - - public IActionResult OnGetDateOfToday() - { - var today = DateTime.Now; - return new JsonResult(new - { - datOfToday = today.ToFarsi(), - }); - } - } -} + private readonly IFinancialStatmentApplication _financialStatmentApplication; + private readonly IFinancialTransactionApplication _financialTransactionApplication; + public long ContractingPartyId; + public string ContractingPartyName; + public int CurrentPageNumber; + public string day; + public FinancialDividViewModel DividedList; + public long FinancialStatmentId; + public int FirstPageNumber; + public bool HasData; + public int I; + public int LastPageNumber; + public string month; + public string ThisPageBalance; + public string ThisPageCredit; + public string ThisPageDebt; + public string today; + public string TotalBalance; + public double TotalBalanceDouble; + public string TotalCredit; + public string TotalDebt; + public List TransactionList; + public string year; + + public FinancialStatmentsModel(IFinancialStatmentApplication financialStatmentApplication, + IFinancialTransactionApplication financialTransactionApplication) + { + _financialStatmentApplication = financialStatmentApplication; + _financialTransactionApplication = financialTransactionApplication; + } + + public void OnGet(string name, long id, int pageNumber) + { + var transactionCount = 0; + ContractingPartyName = name; + ContractingPartyId = id; + var resultList = new List(); + var todayGr = DateTime.Now; + var todayFa = todayGr.ToFarsi(); + var syear = Convert.ToInt32(todayFa.Substring(0, 4)); + var smonth = Convert.ToInt32(todayFa.Substring(5, 2)); + var sday = Convert.ToInt32(todayFa.Substring(8, 2)); + var d1 = new PersianDateTime(syear, smonth, sday); + + + today = d1.DayOfWeek; + month = d1.MonthOfYear; + day = todayFa.Substring(8, 2); + year = todayFa.Substring(0, 4); + + var pagination = 10; + var firstGetStatement = _financialStatmentApplication.GetDetailsByContractingPartyId(id); + var allTransactions = firstGetStatement.FinancialTransactionViewModels; + if (allTransactions != null) + { + FinancialStatmentId = firstGetStatement.Id; + transactionCount = allTransactions.Count(); + HasData = true; + double firstBalance = 0; + + #region LesThan10 + + if (transactionCount <= pagination) // <= 10 + { + I = 1; + FirstPageNumber = 1; + CurrentPageNumber = 1; + LastPageNumber = 1; + var transactions = allTransactions.OrderBy(x => x.TdateGr).ToList(); + var transActionsWithBalance = new List(); + + double thisPageDebt = 0; + double thisPageCredit = 0; + double thisPageBalance = 0; + double totalDebt = 0; + double totalCredit = 0; + double totalBalance = 0; + for (var i = 0; i < transactionCount; i++) + if (i == 0) + { + if (transactions[i].TypeOfTransaction == "debt") + { + transactions[i].Balance = transactions[i].Deptor; + firstBalance = transactions[i].Deptor; + transactions[i].BalanceString = firstBalance.ToMoney(); + } + else + { + var s1 = transactions[i].Creditor * 2; + transactions[i].Balance = transactions[i].Creditor - s1; //تبدیل به منفی + firstBalance = transactions[i].Creditor - s1; + transactions[i].BalanceString = firstBalance.ToMoney(); + } + + var tAction = transactions[i]; + transActionsWithBalance.Add(tAction); + } + else + { + if (transactions[i].TypeOfTransaction == "debt") + { + firstBalance += transactions[i].Deptor; + transactions[i].Balance = firstBalance; + transactions[i].BalanceString = firstBalance.ToMoney(); + } + else + { + firstBalance -= transactions[i].Creditor; + transactions[i].Balance = firstBalance; + + transactions[i].BalanceString = firstBalance.ToMoney(); + } + + var tAction = transactions[i]; + transActionsWithBalance.Add(tAction); + } + + thisPageDebt = transActionsWithBalance.Sum(x => x.Deptor); + thisPageCredit = transActionsWithBalance.Sum(x => x.Creditor); + thisPageBalance = thisPageDebt - thisPageCredit; + ThisPageDebt = thisPageDebt.ToMoney(); + ThisPageCredit = thisPageCredit.ToMoney(); + ThisPageBalance = thisPageBalance.ToMoney(); + TotalDebt = ThisPageDebt; + TotalCredit = ThisPageCredit; + TotalBalance = ThisPageBalance; + TotalBalanceDouble = thisPageBalance; + TransactionList = transActionsWithBalance; + + //var groupToList = new FinancialGroupViewModel() + //{ + // FinancialTransactionViewModels = allTransactions.OrderBy(x => x.TdateGr).ToList(), + // StartList = 1, + // EndList = pagination, + //}; + //resultList.Add(groupToList); + //DividedList = new FinancialDividViewModel() + //{ + // FinancialGroupViewModels = resultList, + // BtnCounter = resultList.Count, + //}; + } + + #endregion + + #region MoreThan10 + + else + { + var pageCounter = allTransactions.Count / pagination; + var b = allTransactions.Count % pagination; + if (b > 0) + pageCounter += 1; + FirstPageNumber = 1; + CurrentPageNumber = pageCounter; + LastPageNumber = pageCounter; + double totalDebt = 0; + double totalCredit = 0; + double totalBalance = 0; + double thisPageDebt = 0; + double thisPageCredit = 0; + double thisPageBalance = 0; + + if (pageNumber == 0) + { + I = pageCounter * pagination - pagination + 1; + var Last10Transactions = new List(); + //ده تای آخر + if (b > 0) + Last10Transactions = allTransactions.OrderByDescending(x => x.TdateGr).Take(b).ToList(); + else + Last10Transactions = + allTransactions.OrderByDescending(x => x.TdateGr).Take(pagination).ToList(); + + + var last10TransactionsIdList = Last10Transactions.Select(x => x.Id).ToList(); + //قبل از 10 تای آخر + var BeforeLast10 = allTransactions + .Where(x => !last10TransactionsIdList.Contains(x.Id)) + .OrderBy(x => x.TdateGr).ToList(); + // بدست آوردن مجموع مقادیر قبل از لیست 10 تایی + for (var n = 0; n < BeforeLast10.Count; n++) + if (n == 0) + { + if (BeforeLast10[n].TypeOfTransaction == "debt") + { + BeforeLast10[n].Balance = BeforeLast10[n].Deptor; + firstBalance = BeforeLast10[n].Deptor; + totalDebt = firstBalance; + totalBalance = firstBalance; + } + else + { + var s1 = BeforeLast10[n].Creditor * 2; + BeforeLast10[n].Balance = BeforeLast10[n].Creditor - s1; //تبدیل به منفی + firstBalance = BeforeLast10[n].Creditor - s1; + totalCredit = BeforeLast10[n].Creditor; + totalBalance = firstBalance; + } + } + else + { + if (BeforeLast10[n].TypeOfTransaction == "debt") + { + firstBalance += BeforeLast10[n].Deptor; + BeforeLast10[n].Balance = firstBalance; + totalDebt += BeforeLast10[n].Deptor; + totalBalance = totalDebt - totalCredit; + } + else + { + firstBalance -= BeforeLast10[n].Creditor; + BeforeLast10[n].Balance = firstBalance; + totalCredit += BeforeLast10[n].Creditor; + totalBalance = totalDebt - totalCredit; + } + } + + + Last10Transactions = Last10Transactions.OrderBy(x => x.TdateGr).ToList(); + var transActionsWithBalance = new List(); + + + // محاسبه 10 تای آخر + for (var i = 0; i < Last10Transactions.Count; i++) + { + if (Last10Transactions[i].TypeOfTransaction == "debt") + { + firstBalance += Last10Transactions[i].Deptor; + Last10Transactions[i].Balance = firstBalance; + Last10Transactions[i].BalanceString = firstBalance.ToMoney(); + totalDebt += Last10Transactions[i].Deptor; + thisPageDebt += Last10Transactions[i].Deptor; + totalBalance = totalDebt - totalCredit; + } + else + { + firstBalance -= Last10Transactions[i].Creditor; + Last10Transactions[i].Balance = firstBalance; + Last10Transactions[i].BalanceString = firstBalance.ToMoney(); + totalCredit += Last10Transactions[i].Creditor; + thisPageCredit += Last10Transactions[i].Creditor; + totalBalance = totalDebt - totalCredit; + } + + var tAction = Last10Transactions[i]; + transActionsWithBalance.Add(tAction); + } + + thisPageBalance = thisPageDebt - thisPageCredit; + ThisPageDebt = thisPageDebt.ToMoney(); + ThisPageCredit = thisPageCredit.ToMoney(); + ThisPageBalance = thisPageBalance.ToMoney(); + TotalDebt = totalDebt.ToMoney(); + TotalCredit = totalCredit.ToMoney(); + TotalBalance = totalBalance.ToMoney(); + TotalBalanceDouble = totalBalance; + TransactionList = transActionsWithBalance; + } + } + + #endregion + } + else + { + HasData = false; + } + } + + public IActionResult OnGetEdit(long id, int pageNumber) + { + var res = _financialTransactionApplication.GetDetails(id); + res.PageNumber = pageNumber; + + var todayGr = DateTime.Now; + res.Today = todayGr.ToFarsi(); + return Partial("./EditTransaction", res); + } + + public IActionResult OnGetRemoveBlocked(long id) + { + var res = _financialTransactionApplication.RemoveBlocked(id); + if (res.IsSuccedded) + return new JsonResult(new + { + isSuccedded = true + }); + return new JsonResult(new + { + isSuccedded = false + }); + } + + #region Pagination + + public IActionResult OnGetPagination(long id, int pageNumber) + { + var result = new FinancialGroupViewModel(); + + var transactionCount = 0; + var pagination = 10; + var firstGetStatement = _financialStatmentApplication.GetDetailsByContractingPartyId(id); + var allTransactions = firstGetStatement.FinancialTransactionViewModels; + var pageIndex = pageNumber * pagination - pagination; + + + if (allTransactions != null) + { + double firstBalance = 0; + double totalDebt = 0; + double totalCredit = 0; + double totalBalance = 0; + double thisPageDebt = 0; + double thisPageCredit = 0; + double thisPageBalance = 0; + allTransactions = allTransactions.OrderBy(x => x.TdateGr).ToList(); + var lastPageNumber = 0; + var pageCounter = allTransactions.Count / pagination; + var b = allTransactions.Count % pagination; //باقیمانده تقسیم + if (b > 0) + lastPageNumber = pageCounter + 1; + + + if (pageNumber == 1) + { + result.I = 1; + result.CurrentPageNumber = 1; + var firs10TransactionsList = allTransactions.Skip(pageIndex).Take(pagination).ToList(); + var first10IList = firs10TransactionsList.Select(x => x.Id).ToList(); + var afterFirst10 = allTransactions + .Where(x => !first10IList.Contains(x.Id)) + .OrderBy(x => x.TdateGr).ToList(); + + firs10TransactionsList = firs10TransactionsList.OrderBy(x => x.TdateGr).ToList(); + var transActionsWithBalance = new List(); + + + // محاسبه 10 تای اول + for (var i = 0; i < firs10TransactionsList.Count; i++) + { + if (firs10TransactionsList[i].TypeOfTransaction == "debt") + { + firstBalance += firs10TransactionsList[i].Deptor; + firs10TransactionsList[i].Balance = firstBalance; + firs10TransactionsList[i].BalanceString = firstBalance.ToMoney(); + totalDebt += firs10TransactionsList[i].Deptor; + thisPageDebt += firs10TransactionsList[i].Deptor; + totalBalance = totalDebt - totalCredit; + } + else + { + firstBalance -= firs10TransactionsList[i].Creditor; + firs10TransactionsList[i].Balance = firstBalance; + firs10TransactionsList[i].BalanceString = firstBalance.ToMoney(); + totalCredit += firs10TransactionsList[i].Creditor; + thisPageCredit += firs10TransactionsList[i].Creditor; + totalBalance = totalDebt - totalCredit; + } + + var tAction = firs10TransactionsList[i]; + transActionsWithBalance.Add(tAction); + } + + result.TransactionList = transActionsWithBalance; + thisPageBalance = thisPageDebt - thisPageCredit; + result.ThisPageDebt = thisPageDebt.ToMoney(); + result.ThisPageCredit = thisPageCredit.ToMoney(); + result.ThisPageBalance = thisPageBalance.ToMoney(); + + // بدست آوردن مجموع مقادیر بعد از لیست 10 تایی + for (var n = 0; n < afterFirst10.Count; n++) + if (afterFirst10[n].TypeOfTransaction == "debt") + { + firstBalance += afterFirst10[n].Deptor; + afterFirst10[n].Balance = firstBalance; + + totalDebt += afterFirst10[n].Deptor; + + totalBalance = totalDebt - totalCredit; + } + else + { + firstBalance -= afterFirst10[n].Creditor; + afterFirst10[n].Balance = firstBalance; + + totalCredit += afterFirst10[n].Creditor; + + totalBalance = totalDebt - totalCredit; + } + + result.TotalDebt = totalDebt.ToMoney(); + result.TotalCredit = totalCredit.ToMoney(); + result.TotalBalance = totalBalance.ToMoney(); + result.TotalBalanceDouble = totalBalance; + } + else if (pageNumber > 1 && pageNumber < lastPageNumber) + { + var currentTransactionsList = allTransactions.Skip(pageIndex).Take(pagination).ToList(); + var currentFirstTransaction = currentTransactionsList.OrderBy(x => x.TdateGr) + .Select(x => x.TdateGr) + .FirstOrDefault(); + var currentLastTransaction = currentTransactionsList + .OrderByDescending(x => x.TdateGr).Select(x => x.TdateGr) + .FirstOrDefault(); + var beforeCurrent10 = allTransactions.Where(x => x.TdateGr < currentFirstTransaction).ToList(); + var afterCurrent10 = allTransactions.Where(x => x.TdateGr > currentLastTransaction).ToList(); + result.I = beforeCurrent10.Count + 1; + result.CurrentPageNumber = pageNumber; + //محاسبه تراکنش های قبل از 10 تای جاری + for (var n = 0; n < beforeCurrent10.Count; n++) + if (n == 0) + { + if (beforeCurrent10[n].TypeOfTransaction == "debt") + { + beforeCurrent10[n].Balance = beforeCurrent10[n].Deptor; + firstBalance = beforeCurrent10[n].Deptor; + totalDebt = firstBalance; + totalBalance = firstBalance; + } + else + { + var s1 = beforeCurrent10[n].Creditor * 2; + beforeCurrent10[n].Balance = beforeCurrent10[n].Creditor - s1; //تبدیل به منفی + firstBalance = beforeCurrent10[n].Creditor - s1; + totalCredit = beforeCurrent10[n].Creditor; + totalBalance = firstBalance; + } + } + else + { + if (beforeCurrent10[n].TypeOfTransaction == "debt") + { + firstBalance += beforeCurrent10[n].Deptor; + beforeCurrent10[n].Balance = firstBalance; + totalDebt += beforeCurrent10[n].Deptor; + totalBalance = totalDebt - totalCredit; + } + else + { + firstBalance -= beforeCurrent10[n].Creditor; + beforeCurrent10[n].Balance = firstBalance; + totalCredit += beforeCurrent10[n].Creditor; + totalBalance = totalDebt - totalCredit; + } + } + + currentTransactionsList = currentTransactionsList.OrderBy(x => x.TdateGr).ToList(); + var transActionsWithBalance = new List(); + + + // محاسبه 10 تای جاری + for (var i = 0; i < currentTransactionsList.Count; i++) + { + if (currentTransactionsList[i].TypeOfTransaction == "debt") + { + firstBalance += currentTransactionsList[i].Deptor; + currentTransactionsList[i].Balance = firstBalance; + currentTransactionsList[i].BalanceString = firstBalance.ToMoney(); + totalDebt += currentTransactionsList[i].Deptor; + thisPageDebt += currentTransactionsList[i].Deptor; + totalBalance = totalDebt - totalCredit; + } + else + { + firstBalance -= currentTransactionsList[i].Creditor; + currentTransactionsList[i].Balance = firstBalance; + currentTransactionsList[i].BalanceString = firstBalance.ToMoney(); + totalCredit += currentTransactionsList[i].Creditor; + thisPageCredit += currentTransactionsList[i].Creditor; + totalBalance = totalDebt - totalCredit; + } + + var tAction = currentTransactionsList[i]; + transActionsWithBalance.Add(tAction); + } + + result.TransactionList = transActionsWithBalance; + thisPageBalance = thisPageDebt - thisPageCredit; + result.ThisPageDebt = thisPageDebt.ToMoney(); + result.ThisPageCredit = thisPageCredit.ToMoney(); + result.ThisPageBalance = thisPageBalance.ToMoney(); + //محسبه ترکانش های بعد از 10 تای جاری + for (var n = 0; n < afterCurrent10.Count; n++) + if (afterCurrent10[n].TypeOfTransaction == "debt") + { + firstBalance += afterCurrent10[n].Deptor; + afterCurrent10[n].Balance = firstBalance; + + totalDebt += afterCurrent10[n].Deptor; + + totalBalance = totalDebt - totalCredit; + } + else + { + firstBalance -= afterCurrent10[n].Creditor; + afterCurrent10[n].Balance = firstBalance; + + totalCredit += afterCurrent10[n].Creditor; + + totalBalance = totalDebt - totalCredit; + } + + result.TotalDebt = totalDebt.ToMoney(); + result.TotalCredit = totalCredit.ToMoney(); + result.TotalBalance = totalBalance.ToMoney(); + result.TotalBalanceDouble = totalBalance; + } + else if (pageNumber == lastPageNumber) + { + result.CurrentPageNumber = pageNumber; + result.I = lastPageNumber * pagination - pagination + 1; + var last10Transactions = new List(); + if (b > 0) + last10Transactions = allTransactions.Skip(pageIndex).Take(b).ToList(); + else + last10Transactions = allTransactions.Skip(pageIndex).Take(pagination).ToList(); + //ده تای آخر + + var last10TransactionsIdList = last10Transactions.Select(x => x.Id).ToList(); + //قبل از 10 تای آخر + var BeforeLast10 = allTransactions + .Where(x => !last10TransactionsIdList.Contains(x.Id)) + .OrderBy(x => x.TdateGr).ToList(); + // بدست آوردن مجموع مقادیر قبل از لیست 10 تایی + for (var n = 0; n < BeforeLast10.Count; n++) + if (n == 0) + { + if (BeforeLast10[n].TypeOfTransaction == "debt") + { + BeforeLast10[n].Balance = BeforeLast10[n].Deptor; + firstBalance = BeforeLast10[n].Deptor; + totalDebt = firstBalance; + totalBalance = firstBalance; + } + else + { + var s1 = BeforeLast10[n].Creditor * 2; + BeforeLast10[n].Balance = BeforeLast10[n].Creditor - s1; //تبدیل به منفی + firstBalance = BeforeLast10[n].Creditor - s1; + totalCredit = BeforeLast10[n].Creditor; + totalBalance = firstBalance; + } + } + else + { + if (BeforeLast10[n].TypeOfTransaction == "debt") + { + firstBalance += BeforeLast10[n].Deptor; + BeforeLast10[n].Balance = firstBalance; + totalDebt += BeforeLast10[n].Deptor; + totalBalance = totalDebt - totalCredit; + } + else + { + firstBalance -= BeforeLast10[n].Creditor; + BeforeLast10[n].Balance = firstBalance; + totalCredit += BeforeLast10[n].Creditor; + totalBalance = totalDebt - totalCredit; + } + } + + + last10Transactions = last10Transactions.OrderBy(x => x.TdateGr).ToList(); + var transActionsWithBalance = new List(); + + + // محاسبه 10 تای آخر + for (var i = 0; i < last10Transactions.Count; i++) + { + if (last10Transactions[i].TypeOfTransaction == "debt") + { + firstBalance += last10Transactions[i].Deptor; + last10Transactions[i].Balance = firstBalance; + last10Transactions[i].BalanceString = firstBalance.ToMoney(); + totalDebt += last10Transactions[i].Deptor; + thisPageDebt += last10Transactions[i].Deptor; + totalBalance = totalDebt - totalCredit; + } + else + { + firstBalance -= last10Transactions[i].Creditor; + last10Transactions[i].Balance = firstBalance; + last10Transactions[i].BalanceString = firstBalance.ToMoney(); + totalCredit += last10Transactions[i].Creditor; + thisPageCredit += last10Transactions[i].Creditor; + totalBalance = totalDebt - totalCredit; + } + + var tAction = last10Transactions[i]; + transActionsWithBalance.Add(tAction); + } + + result.TransactionList = transActionsWithBalance; + thisPageBalance = thisPageDebt - thisPageCredit; + result.ThisPageDebt = thisPageDebt.ToMoney(); + result.ThisPageCredit = thisPageCredit.ToMoney(); + result.ThisPageBalance = thisPageBalance.ToMoney(); + result.TotalDebt = totalDebt.ToMoney(); + result.TotalCredit = totalCredit.ToMoney(); + result.TotalBalance = totalBalance.ToMoney(); + result.TotalBalanceDouble = totalBalance; + } + + + //transactionCount = allTransactions.Count(); + } + + return Partial("TransactionMailList", result); + } + + #endregion + + public IActionResult OnGetCreate(CreateFinancialStatment command) + { + var create = _financialStatmentApplication.Create(command); + + if (create.IsSuccedded) + return new JsonResult(new + { + success = true + }); + return new JsonResult(new + { + success = false + }); + } + + public IActionResult OnPostEdit(long id, string tDateFa, string typeOfTransaction, string descriptionOption, + string description, string deptorString, string creditorString) + { + var command = new EditFinancialTransaction + { + Id = id, + TdateFa = tDateFa, + TypeOfTransaction = typeOfTransaction, + DescriptionOption = descriptionOption, + Description = description, + DeptorString = deptorString, + CreditorString = creditorString + }; + var result = _financialTransactionApplication.Edit(command); + if (result.IsSuccedded) + return new JsonResult(new + { + success = true + }); + return new JsonResult(new + { + success = false + }); + } + + public IActionResult OnGetRemoveTransaction(long id) + { + var res = _financialTransactionApplication.RemoveFinancialTransaction(id); + if (res.IsSuccedded) + return new JsonResult(new + { + success = true + }); + return new JsonResult(new + { + success = false + }); + } + + public IActionResult OnGetDateOfToday() + { + var today = DateTime.Now; + return new JsonResult(new + { + datOfToday = today.ToFarsi() + }); + } +} \ No newline at end of file diff --git a/ServiceHost/Areas/Admin/Pages/Company/InstitutionContracts/Index.cshtml b/ServiceHost/Areas/Admin/Pages/Company/InstitutionContracts/Index.cshtml index d11a6535..4e1473a6 100644 --- a/ServiceHost/Areas/Admin/Pages/Company/InstitutionContracts/Index.cshtml +++ b/ServiceHost/Areas/Admin/Pages/Company/InstitutionContracts/Index.cshtml @@ -2,26 +2,25 @@ @model ServiceHost.Areas.Admin.Pages.Company.InstitutionContracts.IndexModel @{ + var i = 1; - int i = 1; + var myclass = "noworkshop"; + var black = "expireblack"; + var red = "expirered"; + var purple = "noamount"; + var hasNoSignature = "hasNoSignature"; + var hasSignature = "hasSignature"; - string myclass = "noworkshop"; - string black = "expireblack"; - string red = "expirered"; - string purple = "noamount"; - string hasNoSignature = "hasNoSignature"; - string hasSignature = "hasSignature"; - } @{ - //Layout = "~/Pages/Shared/_Layout.cshtml"; - Layout = "Shared/_AdminLayout"; - ViewData["title"] = "قراردادهای موسسه"; - - @section Styles{ - - } +@section Styles{ + +} } -
-
-
-

- ایجاد قرارداد -

- @**@ +
+
+

+ ایجاد قرارداد +

+ @**@ - @*href="#showmodal=@Url.Page("./Index", "PrintAll", new {ids = idss})"*@ -
-
-
-
-
- -
-
- @*===================================================================================================================*@ -
-
-
-
-
-
-
- -
-
-
-
- -
-
-
-
- -
-
-
-
- -
-
-
-
-
- -
-
- -
-
- + @*href="#showmodal=@Url.Page("./Index", "PrintAll", new {ids = idss})"*@ +
+
+
+
+
+ +
+
+ @*===================================================================================================================*@ +
+
+ +
+
+
+
+ +
+
+
+
+ +
+
+
+
+ +
+
+
+
+ +
+
+
+
+
+ +
+
+ +
+
+ -
-
+
+
- +
+
+ + + + + + + + +
+
+ + حذف فیلتر + +
+
+
+ +
+
+ @*==================================================================personal=====*@ +
+
+
+
+
+
+
+
+

لیست قرارداد های موسسه

+ +

+ بدهی کل  @Model.TotalBalance +

+

+ @Model.SumOfAmounts   مبلغ قراردادها +

+ + @*

تعداد پرسنل: @Model.InstitutionContracts.Sum(x=>Convert.ToInt32(x.EmployeeCount))

*@ + +
+ +
+
+
+ + + + + @**@ - - - - - - - - - - - - - - - - - - - @foreach (var item in @Model.InstitutionContracts) - { - - - + + + + + + + + + + + + + + + + + +@foreach (var item in Model.InstitutionContracts) +{ + + + - - - + + + - - + + - + - - - - - - - @{ - i++; - } - + + + + + + + @{ + i++; + } + - + - - } - -
# با استفاده از این چک باکس می توانید تصفیه حساب ها را بصورت گروهی انتخاب کرده و سپس با کلیک بر روی دکمه حذف گروهی یا پرینت گروهی اقدام به حذف یا پرینت گروهی نمایید طرف حسابمبلغ قراردادوضعیت مالی - عملیات -
@i طرف حسابمبلغ قراردادوضعیت مالی + عملیات +
@i - - @item.ContractingPartyName - -
-

- @item.ContractingPartyName -

- - @item.ContractingPartyName - -
+ @if (item.Signature == "1") + { + + + موجود + + + } + else + { + + ناموجود + + + } +
+ + @item.ContractingPartyName + +
+

+ @item.ContractingPartyName +

+ + @item.ContractingPartyName + +
-
- @if (@item.WorkshopCount != "0") - { - @item.ContractAmount - } - else - { -     -     - } - - @item.BalanceStr - - + @if (item.WorkshopCount != "0") + { + @item.ContractAmount + } + else + { +   +   +   +   +   +   + } + + @item.BalanceStr + + -
-
- - عملیات - -
- - -

- تمدید قرارداد -

-
- - -

- وضعیت مالی -

-
- @if (item.IsActiveString == "true")//فعال و غیر فعال کردن - { - - -

- غیرفعال کردن -

-
- } - else - { - - -

- فعال گردن -

-
- } - - @if (item.IsContractingPartyBlock == "true") - { - - - @item.BlockTimes - آنبلاک - - - - } - else if(item.BlockTimes==2) - { - - - @item.BlockTimes - بلاک کردن - - - - } - else if(item.BlockTimes==1) - { - - - @item.BlockTimes - بلاک کردن - - - - } - else if(item.BlockTimes==0 || item.IsContractingPartyBlock != "true") - { - - - @item.BlockTimes - بلاک کردن - - - - } -
-
- +
+
+
+ + عملیات + +
+ + +

+ تمدید قرارداد +

+
+ + +

+ وضعیت مالی +

+
+ @if (item.IsActiveString == "true") //فعال و غیر فعال کردن + { + + +

+ غیرفعال کردن +

+
+ } + else + { + + +

+ فعال گردن +

+
+ } - -

- -

- - ویرایش اطلاعات - -
- -

- -

- - حذف اطلاعات - - -
+ @if (item.IsContractingPartyBlock == "true") + { + + + @item.BlockTimes + آنبلاک + + + } + else if (item.BlockTimes == 2) + { + + + @item.BlockTimes + بلاک کردن + + + } + else if (item.BlockTimes == 1) + { + + + @item.BlockTimes + بلاک کردن + + + } + else if (item.BlockTimes == 0 || item.IsContractingPartyBlock != "true") + { + + + @item.BlockTimes + بلاک کردن + + + } +
+
+ -
+ +

+ +

+ + ویرایش اطلاعات + +
+ +

+ +

+ + حذف اطلاعات + + +
-
-
- -
- - - - - - - @if (item.IsActiveString == "true")//فعال و غیر فعال کردن - { - - - - } - else - { - - - - } - -

- -

-
- -

- -

-
- -

- -

- -
-
-
-
-
-
-
-
-
-
+
+
+
+
+ + + +
+ + + + + + + @if (item.IsActiveString == "true") //فعال و غیر فعال کردن + { + + + + } + else + { + + + + } + +

+ +

+
+ +

+ +

+
+ +

+ +

+ +
+
+
+
+ + +} + + +
+
+
+
+
- @section Script { - - - - + + + + - - + - + - + - + - + + - -} + $(`#blockspan${id}`).html(''); + $(`#blockspan${id}`).append(red); + } + swal({ + title: response.message, + text: "", + type: "success", + showCancelButton: true, + confirmButtonColor: "#DD6B55", + confirmButtonText: "بستن", + //cancelButtonText: "خیر", + closeOnConfirm: true, + customClass: "successSwall" + }, + function(isConfirm) { + if (isConfirm) { + $("#btnSearch").click(); + } + }); + } else { + swal({ + title: response.message, + // text: "برای حذف قرارداد، ابتدا تیک مربوط به امضای قرارداد را حذف نمایید.", + type: "warning", + showCancelButton: true, + confirmButtonColor: "#DD6B55", + //confirmButtonText: "بستن", + cancelButtonText: "بستن", + closeOnConfirm: false, + closeOnCancel: true, + customClass: "errorSwall" + }); + } + }, + failure: function(response) { + console.log(5, response); + } + }); + } + }); + + } + +} \ No newline at end of file diff --git a/ServiceHost/Areas/Admin/Pages/Company/InstitutionContracts/Index.cshtml.cs b/ServiceHost/Areas/Admin/Pages/Company/InstitutionContracts/Index.cshtml.cs index 841b6115..c71162b4 100644 --- a/ServiceHost/Areas/Admin/Pages/Company/InstitutionContracts/Index.cshtml.cs +++ b/ServiceHost/Areas/Admin/Pages/Company/InstitutionContracts/Index.cshtml.cs @@ -1,4 +1,5 @@ using _0_Framework.Application; +using AccountManagement.Application.Contracts.Account; using CompanyManagment.App.Contracts.Employer; using CompanyManagment.App.Contracts.InstitutionContract; using CompanyManagment.App.Contracts.InstitutionContractContactinfo; @@ -17,892 +18,803 @@ using PersianTools.Core; //using iText.Kernel.Pdf; //using iText.Layout; //using iText.Layout.Element; -using AccountManagement.Application.Contracts.Account; -using static Microsoft.EntityFrameworkCore.DbLoggerCategory.Database; -namespace ServiceHost.Areas.Admin.Pages.Company.InstitutionContracts +namespace ServiceHost.Areas.Admin.Pages.Company.InstitutionContracts; + +[Authorize] +public class IndexModel : PageModel { - [Authorize] - public class IndexModel : PageModel - { - - public string Message { get; set; } - - public InstitutionContractSearchModel SearchModel; - public List InstitutionContracts; - - public SelectList Workshops; - public SelectList WorkshopsCode; - public SelectList Employees; - public SelectList Employers; - public SelectList ContractingParties; - public SelectList Representative; - public string SumOfAmounts; - public string TotalBalance; - - - private readonly IInstitutionContractApplication _institutionContract; - private readonly IWorkshopApplication _workshopApplication; - private readonly IEmployerApplication _employerApplication; - private readonly IPersonalContractingPartyApp _contractingPartyApplication; - private readonly IRepresentativeApplication _representativeApplication; - private readonly ILeftWorkApplication _leftWorkApplication; - private readonly IContactInfoApplication _contactInfoApplication; - private readonly IAccountApplication _accountApplication; - - - - - private readonly string _viewName; - - public IndexModel(IWorkshopApplication workshopApplication, - - IEmployerApplication employerApplication, - IPersonalContractingPartyApp contractingPartyApplication, - IRepresentativeApplication representativeApplication, IInstitutionContractApplication institutionContract, ILeftWorkApplication leftWorkApplication - , IContactInfoApplication contactInfoApplication, IAccountApplication accountApplication) - - { - - _workshopApplication = workshopApplication; - _employerApplication = employerApplication; - _contractingPartyApplication = contractingPartyApplication; - _representativeApplication = representativeApplication; - _institutionContract = institutionContract; - _leftWorkApplication = leftWorkApplication; - _contactInfoApplication = contactInfoApplication; - _accountApplication = accountApplication; - } - - - public void OnGet(InstitutionContractSearchModel searchModel) - { - //var test = _institutionContract.NewSearch(searchModel); - Workshops = - new SelectList(_workshopApplication.GetWorkshopAll(), "Id", "WorkshopFullName"); - - Employers = - new SelectList(_employerApplication.GetEmployers(), "Id", "FullName"); - - ContractingParties = - new SelectList(_contractingPartyApplication.GetPersonalContractingParties(), "id", "LName"); - Representative = - new SelectList(_representativeApplication.GetRepresentatives(), "Id", "FullName"); - - InstitutionContracts = _institutionContract.NewSearch(searchModel).OrderByDescending(x => x.IsActiveString == "blue").ThenByDescending(x => x.IsContractingPartyBlock).ToList(); - - var totalAmounts = InstitutionContracts.Where(x => x.IsActiveString == "true").Sum(x => x.SearchAmount); - var totalBalance = InstitutionContracts.Where(x => x.IsActiveString == "true" || x.IsActiveString == "blue").Sum(x => x.BalanceDouble); - SumOfAmounts = totalAmounts.ToMoney(); - TotalBalance = totalBalance.ToMoney(); - - - - } - - - public IActionResult OnPostContractingParties(long id) - { - var result = _representativeApplication.GetContractingParties(id); - result = result.Select(x => new PersonalContractingPartyViewModel() - { - id = x.id, - FullName = !string.IsNullOrWhiteSpace(x.SureName) ? $"{x.FullName} ({x.SureName})": x.FullName, - - }).ToList(); - return new JsonResult(new - { - IsSuccedded = true, - - mylist = result, - - }); - } - - public IActionResult OnPostWorkshopCountAndEmployeeCount(long id) - { - var employer = _employerApplication.GetEmployerByContracrtingPartyID(id); - var emplId = employer.Select(x => x.Id).ToList(); - - var w = _workshopApplication.GetWorkshopsByEmployerId(emplId); - var workshopIds = w.Select(x => x.Id).ToList(); - var workshopCount = Convert.ToString(w.Count); - //var left = _leftWorkApplication.GetLeftPersonelByWorkshopId(workshopIds); - var employeeCount = "0"; - int pCount = 0; - if (workshopIds.Count > 0) - { - foreach (var workshopId in workshopIds) - { - var p = _workshopApplication.PersonnelCount(workshopId); - pCount += p; - } - employeeCount = Convert.ToString(pCount); - } - - return new JsonResult(new - { - IsSuccedded = true, - - workshopCount = workshopCount, - employeeCount = employeeCount, - - }); - } - - public IActionResult OnPostFindEndOfYear(string start) - { - var end = start.FindeEndOfYear(); - return new JsonResult(new - { - IsSuccedded = true, - - end = end, - - - }); - - } - - public IActionResult OnPostMountCounter(string start, string end, string amount, string valueAddedTax) - { - var result = new OperationResult(); - if (string.IsNullOrWhiteSpace(start)) - { - result.IsSuccedded = false; - result.Message = " تاریخ شروع را وارد کنید"; - - return new JsonResult(result); - } - if (string.IsNullOrWhiteSpace(end)) - { - result.IsSuccedded = false; - result.Message = " تاریخ پایان را وارد کنید"; - - return new JsonResult(result); - } - - if (string.IsNullOrWhiteSpace(amount)) - { - result.IsSuccedded = false; - result.Message = "مبلغ را وارد کنید"; - - return new JsonResult(result); - } - - var syear = Convert.ToInt32(start.Substring(0, 4)); - var smonth = Convert.ToInt32(start.Substring(5, 2)); - var sday = Convert.ToInt32(start.Substring(8, 2)); - - - var eyear = Convert.ToInt32(end.Substring(0, 4)); - var emonth = Convert.ToInt32(end.Substring(5, 2)); - var eday = Convert.ToInt32(end.Substring(8, 2)); - emonth += 1; - - var def = ((eyear - syear) * 12) + emonth - smonth; - var amontDouble = amount.MoneyToDouble(); - double tenPercent = 0; - if (valueAddedTax == "true") - { - tenPercent = (amontDouble * 10) / 100; - amontDouble += tenPercent; - } - - - - - var compute = amontDouble * def; - return new JsonResult(new - { - IsSuccedded = true, - totalAmount = compute, - finalAmount = amontDouble, - valueAddedTax = tenPercent.ToMoney(), - }); - } - public IActionResult OnGetCreate() - { - var todayGr = DateTime.Now; - var todayFa = todayGr.ToFarsi(); - - var syear = Convert.ToInt32(todayFa.Substring(0, 4)); - var smonth = Convert.ToInt32(todayFa.Substring(5, 2)); - var sday = Convert.ToInt32(todayFa.Substring(8, 2)); - var startPersianDate = new PersianDateTime(syear, smonth, 01); - var startSend = new PersianDateTime(syear, smonth, 01); - var endFa = startPersianDate.AddYears(1).AddMonths(-1); - var end = $"{endFa}"; - - - var EndOfYear = end.FindeEndOfMonth(); - var startFa = $"{startSend}"; - - - - var pasList = new CreateInstitutionContract() - { - - RepresentativeSelectList = - new SelectList(_representativeApplication.GetRepresentatives(), "Id", "FullName"), - - - }; - return Partial("./Create", pasList); - } - - public IActionResult OnPostCreate(CreateInstitutionContract command) - { - var op = new OperationResult(); - var counter = command.ContactInformationList.Count; - //if (string.IsNullOrWhiteSpace(command.HasValueAddedTax)) - // command.HasValueAddedTax = "false"; - var phone = command.ContactInformationList.FirstOrDefault(x => - x.SendSmsString == "true" && x.Position == "طرف قرارداد" && x.PhoneType == "شماره همراه"); - var conractingParty = _contractingPartyApplication.GetDetails(command.ContractingPartyId); - if(conractingParty.IsLegal == "حقیقی" && string.IsNullOrWhiteSpace(conractingParty.Nationalcode)) - return new JsonResult(op.Failed("کد ملی طرف حساب وجود ندارد")); - if (conractingParty.IsLegal == "حقوقی" && string.IsNullOrWhiteSpace(conractingParty.NationalId)) - return new JsonResult(op.Failed("شناسه ملی طرف حساب وجود ندارد")); - var result = _institutionContract.Create(command); - - if (result.IsSuccedded && counter > 0) - { - for (int i = 0; i <= counter - 1; i++) - { - if (command.ContactInformationList[i].PhoneNumber != null) - { - - var contactinfo = new CreateContactInfo() - { - InstitutionContractId = result.SendId, - PhoneType = command.ContactInformationList[i].PhoneType, - Position = command.ContactInformationList[i].Position, - PhoneNumber = command.ContactInformationList[i].PhoneNumber, - FnameLname = command.ContactInformationList[i].FnameLname, - SendSms = command.ContactInformationList[i].SendSmsString == "true" ? true : false - }; - _contactInfoApplication.Create(contactinfo); - - } - Thread.Sleep(500); - } - - - if (phone != null) - { - - var userPass = conractingParty.IsLegal == "حقیقی" - ? conractingParty.Nationalcode - : conractingParty.NationalId; - var createAcc = new RegisterAccount() - { - Fullname = conractingParty.LName, - Username = userPass, - Password = userPass, - Mobile = phone.PhoneNumber, - NationalCode = conractingParty.IsLegal == "حقوقی" ? "حقوقی" : userPass, - - }; - var res = _accountApplication.RegisterClient(createAcc); - if (res.IsSuccedded) - { - _institutionContract.CreateContractingPartyAccount(command.ContractingPartyId,res.SendId); - } - } - - } - return new JsonResult(result); - - } - public IActionResult OnPostLoad(InstitutionContractSearchModel searchModel) - { - - - InstitutionContracts = _institutionContract.NewSearch(searchModel); - return Partial("./Records", InstitutionContracts); - } - - public IActionResult OnGetEdit(long id) - { - var representativList = new List(); - var contractingPartyList = new List(); - var res = _institutionContract.GetDetails(id); - var representative = new RepresentativeViewModel() - { - Id = res.RepresentativeId, - FullName = res.RepresentativeName, - }; - representativList.Add(representative); - var contractingParty = new PersonalContractingPartyViewModel() - { - id = res.ContractingPartyId, - FullName = _contractingPartyApplication.GetFullName(res.ContractingPartyId), - }; - contractingPartyList.Add(contractingParty); - res.RepresentativeSelectList = - new SelectList(representativList, "Id", "FullName"); - res.ContractingPartiesSelectList = - new SelectList(contractingPartyList, "id", "FullName"); - - var employer = _employerApplication.GetEmployerByContracrtingPartyID(res.ContractingPartyId); - var emplId = employer.Select(x => x.Id).ToList(); - - var w = _workshopApplication.GetWorkshopsByEmployerId(emplId); - var workshopIds = w.Select(x => x.Id).ToList(); - var workshopCount = Convert.ToString(w.Count); - int pCount = 0; - if (workshopIds.Count > 0) - { - foreach (var workshopId in workshopIds) - { - var p = _workshopApplication.PersonnelCount(workshopId); - pCount += p; - } - res.EmployeeCount = Convert.ToString(pCount); - } - else - { - res.EmployeeCount = "0"; - } - - res.WorkshopCount = workshopCount; - - - var contactInfo = _contactInfoApplication.GetContactInfolist(id); - if (contactInfo.Count > 0) - { - res.ContactInfoCounter = contactInfo.Count; - res.ContactInformationList = contactInfo; - } - else - { - res.ContactInfoCounter = 0; - } - - if (res.HasValueAddedTax == "true") - { - res.ContractAmount -= res.ValueAddedTax; - res.ContractAmountOAlone = res.ContractAmount.ToMoney(); - res.ValueAddedTaxStr = res.ValueAddedTax.ToMoney(); - } - else - { - res.ContractAmountOAlone = res.ContractAmountString; - res.ValueAddedTaxStr = "0"; - } - - return Partial("./Edit", res); - } - - public IActionResult OnPostEdit(EditInstitutionContract command) - { - //if (string.IsNullOrWhiteSpace(command.HasValueAddedTax)) - // command.HasValueAddedTax = "false"; - var result = _institutionContract.Edit(command); - var counter = command.ContactInformationList.Count; - if (result.IsSuccedded && counter > 0) - { - - - _contactInfoApplication.RemoveContactInfo(command.Id); - - foreach (var item in command.ContactInformationList) - { - if (item.PhoneNumber != null) - { - - var contactinfo = new CreateContactInfo() - { - InstitutionContractId = result.SendId, - PhoneType = item.PhoneType, - Position = item.Position, - PhoneNumber = item.PhoneNumber, - FnameLname = item.FnameLname, - SendSms = item.SendSmsString == "true" ? true : false - }; - _contactInfoApplication.Create(contactinfo); - - } - Thread.Sleep(500); - } + private readonly IAccountApplication _accountApplication; + private readonly IContactInfoApplication _contactInfoApplication; + private readonly IPersonalContractingPartyApp _contractingPartyApplication; + private readonly IEmployerApplication _employerApplication; + + + private readonly IInstitutionContractApplication _institutionContract; + private readonly ILeftWorkApplication _leftWorkApplication; + private readonly IRepresentativeApplication _representativeApplication; + + + private readonly string _viewName; + private readonly IWorkshopApplication _workshopApplication; + public SelectList ContractingParties; + public SelectList Employees; + public SelectList Employers; + public List InstitutionContracts; + public SelectList Representative; + + public InstitutionContractSearchModel SearchModel; + public string SumOfAmounts; + public string TotalBalance; + + public SelectList Workshops; + public SelectList WorkshopsCode; + + public IndexModel(IWorkshopApplication workshopApplication, + IEmployerApplication employerApplication, + IPersonalContractingPartyApp contractingPartyApplication, + IRepresentativeApplication representativeApplication, IInstitutionContractApplication institutionContract, + ILeftWorkApplication leftWorkApplication + , IContactInfoApplication contactInfoApplication, IAccountApplication accountApplication) + + { + _workshopApplication = workshopApplication; + _employerApplication = employerApplication; + _contractingPartyApplication = contractingPartyApplication; + _representativeApplication = representativeApplication; + _institutionContract = institutionContract; + _leftWorkApplication = leftWorkApplication; + _contactInfoApplication = contactInfoApplication; + _accountApplication = accountApplication; + } + + public string Message { get; set; } + + + public void OnGet(InstitutionContractSearchModel searchModel) + { + //var test = _institutionContract.NewSearch(searchModel); + Workshops = + new SelectList(_workshopApplication.GetWorkshopAll(), "Id", "WorkshopFullName"); + + Employers = + new SelectList(_employerApplication.GetEmployers(), "Id", "FullName"); + + ContractingParties = + new SelectList(_contractingPartyApplication.GetPersonalContractingParties(), "id", "LName"); + Representative = + new SelectList(_representativeApplication.GetRepresentatives(), "Id", "FullName"); + + InstitutionContracts = _institutionContract.NewSearch(searchModel) + .OrderByDescending(x => x.IsActiveString == "blue").ThenByDescending(x => x.IsContractingPartyBlock) + .ToList(); + + var totalAmounts = InstitutionContracts.Where(x => x.IsActiveString == "true").Sum(x => x.SearchAmount); + var totalBalance = InstitutionContracts.Where(x => x.IsActiveString == "true" || x.IsActiveString == "blue") + .Sum(x => x.BalanceDouble); + SumOfAmounts = totalAmounts.ToMoney(); + TotalBalance = totalBalance.ToMoney(); + } + + + public IActionResult OnPostContractingParties(long id) + { + var result = _representativeApplication.GetContractingParties(id); + result = result.Select(x => new PersonalContractingPartyViewModel + { + id = x.id, + FullName = !string.IsNullOrWhiteSpace(x.SureName) ? $"{x.FullName} ({x.SureName})" : x.FullName + }).ToList(); + return new JsonResult(new + { + IsSuccedded = true, + + mylist = result + }); + } + + public IActionResult OnPostWorkshopCountAndEmployeeCount(long id) + { + var employer = _employerApplication.GetEmployerByContracrtingPartyID(id); + var emplId = employer.Select(x => x.Id).ToList(); + + var w = _workshopApplication.GetWorkshopsByEmployerId(emplId); + var workshopIds = w.Select(x => x.Id).ToList(); + var workshopCount = Convert.ToString(w.Count); + //var left = _leftWorkApplication.GetLeftPersonelByWorkshopId(workshopIds); + var employeeCount = "0"; + var pCount = 0; + if (workshopIds.Count > 0) + { + foreach (var workshopId in workshopIds) + { + var p = _workshopApplication.PersonnelCount(workshopId); + pCount += p; } - //Thread.Sleep(500); - //for (int i = 0; i <= counter - 1; i++) - //{ - // if (command.ContactInformationList[i].PhoneNumber != null) - // { - - // var contactinfo = new CreateContactInfo() - // { - // InstitutionContractId = result.SendId, - // PhoneType = command.ContactInformationList[i].PhoneType, - // Position = command.ContactInformationList[i].Position, - // PhoneNumber = command.ContactInformationList[i].PhoneNumber, - // FnameLname = command.ContactInformationList[i].FnameLname, - // SendSms = command.ContactInformationList[i].SendSmsString == "true" ? true : false - // }; - // _contactInfoApplication.Create(contactinfo); - - // } - // Thread.Sleep(500); - //} - - - - - return new JsonResult(result); - } - - public IActionResult OnGetExtension(long id) - { - var todayGr = DateTime.Now; - var todayFa = todayGr.ToFarsi(); - var previusContract = _institutionContract.GetDetails(id); - var previusContractEnd = previusContract.ContractEndGr.AddDays(1); - var startFa = previusContractEnd.ToFarsi(); - var endFa = startFa.FindeEndOfYear(); - - - - - - var representativList = new List(); - var contractingPartyList = new List(); - var res = _institutionContract.GetDetails(id); - var representative = new RepresentativeViewModel() - { - Id = res.RepresentativeId, - FullName = res.RepresentativeName, - }; - representativList.Add(representative); - var contractingParty = new PersonalContractingPartyViewModel() - { - id = res.ContractingPartyId, - FullName = _contractingPartyApplication.GetFullName(res.ContractingPartyId), - }; - contractingPartyList.Add(contractingParty); - res.RepresentativeSelectList = - new SelectList(representativList, "Id", "FullName"); - res.ContractingPartiesSelectList = - new SelectList(contractingPartyList, "id", "FullName"); - - var employer = _employerApplication.GetEmployerByContracrtingPartyID(res.ContractingPartyId); - var emplId = employer.Select(x => x.Id).ToList(); - - var w = _workshopApplication.GetWorkshopsByEmployerId(emplId); - var workshopIds = w.Select(x => x.Id).ToList(); - var workshopCount = Convert.ToString(w.Count); - - int pCount = 0; - if (workshopIds.Count > 0) - { - foreach (var workshopId in workshopIds) - { - var p = _workshopApplication.PersonnelCount(workshopId); - pCount += p; - } - res.EmployeeCount = Convert.ToString(pCount); - } - else - { - res.EmployeeCount = "0"; - } - - - - //var left = _leftWorkApplication.GetLeftPersonelByWorkshopId(workshopIds); - - res.WorkshopCount = workshopCount; - - res.WorkshopManualCount = workshopCount; - res.EmployeeManualCount = res.EmployeeCount; - - res.ContractDateFa = todayFa; - res.ContractStartFa = startFa; - res.ContractEndFa = endFa; - res.ContractAmountString = "0"; - res.DailyCompenseationString = "0"; - res.ObligationString = "0"; - res.TotalAmountString = "0"; - res.PrviousContractId = id; - - - if (!string.IsNullOrWhiteSpace(res.EmployeeManualCount)) - { - var countPerson = Convert.ToInt32(res.EmployeeCount); - var finalAmount = _institutionContract.GetcontractAmount(countPerson); - - var syear = Convert.ToInt32(startFa.Substring(0, 4)); - var smonth = Convert.ToInt32(startFa.Substring(5, 2)); - var sday = Convert.ToInt32(startFa.Substring(8, 2)); - - - var eyear = Convert.ToInt32(endFa.Substring(0, 4)); - var emonth = Convert.ToInt32(endFa.Substring(5, 2)); - var eday = Convert.ToInt32(endFa.Substring(8, 2)); - emonth += 1; - - var def = ((eyear - syear) * 12) + emonth - smonth; - - - - - //رند ماهیانه - //int rightMDigits = (int)(finalAmount % 1000000); - //if (rightMDigits < 500000) - //{ - // finalAmount = (int)(finalAmount / 100000) * 100000; - //} - //else - //{ - // finalAmount = (int)(finalAmount / 100000 + 1) * 100000; - //} - finalAmount = (int)(finalAmount / 1000000) * 1000000; - - double compute = 0; - double tenPercent = 0; - if (res.HasValueAddedTax == "true") - { - tenPercent = (finalAmount * 10) / 100; - res.ContractAmountOAlone = finalAmount.ToMoney(); - - //افزودن 10 درصد - finalAmount += tenPercent; - res.ContractAmountString = finalAmount.ToMoney(); - res.ValueAddedTaxStr = tenPercent.ToMoney(); - compute = finalAmount * def; - res.ObligationString = compute.ToMoney(); - res.TotalAmountString = res.ObligationString; - - } - else - { - res.ContractAmountOAlone = finalAmount.ToMoney(); - res.ContractAmountString = res.ContractAmountOAlone; - res.ValueAddedTaxStr = "0"; - compute = finalAmount * def; - res.ObligationString = compute.ToMoney(); - res.TotalAmountString = res.ObligationString; - } - - - - //رند سالانه - - //int rightYDigits = (int)(compute % 10000000); - //if (rightYDigits < 5000000) - - //compute = (int)(compute / 1000000) * 1000000; - - - - } - - var contactInfo = _contactInfoApplication.GetContactInfolist(id); - if (contactInfo.Count > 0) - { - res.ContactInfoCounter = contactInfo.Count; - res.ContactInformationList = contactInfo; - } - else - { - res.ContactInfoCounter = 0; - } - - - - return Partial("./Extension", res); - } - - public IActionResult OnPostExtension(CreateInstitutionContract command) - { - var counter = command.ContactInformationList.Count; - - var result = _institutionContract.Extension(command); - - if (result.IsSuccedded && counter > 0) - { - for (int i = 0; i <= counter - 1; i++) - { - if (command.ContactInformationList[i].PhoneNumber != null) - { - - var contactinfo = new CreateContactInfo() - { - InstitutionContractId = result.SendId, - PhoneType = command.ContactInformationList[i].PhoneType, - Position = command.ContactInformationList[i].Position, - PhoneNumber = command.ContactInformationList[i].PhoneNumber, - FnameLname = command.ContactInformationList[i].FnameLname, - SendSms = command.ContactInformationList[i].SendSmsString == "true" ? true : false - }; - _contactInfoApplication.Create(contactinfo); - - } - Thread.Sleep(500); - } - - - - } - - if (result.IsSuccedded) - { - _institutionContract.DeActive(command.PrviousContractId); - _institutionContract.ReActiveAllAfterCreateNew(command.ContractingPartyId); - } - - - return new JsonResult(result); - } - public IActionResult OnPostCheck(InstitutionContractSearchModel searchModel) - { - var a = searchModel.ContractNo; - - - - var op = new OperationResult(); - if (a == null) - { - op = op.Failed("هیچ قراردادی برای تمدید انتخاب نشده است"); - - return new JsonResult(op); - } - else - { - op = op.Succcedded(); - return new JsonResult(op); - } - - - - } - - public IActionResult OnGetRemoveOne(long id) - { - _institutionContract.RemoveContract(id); - return RedirectToPage("./Index"); - } - - - - public IActionResult OnGetDetails(long id) - { - var a = _institutionContract.GetDetails(id); - return Partial("Record"); - } - - public IActionResult OnGetDeActive(long id, string balance) - { - var result = new OperationResult(); - if (balance == "0") - { - result = _institutionContract.DeActive(id); - if (result.IsSuccedded) - { - result = _institutionContract.DeActiveAllConnections(id); - } - } - else - { - result = _institutionContract.DeActiveBlue(id); - if (result.IsSuccedded) - { - result = _institutionContract.DeActiveAllConnections(id); - } - - } - - - - if (result.IsSuccedded) - return RedirectToPage("./Index"); - Message = result.Message; - return RedirectToPage("./Index"); - } - - public IActionResult OnGetIsActive(long id) - { - - - var result = _institutionContract.Active(id); - if (result.IsSuccedded) - { - result = _institutionContract.ReActiveAllConnections(id); - return RedirectToPage("./Index"); - - } - - Message = result.Message; - return RedirectToPage("./Index"); - } - - public IActionResult OnGetSign(long Id) - { - - - var result = _institutionContract.Sign(Id); - if (result.IsSuccedded) - { - return new JsonResult(new - { - isSuccedded = true, - - }); - } - else - { - return new JsonResult(new - { - isSuccedded = false, - - }); - } - } - public IActionResult OnGetUnSign(long Id) - { - - var id = Convert.ToInt64(Id); - var result = _institutionContract.UnSign(Id); - if (result.IsSuccedded) - { - return new JsonResult(new - { - isSuccedded = true, - - }); - } - else - { - return new JsonResult(new - { - isSuccedded = false, - - }); - } - } - - - public IActionResult OnPostBlockPersonalContractingParties(long id) - { - var result = _contractingPartyApplication.Block(id); - var afterActtion = _contractingPartyApplication.GetDetails(id); - return new JsonResult(new - { - isSuccedded = result.IsSuccedded, - isBlock = afterActtion.IsBlock, - blockTimes = afterActtion.BlockTimes - }); - } - public IActionResult OnPostDisableBlockPersonalContractingParties(long id) - { - var result = _contractingPartyApplication.DisableBlock(id); - var afterActtion = _contractingPartyApplication.GetDetails(id); - return new JsonResult(new - { - isSuccedded = result.IsSuccedded, - isBlock = afterActtion.IsBlock, - blockTimes = afterActtion.BlockTimes - }); - } - - - //public async Task OnGetPrintiText7() - //{ - // StringBuilder sb = new StringBuilder(); - - // sb.Append(""); - // sb.Append(""); - // sb.Append(""); - // sb.Append(""); - // sb.Append(""); - // sb.Append("INVOICE تست

"); - // sb.Append("
تست
"); - // sb.Append(""); - // sb.Append(""); - // var sbS = sb.ToString(); - // var rs = $"
تست
"; - - // using (MemoryStream stream = new MemoryStream(Encoding.UTF8.GetBytes(rs))) - // { - - // ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream(); - // PdfWriter writer = new PdfWriter(byteArrayOutputStream); - // PdfDocument pdfDocument = new PdfDocument(writer); - // pdfDocument.SetDefaultPageSize(PageSize.A4); - // //pdfDocument.GetCatalog().SetLang(new iText.Kernel.Pdf.PdfString("fa-IR")); - - // //Document document = new Document(pdfDocument); - // //document.SetMargins(5,5,5,5); - // HtmlConverter.ConvertToPdf(stream, pdfDocument); - // pdfDocument.Close(); - // return File(byteArrayOutputStream.ToArray(), "application/pdf"); - // } - //} - - //public async Task OnGetPrintTextSharp() - - //{ - // StringBuilder sb = new StringBuilder(); - - // sb.Append("

INVOICE تست

"); - // sb.Append("
تست
"); - - // var sbS = sb.ToString(); - // MemoryStream memoryStream = new MemoryStream(); - // Document document = new Document(PageSize.A4, 50, 50, 25, 25); - // PdfWriter writer = PdfWriter.GetInstance(document, memoryStream); - // document.Open(); - - // //WebClient wc = new WebClient(); - // string htmlText = sbS; // Replace with your page URL - // const string html = - // "\r\n\r\n\r\n \r\n \r\n \r\n Document\r\n\r\n\r\n
تست
\r\n

test

\r\n\r\n"; - - // using (TextReader reader = new StringReader(html)) - // { - // XMLWorkerHelper.GetInstance().ParseXHtml(writer, document, reader); - // } - - // document.Close(); - // writer.Close(); - - // byte[] bytes = memoryStream.ToArray(); - // memoryStream.Close(); - // return new FileContentResult(bytes, "application/pdf"); - //} - //public async Task OnGetPrintIron() - //{ - // //Instantiate Renderer - - - // var renderer = new ChromePdfRenderer(); - // renderer.RenderingOptions.MarginTop = 2; - // renderer.RenderingOptions.MarginLeft = 2; - // renderer.RenderingOptions.MarginRight = 2; - // renderer.RenderingOptions.MarginBottom = 2; - // // Create a PDF from a HTML string using C# - // var pdf = renderer.RenderHtmlAsPdf("
تست
"); - - // Stream stream = pdf.Stream; - // string mimeType = "application/pdf"; - // // Export to a file or Stream - - // return new FileStreamResult(stream, mimeType); - //} - } - - - - - - - - - -} - + employeeCount = Convert.ToString(pCount); + } + + return new JsonResult(new + { + IsSuccedded = true, + workshopCount, + employeeCount + }); + } + + public IActionResult OnPostFindEndOfYear(string start) + { + var end = start.FindeEndOfYear(); + return new JsonResult(new + { + IsSuccedded = true, end + }); + } + + public IActionResult OnPostMountCounter(string start, string end, string amount, string valueAddedTax) + { + var result = new OperationResult(); + if (string.IsNullOrWhiteSpace(start)) + { + result.IsSuccedded = false; + result.Message = " تاریخ شروع را وارد کنید"; + + return new JsonResult(result); + } + + if (string.IsNullOrWhiteSpace(end)) + { + result.IsSuccedded = false; + result.Message = " تاریخ پایان را وارد کنید"; + + return new JsonResult(result); + } + + if (string.IsNullOrWhiteSpace(amount)) + { + result.IsSuccedded = false; + result.Message = "مبلغ را وارد کنید"; + + return new JsonResult(result); + } + + var syear = Convert.ToInt32(start.Substring(0, 4)); + var smonth = Convert.ToInt32(start.Substring(5, 2)); + var sday = Convert.ToInt32(start.Substring(8, 2)); + + + var eyear = Convert.ToInt32(end.Substring(0, 4)); + var emonth = Convert.ToInt32(end.Substring(5, 2)); + var eday = Convert.ToInt32(end.Substring(8, 2)); + emonth += 1; + + var def = (eyear - syear) * 12 + emonth - smonth; + var amontDouble = amount.MoneyToDouble(); + double tenPercent = 0; + if (valueAddedTax == "true") + { + tenPercent = amontDouble * 10 / 100; + amontDouble += tenPercent; + } + + + var compute = amontDouble * def; + return new JsonResult(new + { + IsSuccedded = true, + totalAmount = compute, + finalAmount = amontDouble, + valueAddedTax = tenPercent.ToMoney() + }); + } + + public IActionResult OnGetCreate() + { + var todayGr = DateTime.Now; + var todayFa = todayGr.ToFarsi(); + + var syear = Convert.ToInt32(todayFa.Substring(0, 4)); + var smonth = Convert.ToInt32(todayFa.Substring(5, 2)); + var sday = Convert.ToInt32(todayFa.Substring(8, 2)); + var startPersianDate = new PersianDateTime(syear, smonth, 01); + var startSend = new PersianDateTime(syear, smonth, 01); + var endFa = startPersianDate.AddYears(1).AddMonths(-1); + var end = $"{endFa}"; + + + var EndOfYear = end.FindeEndOfMonth(); + var startFa = $"{startSend}"; + + + var pasList = new CreateInstitutionContract + { + RepresentativeSelectList = + new SelectList(_representativeApplication.GetRepresentatives(), "Id", "FullName") + }; + return Partial("./Create", pasList); + } + + public IActionResult OnPostCreate(CreateInstitutionContract command) + { + var op = new OperationResult(); + var counter = command.ContactInformationList.Count; + //if (string.IsNullOrWhiteSpace(command.HasValueAddedTax)) + // command.HasValueAddedTax = "false"; + var phone = command.ContactInformationList.FirstOrDefault(x => + x.SendSmsString == "true" && x.Position == "طرف قرارداد" && x.PhoneType == "شماره همراه"); + var conractingParty = _contractingPartyApplication.GetDetails(command.ContractingPartyId); + if (conractingParty.IsLegal == "حقیقی" && string.IsNullOrWhiteSpace(conractingParty.Nationalcode)) + return new JsonResult(op.Failed("کد ملی طرف حساب وجود ندارد")); + if (conractingParty.IsLegal == "حقوقی" && string.IsNullOrWhiteSpace(conractingParty.NationalId)) + return new JsonResult(op.Failed("شناسه ملی طرف حساب وجود ندارد")); + var result = _institutionContract.Create(command); + + if (result.IsSuccedded && counter > 0) + { + for (var i = 0; i <= counter - 1; i++) + { + if (command.ContactInformationList[i].PhoneNumber != null) + { + var contactinfo = new CreateContactInfo + { + InstitutionContractId = result.SendId, + PhoneType = command.ContactInformationList[i].PhoneType, + Position = command.ContactInformationList[i].Position, + PhoneNumber = command.ContactInformationList[i].PhoneNumber, + FnameLname = command.ContactInformationList[i].FnameLname, + SendSms = command.ContactInformationList[i].SendSmsString == "true" ? true : false + }; + _contactInfoApplication.Create(contactinfo); + } + + Thread.Sleep(500); + } + + + if (phone != null) + { + var userPass = conractingParty.IsLegal == "حقیقی" + ? conractingParty.Nationalcode + : conractingParty.NationalId; + var createAcc = new RegisterAccount + { + Fullname = conractingParty.LName, + Username = userPass, + Password = userPass, + Mobile = phone.PhoneNumber, + NationalCode = conractingParty.IsLegal == "حقوقی" ? "حقوقی" : userPass + }; + var res = _accountApplication.RegisterClient(createAcc); + if (res.IsSuccedded) + _institutionContract.CreateContractingPartyAccount(command.ContractingPartyId, res.SendId); + } + } + + return new JsonResult(result); + } + + public IActionResult OnPostLoad(InstitutionContractSearchModel searchModel) + { + InstitutionContracts = _institutionContract.NewSearch(searchModel); + return Partial("./Records", InstitutionContracts); + } + + public IActionResult OnGetEdit(long id) + { + var representativList = new List(); + var contractingPartyList = new List(); + var res = _institutionContract.GetDetails(id); + var representative = new RepresentativeViewModel + { + Id = res.RepresentativeId, + FullName = res.RepresentativeName + }; + representativList.Add(representative); + var contractingParty = new PersonalContractingPartyViewModel + { + id = res.ContractingPartyId, + FullName = _contractingPartyApplication.GetFullName(res.ContractingPartyId) + }; + contractingPartyList.Add(contractingParty); + res.RepresentativeSelectList = + new SelectList(representativList, "Id", "FullName"); + res.ContractingPartiesSelectList = + new SelectList(contractingPartyList, "id", "FullName"); + + var employer = _employerApplication.GetEmployerByContracrtingPartyID(res.ContractingPartyId); + var emplId = employer.Select(x => x.Id).ToList(); + + var w = _workshopApplication.GetWorkshopsByEmployerId(emplId); + var workshopIds = w.Select(x => x.Id).ToList(); + var workshopCount = Convert.ToString(w.Count); + var pCount = 0; + if (workshopIds.Count > 0) + { + foreach (var workshopId in workshopIds) + { + var p = _workshopApplication.PersonnelCount(workshopId); + pCount += p; + } + + res.EmployeeCount = Convert.ToString(pCount); + } + else + { + res.EmployeeCount = "0"; + } + + res.WorkshopCount = workshopCount; + + + var contactInfo = _contactInfoApplication.GetContactInfolist(id); + if (contactInfo.Count > 0) + { + res.ContactInfoCounter = contactInfo.Count; + res.ContactInformationList = contactInfo; + } + else + { + res.ContactInfoCounter = 0; + } + + if (res.HasValueAddedTax == "true") + { + res.ContractAmount -= res.ValueAddedTax; + res.ContractAmountOAlone = res.ContractAmount.ToMoney(); + res.ValueAddedTaxStr = res.ValueAddedTax.ToMoney(); + } + else + { + res.ContractAmountOAlone = res.ContractAmountString; + res.ValueAddedTaxStr = "0"; + } + + return Partial("./Edit", res); + } + + public IActionResult OnPostEdit(EditInstitutionContract command) + { + //if (string.IsNullOrWhiteSpace(command.HasValueAddedTax)) + // command.HasValueAddedTax = "false"; + var result = _institutionContract.Edit(command); + var counter = command.ContactInformationList.Count; + if (result.IsSuccedded && counter > 0) + { + _contactInfoApplication.RemoveContactInfo(command.Id); + + foreach (var item in command.ContactInformationList) + { + if (item.PhoneNumber != null) + { + var contactinfo = new CreateContactInfo + { + InstitutionContractId = result.SendId, + PhoneType = item.PhoneType, + Position = item.Position, + PhoneNumber = item.PhoneNumber, + FnameLname = item.FnameLname, + SendSms = item.SendSmsString == "true" ? true : false + }; + _contactInfoApplication.Create(contactinfo); + } + + Thread.Sleep(500); + } + } + //Thread.Sleep(500); + //for (int i = 0; i <= counter - 1; i++) + //{ + // if (command.ContactInformationList[i].PhoneNumber != null) + // { + + // var contactinfo = new CreateContactInfo() + // { + // InstitutionContractId = result.SendId, + // PhoneType = command.ContactInformationList[i].PhoneType, + // Position = command.ContactInformationList[i].Position, + // PhoneNumber = command.ContactInformationList[i].PhoneNumber, + // FnameLname = command.ContactInformationList[i].FnameLname, + // SendSms = command.ContactInformationList[i].SendSmsString == "true" ? true : false + // }; + // _contactInfoApplication.Create(contactinfo); + + // } + // Thread.Sleep(500); + //} + + + return new JsonResult(result); + } + + public IActionResult OnGetExtension(long id) + { + var todayGr = DateTime.Now; + var todayFa = todayGr.ToFarsi(); + var previusContract = _institutionContract.GetDetails(id); + var previusContractEnd = previusContract.ContractEndGr.AddDays(1); + var startFa = previusContractEnd.ToFarsi(); + var endFa = startFa.FindeEndOfYear(); + + + var representativList = new List(); + var contractingPartyList = new List(); + var res = _institutionContract.GetDetails(id); + var representative = new RepresentativeViewModel + { + Id = res.RepresentativeId, + FullName = res.RepresentativeName + }; + representativList.Add(representative); + var contractingParty = new PersonalContractingPartyViewModel + { + id = res.ContractingPartyId, + FullName = _contractingPartyApplication.GetFullName(res.ContractingPartyId) + }; + contractingPartyList.Add(contractingParty); + res.RepresentativeSelectList = + new SelectList(representativList, "Id", "FullName"); + res.ContractingPartiesSelectList = + new SelectList(contractingPartyList, "id", "FullName"); + + var employer = _employerApplication.GetEmployerByContracrtingPartyID(res.ContractingPartyId); + var emplId = employer.Select(x => x.Id).ToList(); + + var w = _workshopApplication.GetWorkshopsByEmployerId(emplId); + var workshopIds = w.Select(x => x.Id).ToList(); + var workshopCount = Convert.ToString(w.Count); + + var pCount = 0; + if (workshopIds.Count > 0) + { + foreach (var workshopId in workshopIds) + { + var p = _workshopApplication.PersonnelCount(workshopId); + pCount += p; + } + + res.EmployeeCount = Convert.ToString(pCount); + } + else + { + res.EmployeeCount = "0"; + } + + + //var left = _leftWorkApplication.GetLeftPersonelByWorkshopId(workshopIds); + + res.WorkshopCount = workshopCount; + + res.WorkshopManualCount = workshopCount; + res.EmployeeManualCount = res.EmployeeCount; + + res.ContractDateFa = todayFa; + res.ContractStartFa = startFa; + res.ContractEndFa = endFa; + res.ContractAmountString = "0"; + res.DailyCompenseationString = "0"; + res.ObligationString = "0"; + res.TotalAmountString = "0"; + res.PrviousContractId = id; + + + if (!string.IsNullOrWhiteSpace(res.EmployeeManualCount)) + { + var countPerson = Convert.ToInt32(res.EmployeeCount); + var finalAmount = _institutionContract.GetcontractAmount(countPerson); + + var syear = Convert.ToInt32(startFa.Substring(0, 4)); + var smonth = Convert.ToInt32(startFa.Substring(5, 2)); + var sday = Convert.ToInt32(startFa.Substring(8, 2)); + + + var eyear = Convert.ToInt32(endFa.Substring(0, 4)); + var emonth = Convert.ToInt32(endFa.Substring(5, 2)); + var eday = Convert.ToInt32(endFa.Substring(8, 2)); + emonth += 1; + + var def = (eyear - syear) * 12 + emonth - smonth; + + + //رند ماهیانه + //int rightMDigits = (int)(finalAmount % 1000000); + //if (rightMDigits < 500000) + //{ + // finalAmount = (int)(finalAmount / 100000) * 100000; + //} + //else + //{ + // finalAmount = (int)(finalAmount / 100000 + 1) * 100000; + //} + finalAmount = (int)(finalAmount / 1000000) * 1000000; + + double compute = 0; + double tenPercent = 0; + if (res.HasValueAddedTax == "true") + { + tenPercent = finalAmount * 10 / 100; + res.ContractAmountOAlone = finalAmount.ToMoney(); + + //افزودن 10 درصد + finalAmount += tenPercent; + res.ContractAmountString = finalAmount.ToMoney(); + res.ValueAddedTaxStr = tenPercent.ToMoney(); + compute = finalAmount * def; + res.ObligationString = compute.ToMoney(); + res.TotalAmountString = res.ObligationString; + } + else + { + res.ContractAmountOAlone = finalAmount.ToMoney(); + res.ContractAmountString = res.ContractAmountOAlone; + res.ValueAddedTaxStr = "0"; + compute = finalAmount * def; + res.ObligationString = compute.ToMoney(); + res.TotalAmountString = res.ObligationString; + } + + + //رند سالانه + + //int rightYDigits = (int)(compute % 10000000); + //if (rightYDigits < 5000000) + + //compute = (int)(compute / 1000000) * 1000000; + } + + var contactInfo = _contactInfoApplication.GetContactInfolist(id); + if (contactInfo.Count > 0) + { + res.ContactInfoCounter = contactInfo.Count; + res.ContactInformationList = contactInfo; + } + else + { + res.ContactInfoCounter = 0; + } + + + return Partial("./Extension", res); + } + + public IActionResult OnPostExtension(CreateInstitutionContract command) + { + var counter = command.ContactInformationList.Count; + + var result = _institutionContract.Extension(command); + + if (result.IsSuccedded && counter > 0) + for (var i = 0; i <= counter - 1; i++) + { + if (command.ContactInformationList[i].PhoneNumber != null) + { + var contactinfo = new CreateContactInfo + { + InstitutionContractId = result.SendId, + PhoneType = command.ContactInformationList[i].PhoneType, + Position = command.ContactInformationList[i].Position, + PhoneNumber = command.ContactInformationList[i].PhoneNumber, + FnameLname = command.ContactInformationList[i].FnameLname, + SendSms = command.ContactInformationList[i].SendSmsString == "true" ? true : false + }; + _contactInfoApplication.Create(contactinfo); + } + + Thread.Sleep(500); + } + + if (result.IsSuccedded) + { + _institutionContract.DeActive(command.PrviousContractId); + _institutionContract.ReActiveAllAfterCreateNew(command.ContractingPartyId); + } + + + return new JsonResult(result); + } + + public IActionResult OnPostCheck(InstitutionContractSearchModel searchModel) + { + var a = searchModel.ContractNo; + + + var op = new OperationResult(); + if (a == null) + { + op = op.Failed("هیچ قراردادی برای تمدید انتخاب نشده است"); + + return new JsonResult(op); + } + + op = op.Succcedded(); + return new JsonResult(op); + } + + public IActionResult OnGetRemoveOne(long id) + { + _institutionContract.RemoveContract(id); + return RedirectToPage("./Index"); + } + + + public IActionResult OnGetDetails(long id) + { + var a = _institutionContract.GetDetails(id); + return Partial("Record"); + } + + public IActionResult OnGetDeActive(long id, string balance) + { + var result = new OperationResult(); + if (balance == "0") + { + result = _institutionContract.DeActive(id); + if (result.IsSuccedded) result = _institutionContract.DeActiveAllConnections(id); + } + else + { + result = _institutionContract.DeActiveBlue(id); + if (result.IsSuccedded) result = _institutionContract.DeActiveAllConnections(id); + } + + + if (result.IsSuccedded) + return RedirectToPage("./Index"); + Message = result.Message; + return RedirectToPage("./Index"); + } + + public IActionResult OnGetIsActive(long id) + { + var result = _institutionContract.Active(id); + if (result.IsSuccedded) + { + result = _institutionContract.ReActiveAllConnections(id); + return RedirectToPage("./Index"); + } + + Message = result.Message; + return RedirectToPage("./Index"); + } + + public IActionResult OnGetSign(long Id) + { + var result = _institutionContract.Sign(Id); + if (result.IsSuccedded) + return new JsonResult(new + { + isSuccedded = true + }); + return new JsonResult(new + { + isSuccedded = false + }); + } + + public IActionResult OnGetUnSign(long Id) + { + var id = Convert.ToInt64(Id); + var result = _institutionContract.UnSign(Id); + if (result.IsSuccedded) + return new JsonResult(new + { + isSuccedded = true + }); + return new JsonResult(new + { + isSuccedded = false + }); + } + + + public IActionResult OnPostBlockPersonalContractingParties(long id) + { + var result = _contractingPartyApplication.Block(id); + var afterActtion = _contractingPartyApplication.GetDetails(id); + return new JsonResult(new + { + isSuccedded = result.IsSuccedded, + isBlock = afterActtion.IsBlock, + blockTimes = afterActtion.BlockTimes + }); + } + + public IActionResult OnPostDisableBlockPersonalContractingParties(long id) + { + var result = _contractingPartyApplication.DisableBlock(id); + var afterActtion = _contractingPartyApplication.GetDetails(id); + return new JsonResult(new + { + isSuccedded = result.IsSuccedded, + isBlock = afterActtion.IsBlock, + blockTimes = afterActtion.BlockTimes + }); + } + + + //public async Task OnGetPrintiText7() + //{ + // StringBuilder sb = new StringBuilder(); + + // sb.Append(""); + // sb.Append(""); + // sb.Append(""); + // sb.Append(""); + // sb.Append(""); + // sb.Append("INVOICE تست

"); + // sb.Append("
تست
"); + // sb.Append(""); + // sb.Append(""); + // var sbS = sb.ToString(); + // var rs = $"
تست
"; + + // using (MemoryStream stream = new MemoryStream(Encoding.UTF8.GetBytes(rs))) + // { + + // ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream(); + // PdfWriter writer = new PdfWriter(byteArrayOutputStream); + // PdfDocument pdfDocument = new PdfDocument(writer); + // pdfDocument.SetDefaultPageSize(PageSize.A4); + // //pdfDocument.GetCatalog().SetLang(new iText.Kernel.Pdf.PdfString("fa-IR")); + + // //Document document = new Document(pdfDocument); + // //document.SetMargins(5,5,5,5); + // HtmlConverter.ConvertToPdf(stream, pdfDocument); + // pdfDocument.Close(); + // return File(byteArrayOutputStream.ToArray(), "application/pdf"); + // } + //} + + //public async Task OnGetPrintTextSharp() + + //{ + // StringBuilder sb = new StringBuilder(); + + // sb.Append("

INVOICE تست

"); + // sb.Append("
تست
"); + + // var sbS = sb.ToString(); + // MemoryStream memoryStream = new MemoryStream(); + // Document document = new Document(PageSize.A4, 50, 50, 25, 25); + // PdfWriter writer = PdfWriter.GetInstance(document, memoryStream); + // document.Open(); + + // //WebClient wc = new WebClient(); + // string htmlText = sbS; // Replace with your page URL + // const string html = + // "\r\n\r\n\r\n \r\n \r\n \r\n Document\r\n\r\n\r\n
تست
\r\n

test

\r\n\r\n"; + + // using (TextReader reader = new StringReader(html)) + // { + // XMLWorkerHelper.GetInstance().ParseXHtml(writer, document, reader); + // } + + // document.Close(); + // writer.Close(); + + // byte[] bytes = memoryStream.ToArray(); + // memoryStream.Close(); + // return new FileContentResult(bytes, "application/pdf"); + //} + //public async Task OnGetPrintIron() + //{ + // //Instantiate Renderer + + + // var renderer = new ChromePdfRenderer(); + // renderer.RenderingOptions.MarginTop = 2; + // renderer.RenderingOptions.MarginLeft = 2; + // renderer.RenderingOptions.MarginRight = 2; + // renderer.RenderingOptions.MarginBottom = 2; + // // Create a PDF from a HTML string using C# + // var pdf = renderer.RenderHtmlAsPdf("
تست
"); + + // Stream stream = pdf.Stream; + // string mimeType = "application/pdf"; + // // Export to a file or Stream + + // return new FileStreamResult(stream, mimeType); + //} +} \ No newline at end of file diff --git a/ServiceHost/Areas/Admin/Pages/Company/InstitutionContracts/Print.cshtml b/ServiceHost/Areas/Admin/Pages/Company/InstitutionContracts/Print.cshtml index 9c0d2c2f..0f56e0e4 100644 --- a/ServiceHost/Areas/Admin/Pages/Company/InstitutionContracts/Print.cshtml +++ b/ServiceHost/Areas/Admin/Pages/Company/InstitutionContracts/Print.cshtml @@ -1,6 +1,6 @@ @model CompanyManagment.App.Contracts.InstitutionContract.PrintViewModel @{ - - + } -
+ +
+ +
- @*
@@ -682,39 +722,37 @@ @section Script { - @**@ + @**@ + - @* + $printSection.innerHTML = ""; + $printSection.appendChild(domMyClone); + window.print(); + } + + @* *@ - @**@ - @**@ + @* \ No newline at end of file diff --git a/ServiceHost/Areas/Admin/Pages/Company/Insurance/Create.cshtml b/ServiceHost/Areas/Admin/Pages/Company/Insurance/Create.cshtml index 2834f4c5..0b9fdd1c 100644 --- a/ServiceHost/Areas/Admin/Pages/Company/Insurance/Create.cshtml +++ b/ServiceHost/Areas/Admin/Pages/Company/Insurance/Create.cshtml @@ -1,7 +1,7 @@ @using _0_Framework.Application @model CompanyManagment.App.Contracts.Insurance.CreateInsurance @{ - - - + } -
- -
-
-
+
+
+
+
+ + +
+
+ + +
+
+ + +
+
+
+
+
+ + +
+
+ + +
+
+ + +
+
- +
-
-
-
-
- - -
-
- - -
-
- - -
-
-
-
-
- - -
-
- - -
-
- - -
-
+
-
+
- +
+ -
-
- @*
*@ -
-
-
-
- -
-

تعداد نفرات

- -
-
-
- -
-

جمع روزهای کارکرد

-
-
-
- -
-

جمع دستمزد روزانه

-
-
-
- -
-

جمع دستمزد ماهانه

-
-
-
- -
-

جمع مزایای ماهانه مشمول

-
-
-
-
-
-
-
- -
-

مشمول

-
-
-
- -
-

مشمول و غیر مشمول

-
-
-
- -
-

سهم حق بیمه شده

-
-
-
- -
-

سهم حق کارفرما

-
-
-
- -
-

بیمه بیکاری

-
-
-
- -
-

4% حق بیمه مشاغل سخت و زیان آور

-
-
-
- - @*
*@ + @*
*@ -
+
-
+
-
-
-
-
-
- - - - +
+
+
+
+
+
ردیف
+ + + - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + - - - - @{ - for (int i = 1; i < 6; i++) - { - var color = "#a9fcff"; - if ((i % 2) != 0) - { - color = "#a9fcff"; - } - else - { - color = "white"; - } - + + + + @{ + for (var i = 1; i < 6; i++) + { + var color = "#a9fcff"; + if (i % 2 != 0) + { + color = "#a9fcff"; + } + else + { + color = "white"; + } + - - - - - - - - - - - - - - - - - - - - - } - } + + + + + + + + + + + + + + + + + + + + + } + } - -
ردیفشماره بیمهنامنام خانوادگیجنسیتنام پدرش شناسنامهمحل صدورتاریخ تولدکدملیروزهای کارکرددستمزد روزانهدستمزد ماهانه مشمولمزایای ماهانه مشمول(مستمر)مزایای ماهانه مشمول(غیرمستمر)حق بیمه سهم بیمه شدهشغلتاریخ آغاز بکارتاریخ ترک کارشماره بیمهنامنام خانوادگیجنسیتنام پدرش شناسنامهمحل صدورتاریخ تولدکدملیروزهای کارکرددستمزد روزانهدستمزد ماهانه مشمولمزایای ماهانه مشمول(مستمر)مزایای ماهانه مشمول(غیرمستمر)حق بیمه سهم بیمه شدهشغلتاریخ آغاز بکارتاریخ ترک کار
@i123456789سیدحسن مصباح
@i123456789سیدحسن مصباح
-
-
-
-
-
+ + +
+
+
+
+
- + - - + + + + + + - - - - - - - - - - + \ No newline at end of file diff --git a/ServiceHost/Areas/Admin/Pages/Company/Insurance/Index.cshtml b/ServiceHost/Areas/Admin/Pages/Company/Insurance/Index.cshtml index cebb5d31..aa33ad19 100644 --- a/ServiceHost/Areas/Admin/Pages/Company/Insurance/Index.cshtml +++ b/ServiceHost/Areas/Admin/Pages/Company/Insurance/Index.cshtml @@ -2,13 +2,13 @@ @model ServiceHost.Areas.Admin.Pages.Company.Insurance.IndexModel @{ -//int i = 1; + //int i = 1; } @{ - Layout = "Shared/_AdminLayout"; - ViewData["title"] = "بیمه"; - } - - + + @if (Model.EmployeeDetailsForInsuranceList != null) { - int index = 1; + var index = 1; - if (Model.EmployeeDetailsForInsuranceList.Any(x => !x.IsMaritalStatusSet)) - { + if (Model.EmployeeDetailsForInsuranceList.Any(x => !x.IsMaritalStatusSet)) + { + + + - -
- + + + + + + + + - - - - - - - + + -

- ابتدا وضعیت تاهل پرسنل در لیست زیر را مشخص نمایید -

- - - + + + + - - - - + - + - + + @foreach (var item in Model.EmployeeDetailsForInsuranceList) + { + if (!item.IsMaritalStatusSet) + { + - - @foreach (var item in Model.EmployeeDetailsForInsuranceList) - { - if (!item.IsMaritalStatusSet) - { - + + + + + + index++; + } + } - - - - - - index++; - } + +
-
+

+ ابتدا وضعیت تاهل پرسنل در لیست زیر را مشخص نمایید +

+
کدملی نام خانوادگی نام # کدملی نام خانوادگی نام #
@item.NationalCode@item.LName@item.FName@index
@item.NationalCode@item.LName@item.FName@index
+ } + else + { + + } - - +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - } - else - { - - } - -
-
تاریخ ترک کار تاریخ آغاز بکار شغل حق بیمه سهم بیمه شده حقوق و مزایای ماهیانه مشمول و غیر مشمول حقوق و مزایای ماهیانه مشمول مزایای ماهیانه مشمول حقوق ماهیانه مشمول دستمزد روزانه روزهای کارکرد ش شناسنامه تاریخ تولد محل صدور کدملی نام پدر جنسیت نام خانوادگی نام شماره بیمه #
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @foreach (var item in Model.EmployeeDetailsForInsuranceList) - { - if (item.LeftWorkDate == item.StartMonthCurrent) - { - - + - - - - - - - - - - - - - - - - - - - - - - } - else - { - - + + + + + + + + + + + + + + + + + + + + + + } + else + { + + - - - - - - - - - - - - - - - - - - - - - - } - index = index + 1; - } - - -
تاریخ ترک کار تاریخ آغاز بکار شغل حق بیمه سهم بیمه شده حقوق و مزایای ماهیانه مشمول و غیر مشمول حقوق و مزایای ماهیانه مشمول مزایای ماهیانه مشمول حقوق ماهیانه مشمول دستمزد روزانه روزهای کارکرد ش شناسنامه تاریخ تولد محل صدور کدملی نام پدر جنسیت نام خانوادگی نام شماره بیمه #
- - @* + @foreach (var item in Model.EmployeeDetailsForInsuranceList) + { + if (item.LeftWorkDate == item.StartMonthCurrent) + { +
+ + @* *@ - @item.LeftWorkDate@item.StartWorkDate@item.JobName00 0 0 000@item.IdNumber@item.DateOfBirth@item.PlaceOfIssue@item.NationalCode@item.FatherName@item.Gender@item.LName@item.FName@item.InsuranceCode@index
- - @* + @item.LeftWorkDate@item.StartWorkDate@item.JobName00 0 0 000@item.IdNumber@item.DateOfBirth@item.PlaceOfIssue@item.NationalCode@item.FatherName@item.Gender@item.LName@item.FName@item.InsuranceCode@index
+ + @* *@ - @item.LeftWorkDate@item.StartWorkDate@item.JobName@item.InsuranceShare.ToMoney()@item.IncludedAndNotIncluded.ToMoney() @item.BenefitsIncludedContinuous.ToMoney() @item.MonthlyBenefits.ToMoney() @(item.HasConfilictJobs ? "" : item.MonthlySalary.ToMoney())@(item.HasConfilictJobs ? "" : item.DailyWageStr)@item.WorkingDays@item.IdNumber@item.DateOfBirth@item.PlaceOfIssue@item.NationalCode@item.FatherName@item.Gender@item.LName@item.FName@item.InsuranceCode@index
- + + @item.LeftWorkDate + @item.StartWorkDate + @item.JobName + @item.InsuranceShare.ToMoney() + @item.IncludedAndNotIncluded.ToMoney() + @item.BenefitsIncludedContinuous.ToMoney() + @item.MonthlyBenefits.ToMoney() + @(item.HasConfilictJobs ? "" : item.MonthlySalary.ToMoney()) + @(item.HasConfilictJobs ? "" : item.DailyWageStr) + @item.WorkingDays + @item.IdNumber + @item.DateOfBirth + @item.PlaceOfIssue + @item.NationalCode + @item.FatherName + @item.Gender + @item.LName + @item.FName + @item.InsuranceCode + @index + + } + index = index + 1; + } + + } @@ -272,28 +268,25 @@ }); }); - @if (Model != null && Model.IsBlock == true) + @if (Model != null && Model.IsBlock) { - + $("#resultExistPersonel").show(); $("#resultExistPersonel").html(' این کارگاه بلاک شده است '); } - else if (Model != null && Model.IsExist == true && Model.IsBlock != true) + else if (Model != null && Model.IsExist && Model.IsBlock != true) { - - + $("#resultExistPersonel").show(); $("#Year").addClass("errored"); $("#ddlMonth").addClass("errored"); $("#resultExistPersonel").html('برای این کارگاه در ماه و سال انتخاب شده لیست بیمه تنظیم گردیده است، در صورت نیاز به ثبت این لیست،لیست قبلی را حذف نمایید.'); - - } else { - + $("#resultExistPersonel").hide(); $("#Year").removeClass("errored"); $("#ddlMonth").removeClass("errored"); diff --git a/ServiceHost/Areas/Admin/Pages/Company/InsuranceList/EmployeeListForEdit.cshtml b/ServiceHost/Areas/Admin/Pages/Company/InsuranceList/EmployeeListForEdit.cshtml index 2b1248c6..d7150865 100644 --- a/ServiceHost/Areas/Admin/Pages/Company/InsuranceList/EmployeeListForEdit.cshtml +++ b/ServiceHost/Areas/Admin/Pages/Company/InsuranceList/EmployeeListForEdit.cshtml @@ -1,7 +1,7 @@ @using _0_Framework.Application @model CompanyManagment.App.Contracts.InsuranceList.MainEmployeeDetailsViewModel @{ - } - - + + @if (Model.EmployeeDetailsForInsuranceList != null) { - int index = 1; + var index = 1; - if (Model.EmployeeDetailsForInsuranceList.Any(x => !x.IsMaritalStatusSet)) - { + if (Model.EmployeeDetailsForInsuranceList.Any(x => !x.IsMaritalStatusSet)) + { + + + - -
- +

+ ابتدا وضعیت تاهل پرسنل در لیست زیر را مشخص نمایید +

+ + + - - - - - - - - + + + -

- ابتدا وضعیت تاهل پرسنل در لیست زیر را مشخص نمایید -

- - - + - - - - + - + + @foreach (var item in Model.EmployeeDetailsForInsuranceList) + { + if (!item.IsMaritalStatusSet) + { + - + + + + + + index++; + } + } - - @foreach (var item in Model.EmployeeDetailsForInsuranceList) - { - if (!item.IsMaritalStatusSet) - { - + +
+ کدملی نام خانوادگی نام #
کدملی نام خانوادگی نام #
@item.NationalCode@item.LName@item.FName@index
+ } + else + { + + } - } - - - - - } - else - { - - } - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @foreach (var item in Model.EmployeeDetailsForInsuranceList) - { - if (item.HasLeftWorkInMonth && item.LeftWorkDate == item.StartMonthCurrent) - { - - - - - - - - - - - - - - - - - - - - - - - - } - else - { - - - - - - - - - - - - - - - - - - - - - - - - } - index = index + 1; - } -
تاریخ ترک کار تاریخ آغاز بکار شغل حق بیمه سهم بیمه شده حقوق و مزایای ماهیانه مشمول و غیر مشمول حقوق و مزایای ماهیانه مشمول مزایای ماهیانه مشمول حقوق ماهیانه مشمول دستمزد روزانه روزهای کارکرد ش شناسنامه تاریخ تولد محل صدور کدملی نام پدر جنسیت نام خانوادگی نام شماره بیمه #
- - @item.LeftWorkDate@item.StartWorkDate@item.JobName00 0 0 000@item.IdNumber@item.DateOfBirth@item.PlaceOfIssue@item.NationalCode@item.FatherName@item.Gender@item.LName@item.FName@item.InsuranceCode@index
- - @item.LeftWorkDate@item.StartWorkDate@item.JobName@item.InsuranceShare.ToMoney()@item.IncludedAndNotIncluded.ToMoney() @item.BenefitsIncludedContinuous.ToMoney() @item.MonthlyBenefits.ToMoney() @(item.HasConfilictJobs?"":item.MonthlySalary.ToMoney())@(item.HasConfilictJobs?"":item.DailyWageStr)@item.WorkingDays@item.IdNumber@item.DateOfBirth@item.PlaceOfIssue @item.NationalCode @item.FatherName@item.Gender@item.LName@item.FName@item.InsuranceCode@index
+
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @foreach (var item in Model.EmployeeDetailsForInsuranceList) + { + if (item.HasLeftWorkInMonth && item.LeftWorkDate == item.StartMonthCurrent) + { + + + + + + + + + + + + + + + + + + + + + + + + } + else + { + + + + + + + + + + + + + + + + + + + + + + + + } + index = index + 1; + } +
تاریخ ترک کار تاریخ آغاز بکار شغل حق بیمه سهم بیمه شده حقوق و مزایای ماهیانه مشمول و غیر مشمول حقوق و مزایای ماهیانه مشمول مزایای ماهیانه مشمول حقوق ماهیانه مشمول دستمزد روزانه روزهای کارکرد ش شناسنامه تاریخ تولد محل صدور کدملی نام پدر جنسیت نام خانوادگی نام شماره بیمه #
+ + @item.LeftWorkDate@item.StartWorkDate@item.JobName00 0 0 000@item.IdNumber@item.DateOfBirth@item.PlaceOfIssue@item.NationalCode@item.FatherName@item.Gender@item.LName@item.FName@item.InsuranceCode@index
+ + @item.LeftWorkDate@item.StartWorkDate@item.JobName@item.InsuranceShare.ToMoney()@item.IncludedAndNotIncluded.ToMoney() @item.BenefitsIncludedContinuous.ToMoney() @item.MonthlyBenefits.ToMoney() @(item.HasConfilictJobs ? "" : item.MonthlySalary.ToMoney())@(item.HasConfilictJobs ? "" : item.DailyWageStr)@item.WorkingDays@item.IdNumber@item.DateOfBirth@item.PlaceOfIssue @item.NationalCode @item.FatherName@item.Gender@item.LName@item.FName@item.InsuranceCode@index
} - - - - - - - +{ + + + + + + + } - \ No newline at end of file diff --git a/ServiceHost/Areas/Admin/Pages/Company/InsuranceList/Index.cshtml.cs b/ServiceHost/Areas/Admin/Pages/Company/InsuranceList/Index.cshtml.cs index f6b284b6..e5db3259 100644 --- a/ServiceHost/Areas/Admin/Pages/Company/InsuranceList/Index.cshtml.cs +++ b/ServiceHost/Areas/Admin/Pages/Company/InsuranceList/Index.cshtml.cs @@ -1,1186 +1,1153 @@ -using System; -using System.Collections.Generic; -using System.IO; -using System.Linq; -using System.Text; -using System.Threading.Tasks; +using System.Text; using _0_Framework.Application; -using CompanyManagment.App.Contracts.Checkout; using CompanyManagment.App.Contracts.Employee; -using CompanyManagment.App.Contracts.EmployeeInsurancListData; using CompanyManagment.App.Contracts.Employer; -using CompanyManagment.App.Contracts.InsuranceEmployeeInfo; -using CompanyManagment.App.Contracts.Workshop; using CompanyManagment.App.Contracts.InsuranceList; using CompanyManagment.App.Contracts.InsuranceWorkshopInfo; using CompanyManagment.App.Contracts.Job; -using CompanyManagment.App.Contracts.LeftWorkInsurance; -using CompanyManagment.App.Contracts.PersonnleCode; +using CompanyManagment.App.Contracts.Workshop; using CompanyManagment.App.Contracts.YearlySalary; using MD.PersianDateTime.Standard; using Microsoft.AspNetCore.Authorization; -using Microsoft.AspNetCore.Hosting; using Microsoft.AspNetCore.Mvc; using Microsoft.AspNetCore.Mvc.RazorPages; using Microsoft.AspNetCore.Mvc.Rendering; using SocialExplorer.IO.FastDBF; -using CompanyManagment.Application; -namespace ServiceHost.Areas.Admin.Pages.Company.InsuranceList +namespace ServiceHost.Areas.Admin.Pages.Company.InsuranceList; + +[Authorize] +public class IndexModel : PageModel { - [Authorize] - public class IndexModel : PageModel - { - public InsuranceListSearchModel searchModel; - private readonly IJobApplication _jobApplication; - private readonly IInsuranceListApplication _insuranceListApplication; - private readonly IWorkshopApplication _workshopApplication; - private readonly IYearlySalaryApplication _yearlySalaryApplication; - private readonly IEmployerApplication _employerApplication; - private readonly IInsuranceWorkshopInfoApplication _insuranceWorkshopInfoApplication; - private readonly IEmployeeApplication _employeeApplication; - //private readonly IInsuranceEmployeeInfoApplication _insuranceEmployeeInfoApplication; - private readonly IWebHostEnvironment _webHostEnvironment; - - - public List YearlyList; - public string CurrentYear_; - public string BeforCurrentMonth_; - public string WorkshopFullName; - public string EmployerFullName; - public IndexModel(IInsuranceListApplication insuranceListApplication, IWorkshopApplication workshopApplication, IYearlySalaryApplication yearlySalaryApplication,IEmployerApplication employerApplication, IInsuranceWorkshopInfoApplication insuranceWorkshopInfoApplication, IEmployeeApplication employeeApplication, IJobApplication jobApplication, IWebHostEnvironment webHostEnvironment)// , IInsuranceEmployeeInfoApplication insuranceEmployeeInfoApplication ) - { - _jobApplication = jobApplication; - _insuranceListApplication = insuranceListApplication; - _workshopApplication = workshopApplication; - _yearlySalaryApplication = yearlySalaryApplication; - _employerApplication = employerApplication; - _insuranceWorkshopInfoApplication = insuranceWorkshopInfoApplication; - _employeeApplication = employeeApplication; - //_insuranceEmployeeInfoApplication = insuranceEmployeeInfoApplication; - _webHostEnvironment = webHostEnvironment; - } - - public void OnGet() - { - string date = DateTime.Now.ToFarsi(); - var year = Convert.ToInt32(date.Substring(0, 4)); - var month = Convert.ToInt32(date.Substring(5, 2)); - var day = Convert.ToInt32(date.Substring(8, 2)); - var persianDate = new PersianDateTime(year, month, day); - string persianBeforeDate = persianDate.AddMonths(-1).ToString("yyyy/MM/dd"); - BeforCurrentMonth_ = persianBeforeDate.Substring(5, 2); - CurrentYear_ = persianBeforeDate.Substring(0, 4); - YearlyList = _yearlySalaryApplication.GetYears(); - - } - public IActionResult OnGetSearch(InsuranceListSearchModel searchModel) - { - var searchResult = _insuranceListApplication.Search(searchModel); - - //foreach (var item in searchResult) - //{ - // item.Month = item.Month.GetMonthByNumber(); - //} - - var result = new CompanyManagment.App.Contracts.InsuranceList.MainViewModel(); - result.MainList = searchResult; - - - return Partial("./MainSearch", result); - } - public IActionResult OnGetCreate() - { - string date = DateTime.Now.ToFarsi(); - var year = Convert.ToInt32(date.Substring(0, 4)); - var month = Convert.ToInt32(date.Substring(5, 2)); - var day = Convert.ToInt32(date.Substring(8, 2)); - var persianDate = new PersianDateTime(year, month, day); - string persianBeforeDate = persianDate.AddMonths(-1).ToString("yyyy/MM/dd"); - //کارگاه هایی نوع ارسال لیست بیمه آنها مشخص شده - var workshopList = _workshopApplication.GetWorkshopAccount().Where(x =>!string.IsNullOrWhiteSpace(x.TypeOfInsuranceSend ) && x.TypeOfInsuranceSend!="false").ToList(); - var command = new CreateInsuranceList() - { - //WorkShopSelectList = new SelectList(_workshopApplication.GetWorkshopAccount(),"Id", "WorkshopFullName"), - - WorkShopSelectList = new SelectList(workshopList, "Id", "WorkshopFullName"), - YearList = _yearlySalaryApplication.GetYears(), - //ماه قبل - BeforCurrentMonth = persianBeforeDate.Substring(5, 2), - //سال جاری - CurrentYear = persianBeforeDate.Substring(0, 4) - }; - return Partial("./Create", command); - } - - public IActionResult OnPostCreate(CreateInsuranceList command) - { - //var result =new OperationResult(); - //result.IsSuccedded = true; - var result = _insuranceListApplication.Create(command); - if (result.IsSuccedded) - { - var saveFileResult=SaveFile(command); - if (saveFileResult) - { - result.IsSuccedded = true; - result.Message = "ثبت اطلاعات با موفقیت انجام شد"; - } - else - { - result.Failed("ایجاد فایل بیمه با خطا مواجه شد"); - } - } - //else - //{ - // result.Failed("ثبت اطلاعات با خطا مواجه شد"); - //} - return new JsonResult(result); - } - - public IActionResult OnPostGetEmployerName(int workshopId) - { - string names = ""; - var employerList = _employerApplication.GetEmployerByWorkshopId(workshopId); - var workshopInfo = _insuranceWorkshopInfoApplication.GetDetails(workshopId); - // var personelInfo = _employeeApplication.(workshopId); - - string isLegal = employerList.FirstOrDefault().IsLegal; - bool boolIsLegal = (isLegal == "حقوقی" ? true : false); - - foreach (var item in employerList) - { - if (boolIsLegal) - { - names = (item.EmployerLName != "#" ? (item.FName + " " + item.EmployerLName): item.LName); - } - else - { - - names = names + item.EmployerFullName + ","; - } - } - - if (!boolIsLegal) - names = names.Substring(0, names.Length - 1); - - return new JsonResult(new - { - EmployerNames = names, - WorkshopInfo = workshopInfo, - IsLegal = boolIsLegal - }); - } - - - - - - - //public IActionResult OnGetEmployeeSearch(CreateInsuranceList command) - //{ - // var searchModel = new EmployeeForCreateInsuranceListSearchModel(); - // searchModel.Year = command.Year; - // searchModel.Month = command.Month; - // searchModel.WorkshopIds = command.WorkshopIds; - // var searchResult = _insuranceListApplication.SearchEmployeeForCreateInsuranceList(searchModel); - // var result = new List(); - // //result.MainList = searchResult; - // //if (searchModel.WorkshopId != 0 || searchModel.EmployeeId != 0) - // //{ - // // result.WorkshopSearch = "true"; - // //} - // //else - // //{ - // // result.WorkshopSearch = "false"; - // //} - // return Partial("./EmployeeDatatable", result); - //} - - //لود جدول پرسنل در مودال ایجاد بیمه -- DSKWOR - public IActionResult OnGetEmployeeSearch(EmployeeForCreateInsuranceListSearchModel searchModel) - { - - var result = _insuranceListApplication.SearchEmployeeForCreateInsuranceList(searchModel); - return Partial("./EmployeeDatatable", result); - } - - public IActionResult OnPostCreateEmployeeDetailsInfo(EmployeeDetailsForInsuranceListViewModel command) - { - - TempData["EmployeeDetails"] = command; - var result = new OperationResult(); - if(command.InsuranceEmployeeInformationId==0) - result = _insuranceListApplication.CreateEmployeeDetailsInfo(command); - else - result = _insuranceListApplication.EditEmployeeDetailsInfo(command); - - return new JsonResult(result); - } - - public IActionResult OnPostJobList() - { - var jobs = _jobApplication.GetJob(); - return new JsonResult(new - { - IsSuccedded = true, - jobList = jobs, - }); - } - - public IActionResult OnPostRemoveInsuranceList(long id,string pathDSKKAR00,string pathDSKWOR00) - { - var result = _insuranceListApplication.Remove(id); - if (result.IsSuccedded) - { - pathDSKKAR00 = pathDSKKAR00.Replace("-", "\\"); - var filePathDSKKAR00 = $"{_webHostEnvironment.ContentRootPath}\\InsuranceList\\{pathDSKKAR00}"; - if (System.IO.File.Exists(filePathDSKKAR00)) - System.IO.File.Delete(filePathDSKKAR00); - - pathDSKWOR00 = pathDSKWOR00.Replace("-", "\\"); - var filePathDSKWOR00 = $"{_webHostEnvironment.ContentRootPath}\\InsuranceList\\{pathDSKWOR00}"; - if (System.IO.File.Exists(filePathDSKWOR00)) - System.IO.File.Delete(filePathDSKWOR00); - } - return new JsonResult(result); - } - - public IActionResult OnPostConfirmInsuranceList(long id) - { - var result = _insuranceListApplication.ConfirmInsuranceList(id); - return new JsonResult(result); - } - - - - public IActionResult OnGetDownloadFile(string path,string fileName) - { - //var path= "11\\1402_03\\DSKWOR00.dbf"; - // Replace "file.dbf" with the name of your .dbf file - var filePath = $"{_webHostEnvironment.ContentRootPath}\\InsuranceList\\{path}"; ; - - // Read the file content into a byte array - byte[] fileContent = System.IO.File.ReadAllBytes(filePath); - - // Return the file content as a FileResult with the appropriate MIME type and file name - return File(fileContent, "application/dbase", fileName); - } - private string GetSpecifiedCharactes(string str, int MaxLength) - { - return str.Length <= MaxLength ? str : str.Substring(0, MaxLength); - } - private bool SaveFile(CreateInsuranceList createInsuranceList) - { - try{ - //var path = $"profilePhotos"; - var path = createInsuranceList.InsuranceWorkshopInfo.WorkshopId; - var directoryPath = $"{_webHostEnvironment.ContentRootPath}\\InsuranceList\\{path}"; - if (!Directory.Exists(directoryPath)) - Directory.CreateDirectory(directoryPath); - - //ایجاد پوشه با توجه به هر ماه و سال - var monthPath = directoryPath + "\\" + createInsuranceList.Year + "_" + createInsuranceList.Month; - if (!Directory.Exists(monthPath)) - Directory.CreateDirectory(monthPath); - - var currentdate = DateTime.Now; - var currentDay =Convert.ToInt32(currentdate.ToFarsi().Substring(8, 2)); - ////ایجاد پوشه با توجه به هر روز و ساعت و دقیقه و ثانیه - //var dayPath = monthPath +"\\"+ currentDay+"_"+ currentdate.Hour + "_" + currentdate.Month + "_" + currentdate.Second; - //if (!Directory.Exists(dayPath)) - // Directory.CreateDirectory(dayPath); - //فعلا قرار شد روی فایل قبلی ریپلیس بشه - // string fileName = currentDay + "_" + currentdate.Hour + "_" + currentdate.Month + "_" + currentdate.Second +"_"; - if (createInsuranceList.InsuranceWorkshopInfo != null) - { - var odbf = new DbfFile(Encoding.GetEncoding(1256)); - odbf.Open(Path.Combine(monthPath, "DSKKAR00.dbf"), FileMode.Create); - //کد کارگاه - odbf.Header.AddColumn(new DbfColumn("DSK_ID", DbfColumn.DbfColumnType.Character, 10, 0)); - //نام کارگاه - odbf.Header.AddColumn(new DbfColumn("DSK_NAME", DbfColumn.DbfColumnType.Character, 100, 0)); - //نام کارفرما - odbf.Header.AddColumn(new DbfColumn("DSK_FARM", DbfColumn.DbfColumnType.Character, 100, 0)); - //نام آدرس - odbf.Header.AddColumn(new DbfColumn("DSK_ADRS", DbfColumn.DbfColumnType.Character, 100, 0)); - //نوع لیست - odbf.Header.AddColumn(new DbfColumn("DSK_KIND", DbfColumn.DbfColumnType.Number, 1, 0)); - //سال عملکرد - odbf.Header.AddColumn(new DbfColumn("DSK_YY", DbfColumn.DbfColumnType.Number, 2, 0)); - //ماه عملکرد - odbf.Header.AddColumn(new DbfColumn("DSK_MM", DbfColumn.DbfColumnType.Number, 2, 0)); - //شماره لیست - odbf.Header.AddColumn(new DbfColumn("DSK_LISTNO", DbfColumn.DbfColumnType.Character, 12, 0)); - //شرح لیست - odbf.Header.AddColumn(new DbfColumn("DSK_DISC", DbfColumn.DbfColumnType.Character, 100, 0)); - //تعداد کارکنان - odbf.Header.AddColumn(new DbfColumn("DSK_NUM", DbfColumn.DbfColumnType.Number, 5, 0)); - //تعداد کارکنان - odbf.Header.AddColumn(new DbfColumn("DSK_TDD", DbfColumn.DbfColumnType.Number, 6, 0)); - //مجموع دستمزد روزانه - odbf.Header.AddColumn(new DbfColumn("DSK_TROOZ", DbfColumn.DbfColumnType.Number, 12, 0)); - //مجموع دستمزد ماهانه - odbf.Header.AddColumn(new DbfColumn("DSK_TMAH", DbfColumn.DbfColumnType.Number, 12, 0)); - //مجموع مزایای ماهانه - odbf.Header.AddColumn(new DbfColumn("DSK_TMAZ", DbfColumn.DbfColumnType.Number, 12, 0)); - //مجموع دستمزد و مزایای ماهانه مشمول - odbf.Header.AddColumn(new DbfColumn("DSK_TMASH", DbfColumn.DbfColumnType.Number, 12, 0)); - // مجموع کل دستمزد و مزایای ماهانه مشمول و غیر مشمول - odbf.Header.AddColumn(new DbfColumn("DSK_TTOTL", DbfColumn.DbfColumnType.Number, 12, 0)); - //مجموع حق بیمه سهم بیمه شده - odbf.Header.AddColumn(new DbfColumn("DSK_TBIME", DbfColumn.DbfColumnType.Number, 12, 0)); - //مجموع حق بیمه سهم کارفرما - odbf.Header.AddColumn(new DbfColumn("DSK_TKOSO", DbfColumn.DbfColumnType.Number, 12, 0)); - //مجموع حق بیمه بیکاری - odbf.Header.AddColumn(new DbfColumn("DSK_BIC", DbfColumn.DbfColumnType.Number, 12, 0)); - //نرخ حق بیمه - odbf.Header.AddColumn(new DbfColumn("DSK_RATE", DbfColumn.DbfColumnType.Number, 5, 0)); - //نرخ پورسانتاژ - odbf.Header.AddColumn(new DbfColumn("DSK_PRATE", DbfColumn.DbfColumnType.Number, 2, 0)); - //نرخ مشاغل سخت زیان آور - odbf.Header.AddColumn(new DbfColumn("DSK_BIMH", DbfColumn.DbfColumnType.Number, 12, 0)); - //ردیف پیمان - odbf.Header.AddColumn(new DbfColumn("MON_PYM", DbfColumn.DbfColumnType.Character, 3, 0)); - var orec = new DbfRecord(odbf.Header); - - //کد کارگاه - orec[0] = GetSpecifiedCharactes(createInsuranceList.InsuranceWorkshopInfo.InsuranceCode, 10); - orec[1] = ConvertToIranSystem.ToIranSystem(GetSpecifiedCharactes(createInsuranceList.InsuranceWorkshopInfo.WorkshopName, 100), IranSystemNumbers.DontConvert); - orec[2] = ConvertToIranSystem.ToIranSystem(GetSpecifiedCharactes(createInsuranceList.InsuranceWorkshopInfo.EmployerName, 100), IranSystemNumbers.DontConvert); - orec[3] = ConvertToIranSystem.ToIranSystem(GetSpecifiedCharactes(createInsuranceList.InsuranceWorkshopInfo.Address, 100), IranSystemNumbers.DontConvert); - //orec[3] = ConvertToIranSystem.ToIranSystem(GetSpecifiedCharactes("رشت - بلوار شهدای گمنام - کوچه شهید علی قربانی - ساختمان پیام نور - طبقه اول واحد 2", 100), IranSystemNumbers.DontConvert); - // نوع لیست - orec[4] = "0"; - //سال - orec[5] =Convert.ToInt32(createInsuranceList.Year.Substring(2, 2)).ToString(); - //ماه - orec[6] = Convert.ToInt32(createInsuranceList.Month).ToString(); - //شماره لیست - orec[7] = GetSpecifiedCharactes(createInsuranceList.InsuranceWorkshopInfo.ListNumber, 12); - //شرح لیست - orec[8] = ConvertToIranSystem.ToIranSystem(GetSpecifiedCharactes("", 100), IranSystemNumbers.DontConvert); - //تعداد کرکنان - orec[9] = createInsuranceList.SumOfEmployees.ToString(); - //مجموع روزهای کارکرد - orec[10] = createInsuranceList.SumOfWorkingDays.ToString(); - //مجموع دستمزد روزانه - orec[11] = createInsuranceList.SumOfDailyWage.ToString(); - //مجموع دستمزد ماهانه - orec[12] = createInsuranceList.SumOfSalaries.ToString(); - //مجموع مزایای ماهانه مشمول - orec[13] = createInsuranceList.SumOfBenefitsIncluded.ToString() ; - //مجموع دستمزد و مزایای ماهانه مشمول - orec[14] = createInsuranceList.Included.ToString(); - //مجموع کل دستمزد و مزایای ماهانه مشمول و غیر مشمول - orec[15] = createInsuranceList.IncludedAndNotIncluded.ToString(); - // مجموع حق بیمه سهم بیمه شده - orec[16] = createInsuranceList.InsuredShare.ToString(); - //مجموع حق بیمه سهم کارفرما - orec[17] = createInsuranceList.EmployerShare.ToString(); //"44911361"; - //مجموع حق بیمه بیکاری - orec[18] = createInsuranceList.UnEmploymentInsurance.ToString(); - //نرخ حق بیمه - orec[19] = "23"; - //نرخ پورسانتاژ - orec[20] = "0"; - //نرخ مشاغل سخت زیان آور - orec[21] = createInsuranceList.DifficultJobsInsuranc.ToString(); - //ردیف پیمان - orec[22] = GetSpecifiedCharactes(createInsuranceList.InsuranceWorkshopInfo.AgreementNumber, 12); - odbf.Write(orec); - //odbf.Header.RecordCount = 50; - odbf.WriteHeader(); - odbf.Close(); - } - - - if (createInsuranceList.EmployeeInsurancListDataList != null) - { - //لیست پرسنل - var dsw = new DbfFile(Encoding.GetEncoding(1256)); - dsw.Open(Path.Combine(monthPath, "DSKWOR00.dbf"), FileMode.Create); - //کد کارگاه - dsw.Header.AddColumn(new DbfColumn("DSW_ID", DbfColumn.DbfColumnType.Character, 10, 0)); - //سال عملکرد - dsw.Header.AddColumn(new DbfColumn("DSW_YY", DbfColumn.DbfColumnType.Number, 2, 0)); - //ماه عملکرد - dsw.Header.AddColumn(new DbfColumn("DSW_MM", DbfColumn.DbfColumnType.Number, 2, 0)); - //شماره لیست - dsw.Header.AddColumn(new DbfColumn("DSW_LISTNO", DbfColumn.DbfColumnType.Character, 12, 0)); - //شماره بیمه - dsw.Header.AddColumn(new DbfColumn("DSW_ID1", DbfColumn.DbfColumnType.Character, 10, 0)); - // نام - dsw.Header.AddColumn(new DbfColumn("DSW_FNAME", DbfColumn.DbfColumnType.Character, 100, 0)); - // نام خانوادگی - dsw.Header.AddColumn(new DbfColumn("DSW_LNAME", DbfColumn.DbfColumnType.Character, 100, 0)); - //نام پدر - dsw.Header.AddColumn(new DbfColumn("DSW_DNAME", DbfColumn.DbfColumnType.Character, 100, 0)); - // شماره شناسنامه - dsw.Header.AddColumn(new DbfColumn("DSW_IDNO", DbfColumn.DbfColumnType.Character, 15, 0)); - // محل صدور - dsw.Header.AddColumn(new DbfColumn("DSW_IDPLC", DbfColumn.DbfColumnType.Character, 100, 0)); - // تاریخ صدور - dsw.Header.AddColumn(new DbfColumn("DSW_IDATE", DbfColumn.DbfColumnType.Character, 8, 0)); - // تاریخ تولد - dsw.Header.AddColumn(new DbfColumn("DSW_BDATE", DbfColumn.DbfColumnType.Character, 8, 0)); - // جنسیت - dsw.Header.AddColumn(new DbfColumn("DSW_SEX", DbfColumn.DbfColumnType.Character, 3, 0)); - // ملیت - dsw.Header.AddColumn(new DbfColumn("DSW_NAT", DbfColumn.DbfColumnType.Character, 10, 0)); - // شرح شغل - dsw.Header.AddColumn(new DbfColumn("DSW_OCP", DbfColumn.DbfColumnType.Character, 100, 0)); - // تاریخ شروع بکار - dsw.Header.AddColumn(new DbfColumn("DSW_SDATE", DbfColumn.DbfColumnType.Character, 8, 0)); - // تاریخ ترک کار - dsw.Header.AddColumn(new DbfColumn("DSW_EDATE", DbfColumn.DbfColumnType.Character, 8, 0)); - // تعداد روزهای کارکرد - dsw.Header.AddColumn(new DbfColumn("DSW_DD", DbfColumn.DbfColumnType.Number, 2, 0)); - // دستمزد روزانه - dsw.Header.AddColumn(new DbfColumn("DSW_ROOZ", DbfColumn.DbfColumnType.Number, 12, 0)); - // دستمزد ماهانه - dsw.Header.AddColumn(new DbfColumn("DSW_MAH", DbfColumn.DbfColumnType.Number, 12, 0)); - // مزایای ماهانه - dsw.Header.AddColumn(new DbfColumn("DSW_MAZ", DbfColumn.DbfColumnType.Number, 12, 0)); - // جمع دستمزد و مزایای ماهانه مشمول - dsw.Header.AddColumn(new DbfColumn("DSW_MASH", DbfColumn.DbfColumnType.Number, 12, 0)); - // جمع کل دستمزد و مزایای ماهانه - dsw.Header.AddColumn(new DbfColumn("DSW_TOTL", DbfColumn.DbfColumnType.Number, 12, 0)); - //حق بیمه سهم بیمه شده - dsw.Header.AddColumn(new DbfColumn("DSW_BIME", DbfColumn.DbfColumnType.Number, 12, 0)); - //نرخ پورسانتاژ - dsw.Header.AddColumn(new DbfColumn("DSW_PRATE", DbfColumn.DbfColumnType.Number, 2, 0)); - // کد شغل - dsw.Header.AddColumn(new DbfColumn("DSW_JOB", DbfColumn.DbfColumnType.Character, 6, 0)); - // کد ملی - dsw.Header.AddColumn(new DbfColumn("PER_NATCOD", DbfColumn.DbfColumnType.Character, 10, 0)); - - foreach (var item in createInsuranceList.EmployeeInsurancListDataList) - { - var employee= createInsuranceList.EmployeeDetailsForInsuranceList.Where(p=>p.EmployeeId==item.EmployeeId).FirstOrDefault(); - - //var employeeObj = _employeeApplication.GetDetails(item.EmployeeId); - - var dswrec = new DbfRecord(dsw.Header); - //کد کارگاه - dswrec[0] = GetSpecifiedCharactes(createInsuranceList.InsuranceWorkshopInfo.InsuranceCode, 10); - //سال - dswrec[1] = Convert.ToInt32(createInsuranceList.Year.Substring(2, 2)).ToString(); - //ماه - dswrec[2] = Convert.ToInt32(createInsuranceList.Month).ToString(); - //شماره لیست - dswrec[3] = GetSpecifiedCharactes(createInsuranceList.InsuranceWorkshopInfo.ListNumber, 12); - //شماره بیمه - dswrec[4] = GetSpecifiedCharactes(employee.InsuranceCode, 8); - // نام - dswrec[5] = ConvertToIranSystem.ToIranSystem(GetSpecifiedCharactes((employee.FName), 100), IranSystemNumbers.DontConvert); - //var x = ConvertToIranSystem.ToIranSystem(GetSpecifiedCharactes(employee.FName, 100), IranSystemNumbers.DontConvert); - //byte[] bytes = Encoding.Default.GetBytes(x); - //string resultString = Encoding.UTF8.GetString(bytes); - - //خانوادگی نام - - dswrec[6] = ConvertToIranSystem.ToIranSystem(GetSpecifiedCharactes(employee.LName, 100), IranSystemNumbers.DontConvert); - //پدر نام - dswrec[7] = ConvertToIranSystem.ToIranSystem(GetSpecifiedCharactes(employee.FatherName, 100), - IranSystemNumbers.DontConvert); - //شماره شناسنامه - dswrec[8] = employee.IdNumber; - //محل صدور - dswrec[9] = ConvertToIranSystem.ToIranSystem(GetSpecifiedCharactes(employee.PlaceOfIssue, 100), IranSystemNumbers.DontConvert); - //تاریخ صدور - dswrec[10] = (employee.DateOfIssue=="1300/10/11"|| string.IsNullOrEmpty(employee.DateOfIssue))? "":employee.DateOfIssue.Replace("/",""); - //تاریخ تولد - dswrec[11] = (employee.DateOfBirth == "1300/10/11" || string.IsNullOrEmpty(employee.DateOfIssue)) ? "" : employee.DateOfBirth.Replace("/", ""); ; - //جنسیت - dswrec[12] = ConvertToIranSystem.ToIranSystem(GetSpecifiedCharactes(employee.Gender, 3), IranSystemNumbers.DontConvert); - //ملیت - //dswrec[13] = ConvertToIranSystem.ToIranSystem(GetSpecifiedCharactes("ایرانی", 10), - dswrec[13] = ConvertToIranSystem.ToIranSystem(GetSpecifiedCharactes(employee.Nationality, 10), - IranSystemNumbers.DontConvert); - //شرح شغل - dswrec[14] = ConvertToIranSystem.ToIranSystem(GetSpecifiedCharactes(item.JobName, 100), - IranSystemNumbers.DontConvert); - //تاریخ شروع بکار - dswrec[15] =item.StartWorkDate.ToFarsi().Replace("/", ""); - - //تاریخ ترک کار - if (item.LeftWorkDate!=null) - dswrec[16] = item.LeftWorkDate.ToFarsi().Replace("/", ""); - else - dswrec[16] = ""; - - //تعداد روزهای کارکرد - dswrec[17] = item.WorkingDays.ToString(); - //دستمزد روزانه - dswrec[18] = item.DailyWage.ToString(); - //دستمزد مااهانه - dswrec[19] = item.MonthlySalary.ToString(); - //مزایای ماهانه - dswrec[20] = item.MonthlyBenefits.ToString(); - //دستمزد و مزایای ماهانه مشمول - dswrec[21] = item.MonthlyBenefitsIncluded.ToString(); - //جمع کل دستمزد و مزایای ماهانه مسمول غیرمشمول - dswrec[22] = item.IncludedAndNotIncluded.ToString(); - //حق بیمه سهم بیمه شده - dswrec[23] = item.InsuranceShare.ToString(); - //نرخ پورسانتاژ - dswrec[24] = "0"; - //کد شغل - dswrec[25] = item.JobCode; - //کد ملی - dswrec[26] = employee.NationalCode; - - dsw.Write(dswrec); - } - //var dswrec = new DbfRecord(dsw.Header); - ////کد کارگاه - //dswrec[0] = GetSpecifiedCharactes("9008289145", 10); - ////سال - //dswrec[1] = "2"; - ////ماه - //dswrec[2] = "2"; - ////شماره لیست - //dswrec[3] = GetSpecifiedCharactes("01", 12); - ////شماره بیمه - //dswrec[4] = GetSpecifiedCharactes("48071464", 8); - //// نام - //dswrec[5] = ConvertToIranSystem.ToIranSystem(GetSpecifiedCharactes("راضیه", 100), - // IranSystemNumbers.DontConvert); - ////خانوادگی نام - //dswrec[6] = ConvertToIranSystem.ToIranSystem(GetSpecifiedCharactes("پیردهقان", 100), - // IranSystemNumbers.DontConvert); - ////پدر نام - //dswrec[7] = ConvertToIranSystem.ToIranSystem(GetSpecifiedCharactes("غلام", 100), - // IranSystemNumbers.DontConvert); - ////شماره شناسنامه - //dswrec[8] = "2650230614"; - ////محل صدور - //dswrec[9] = ConvertToIranSystem.ToIranSystem(GetSpecifiedCharactes("رشت", 100), - // IranSystemNumbers.DontConvert); - //; - ////تاریخ صدور - //dswrec[10] = "13770805"; - ////تاریخ تولد - //dswrec[11] = "13770721"; - ////جنسیت - //dswrec[12] = - // ConvertToIranSystem.ToIranSystem(GetSpecifiedCharactes("زن", 3), IranSystemNumbers.DontConvert); - ////ملیت - //dswrec[13] = ConvertToIranSystem.ToIranSystem(GetSpecifiedCharactes("ایرانی", 10), - // IranSystemNumbers.DontConvert); - ////شرح شغل - //dswrec[14] = ConvertToIranSystem.ToIranSystem(GetSpecifiedCharactes("کارشناس نرم افزار کامپیوتر", 100), - // IranSystemNumbers.DontConvert); - ////تاریخ شروع بکار - //dswrec[15] = "14000201"; - ////تاریخ ترک کار - //dswrec[16] = ""; - ////تعداد روزهای کارکرد - //dswrec[17] = "31"; - ////دستمزد روزانه - //dswrec[18] = "1769428"; - ////دستمزد مااهانه - //dswrec[19] = "54852268"; - ////مزایای ماهانه - //dswrec[20] = "20000000"; - ////دستمزد و مزایای ماهانه مشمول - //dswrec[21] = "74852268"; - ////جمع کل دستمزد و مزایای ماهانه مسمول غیرمشمول - //dswrec[22] = "74852268"; - ////حق بیمه سهم بیمه شده - //dswrec[23] = "5239659"; - ////نرخ پورسانتاژ - //dswrec[24] = "0"; - ////کد شغل - //dswrec[25] = "033022"; - ////کد ملی - //dswrec[26] = "2650230614"; - - //dsw.Write(dswrec); - - - //var dswrec2 = new DbfRecord(dsw.Header); - ////کد کارگاه - //dswrec2[0] = GetSpecifiedCharactes("9008289145", 10); - ////سال - //dswrec2[1] = "2"; - ////ماه - //dswrec2[2] = "2"; - ////شماره لیست - //dswrec2[3] = GetSpecifiedCharactes("01", 12); - ////شماره بیمه - //dswrec2[4] = GetSpecifiedCharactes("34157806", 8); - //// نام - //dswrec2[5] = ConvertToIranSystem.ToIranSystem(GetSpecifiedCharactes("پیمان", 100), - // IranSystemNumbers.DontConvert); - ////خانوادگی نام - //dswrec2[6] = ConvertToIranSystem.ToIranSystem(GetSpecifiedCharactes("افشاری بجاربنه", 100), - // IranSystemNumbers.DontConvert); - ////پدر نام - //dswrec2[7] = ConvertToIranSystem.ToIranSystem(GetSpecifiedCharactes("علیرضا", 100), - // IranSystemNumbers.DontConvert); - ////شماره شناسنامه - //dswrec2[8] = "2580900713"; - ////محل صدور - //dswrec2[9] = - // ConvertToIranSystem.ToIranSystem(GetSpecifiedCharactes("رشت", 100), IranSystemNumbers.DontConvert); - //; - ////تاریخ صدور - //dswrec2[10] = ""; - ////تاریخ تولد - //dswrec2[11] = "13750229"; - ////جنسیت - //dswrec2[12] = - // ConvertToIranSystem.ToIranSystem(GetSpecifiedCharactes("مرد", 3), IranSystemNumbers.DontConvert); - ////ملیت - //dswrec2[13] = ConvertToIranSystem.ToIranSystem(GetSpecifiedCharactes("ایرانی", 10), - // IranSystemNumbers.DontConvert); - ////شرح شغل - //dswrec2[14] = ConvertToIranSystem.ToIranSystem(GetSpecifiedCharactes("کارشناس نرم افزار کامپیوتر", 100), - // IranSystemNumbers.DontConvert); - ////تاریخ شروع بکار - //dswrec2[15] = "14010701"; - ////تاریخ ترک کار - //dswrec2[16] = ""; - ////تعداد روزهای کارکرد - //dswrec2[17] = "31"; - ////دستمزد روزانه - //dswrec2[18] = "1769428"; - ////دستمزد مااهانه - //dswrec2[19] = "54852268"; - ////مزایای ماهانه - //dswrec2[20] = "20000000"; - ////دستمزد و مزایای ماهانه مشمول - //dswrec2[21] = "74852268"; - ////جمع کل دستمزد و مزایای ماهانه مسمول غیرمشمول - //dswrec2[22] = "74852268"; - ////حق بیمه سهم بیمه شده - //dswrec2[23] = "5239659"; - ////نرخ پورسانتاژ - //dswrec2[24] = "0"; - ////کد شغل - //dswrec2[25] = "033022"; - ////کد ملی - //dswrec2[26] = "2580900713"; - - //dsw.Write(dswrec2); - - - //var dswrec3 = new DbfRecord(dsw.Header); - ////کد کارگاه - //dswrec3[0] = GetSpecifiedCharactes("9008289145", 10); - ////سال - //dswrec3[1] = "2"; - ////ماه - //dswrec3[2] = "2"; - ////شماره لیست - //dswrec3[3] = GetSpecifiedCharactes("01", 12); - ////شماره بیمه - //dswrec3[4] = GetSpecifiedCharactes("48076618", 8); - //// نام - //dswrec3[5] = ConvertToIranSystem.ToIranSystem(GetSpecifiedCharactes("فاطمه", 100), - // IranSystemNumbers.DontConvert); - ////خانوادگی نام - //dswrec3[6] = ConvertToIranSystem.ToIranSystem(GetSpecifiedCharactes("پادکان", 100), - // IranSystemNumbers.DontConvert); - ////پدر نام - //dswrec3[7] = ConvertToIranSystem.ToIranSystem(GetSpecifiedCharactes("محمدفرشاد", 100), - // IranSystemNumbers.DontConvert); - ////شماره شناسنامه - //dswrec3[8] = "2581230231"; - ////محل صدور - //dswrec3[9] = - // ConvertToIranSystem.ToIranSystem(GetSpecifiedCharactes("رشت", 100), IranSystemNumbers.DontConvert); - //; - ////تاریخ صدور - //dswrec3[10] = ""; - ////تاریخ تولد - //dswrec3[11] = "13780926"; - ////جنسیت - //dswrec3[12] = - // ConvertToIranSystem.ToIranSystem(GetSpecifiedCharactes("زن", 3), IranSystemNumbers.DontConvert); - ////ملیت - //dswrec3[13] = ConvertToIranSystem.ToIranSystem(GetSpecifiedCharactes("ایرانی", 10), - // IranSystemNumbers.DontConvert); - ////شرح شغل - //dswrec3[14] = ConvertToIranSystem.ToIranSystem(GetSpecifiedCharactes("کارشناس نرم افزار کامپیوتر", 100), - // IranSystemNumbers.DontConvert); - ////تاریخ شروع بکار - //dswrec3[15] = "14010701"; - ////تاریخ ترک کار - //dswrec3[16] = ""; - ////تعداد روزهای کارکرد - //dswrec3[17] = "31"; - ////دستمزد روزانه - //dswrec3[18] = "1769428"; - ////دستمزد مااهانه - //dswrec3[19] = "54852268"; - ////مزایای ماهانه - //dswrec3[20] = "20000000"; - ////دستمزد و مزایای ماهانه مشمول - //dswrec3[21] = "74852268"; - ////جمع کل دستمزد و مزایای ماهانه مسمول غیرمشمول - //dswrec3[22] = "74852268"; - ////حق بیمه سهم بیمه شده - //dswrec3[23] = "5239659"; - ////نرخ پورسانتاژ - //dswrec3[24] = "0"; - ////کد شغل - //dswrec3[25] = "001094"; - ////کد ملی - //dswrec3[26] = "2581230231"; - - //dsw.Write(dswrec3); - - dsw.WriteHeader(); - - dsw.Close(); - } - - return true; - } - catch (Exception er) { return false; } - } - - public IActionResult OnGetEdit(long id) - { - var insurance = _insuranceListApplication.GetDetailsForEdit(id); - var workshopList = _workshopApplication.GetWorkshopAccount(); - var workshopObj = workshopList.Where(x => x.Id == insurance.WorkshopId)?.FirstOrDefault(); - insurance.WorkshopName = workshopObj==null?string.Empty: workshopObj.WorkshopFullName; - insurance.TypeOfInsuranceSend = workshopObj.TypeOfInsuranceSend; - insurance.Population = workshopObj.Population; - insurance.FixedSalary = workshopObj.FixedSalary; - insurance.InsuranceJobId = workshopObj.InsuranceJobId; - workshopList = workshopList.Where(x =>!string.IsNullOrWhiteSpace(x.TypeOfInsuranceSend ) && x.TypeOfInsuranceSend!="false").ToList(); - insurance.WorkShopSelectList = new SelectList(workshopList, "Id", "WorkshopFullName"); - //insurance.YearList = _yearlySalaryApplication.GetYears(); - - return Partial("Edit", insurance); - } - - public IActionResult OnGetEmployeeListForEdit(EmployeeForEditInsuranceListSearchModel searchModel) - { - var result = _insuranceListApplication.SearchEmployeeListForEditByInsuranceListId(searchModel); - return Partial("./EmployeeListForEdit", result); - } - - public IActionResult OnPostEdit(EditInsuranceList command) - { - //var result =new OperationResult(); - //result.IsSuccedded = true; - var result = _insuranceListApplication.Edit(command); - if (result.IsSuccedded) - { - var path = command.InsuranceWorkshopInfo.WorkshopId; - var directoryPath = $"{_webHostEnvironment.ContentRootPath}\\InsuranceList\\{path}"; - var monthPath = directoryPath + "\\" + command.Year + "_" + command.Month; - //if (Directory.Exists(monthPath)) - // Directory.Delete(monthPath); - - var filePathDSKKAR00 = monthPath+ "\\DSKKAR00.dbf"; - if (System.IO.File.Exists(filePathDSKKAR00)) - System.IO.File.Delete(filePathDSKKAR00); - - - var filePathDSKWOR00 = monthPath + "\\DSKWOR00.dbf"; - if (System.IO.File.Exists(filePathDSKWOR00)) - System.IO.File.Delete(filePathDSKWOR00); - var saveFileResult = SaveFile(command); - if (saveFileResult) - { - result.IsSuccedded = true; - result.Message = "ویرایش اطلاعات با موفقیت انجام شد"; - } - else - { - result.Failed("ایجاد فایل بیمه با خطا مواجه شد"); - } - } - - return new JsonResult(result); - } - - public IActionResult OnGetInsuranceSummary(long id) - { - var insurance = _insuranceListApplication.GetDetails(id); - return Partial("InsuranceSummary", insurance); - } - - public IActionResult OnGetInsuranceConfirm(long id) - { - var insurance = _insuranceListApplication.GetDetails(id); - return Partial("InsuranceConfirm", insurance); - } - public IActionResult OnGetInspectionReport(long id) - { - var insurance = _insuranceListApplication.GetDetails(id); - return Partial("InspectionReport", insurance); - } - - - public IActionResult OnPostMonthlySalary(string dailyWage, string workingDays, string insuranceShare, string benefitsIncludedContinuous, string jobId, string housingAllowance, string includeStatus, string consumableItems, string endMonthCurrentDay, long employeeId, double maritalStatus) - { - - double benefitsIncludedContinuousL = benefitsIncludedContinuous.MoneyToDouble(); - double sum = 0; - var employeeMaritalStatus = _employeeApplication.GetDetails(employeeId); - if (employeeMaritalStatus.MaritalStatus == "متاهل") - { - sum = consumableItems.MoneyToDouble() + housingAllowance.MoneyToDouble() + maritalStatus; - } - else - { - sum = consumableItems.MoneyToDouble() + housingAllowance.MoneyToDouble(); - } - - - long workingDaysL = Convert.ToInt64(workingDays); - long endMonthCurrentDayL = Convert.ToInt64(endMonthCurrentDay); - long jobIdL = Convert.ToInt64(jobId); - long includeStatusL = Convert.ToInt64(includeStatus); - double dailyWageL = dailyWage.MoneyToDouble(); - - - - if (workingDaysL == endMonthCurrentDayL) - { - benefitsIncludedContinuousL = sum; - } - - if (workingDaysL < endMonthCurrentDayL) - { - if (endMonthCurrentDayL == 29) - { - //farokhiChanges عدد پایین 30 بود به 29 تبدیل کردم - endMonthCurrentDayL = 29; - - }else if (endMonthCurrentDayL == 30)//farokhiChanges این شرط رو اضافه کردم - { - endMonthCurrentDayL = 30; - } - else if(endMonthCurrentDayL == 31)//farokhiChanges این شرط رو اضافه کردم - { - endMonthCurrentDayL = 31; - } - - var a = (sum * workingDaysL) / endMonthCurrentDayL; - benefitsIncludedContinuousL = _insuranceListApplication.GetRoundValue(a); - } - //if (dailyWageL == 0) - //{ - // benefitsIncludedContinuousL = 0; - //} - if ((includeStatusL == 0 && (jobIdL == 10 || jobIdL == 17 || jobIdL == 18 || jobIdL == 16)) || (includeStatusL == 1 && jobIdL == 10))// 10 --> karfarma - { - benefitsIncludedContinuousL = 0; - - } - double monthlySalaryL = workingDaysL * dailyWageL; - double insuranceShareL = ((benefitsIncludedContinuousL+ monthlySalaryL) * 7)/100; - insuranceShareL = _insuranceListApplication.GetRoundValue(insuranceShareL); - - - //var persianBefore = ""; - //var year = Convert.ToInt32(date.Substring(0, 4)); - //var month = Convert.ToInt32(date.Substring(5, 2)); - //var day = Convert.ToInt32(date.Substring(8, 2)); - //var persianDate = new PersianDateTime(year, month, day); - //var persianBeforeDate = persianDate.AddDays(-1); - //persianBefore = persianBeforeDate.ToString("yyyy/MM/dd"); - - if (benefitsIncludedContinuousL==0 && monthlySalaryL==0 && insuranceShareL == 0 && dailyWageL == 0) - { - workingDaysL = 0; - } - if (benefitsIncludedContinuousL == 0 && monthlySalaryL == 0 && insuranceShareL == 0 && workingDaysL == 0) - { - dailyWageL = 0; - } - return new JsonResult(new - { - monthlySalary = monthlySalaryL.ToMoney(), - benefitsIncludedContinuous = benefitsIncludedContinuousL.ToMoney(), - insuranceShare = insuranceShareL.ToMoney(), - workingDay = workingDaysL, - dailyWag = dailyWageL.ToMoney(), - }); - } - // زمان لود مودال ایجاد یا ویرایش محاسبه dsskar - public IActionResult OnPostComputeInsuranceList( List employeeDetailsForInsuranceList, string typeOfInsuranceSendWorkshop) - { - double sumOfEmployees = employeeDetailsForInsuranceList.Count(); - double included = 0;//مشمول - double sumOfWorkingDays = 0; - double benefitsIncludedNonContinuous = 0;//مشمول غیر مستمر - double sumOfSalaries = 0; - double sumOfDailyWage = 0; - double insuredShare = 0; - double employerShare = 0;//سهم بیمه کارفرما - double sumOfIncluded = 0; - double unEmploymentInsurance = 0;//سهم بیمه بیکاری - double monthlyBenefits = 0;//مزایای ماهیانه - double sumForunEmploymentInsurance = 0; - double benefitsIncludedContinuous = 0; - double sumOfIncludedKarfarma = 0; - bool hasKarfarma = false; - double countWithoutLeft = 0; - - - for (int i = 0; i < employeeDetailsForInsuranceList.Count; i++) - { - string leftWorkDay = ""; - if (!string.IsNullOrWhiteSpace(employeeDetailsForInsuranceList[i].LeftWorkDate)) - { - leftWorkDay = employeeDetailsForInsuranceList[i].LeftWorkDate.Substring(8,2); - if (leftWorkDay == "01") - { - countWithoutLeft = countWithoutLeft + 1; - } - else - { - leftWorkDay = ""; - } - } - else - { - leftWorkDay = ""; - } - - - - // if (employeeDetailsForInsuranceList[i].IncludeStatus && (employeeDetailsForInsuranceList[i].JobId == 10 || employeeDetailsForInsuranceList[i].JobId == 17 || employeeDetailsForInsuranceList[i].JobId == 18 || employeeDetailsForInsuranceList[i].JobId == 16))// 10 --> karfarma - if (!employeeDetailsForInsuranceList[i].IncludeStatus && (employeeDetailsForInsuranceList[i].JobCode == "027079" || employeeDetailsForInsuranceList[i].JobCode == "024398" || employeeDetailsForInsuranceList[i].JobCode == "011015" || employeeDetailsForInsuranceList[i].JobCode == "020010"))// 10 --> karfarma - { - benefitsIncludedContinuous = 0; - sumForunEmploymentInsurance = sumForunEmploymentInsurance; - } - else - { - sumForunEmploymentInsurance = sumForunEmploymentInsurance + employeeDetailsForInsuranceList[i].BenefitsIncludedContinuous; - } - //if (employeeDetailsForInsuranceList[i].JobId == 10)//کارفرما - if (employeeDetailsForInsuranceList[i].JobCode == "024398")//کارفرما - { - hasKarfarma = true; - sumOfIncludedKarfarma = employeeDetailsForInsuranceList[i].BenefitsIncludedContinuous; - } - - sumOfWorkingDays = sumOfWorkingDays + employeeDetailsForInsuranceList[i].WorkingDays; - sumOfDailyWage = sumOfDailyWage + employeeDetailsForInsuranceList[i].DailyWage; - sumOfSalaries = sumOfSalaries + employeeDetailsForInsuranceList[i].MonthlySalary; - monthlyBenefits = monthlyBenefits + +employeeDetailsForInsuranceList[i].MonthlyBenefits; - sumOfIncluded = sumOfIncluded + employeeDetailsForInsuranceList[i].BenefitsIncludedContinuous; - - if (leftWorkDay != "01")//اگر ترک کار آن یکم ماه نبود - { - benefitsIncludedNonContinuous = benefitsIncludedNonContinuous + employeeDetailsForInsuranceList[i].IncludedAndNotIncluded; - } - - - - insuredShare = insuredShare +employeeDetailsForInsuranceList[i].InsuranceShare; - - } - - employerShare = GetRoundValueWhitGovermentlist((sumOfIncluded * 20) / 100,typeOfInsuranceSendWorkshop); - unEmploymentInsurance = GetRoundValueWhitGovermentlist((sumForunEmploymentInsurance * 3) / 100, typeOfInsuranceSendWorkshop); - var totalEmployee = sumOfEmployees; - //sumOfEmployees = sumOfEmployees - countWithoutLeft; - #region heydari - - - if (typeOfInsuranceSendWorkshop == "Govermentlist" && (sumOfEmployees - countWithoutLeft) <= 5 && !hasKarfarma) - { //console.log(1); - employerShare = 0; - } - - if (typeOfInsuranceSendWorkshop == "Govermentlist" && (sumOfEmployees - countWithoutLeft) <= 6 && hasKarfarma) - { //console.log(sumOfIncludedKarfarma); - var result = (sumOfIncludedKarfarma * 20) / 100; - employerShare = GetRoundValueWhitGovermentlist(result, typeOfInsuranceSendWorkshop); - } - - - if (typeOfInsuranceSendWorkshop == "Govermentlist" && (sumOfEmployees - countWithoutLeft) >= 6 && !hasKarfarma) - { - //ابتدا جمع کل مزایا به دست می آید - //جمع کل مزایا تقسیم بر تعداد کارگران منهای کسانی که ترک کار کرده اند. - //حاصل عبارت بالا در 5 ضرب میشو یعنی میانگینی برای محاسبه قیمت 5 نفر حساب می کنیم تا از طریق دولت پرداخت شود - - var result = (sumOfIncluded - ((sumOfIncluded / (sumOfEmployees - countWithoutLeft)) * 5)) * 20 / 100; - - employerShare = GetRoundValueWhitGovermentlist(result, typeOfInsuranceSendWorkshop); - - } - if (typeOfInsuranceSendWorkshop == "Govermentlist" && (sumOfEmployees - countWithoutLeft) > 6 && hasKarfarma) - { // console.log(4); - //مجموع حقوق و مزایای ماهانه مشمول - حقوق و مزایای ماهانه مشمول کارفرما - var sum = sumOfIncluded - sumOfIncludedKarfarma;//ستون مربوط به کارفرما محاسبه نمی شود - var result = ((sum - ((sum / ((sumOfEmployees - countWithoutLeft) - 1)) * 5)) + sumOfIncludedKarfarma) * 20 / 100; - employerShare = GetRoundValueWhitGovermentlist(result, typeOfInsuranceSendWorkshop); - - - } - #endregion - - //sumOfIncluded مجموع حقوق و مزایای ماهیانه مشمول - // عادی - //if (typeOfInsuranceSendWorkshop != "Govermentlist" && !hasKarfarma) - //{ - - // var empployerShare = (sumOfIncluded * 20) / 100; //سهم حق کارفرما - // insuredShare = (sumOfIncluded * 7) / 100; //سهم حق بیمه شده - // unEmploymentInsurance = (sumOfIncluded * 3) / 100; //بیمه بیکاری - // employerShare = GetRoundValueWhitGovermentlist(empployerShare, typeOfInsuranceSendWorkshop); - //} - //else if (typeOfInsuranceSendWorkshop != "Govermentlist" && hasKarfarma) - //{ - // var tweniSeven = (sumOfIncludedKarfarma * 27) / 100; - // var sum = sumOfIncluded - sumOfIncludedKarfarma; - // var tweni= (sum * 20) / 100; - // var empployerShare = tweniSeven + tweni; - - // insuredShare = (sum * 7) / 100; - // unEmploymentInsurance = (sum * 3) / 100; - - // employerShare = GetRoundValueWhitGovermentlist(empployerShare, typeOfInsuranceSendWorkshop); - //} - - // کمک دولت - //if (typeOfInsuranceSendWorkshop == "Govermentlist" && sumOfEmployees <= 5 && !hasKarfarma) - //{ //console.log(1); - // employerShare = 0; - //} - - //if (typeOfInsuranceSendWorkshop == "Govermentlist" && sumOfEmployees <= 6 && hasKarfarma) - //{ - // var tweniSeven = (sumOfIncludedKarfarma * 27) / 100; - // var sum = sumOfIncluded - sumOfIncludedKarfarma; - // insuredShare = (sum * 7) / 100; - // unEmploymentInsurance = (sum * 3) / 100; - - // employerShare = GetRoundValueWhitGovermentlist(tweniSeven, typeOfInsuranceSendWorkshop); - //} - - //if (typeOfInsuranceSendWorkshop == "Govermentlist" && sumOfEmployees >= 6 && !hasKarfarma) - //{ - - - - - - // var person = sumOfEmployees - 5; - // var divide = sumOfIncluded / sumOfEmployees; - // var result = divide * person; - // var finalresult = (result * 20) / 100; - // employerShare = GetRoundValueWhitGovermentlist(finalresult, typeOfInsuranceSendWorkshop); - // // employerShare =getRoundValue(((sumOfIncluded/sumOfEmployees)*(sumOfEmployees-5))*20/100); - //} - - //if (typeOfInsuranceSendWorkshop == "Govermentlist" && sumOfEmployees > 6 && hasKarfarma) - //{ // console.log(4); - // var sum = sumOfIncluded - sumOfIncludedKarfarma;//ستون مربوط به کارفرما محاسبه نمی شود - // sumOfEmployees = sumOfEmployees - 1; - - // var person = sumOfEmployees - 5; - // var divide = sum / sumOfEmployees; - // var result = divide * person; - // var finalresult = (result * 20) / 100; - // var toeniSeven = (sumOfIncludedKarfarma * 27) / 100; - // var sumOfUp = finalresult + toeniSeven; - // insuredShare = (sum * 7) / 100; - // var treePercent = (sum * 3) / 100; - // employerShare = GetRoundValueWhitGovermentlist(sumOfUp, typeOfInsuranceSendWorkshop); - - - //} - - - - - return new JsonResult(new - { - //تعداد نفرات - SumOfEmployees= totalEmployee, - //جمع حقوق ماهیانه - SumOfSalaries=sumOfSalaries.ToMoney(), - //جمع دستمزد روزانه - SumOfDailyWage=sumOfDailyWage.ToMoney(), - //جمع روزهای کارکرد - SumOfWorkingDays=sumOfWorkingDays, - //جمع مزایای ماهانه مشمول - SumOfBenefitsIncluded=monthlyBenefits.ToMoney(), - //مشمول - Included=sumOfIncluded.ToMoney(), - ////مشمول و غیر مشمول - IncludedAndNotIncluded = benefitsIncludedNonContinuous.ToMoney(), - ////IncludedAndNotIncluded = (sumOfIncluded + benefitsIncludedNonContinuous).ToMoney(), - //سهم حق بیمه شده - InsuredShare =insuredShare.ToMoney(), - //سهم حق کارفرما - EmployerShare=employerShare.ToMoney(), - //بیمه بیکاری - UnEmploymentInsurance=unEmploymentInsurance.ToMoney(), - }); - - } - public double GetRoundValueWhitGovermentlist(double value, string type) - { - string strValue = value.ToString(); - if (strValue.IndexOf('.') > -1) - { - string a = strValue.Substring(strValue.IndexOf('.') + 1, 1); - if (type == "Govermentlist") - { - if (int.Parse(a) >= 4) - { - return (Math.Round(value, MidpointRounding.ToPositiveInfinity)); - } - else - { - return (Math.Round(value, MidpointRounding.ToNegativeInfinity)); - } - } - else - { - if (int.Parse(a) > 5) - { - return (Math.Round(value, MidpointRounding.ToPositiveInfinity)); - } - else - { - return (Math.Round(value, MidpointRounding.ToNegativeInfinity)); - } - } - } - - return value; - } - - #region New by heydari - - public IActionResult OnGetWorkshopName(string searchText) - { - var result = _workshopApplication.GetWorkshopByTextSearch(searchText); - result = result.OrderBy(x => x.WorkshopFullName.Length).ToList(); - return new JsonResult(new - { - IsSuccedded = true, - mylist = result, - }); - } - public IActionResult OnGetEmployerName(string searchText) - { - var result = _employerApplication.GetEmployerWithFNameOrLName(searchText); - result = result.OrderBy(x => x.LName.Length).ToList(); - return new JsonResult(new - { - IsSuccedded = true, - mylist = result, - }); - } - #endregion - } -} + private readonly IEmployeeApplication _employeeApplication; + private readonly IEmployerApplication _employerApplication; + private readonly IInsuranceListApplication _insuranceListApplication; + private readonly IInsuranceWorkshopInfoApplication _insuranceWorkshopInfoApplication; + + private readonly IJobApplication _jobApplication; + + //private readonly IInsuranceEmployeeInfoApplication _insuranceEmployeeInfoApplication; + private readonly IWebHostEnvironment _webHostEnvironment; + private readonly IWorkshopApplication _workshopApplication; + private readonly IYearlySalaryApplication _yearlySalaryApplication; + public string BeforCurrentMonth_; + public string CurrentYear_; + public string EmployerFullName; + public InsuranceListSearchModel searchModel; + public string WorkshopFullName; + + + public List YearlyList; + + public IndexModel(IInsuranceListApplication insuranceListApplication, IWorkshopApplication workshopApplication, + IYearlySalaryApplication yearlySalaryApplication, IEmployerApplication employerApplication, + IInsuranceWorkshopInfoApplication insuranceWorkshopInfoApplication, IEmployeeApplication employeeApplication, + IJobApplication jobApplication, + IWebHostEnvironment webHostEnvironment) // , IInsuranceEmployeeInfoApplication insuranceEmployeeInfoApplication ) + { + _jobApplication = jobApplication; + _insuranceListApplication = insuranceListApplication; + _workshopApplication = workshopApplication; + _yearlySalaryApplication = yearlySalaryApplication; + _employerApplication = employerApplication; + _insuranceWorkshopInfoApplication = insuranceWorkshopInfoApplication; + _employeeApplication = employeeApplication; + //_insuranceEmployeeInfoApplication = insuranceEmployeeInfoApplication; + _webHostEnvironment = webHostEnvironment; + } + + public void OnGet() + { + var date = DateTime.Now.ToFarsi(); + var year = Convert.ToInt32(date.Substring(0, 4)); + var month = Convert.ToInt32(date.Substring(5, 2)); + var day = Convert.ToInt32(date.Substring(8, 2)); + var persianDate = new PersianDateTime(year, month, day); + var persianBeforeDate = persianDate.AddMonths(-1).ToString("yyyy/MM/dd"); + BeforCurrentMonth_ = persianBeforeDate.Substring(5, 2); + CurrentYear_ = persianBeforeDate.Substring(0, 4); + YearlyList = _yearlySalaryApplication.GetYears(); + } + + public IActionResult OnGetSearch(InsuranceListSearchModel searchModel) + { + var searchResult = _insuranceListApplication.Search(searchModel); + + //foreach (var item in searchResult) + //{ + // item.Month = item.Month.GetMonthByNumber(); + //} + + var result = new MainViewModel(); + result.MainList = searchResult; + + + return Partial("./MainSearch", result); + } + + public IActionResult OnGetCreate() + { + var date = DateTime.Now.ToFarsi(); + var year = Convert.ToInt32(date.Substring(0, 4)); + var month = Convert.ToInt32(date.Substring(5, 2)); + var day = Convert.ToInt32(date.Substring(8, 2)); + var persianDate = new PersianDateTime(year, month, day); + var persianBeforeDate = persianDate.AddMonths(-1).ToString("yyyy/MM/dd"); + //کارگاه هایی نوع ارسال لیست بیمه آنها مشخص شده + var workshopList = _workshopApplication.GetWorkshopAccount().Where(x => + !string.IsNullOrWhiteSpace(x.TypeOfInsuranceSend) && x.TypeOfInsuranceSend != "false").ToList(); + var command = new CreateInsuranceList + { + //WorkShopSelectList = new SelectList(_workshopApplication.GetWorkshopAccount(),"Id", "WorkshopFullName"), + + WorkShopSelectList = new SelectList(workshopList, "Id", "WorkshopFullName"), + YearList = _yearlySalaryApplication.GetYears(), + //ماه قبل + BeforCurrentMonth = persianBeforeDate.Substring(5, 2), + //سال جاری + CurrentYear = persianBeforeDate.Substring(0, 4) + }; + return Partial("./Create", command); + } + + public IActionResult OnPostCreate(CreateInsuranceList command) + { + //var result =new OperationResult(); + //result.IsSuccedded = true; + var result = _insuranceListApplication.Create(command); + if (result.IsSuccedded) + { + var saveFileResult = SaveFile(command); + if (saveFileResult) + { + result.IsSuccedded = true; + result.Message = "ثبت اطلاعات با موفقیت انجام شد"; + } + else + { + result.Failed("ایجاد فایل بیمه با خطا مواجه شد"); + } + } + + //else + //{ + // result.Failed("ثبت اطلاعات با خطا مواجه شد"); + //} + return new JsonResult(result); + } + + public IActionResult OnPostGetEmployerName(int workshopId) + { + var names = ""; + var employerList = _employerApplication.GetEmployerByWorkshopId(workshopId); + var workshopInfo = _insuranceWorkshopInfoApplication.GetDetails(workshopId); + // var personelInfo = _employeeApplication.(workshopId); + + var isLegal = employerList.FirstOrDefault().IsLegal; + var boolIsLegal = isLegal == "حقوقی" ? true : false; + + foreach (var item in employerList) + if (boolIsLegal) + names = item.EmployerLName != "#" ? item.FName + " " + item.EmployerLName : item.LName; + else + names = names + item.EmployerFullName + ","; + + if (!boolIsLegal) + names = names.Substring(0, names.Length - 1); + + return new JsonResult(new + { + EmployerNames = names, + WorkshopInfo = workshopInfo, + IsLegal = boolIsLegal + }); + } + + + //public IActionResult OnGetEmployeeSearch(CreateInsuranceList command) + //{ + // var searchModel = new EmployeeForCreateInsuranceListSearchModel(); + // searchModel.Year = command.Year; + // searchModel.Month = command.Month; + // searchModel.WorkshopIds = command.WorkshopIds; + // var searchResult = _insuranceListApplication.SearchEmployeeForCreateInsuranceList(searchModel); + // var result = new List(); + // //result.MainList = searchResult; + // //if (searchModel.WorkshopId != 0 || searchModel.EmployeeId != 0) + // //{ + // // result.WorkshopSearch = "true"; + // //} + // //else + // //{ + // // result.WorkshopSearch = "false"; + // //} + // return Partial("./EmployeeDatatable", result); + //} + + //لود جدول پرسنل در مودال ایجاد بیمه -- DSKWOR + public IActionResult OnGetEmployeeSearch(EmployeeForCreateInsuranceListSearchModel searchModel) + { + var result = _insuranceListApplication.SearchEmployeeForCreateInsuranceList(searchModel); + return Partial("./EmployeeDatatable", result); + } + + public IActionResult OnPostCreateEmployeeDetailsInfo(EmployeeDetailsForInsuranceListViewModel command) + { + TempData["EmployeeDetails"] = command; + var result = new OperationResult(); + if (command.InsuranceEmployeeInformationId == 0) + result = _insuranceListApplication.CreateEmployeeDetailsInfo(command); + else + result = _insuranceListApplication.EditEmployeeDetailsInfo(command); + + return new JsonResult(result); + } + + public IActionResult OnPostJobList() + { + var jobs = _jobApplication.GetJob(); + return new JsonResult(new + { + IsSuccedded = true, + jobList = jobs + }); + } + + public IActionResult OnPostRemoveInsuranceList(long id, string pathDSKKAR00, string pathDSKWOR00) + { + var result = _insuranceListApplication.Remove(id); + if (result.IsSuccedded) + { + pathDSKKAR00 = pathDSKKAR00.Replace("-", "\\"); + var filePathDSKKAR00 = $"{_webHostEnvironment.ContentRootPath}\\InsuranceList\\{pathDSKKAR00}"; + if (System.IO.File.Exists(filePathDSKKAR00)) + System.IO.File.Delete(filePathDSKKAR00); + + pathDSKWOR00 = pathDSKWOR00.Replace("-", "\\"); + var filePathDSKWOR00 = $"{_webHostEnvironment.ContentRootPath}\\InsuranceList\\{pathDSKWOR00}"; + if (System.IO.File.Exists(filePathDSKWOR00)) + System.IO.File.Delete(filePathDSKWOR00); + } + + return new JsonResult(result); + } + + public IActionResult OnPostConfirmInsuranceList(long id) + { + var result = _insuranceListApplication.ConfirmInsuranceList(id); + return new JsonResult(result); + } + + + public IActionResult OnGetDownloadFile(string path, string fileName) + { + //var path= "11\\1402_03\\DSKWOR00.dbf"; + // Replace "file.dbf" with the name of your .dbf file + var filePath = $"{_webHostEnvironment.ContentRootPath}\\InsuranceList\\{path}"; + ; + + // Read the file content into a byte array + var fileContent = System.IO.File.ReadAllBytes(filePath); + + // Return the file content as a FileResult with the appropriate MIME type and file name + return File(fileContent, "application/dbase", fileName); + } + + private string GetSpecifiedCharactes(string str, int MaxLength) + { + return str.Length <= MaxLength ? str : str.Substring(0, MaxLength); + } + + private bool SaveFile(CreateInsuranceList createInsuranceList) + { + try + { + //var path = $"profilePhotos"; + var path = createInsuranceList.InsuranceWorkshopInfo.WorkshopId; + var directoryPath = $"{_webHostEnvironment.ContentRootPath}\\InsuranceList\\{path}"; + if (!Directory.Exists(directoryPath)) + Directory.CreateDirectory(directoryPath); + + //ایجاد پوشه با توجه به هر ماه و سال + var monthPath = directoryPath + "\\" + createInsuranceList.Year + "_" + createInsuranceList.Month; + if (!Directory.Exists(monthPath)) + Directory.CreateDirectory(monthPath); + + var currentdate = DateTime.Now; + var currentDay = Convert.ToInt32(currentdate.ToFarsi().Substring(8, 2)); + ////ایجاد پوشه با توجه به هر روز و ساعت و دقیقه و ثانیه + //var dayPath = monthPath +"\\"+ currentDay+"_"+ currentdate.Hour + "_" + currentdate.Month + "_" + currentdate.Second; + //if (!Directory.Exists(dayPath)) + // Directory.CreateDirectory(dayPath); + //فعلا قرار شد روی فایل قبلی ریپلیس بشه + // string fileName = currentDay + "_" + currentdate.Hour + "_" + currentdate.Month + "_" + currentdate.Second +"_"; + if (createInsuranceList.InsuranceWorkshopInfo != null) + { + var odbf = new DbfFile(Encoding.GetEncoding(1256)); + odbf.Open(Path.Combine(monthPath, "DSKKAR00.dbf"), FileMode.Create); + //کد کارگاه + odbf.Header.AddColumn(new DbfColumn("DSK_ID", DbfColumn.DbfColumnType.Character, 10, 0)); + //نام کارگاه + odbf.Header.AddColumn(new DbfColumn("DSK_NAME", DbfColumn.DbfColumnType.Character, 100, 0)); + //نام کارفرما + odbf.Header.AddColumn(new DbfColumn("DSK_FARM", DbfColumn.DbfColumnType.Character, 100, 0)); + //نام آدرس + odbf.Header.AddColumn(new DbfColumn("DSK_ADRS", DbfColumn.DbfColumnType.Character, 100, 0)); + //نوع لیست + odbf.Header.AddColumn(new DbfColumn("DSK_KIND", DbfColumn.DbfColumnType.Number, 1, 0)); + //سال عملکرد + odbf.Header.AddColumn(new DbfColumn("DSK_YY", DbfColumn.DbfColumnType.Number, 2, 0)); + //ماه عملکرد + odbf.Header.AddColumn(new DbfColumn("DSK_MM", DbfColumn.DbfColumnType.Number, 2, 0)); + //شماره لیست + odbf.Header.AddColumn(new DbfColumn("DSK_LISTNO", DbfColumn.DbfColumnType.Character, 12, 0)); + //شرح لیست + odbf.Header.AddColumn(new DbfColumn("DSK_DISC", DbfColumn.DbfColumnType.Character, 100, 0)); + //تعداد کارکنان + odbf.Header.AddColumn(new DbfColumn("DSK_NUM", DbfColumn.DbfColumnType.Number, 5, 0)); + //تعداد کارکنان + odbf.Header.AddColumn(new DbfColumn("DSK_TDD", DbfColumn.DbfColumnType.Number, 6, 0)); + //مجموع دستمزد روزانه + odbf.Header.AddColumn(new DbfColumn("DSK_TROOZ", DbfColumn.DbfColumnType.Number, 12, 0)); + //مجموع دستمزد ماهانه + odbf.Header.AddColumn(new DbfColumn("DSK_TMAH", DbfColumn.DbfColumnType.Number, 12, 0)); + //مجموع مزایای ماهانه + odbf.Header.AddColumn(new DbfColumn("DSK_TMAZ", DbfColumn.DbfColumnType.Number, 12, 0)); + //مجموع دستمزد و مزایای ماهانه مشمول + odbf.Header.AddColumn(new DbfColumn("DSK_TMASH", DbfColumn.DbfColumnType.Number, 12, 0)); + // مجموع کل دستمزد و مزایای ماهانه مشمول و غیر مشمول + odbf.Header.AddColumn(new DbfColumn("DSK_TTOTL", DbfColumn.DbfColumnType.Number, 12, 0)); + //مجموع حق بیمه سهم بیمه شده + odbf.Header.AddColumn(new DbfColumn("DSK_TBIME", DbfColumn.DbfColumnType.Number, 12, 0)); + //مجموع حق بیمه سهم کارفرما + odbf.Header.AddColumn(new DbfColumn("DSK_TKOSO", DbfColumn.DbfColumnType.Number, 12, 0)); + //مجموع حق بیمه بیکاری + odbf.Header.AddColumn(new DbfColumn("DSK_BIC", DbfColumn.DbfColumnType.Number, 12, 0)); + //نرخ حق بیمه + odbf.Header.AddColumn(new DbfColumn("DSK_RATE", DbfColumn.DbfColumnType.Number, 5, 0)); + //نرخ پورسانتاژ + odbf.Header.AddColumn(new DbfColumn("DSK_PRATE", DbfColumn.DbfColumnType.Number, 2, 0)); + //نرخ مشاغل سخت زیان آور + odbf.Header.AddColumn(new DbfColumn("DSK_BIMH", DbfColumn.DbfColumnType.Number, 12, 0)); + //ردیف پیمان + odbf.Header.AddColumn(new DbfColumn("MON_PYM", DbfColumn.DbfColumnType.Character, 3, 0)); + var orec = new DbfRecord(odbf.Header); + + //کد کارگاه + orec[0] = GetSpecifiedCharactes(createInsuranceList.InsuranceWorkshopInfo.InsuranceCode, 10); + orec[1] = GetSpecifiedCharactes(createInsuranceList.InsuranceWorkshopInfo.WorkshopName, 100) + .ToIranSystem(); + orec[2] = GetSpecifiedCharactes(createInsuranceList.InsuranceWorkshopInfo.EmployerName, 100) + .ToIranSystem(); + orec[3] = GetSpecifiedCharactes(createInsuranceList.InsuranceWorkshopInfo.Address, 100).ToIranSystem(); + //orec[3] = ConvertToIranSystem.ToIranSystem(GetSpecifiedCharactes("رشت - بلوار شهدای گمنام - کوچه شهید علی قربانی - ساختمان پیام نور - طبقه اول واحد 2", 100), IranSystemNumbers.DontConvert); + // نوع لیست + orec[4] = "0"; + //سال + orec[5] = Convert.ToInt32(createInsuranceList.Year.Substring(2, 2)).ToString(); + //ماه + orec[6] = Convert.ToInt32(createInsuranceList.Month).ToString(); + //شماره لیست + orec[7] = GetSpecifiedCharactes(createInsuranceList.InsuranceWorkshopInfo.ListNumber, 12); + //شرح لیست + orec[8] = GetSpecifiedCharactes("", 100).ToIranSystem(); + //تعداد کرکنان + orec[9] = createInsuranceList.SumOfEmployees.ToString(); + //مجموع روزهای کارکرد + orec[10] = createInsuranceList.SumOfWorkingDays.ToString(); + //مجموع دستمزد روزانه + orec[11] = createInsuranceList.SumOfDailyWage.ToString(); + //مجموع دستمزد ماهانه + orec[12] = createInsuranceList.SumOfSalaries.ToString(); + //مجموع مزایای ماهانه مشمول + orec[13] = createInsuranceList.SumOfBenefitsIncluded.ToString(); + //مجموع دستمزد و مزایای ماهانه مشمول + orec[14] = createInsuranceList.Included.ToString(); + //مجموع کل دستمزد و مزایای ماهانه مشمول و غیر مشمول + orec[15] = createInsuranceList.IncludedAndNotIncluded.ToString(); + // مجموع حق بیمه سهم بیمه شده + orec[16] = createInsuranceList.InsuredShare.ToString(); + //مجموع حق بیمه سهم کارفرما + orec[17] = createInsuranceList.EmployerShare.ToString(); //"44911361"; + //مجموع حق بیمه بیکاری + orec[18] = createInsuranceList.UnEmploymentInsurance.ToString(); + //نرخ حق بیمه + orec[19] = "23"; + //نرخ پورسانتاژ + orec[20] = "0"; + //نرخ مشاغل سخت زیان آور + orec[21] = createInsuranceList.DifficultJobsInsuranc.ToString(); + //ردیف پیمان + orec[22] = GetSpecifiedCharactes(createInsuranceList.InsuranceWorkshopInfo.AgreementNumber, 12); + odbf.Write(orec); + //odbf.Header.RecordCount = 50; + odbf.WriteHeader(); + odbf.Close(); + } + + + if (createInsuranceList.EmployeeInsurancListDataList != null) + { + //لیست پرسنل + var dsw = new DbfFile(Encoding.GetEncoding(1256)); + dsw.Open(Path.Combine(monthPath, "DSKWOR00.dbf"), FileMode.Create); + //کد کارگاه + dsw.Header.AddColumn(new DbfColumn("DSW_ID", DbfColumn.DbfColumnType.Character, 10, 0)); + //سال عملکرد + dsw.Header.AddColumn(new DbfColumn("DSW_YY", DbfColumn.DbfColumnType.Number, 2, 0)); + //ماه عملکرد + dsw.Header.AddColumn(new DbfColumn("DSW_MM", DbfColumn.DbfColumnType.Number, 2, 0)); + //شماره لیست + dsw.Header.AddColumn(new DbfColumn("DSW_LISTNO", DbfColumn.DbfColumnType.Character, 12, 0)); + //شماره بیمه + dsw.Header.AddColumn(new DbfColumn("DSW_ID1", DbfColumn.DbfColumnType.Character, 10, 0)); + // نام + dsw.Header.AddColumn(new DbfColumn("DSW_FNAME", DbfColumn.DbfColumnType.Character, 100, 0)); + // نام خانوادگی + dsw.Header.AddColumn(new DbfColumn("DSW_LNAME", DbfColumn.DbfColumnType.Character, 100, 0)); + //نام پدر + dsw.Header.AddColumn(new DbfColumn("DSW_DNAME", DbfColumn.DbfColumnType.Character, 100, 0)); + // شماره شناسنامه + dsw.Header.AddColumn(new DbfColumn("DSW_IDNO", DbfColumn.DbfColumnType.Character, 15, 0)); + // محل صدور + dsw.Header.AddColumn(new DbfColumn("DSW_IDPLC", DbfColumn.DbfColumnType.Character, 100, 0)); + // تاریخ صدور + dsw.Header.AddColumn(new DbfColumn("DSW_IDATE", DbfColumn.DbfColumnType.Character, 8, 0)); + // تاریخ تولد + dsw.Header.AddColumn(new DbfColumn("DSW_BDATE", DbfColumn.DbfColumnType.Character, 8, 0)); + // جنسیت + dsw.Header.AddColumn(new DbfColumn("DSW_SEX", DbfColumn.DbfColumnType.Character, 3, 0)); + // ملیت + dsw.Header.AddColumn(new DbfColumn("DSW_NAT", DbfColumn.DbfColumnType.Character, 10, 0)); + // شرح شغل + dsw.Header.AddColumn(new DbfColumn("DSW_OCP", DbfColumn.DbfColumnType.Character, 100, 0)); + // تاریخ شروع بکار + dsw.Header.AddColumn(new DbfColumn("DSW_SDATE", DbfColumn.DbfColumnType.Character, 8, 0)); + // تاریخ ترک کار + dsw.Header.AddColumn(new DbfColumn("DSW_EDATE", DbfColumn.DbfColumnType.Character, 8, 0)); + // تعداد روزهای کارکرد + dsw.Header.AddColumn(new DbfColumn("DSW_DD", DbfColumn.DbfColumnType.Number, 2, 0)); + // دستمزد روزانه + dsw.Header.AddColumn(new DbfColumn("DSW_ROOZ", DbfColumn.DbfColumnType.Number, 12, 0)); + // دستمزد ماهانه + dsw.Header.AddColumn(new DbfColumn("DSW_MAH", DbfColumn.DbfColumnType.Number, 12, 0)); + // مزایای ماهانه + dsw.Header.AddColumn(new DbfColumn("DSW_MAZ", DbfColumn.DbfColumnType.Number, 12, 0)); + // جمع دستمزد و مزایای ماهانه مشمول + dsw.Header.AddColumn(new DbfColumn("DSW_MASH", DbfColumn.DbfColumnType.Number, 12, 0)); + // جمع کل دستمزد و مزایای ماهانه + dsw.Header.AddColumn(new DbfColumn("DSW_TOTL", DbfColumn.DbfColumnType.Number, 12, 0)); + //حق بیمه سهم بیمه شده + dsw.Header.AddColumn(new DbfColumn("DSW_BIME", DbfColumn.DbfColumnType.Number, 12, 0)); + //نرخ پورسانتاژ + dsw.Header.AddColumn(new DbfColumn("DSW_PRATE", DbfColumn.DbfColumnType.Number, 2, 0)); + // کد شغل + dsw.Header.AddColumn(new DbfColumn("DSW_JOB", DbfColumn.DbfColumnType.Character, 6, 0)); + // کد ملی + dsw.Header.AddColumn(new DbfColumn("PER_NATCOD", DbfColumn.DbfColumnType.Character, 10, 0)); + + foreach (var item in createInsuranceList.EmployeeInsurancListDataList) + { + var employee = createInsuranceList.EmployeeDetailsForInsuranceList + .Where(p => p.EmployeeId == item.EmployeeId).FirstOrDefault(); + + //var employeeObj = _employeeApplication.GetDetails(item.EmployeeId); + + var dswrec = new DbfRecord(dsw.Header); + //کد کارگاه + dswrec[0] = GetSpecifiedCharactes(createInsuranceList.InsuranceWorkshopInfo.InsuranceCode, 10); + //سال + dswrec[1] = Convert.ToInt32(createInsuranceList.Year.Substring(2, 2)).ToString(); + //ماه + dswrec[2] = Convert.ToInt32(createInsuranceList.Month).ToString(); + //شماره لیست + dswrec[3] = GetSpecifiedCharactes(createInsuranceList.InsuranceWorkshopInfo.ListNumber, 12); + //شماره بیمه + dswrec[4] = GetSpecifiedCharactes(employee.InsuranceCode, 8); + // نام + dswrec[5] = GetSpecifiedCharactes(employee.FName, 100).ToIranSystem(); + //var x = ConvertToIranSystem.ToIranSystem(GetSpecifiedCharactes(employee.FName, 100), IranSystemNumbers.DontConvert); + //byte[] bytes = Encoding.Default.GetBytes(x); + //string resultString = Encoding.UTF8.GetString(bytes); + + //خانوادگی نام + + dswrec[6] = GetSpecifiedCharactes(employee.LName, 100).ToIranSystem(); + //پدر نام + dswrec[7] = GetSpecifiedCharactes(employee.FatherName, 100).ToIranSystem(); + //شماره شناسنامه + dswrec[8] = employee.IdNumber; + //محل صدور + dswrec[9] = GetSpecifiedCharactes(employee.PlaceOfIssue, 100).ToIranSystem(); + //تاریخ صدور + dswrec[10] = employee.DateOfIssue == "1300/10/11" || string.IsNullOrEmpty(employee.DateOfIssue) + ? "" + : employee.DateOfIssue.Replace("/", ""); + //تاریخ تولد + dswrec[11] = employee.DateOfBirth == "1300/10/11" || string.IsNullOrEmpty(employee.DateOfIssue) + ? "" + : employee.DateOfBirth.Replace("/", ""); + ; + //جنسیت + dswrec[12] = GetSpecifiedCharactes(employee.Gender, 3).ToIranSystem(); + //ملیت + //dswrec[13] = ConvertToIranSystem.ToIranSystem(GetSpecifiedCharactes("ایرانی", 10), + dswrec[13] = GetSpecifiedCharactes(employee.Nationality, 10).ToIranSystem(); + //شرح شغل + dswrec[14] = GetSpecifiedCharactes(item.JobName, 100).ToIranSystem(); + //تاریخ شروع بکار + dswrec[15] = item.StartWorkDate.ToFarsi().Replace("/", ""); + + //تاریخ ترک کار + if (item.LeftWorkDate != null) + dswrec[16] = item.LeftWorkDate.ToFarsi().Replace("/", ""); + else + dswrec[16] = ""; + + //تعداد روزهای کارکرد + dswrec[17] = item.WorkingDays.ToString(); + //دستمزد روزانه + dswrec[18] = item.DailyWage.ToString(); + //دستمزد مااهانه + dswrec[19] = item.MonthlySalary.ToString(); + //مزایای ماهانه + dswrec[20] = item.MonthlyBenefits.ToString(); + //دستمزد و مزایای ماهانه مشمول + dswrec[21] = item.MonthlyBenefitsIncluded.ToString(); + //جمع کل دستمزد و مزایای ماهانه مسمول غیرمشمول + dswrec[22] = item.IncludedAndNotIncluded.ToString(); + //حق بیمه سهم بیمه شده + dswrec[23] = item.InsuranceShare.ToString(); + //نرخ پورسانتاژ + dswrec[24] = "0"; + //کد شغل + dswrec[25] = item.JobCode; + //کد ملی + dswrec[26] = employee.NationalCode; + + dsw.Write(dswrec); + } + //var dswrec = new DbfRecord(dsw.Header); + ////کد کارگاه + //dswrec[0] = GetSpecifiedCharactes("9008289145", 10); + ////سال + //dswrec[1] = "2"; + ////ماه + //dswrec[2] = "2"; + ////شماره لیست + //dswrec[3] = GetSpecifiedCharactes("01", 12); + ////شماره بیمه + //dswrec[4] = GetSpecifiedCharactes("48071464", 8); + //// نام + //dswrec[5] = ConvertToIranSystem.ToIranSystem(GetSpecifiedCharactes("راضیه", 100), + // IranSystemNumbers.DontConvert); + ////خانوادگی نام + //dswrec[6] = ConvertToIranSystem.ToIranSystem(GetSpecifiedCharactes("پیردهقان", 100), + // IranSystemNumbers.DontConvert); + ////پدر نام + //dswrec[7] = ConvertToIranSystem.ToIranSystem(GetSpecifiedCharactes("غلام", 100), + // IranSystemNumbers.DontConvert); + ////شماره شناسنامه + //dswrec[8] = "2650230614"; + ////محل صدور + //dswrec[9] = ConvertToIranSystem.ToIranSystem(GetSpecifiedCharactes("رشت", 100), + // IranSystemNumbers.DontConvert); + //; + ////تاریخ صدور + //dswrec[10] = "13770805"; + ////تاریخ تولد + //dswrec[11] = "13770721"; + ////جنسیت + //dswrec[12] = + // ConvertToIranSystem.ToIranSystem(GetSpecifiedCharactes("زن", 3), IranSystemNumbers.DontConvert); + ////ملیت + //dswrec[13] = ConvertToIranSystem.ToIranSystem(GetSpecifiedCharactes("ایرانی", 10), + // IranSystemNumbers.DontConvert); + ////شرح شغل + //dswrec[14] = ConvertToIranSystem.ToIranSystem(GetSpecifiedCharactes("کارشناس نرم افزار کامپیوتر", 100), + // IranSystemNumbers.DontConvert); + ////تاریخ شروع بکار + //dswrec[15] = "14000201"; + ////تاریخ ترک کار + //dswrec[16] = ""; + ////تعداد روزهای کارکرد + //dswrec[17] = "31"; + ////دستمزد روزانه + //dswrec[18] = "1769428"; + ////دستمزد مااهانه + //dswrec[19] = "54852268"; + ////مزایای ماهانه + //dswrec[20] = "20000000"; + ////دستمزد و مزایای ماهانه مشمول + //dswrec[21] = "74852268"; + ////جمع کل دستمزد و مزایای ماهانه مسمول غیرمشمول + //dswrec[22] = "74852268"; + ////حق بیمه سهم بیمه شده + //dswrec[23] = "5239659"; + ////نرخ پورسانتاژ + //dswrec[24] = "0"; + ////کد شغل + //dswrec[25] = "033022"; + ////کد ملی + //dswrec[26] = "2650230614"; + + //dsw.Write(dswrec); + + + //var dswrec2 = new DbfRecord(dsw.Header); + ////کد کارگاه + //dswrec2[0] = GetSpecifiedCharactes("9008289145", 10); + ////سال + //dswrec2[1] = "2"; + ////ماه + //dswrec2[2] = "2"; + ////شماره لیست + //dswrec2[3] = GetSpecifiedCharactes("01", 12); + ////شماره بیمه + //dswrec2[4] = GetSpecifiedCharactes("34157806", 8); + //// نام + //dswrec2[5] = ConvertToIranSystem.ToIranSystem(GetSpecifiedCharactes("پیمان", 100), + // IranSystemNumbers.DontConvert); + ////خانوادگی نام + //dswrec2[6] = ConvertToIranSystem.ToIranSystem(GetSpecifiedCharactes("افشاری بجاربنه", 100), + // IranSystemNumbers.DontConvert); + ////پدر نام + //dswrec2[7] = ConvertToIranSystem.ToIranSystem(GetSpecifiedCharactes("علیرضا", 100), + // IranSystemNumbers.DontConvert); + ////شماره شناسنامه + //dswrec2[8] = "2580900713"; + ////محل صدور + //dswrec2[9] = + // ConvertToIranSystem.ToIranSystem(GetSpecifiedCharactes("رشت", 100), IranSystemNumbers.DontConvert); + //; + ////تاریخ صدور + //dswrec2[10] = ""; + ////تاریخ تولد + //dswrec2[11] = "13750229"; + ////جنسیت + //dswrec2[12] = + // ConvertToIranSystem.ToIranSystem(GetSpecifiedCharactes("مرد", 3), IranSystemNumbers.DontConvert); + ////ملیت + //dswrec2[13] = ConvertToIranSystem.ToIranSystem(GetSpecifiedCharactes("ایرانی", 10), + // IranSystemNumbers.DontConvert); + ////شرح شغل + //dswrec2[14] = ConvertToIranSystem.ToIranSystem(GetSpecifiedCharactes("کارشناس نرم افزار کامپیوتر", 100), + // IranSystemNumbers.DontConvert); + ////تاریخ شروع بکار + //dswrec2[15] = "14010701"; + ////تاریخ ترک کار + //dswrec2[16] = ""; + ////تعداد روزهای کارکرد + //dswrec2[17] = "31"; + ////دستمزد روزانه + //dswrec2[18] = "1769428"; + ////دستمزد مااهانه + //dswrec2[19] = "54852268"; + ////مزایای ماهانه + //dswrec2[20] = "20000000"; + ////دستمزد و مزایای ماهانه مشمول + //dswrec2[21] = "74852268"; + ////جمع کل دستمزد و مزایای ماهانه مسمول غیرمشمول + //dswrec2[22] = "74852268"; + ////حق بیمه سهم بیمه شده + //dswrec2[23] = "5239659"; + ////نرخ پورسانتاژ + //dswrec2[24] = "0"; + ////کد شغل + //dswrec2[25] = "033022"; + ////کد ملی + //dswrec2[26] = "2580900713"; + + //dsw.Write(dswrec2); + + + //var dswrec3 = new DbfRecord(dsw.Header); + ////کد کارگاه + //dswrec3[0] = GetSpecifiedCharactes("9008289145", 10); + ////سال + //dswrec3[1] = "2"; + ////ماه + //dswrec3[2] = "2"; + ////شماره لیست + //dswrec3[3] = GetSpecifiedCharactes("01", 12); + ////شماره بیمه + //dswrec3[4] = GetSpecifiedCharactes("48076618", 8); + //// نام + //dswrec3[5] = ConvertToIranSystem.ToIranSystem(GetSpecifiedCharactes("فاطمه", 100), + // IranSystemNumbers.DontConvert); + ////خانوادگی نام + //dswrec3[6] = ConvertToIranSystem.ToIranSystem(GetSpecifiedCharactes("پادکان", 100), + // IranSystemNumbers.DontConvert); + ////پدر نام + //dswrec3[7] = ConvertToIranSystem.ToIranSystem(GetSpecifiedCharactes("محمدفرشاد", 100), + // IranSystemNumbers.DontConvert); + ////شماره شناسنامه + //dswrec3[8] = "2581230231"; + ////محل صدور + //dswrec3[9] = + // ConvertToIranSystem.ToIranSystem(GetSpecifiedCharactes("رشت", 100), IranSystemNumbers.DontConvert); + //; + ////تاریخ صدور + //dswrec3[10] = ""; + ////تاریخ تولد + //dswrec3[11] = "13780926"; + ////جنسیت + //dswrec3[12] = + // ConvertToIranSystem.ToIranSystem(GetSpecifiedCharactes("زن", 3), IranSystemNumbers.DontConvert); + ////ملیت + //dswrec3[13] = ConvertToIranSystem.ToIranSystem(GetSpecifiedCharactes("ایرانی", 10), + // IranSystemNumbers.DontConvert); + ////شرح شغل + //dswrec3[14] = ConvertToIranSystem.ToIranSystem(GetSpecifiedCharactes("کارشناس نرم افزار کامپیوتر", 100), + // IranSystemNumbers.DontConvert); + ////تاریخ شروع بکار + //dswrec3[15] = "14010701"; + ////تاریخ ترک کار + //dswrec3[16] = ""; + ////تعداد روزهای کارکرد + //dswrec3[17] = "31"; + ////دستمزد روزانه + //dswrec3[18] = "1769428"; + ////دستمزد مااهانه + //dswrec3[19] = "54852268"; + ////مزایای ماهانه + //dswrec3[20] = "20000000"; + ////دستمزد و مزایای ماهانه مشمول + //dswrec3[21] = "74852268"; + ////جمع کل دستمزد و مزایای ماهانه مسمول غیرمشمول + //dswrec3[22] = "74852268"; + ////حق بیمه سهم بیمه شده + //dswrec3[23] = "5239659"; + ////نرخ پورسانتاژ + //dswrec3[24] = "0"; + ////کد شغل + //dswrec3[25] = "001094"; + ////کد ملی + //dswrec3[26] = "2581230231"; + + //dsw.Write(dswrec3); + + dsw.WriteHeader(); + + dsw.Close(); + } + + return true; + } + catch (Exception er) + { + return false; + } + } + + public IActionResult OnGetEdit(long id) + { + var insurance = _insuranceListApplication.GetDetailsForEdit(id); + var workshopList = _workshopApplication.GetWorkshopAccount(); + var workshopObj = workshopList.Where(x => x.Id == insurance.WorkshopId)?.FirstOrDefault(); + insurance.WorkshopName = workshopObj == null ? string.Empty : workshopObj.WorkshopFullName; + insurance.TypeOfInsuranceSend = workshopObj.TypeOfInsuranceSend; + insurance.Population = workshopObj.Population; + insurance.FixedSalary = workshopObj.FixedSalary; + insurance.InsuranceJobId = workshopObj.InsuranceJobId; + workshopList = workshopList + .Where(x => !string.IsNullOrWhiteSpace(x.TypeOfInsuranceSend) && x.TypeOfInsuranceSend != "false").ToList(); + insurance.WorkShopSelectList = new SelectList(workshopList, "Id", "WorkshopFullName"); + //insurance.YearList = _yearlySalaryApplication.GetYears(); + + return Partial("Edit", insurance); + } + + public IActionResult OnGetEmployeeListForEdit(EmployeeForEditInsuranceListSearchModel searchModel) + { + var result = _insuranceListApplication.SearchEmployeeListForEditByInsuranceListId(searchModel); + return Partial("./EmployeeListForEdit", result); + } + + public IActionResult OnPostEdit(EditInsuranceList command) + { + //var result =new OperationResult(); + //result.IsSuccedded = true; + var result = _insuranceListApplication.Edit(command); + if (result.IsSuccedded) + { + var path = command.InsuranceWorkshopInfo.WorkshopId; + var directoryPath = $"{_webHostEnvironment.ContentRootPath}\\InsuranceList\\{path}"; + var monthPath = directoryPath + "\\" + command.Year + "_" + command.Month; + //if (Directory.Exists(monthPath)) + // Directory.Delete(monthPath); + + var filePathDSKKAR00 = monthPath + "\\DSKKAR00.dbf"; + if (System.IO.File.Exists(filePathDSKKAR00)) + System.IO.File.Delete(filePathDSKKAR00); + + + var filePathDSKWOR00 = monthPath + "\\DSKWOR00.dbf"; + if (System.IO.File.Exists(filePathDSKWOR00)) + System.IO.File.Delete(filePathDSKWOR00); + var saveFileResult = SaveFile(command); + if (saveFileResult) + { + result.IsSuccedded = true; + result.Message = "ویرایش اطلاعات با موفقیت انجام شد"; + } + else + { + result.Failed("ایجاد فایل بیمه با خطا مواجه شد"); + } + } + + return new JsonResult(result); + } + + public IActionResult OnGetInsuranceSummary(long id) + { + var insurance = _insuranceListApplication.GetDetails(id); + return Partial("InsuranceSummary", insurance); + } + + public IActionResult OnGetInsuranceConfirm(long id) + { + var insurance = _insuranceListApplication.GetDetails(id); + return Partial("InsuranceConfirm", insurance); + } + + public IActionResult OnGetInspectionReport(long id) + { + var insurance = _insuranceListApplication.GetDetails(id); + return Partial("InspectionReport", insurance); + } + + + public IActionResult OnPostMonthlySalary(string dailyWage, string workingDays, string insuranceShare, + string benefitsIncludedContinuous, string jobId, string housingAllowance, string includeStatus, + string consumableItems, string endMonthCurrentDay, long employeeId, double maritalStatus) + { + var benefitsIncludedContinuousL = benefitsIncludedContinuous.MoneyToDouble(); + double sum = 0; + var employeeMaritalStatus = _employeeApplication.GetDetails(employeeId); + if (employeeMaritalStatus.MaritalStatus == "متاهل") + sum = consumableItems.MoneyToDouble() + housingAllowance.MoneyToDouble() + maritalStatus; + else + sum = consumableItems.MoneyToDouble() + housingAllowance.MoneyToDouble(); + + + var workingDaysL = Convert.ToInt64(workingDays); + var endMonthCurrentDayL = Convert.ToInt64(endMonthCurrentDay); + var jobIdL = Convert.ToInt64(jobId); + var includeStatusL = Convert.ToInt64(includeStatus); + var dailyWageL = dailyWage.MoneyToDouble(); + + + if (workingDaysL == endMonthCurrentDayL) benefitsIncludedContinuousL = sum; + + if (workingDaysL < endMonthCurrentDayL) + { + if (endMonthCurrentDayL == 29) + //farokhiChanges عدد پایین 30 بود به 29 تبدیل کردم + endMonthCurrentDayL = 29; + else if (endMonthCurrentDayL == 30) //farokhiChanges این شرط رو اضافه کردم + endMonthCurrentDayL = 30; + else if (endMonthCurrentDayL == 31) //farokhiChanges این شرط رو اضافه کردم + endMonthCurrentDayL = 31; + + var a = sum * workingDaysL / endMonthCurrentDayL; + benefitsIncludedContinuousL = _insuranceListApplication.GetRoundValue(a); + } + + //if (dailyWageL == 0) + //{ + // benefitsIncludedContinuousL = 0; + //} + if ((includeStatusL == 0 && (jobIdL == 10 || jobIdL == 17 || jobIdL == 18 || jobIdL == 16)) || + (includeStatusL == 1 && jobIdL == 10)) // 10 --> karfarma + benefitsIncludedContinuousL = 0; + var monthlySalaryL = workingDaysL * dailyWageL; + var insuranceShareL = (benefitsIncludedContinuousL + monthlySalaryL) * 7 / 100; + insuranceShareL = _insuranceListApplication.GetRoundValue(insuranceShareL); + + + //var persianBefore = ""; + //var year = Convert.ToInt32(date.Substring(0, 4)); + //var month = Convert.ToInt32(date.Substring(5, 2)); + //var day = Convert.ToInt32(date.Substring(8, 2)); + //var persianDate = new PersianDateTime(year, month, day); + //var persianBeforeDate = persianDate.AddDays(-1); + //persianBefore = persianBeforeDate.ToString("yyyy/MM/dd"); + + if (benefitsIncludedContinuousL == 0 && monthlySalaryL == 0 && insuranceShareL == 0 && dailyWageL == 0) + workingDaysL = 0; + if (benefitsIncludedContinuousL == 0 && monthlySalaryL == 0 && insuranceShareL == 0 && + workingDaysL == 0) dailyWageL = 0; + return new JsonResult(new + { + monthlySalary = monthlySalaryL.ToMoney(), + benefitsIncludedContinuous = benefitsIncludedContinuousL.ToMoney(), + insuranceShare = insuranceShareL.ToMoney(), + workingDay = workingDaysL, + dailyWag = dailyWageL.ToMoney() + }); + } + + // زمان لود مودال ایجاد یا ویرایش محاسبه dsskar + public IActionResult OnPostComputeInsuranceList( + List employeeDetailsForInsuranceList, + string typeOfInsuranceSendWorkshop) + { + double sumOfEmployees = employeeDetailsForInsuranceList.Count(); + double included = 0; //مشمول + double sumOfWorkingDays = 0; + double benefitsIncludedNonContinuous = 0; //مشمول غیر مستمر + double sumOfSalaries = 0; + double sumOfDailyWage = 0; + double insuredShare = 0; + double employerShare = 0; //سهم بیمه کارفرما + double sumOfIncluded = 0; + double unEmploymentInsurance = 0; //سهم بیمه بیکاری + double monthlyBenefits = 0; //مزایای ماهیانه + double sumForunEmploymentInsurance = 0; + double benefitsIncludedContinuous = 0; + double sumOfIncludedKarfarma = 0; + var hasKarfarma = false; + double countWithoutLeft = 0; + + + for (var i = 0; i < employeeDetailsForInsuranceList.Count; i++) + { + var leftWorkDay = ""; + if (!string.IsNullOrWhiteSpace(employeeDetailsForInsuranceList[i].LeftWorkDate)) + { + leftWorkDay = employeeDetailsForInsuranceList[i].LeftWorkDate.Substring(8, 2); + if (leftWorkDay == "01") + countWithoutLeft = countWithoutLeft + 1; + else + leftWorkDay = ""; + } + else + { + leftWorkDay = ""; + } + + + // if (employeeDetailsForInsuranceList[i].IncludeStatus && (employeeDetailsForInsuranceList[i].JobId == 10 || employeeDetailsForInsuranceList[i].JobId == 17 || employeeDetailsForInsuranceList[i].JobId == 18 || employeeDetailsForInsuranceList[i].JobId == 16))// 10 --> karfarma + if (!employeeDetailsForInsuranceList[i].IncludeStatus && + (employeeDetailsForInsuranceList[i].JobCode == "027079" || + employeeDetailsForInsuranceList[i].JobCode == "024398" || + employeeDetailsForInsuranceList[i].JobCode == "011015" || + employeeDetailsForInsuranceList[i].JobCode == "020010")) // 10 --> karfarma + { + benefitsIncludedContinuous = 0; + sumForunEmploymentInsurance = sumForunEmploymentInsurance; + } + else + { + sumForunEmploymentInsurance = sumForunEmploymentInsurance + + employeeDetailsForInsuranceList[i].BenefitsIncludedContinuous; + } + + //if (employeeDetailsForInsuranceList[i].JobId == 10)//کارفرما + if (employeeDetailsForInsuranceList[i].JobCode == "024398") //کارفرما + { + hasKarfarma = true; + sumOfIncludedKarfarma = employeeDetailsForInsuranceList[i].BenefitsIncludedContinuous; + } + + sumOfWorkingDays = sumOfWorkingDays + employeeDetailsForInsuranceList[i].WorkingDays; + sumOfDailyWage = sumOfDailyWage + employeeDetailsForInsuranceList[i].DailyWage; + sumOfSalaries = sumOfSalaries + employeeDetailsForInsuranceList[i].MonthlySalary; + monthlyBenefits = monthlyBenefits + +employeeDetailsForInsuranceList[i].MonthlyBenefits; + sumOfIncluded = sumOfIncluded + employeeDetailsForInsuranceList[i].BenefitsIncludedContinuous; + + if (leftWorkDay != "01") //اگر ترک کار آن یکم ماه نبود + benefitsIncludedNonContinuous = benefitsIncludedNonContinuous + + employeeDetailsForInsuranceList[i].IncludedAndNotIncluded; + + + insuredShare = insuredShare + employeeDetailsForInsuranceList[i].InsuranceShare; + } + + employerShare = GetRoundValueWhitGovermentlist(sumOfIncluded * 20 / 100, typeOfInsuranceSendWorkshop); + unEmploymentInsurance = + GetRoundValueWhitGovermentlist(sumForunEmploymentInsurance * 3 / 100, typeOfInsuranceSendWorkshop); + var totalEmployee = sumOfEmployees; + //sumOfEmployees = sumOfEmployees - countWithoutLeft; + + #region heydari + + if (typeOfInsuranceSendWorkshop == "Govermentlist" && sumOfEmployees - countWithoutLeft <= 5 && !hasKarfarma) + //console.log(1); + employerShare = 0; + + if (typeOfInsuranceSendWorkshop == "Govermentlist" && sumOfEmployees - countWithoutLeft <= 6 && hasKarfarma) + { + //console.log(sumOfIncludedKarfarma); + var result = sumOfIncludedKarfarma * 20 / 100; + employerShare = GetRoundValueWhitGovermentlist(result, typeOfInsuranceSendWorkshop); + } + + + if (typeOfInsuranceSendWorkshop == "Govermentlist" && sumOfEmployees - countWithoutLeft >= 6 && !hasKarfarma) + { + //ابتدا جمع کل مزایا به دست می آید + //جمع کل مزایا تقسیم بر تعداد کارگران منهای کسانی که ترک کار کرده اند. + //حاصل عبارت بالا در 5 ضرب میشو یعنی میانگینی برای محاسبه قیمت 5 نفر حساب می کنیم تا از طریق دولت پرداخت شود + + var result = (sumOfIncluded - sumOfIncluded / (sumOfEmployees - countWithoutLeft) * 5) * 20 / 100; + + employerShare = GetRoundValueWhitGovermentlist(result, typeOfInsuranceSendWorkshop); + } + + if (typeOfInsuranceSendWorkshop == "Govermentlist" && sumOfEmployees - countWithoutLeft > 6 && hasKarfarma) + { + // console.log(4); + //مجموع حقوق و مزایای ماهانه مشمول - حقوق و مزایای ماهانه مشمول کارفرما + var sum = sumOfIncluded - sumOfIncludedKarfarma; //ستون مربوط به کارفرما محاسبه نمی شود + var result = (sum - sum / (sumOfEmployees - countWithoutLeft - 1) * 5 + sumOfIncludedKarfarma) * 20 / 100; + employerShare = GetRoundValueWhitGovermentlist(result, typeOfInsuranceSendWorkshop); + } + + #endregion + + //sumOfIncluded مجموع حقوق و مزایای ماهیانه مشمول + // عادی + //if (typeOfInsuranceSendWorkshop != "Govermentlist" && !hasKarfarma) + //{ + + // var empployerShare = (sumOfIncluded * 20) / 100; //سهم حق کارفرما + // insuredShare = (sumOfIncluded * 7) / 100; //سهم حق بیمه شده + // unEmploymentInsurance = (sumOfIncluded * 3) / 100; //بیمه بیکاری + // employerShare = GetRoundValueWhitGovermentlist(empployerShare, typeOfInsuranceSendWorkshop); + //} + //else if (typeOfInsuranceSendWorkshop != "Govermentlist" && hasKarfarma) + //{ + // var tweniSeven = (sumOfIncludedKarfarma * 27) / 100; + // var sum = sumOfIncluded - sumOfIncludedKarfarma; + // var tweni= (sum * 20) / 100; + // var empployerShare = tweniSeven + tweni; + + // insuredShare = (sum * 7) / 100; + // unEmploymentInsurance = (sum * 3) / 100; + + // employerShare = GetRoundValueWhitGovermentlist(empployerShare, typeOfInsuranceSendWorkshop); + //} + + // کمک دولت + //if (typeOfInsuranceSendWorkshop == "Govermentlist" && sumOfEmployees <= 5 && !hasKarfarma) + //{ //console.log(1); + // employerShare = 0; + //} + + //if (typeOfInsuranceSendWorkshop == "Govermentlist" && sumOfEmployees <= 6 && hasKarfarma) + //{ + // var tweniSeven = (sumOfIncludedKarfarma * 27) / 100; + // var sum = sumOfIncluded - sumOfIncludedKarfarma; + // insuredShare = (sum * 7) / 100; + // unEmploymentInsurance = (sum * 3) / 100; + + // employerShare = GetRoundValueWhitGovermentlist(tweniSeven, typeOfInsuranceSendWorkshop); + //} + + //if (typeOfInsuranceSendWorkshop == "Govermentlist" && sumOfEmployees >= 6 && !hasKarfarma) + //{ + + + // var person = sumOfEmployees - 5; + // var divide = sumOfIncluded / sumOfEmployees; + // var result = divide * person; + // var finalresult = (result * 20) / 100; + // employerShare = GetRoundValueWhitGovermentlist(finalresult, typeOfInsuranceSendWorkshop); + // // employerShare =getRoundValue(((sumOfIncluded/sumOfEmployees)*(sumOfEmployees-5))*20/100); + //} + + //if (typeOfInsuranceSendWorkshop == "Govermentlist" && sumOfEmployees > 6 && hasKarfarma) + //{ // console.log(4); + // var sum = sumOfIncluded - sumOfIncludedKarfarma;//ستون مربوط به کارفرما محاسبه نمی شود + // sumOfEmployees = sumOfEmployees - 1; + + // var person = sumOfEmployees - 5; + // var divide = sum / sumOfEmployees; + // var result = divide * person; + // var finalresult = (result * 20) / 100; + // var toeniSeven = (sumOfIncludedKarfarma * 27) / 100; + // var sumOfUp = finalresult + toeniSeven; + // insuredShare = (sum * 7) / 100; + // var treePercent = (sum * 3) / 100; + // employerShare = GetRoundValueWhitGovermentlist(sumOfUp, typeOfInsuranceSendWorkshop); + + + //} + + + return new JsonResult(new + { + //تعداد نفرات + SumOfEmployees = totalEmployee, + //جمع حقوق ماهیانه + SumOfSalaries = sumOfSalaries.ToMoney(), + //جمع دستمزد روزانه + SumOfDailyWage = sumOfDailyWage.ToMoney(), + //جمع روزهای کارکرد + SumOfWorkingDays = sumOfWorkingDays, + //جمع مزایای ماهانه مشمول + SumOfBenefitsIncluded = monthlyBenefits.ToMoney(), + //مشمول + Included = sumOfIncluded.ToMoney(), + ////مشمول و غیر مشمول + IncludedAndNotIncluded = benefitsIncludedNonContinuous.ToMoney(), + ////IncludedAndNotIncluded = (sumOfIncluded + benefitsIncludedNonContinuous).ToMoney(), + //سهم حق بیمه شده + InsuredShare = insuredShare.ToMoney(), + //سهم حق کارفرما + EmployerShare = employerShare.ToMoney(), + //بیمه بیکاری + UnEmploymentInsurance = unEmploymentInsurance.ToMoney() + }); + } + + public double GetRoundValueWhitGovermentlist(double value, string type) + { + var strValue = value.ToString(); + if (strValue.IndexOf('.') > -1) + { + var a = strValue.Substring(strValue.IndexOf('.') + 1, 1); + if (type == "Govermentlist") + { + if (int.Parse(a) >= 4) + return Math.Round(value, MidpointRounding.ToPositiveInfinity); + return Math.Round(value, MidpointRounding.ToNegativeInfinity); + } + + if (int.Parse(a) > 5) + return Math.Round(value, MidpointRounding.ToPositiveInfinity); + return Math.Round(value, MidpointRounding.ToNegativeInfinity); + } + + return value; + } + + #region New by heydari + + public IActionResult OnGetWorkshopName(string searchText) + { + var result = _workshopApplication.GetWorkshopByTextSearch(searchText); + result = result.OrderBy(x => x.WorkshopFullName.Length).ToList(); + return new JsonResult(new + { + IsSuccedded = true, + mylist = result + }); + } + + public IActionResult OnGetEmployerName(string searchText) + { + var result = _employerApplication.GetEmployerWithFNameOrLName(searchText); + result = result.OrderBy(x => x.LName.Length).ToList(); + return new JsonResult(new + { + IsSuccedded = true, + mylist = result + }); + } + + #endregion +} \ No newline at end of file diff --git a/ServiceHost/Areas/Admin/Pages/Company/InsuranceList/InspectionReport.cshtml b/ServiceHost/Areas/Admin/Pages/Company/InsuranceList/InspectionReport.cshtml index fc64a7b3..c259c0b6 100644 --- a/ServiceHost/Areas/Admin/Pages/Company/InsuranceList/InspectionReport.cshtml +++ b/ServiceHost/Areas/Admin/Pages/Company/InsuranceList/InspectionReport.cshtml @@ -1,5 +1,4 @@ -@using _0_Framework.Application -@model CompanyManagment.App.Contracts.InsuranceList.EditInsuranceList +@model CompanyManagment.App.Contracts.InsuranceList.EditInsuranceList } -@{ var currentAccout = AuthHelper.CurrentAccountInfo();} +@{ var currentAccout = AuthHelper.CurrentAccountInfo(); } @**@ - - - - - - - - - - - - - - - - - - - @foreach (var item in Model.MainList) - { - - - - - - - - - - - - @{ - string pathDSKKAR00=item.WorkShopId+"\\"+(item.Year+"_"+item.MonthNumber)+"\\DSKKAR00.dbf"; - string pathDSKWOR00=item.WorkShopId+"\\"+(item.Year+"_"+item.MonthNumber)+"\\DSKWOR00.dbf"; - } - + + + + + + + + + + + + + + + + + @foreach (var item in Model.MainList) + { + + + + + + + + + + + + @{ + var pathDSKKAR00 = item.WorkShopId + "\\" + item.Year + "_" + item.MonthNumber + "\\DSKKAR00.dbf"; + var pathDSKWOR00 = item.WorkShopId + "\\" + item.Year + "_" + item.MonthNumber + "\\DSKWOR00.dbf"; + } + - - i = i + 1; - } - -
#سال ماه کدکارگاهینام کارفرمانام کارگاهنوع ارسال لیستشعبه تامین اجتماعیشهرستانلیست مقطوععملیات
@i @item.Year@item.Month@item.WorkShopCode -
-

@item.EmployerName

- @item.EmployerName -
-
-
-

@item.WorkShopName

- @item.WorkShopName -
-
@item.TypeOfInsuranceSend@item.Branch@item.City@item.StrFixedSalary - - @if((currentAccout.RoleId==1 && item.ConfirmSentlist) || !item.ConfirmSentlist) - { - - - - - - - - - } - @* +
#سال ماه کدکارگاهینام کارفرمانام کارگاهنوع ارسال لیستشعبه تامین اجتماعیشهرستانلیست مقطوععملیات
@i @item.Year@item.Month@item.WorkShopCode +
+

@item.EmployerName

+ @item.EmployerName +
+
+
+

@item.WorkShopName

+ @item.WorkShopName +
+
@item.TypeOfInsuranceSend@item.Branch@item.City@item.StrFixedSalary + + @if ((currentAccout.RoleId == 1 && item.ConfirmSentlist) || !item.ConfirmSentlist) + { + + + + + + + + + + } + @* *@ - - - - - - - @* + + + + + + + @* *@ - @* Download DBF File*@ - - - - - - + @* Download DBF File*@ + + + + + + -
+ + + i = i + 1; + } + + - -@Html.AntiForgeryToken() +@Html.AntiForgeryToken() + + //$('.download-link').click(function() { + // sessionStorage.setItem('last-url', window.location.href); + //}); + + //// Check if a download just finished for any download link + //$(window).on('focus', function() { + // var lastUrl = sessionStorage.getItem('last-url'); + // if (lastUrl && lastUrl !== window.location.href) { + // // Loop through all download links and check if any of them were just downloaded + // $('.download-link').each(function() { + // if ($(this).attr('href') !== lastUrl) { + // // This link was not just downloaded, so skip it + // return; + // } + // // This link was just downloaded, so get the download link and show an alert + // var downloadLink = $(this).attr('href'); + // alert('The file was downloaded to: ' + downloadLink); + // }); + // } + //}); + }); + + function removeInsuranceList(id, pathDSKKAR00, pathDSKWOR00) { + swal({ + title: "توجه داشته باشید با تایید این پیام، اطلاعات لیست مورد نظر بطور کامل از بانک اطلاعاتی حذف خواهد شد.", + text: "", + type: "warning", + showCancelButton: true, + confirmButtonColor: "#DD6B55", + confirmButtonText: "بله", + cancelButtonText: "خیر", + closeOnConfirm: true, + closeOnCancel: true + }, + function(isConfirm) { + if (isConfirm) { + $.ajax({ + dataType: 'json', + type: 'POST', + url: '@Url.Page("./Index", "RemoveInsuranceList")', + headers: { "RequestVerificationToken": $('input[name="__RequestVerificationToken"]').val() }, + data: { "id": id, "pathDSKKAR00": pathDSKKAR00, "pathDSKWOR00": pathDSKWOR00 }, + success: function(response) { + $.Notification.autoHideNotify('success', 'top center', 'پیام سیستم ', response.message); + $('.btn-search1').click(); + //setTimeout(function() { + // window.location.href = "#showmodal=/Admin/Company/FilePage?handler=CreateOrEditFileTitle&Type=" + $('#Type').val(); + //}, 1200); + // window.location.hash = "##"; + }, + failure: function(response) { + console.log(5, response); + $.Notification.autoHideNotify('error', 'top center', 'پیام سیستم ', response.message); + } + }); + } + }); + } + + function confirmInsuranceList(id) { + swal({ + title: "توجه داشته باشید با تایید این پیام، لیست بیمه ارسال شده در نظر گرفته می شود و قابل حذف نخواهد بود.", + text: "", + type: "warning", + showCancelButton: true, + confirmButtonColor: "#DD6B55", + confirmButtonText: "تایید ارسال لیست", + cancelButtonText: "عدم تایید", + closeOnConfirm: true, + closeOnCancel: true + }, + function(isConfirm) { + if (isConfirm) { + $.ajax({ + dataType: 'json', + type: 'POST', + url: '@Url.Page("./Index", "ConfirmInsuranceList")', + headers: { "RequestVerificationToken": $('input[name="__RequestVerificationToken"]').val() }, + data: { "id": id }, + success: function(response) { + $.Notification.autoHideNotify('success', 'top center', 'پیام سیستم ', response.message); + $('.btn-search1').click(); + //setTimeout(function() { + // window.location.href = "#showmodal=/Admin/Company/FilePage?handler=CreateOrEditFileTitle&Type=" + $('#Type').val(); + //}, 1200); + // window.location.hash = "##"; + }, + failure: function(response) { + console.log(5, response); + $.Notification.autoHideNotify('error', 'top center', 'پیام سیستم ', response.message); + } + }); + } + }); + } + + \ No newline at end of file diff --git a/ServiceHost/Areas/Admin/Pages/Company/InsuranceList/PrintTest.cshtml b/ServiceHost/Areas/Admin/Pages/Company/InsuranceList/PrintTest.cshtml index 08dcecec..c5188d7d 100644 --- a/ServiceHost/Areas/Admin/Pages/Company/InsuranceList/PrintTest.cshtml +++ b/ServiceHost/Areas/Admin/Pages/Company/InsuranceList/PrintTest.cshtml @@ -1,6 +1,6 @@ @page -@using _0_Framework.Application +@using _0_Framework.Application @model ServiceHost.Areas.Admin.Pages.Company.InsuranceList.Index1Model @{ } @@ -384,196 +384,191 @@ display: none; - +
+
+
+
+
+
+ + +
+
+
+
+ + +
+
+
+
+ +
+
+
+
+
- - - @item.InsuranceCode - - - @item.State -
-

@item.State

- @item.State -
- - - @item.City -
-

@item.City

- @item.City -
- - - @item.ZoneName -
-

@item.ZoneName

- @item.ZoneName -
- - - @item.Address -
-

@item.Address

- @item.Address -
- - @{ - i++; - } - -
-
- عملیات -
- - -

- اطلاعات پرسنل -

-
- @* *@ - - - - - - - - - - +
+
+
+ +
+ + +
+
+
+
+ + +
+
+ جستجو + + حذف فیلتر +
+
+
+
+
+ +
+
+ + + + + -

- - تنظیمات فنی پرسنل -

- - - - - - -

- گزارش سالانه پرسنل -

-
- - -

- پرینت -

-
- - -

- جزئیات -

-
- - -
- -

- -

- - قرارداد اتومات - -
+
+
+
+

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

+
+
+
+
+ + + + + + + + + + + + + + + + +@foreach (var item in Model.Workshops) +{ + employerList = ""; + + + + + + + + + + @{ + i++; + } + - - } - -
#نام کارگاهعملیات
@i + @item.WorkshopFullName +
+

@item.WorkshopFullName

+ @item.WorkshopFullName +
+
+ -
-
-
-
-
-
+ + + + + + + + + + + @if (item.IsActiveString == "true") + { + + + + } + else + { + + + + } +
+ + + + + +} + + + + + + + @* *@ + @section Script { - - - -@* *@ - - - - - - - - - - - - - - - - - -} - + + + @* *@ + + + + + + + + + + + + + + + +} \ No newline at end of file diff --git a/ServiceHost/Areas/Admin/Pages/Company/Workshops/Index.cshtml.cs b/ServiceHost/Areas/Admin/Pages/Company/Workshops/Index.cshtml.cs index d358c216..05ed6dcc 100644 --- a/ServiceHost/Areas/Admin/Pages/Company/Workshops/Index.cshtml.cs +++ b/ServiceHost/Areas/Admin/Pages/Company/Workshops/Index.cshtml.cs @@ -1,844 +1,797 @@ -using System.Collections.Generic; -using System.Linq; -using System.Threading; -using _0_Framework.Application; +using _0_Framework.Application; using AccountManagement.Domain.AccountAgg; -using Company.Domain.ContarctingPartyAgg; -using Company.Domain.EmployeeAgg; using Company.Domain.empolyerAgg; using Company.Domain.WorkshopAgg; using CompanyManagment.App.Contracts.Checkout; using CompanyManagment.App.Contracts.Contract; using CompanyManagment.App.Contracts.Employer; using CompanyManagment.App.Contracts.InsuranceJob; -using CompanyManagment.App.Contracts.InsuranceList; using CompanyManagment.App.Contracts.Job; using CompanyManagment.App.Contracts.LeftWork; using CompanyManagment.App.Contracts.LeftWorkInsurance; -using CompanyManagment.App.Contracts.PersonalContractingParty; using CompanyManagment.App.Contracts.Workshop; using CompanyManagment.App.Contracts.YearlySalary; using CompanyManagment.App.Contracts.Zone; -using CompanyManagment.EFCore; using Microsoft.AspNetCore.Authorization; using Microsoft.AspNetCore.Mvc; using Microsoft.AspNetCore.Mvc.RazorPages; using Microsoft.AspNetCore.Mvc.Rendering; -using Microsoft.Extensions.Configuration.UserSecrets; -using Newtonsoft.Json; -using static Microsoft.EntityFrameworkCore.DbLoggerCategory.Database; -namespace ServiceHost.Areas.Admin.Pages.Company.Workshops +namespace ServiceHost.Areas.Admin.Pages.Company.Workshops; + +[Authorize] +public class IndexModel : PageModel { - [Authorize] - public class IndexModel : PageModel - { - [TempData] - public string Message { get; set; } - public WorkshopSearchModel SearchModel; - public List Workshops; - public SelectList WorkshopList; - public SelectList Employers; - public string LName; - public string WorkshopFullName; - - private readonly IWorkshopApplication _workshopApplication; - private readonly IWorkshopRepository _workshopRepository; - private readonly IEmployerApplication _EmployerApplication; - private readonly IEmployerRepository _EmployerRepository; - private readonly IAccountRepository _accountRepository; - private readonly IZoneApplication _zoneApplication; - private readonly IInsuranceJobApplication _insuranceJobApplication; - private readonly IJobApplication _jobApplication; - private readonly ILeftWorkApplication _leftWorkApplication; - private readonly ILeftWorkInsuranceApplication _leftWorkInsuranceApplication; - private readonly IContractApplication _contractApplication; - private readonly ICheckoutApplication _checkoutApplication; - private readonly IYearlySalaryApplication _yearlySalaryApplication; - private readonly IAuthHelper _authHelper; - - public IndexModel(IWorkshopApplication workshopApplication, IEmployerApplication employerApplication, IEmployerRepository employerRepository, IWorkshopRepository workshopRepository, IAccountRepository accountRepository, IZoneApplication zoneApplication, IInsuranceJobApplication insuranceJobApplication, IJobApplication jobApplication, ILeftWorkApplication leftWorkApplication, ILeftWorkInsuranceApplication leftWorkInsuranceApplication, IAuthHelper authHelper, ICheckoutApplication checkoutApplication, IContractApplication contractApplication, IYearlySalaryApplication yearlySalaryApplication) - { - - _workshopApplication = workshopApplication; - _EmployerApplication = employerApplication; - _EmployerRepository = employerRepository; - _workshopRepository = workshopRepository; - _accountRepository = accountRepository; - _zoneApplication = zoneApplication; - _insuranceJobApplication = insuranceJobApplication; - _jobApplication = jobApplication; - _leftWorkApplication = leftWorkApplication; - _leftWorkInsuranceApplication = leftWorkInsuranceApplication; - _authHelper = authHelper; - _checkoutApplication = checkoutApplication; - _contractApplication = contractApplication; - _yearlySalaryApplication = yearlySalaryApplication; - } - - public void OnGet(WorkshopSearchModel searchModel) - { - if (string.IsNullOrWhiteSpace(searchModel.EmployerLName) - && string.IsNullOrWhiteSpace(searchModel.WorkshopFullName) - && string.IsNullOrWhiteSpace(searchModel.InsuranceCode)) - { - Workshops = _workshopApplication.SearchForMain(searchModel).OrderByDescending(x => x.HasBlockContractingParty == true).Take(100).ToList(); - } - else - { - Workshops = _workshopApplication.SearchForMain(searchModel).OrderByDescending(x => x.HasBlockContractingParty == true).ToList(); - - } - - - //-----employer----- - if (searchModel.EmployerId > 0) - { - var employer = _EmployerApplication.GetDetails(searchModel.EmployerId); - LName = (employer.IsLegal == "حقیقی" ? (employer.FName + " " + employer.LName) : employer.LName); - } - else - { - LName = searchModel.EmployerLName; - } - - //-----workshop----- - if (searchModel.Id > 0) - { - var workshop = Workshops.FirstOrDefault(x => x.Id == searchModel.Id); - if (workshop != null) - WorkshopFullName = workshop.WorkshopFullName; - } - else - { - - WorkshopFullName = searchModel.WorkshopFullName; - } - - } - - //public IActionResult OnGetCreate() - //{ - // var jobCodeTest = new List() - // { - // new JobCodeViewModel{Code = "1", JobName = "تست 1"}, - // new JobCodeViewModel{Code = "2", JobName = "تست 2"}, - // }; - // var command = new CreateWorkshop - // { - // Employers = _EmployerApplication.GetEmployers(), - // AccountsList = _accountRepository.GetAccounts(), - // JobCodeViewModels = jobCodeTest, - - // }; - - // var res = _workshopApplication.GetWorkshop(); - // var checkOk = res.Any(); - // int item = 0; - - // var codes = new List(); - // foreach (var i in res) - // { - // string bb = string.Empty; - - // if (i.ArchiveCode != null) - // { - // for (int x = 0; x < i.ArchiveCode.Length; x++) - // { - // if (char.IsDigit(i.ArchiveCode[x])) - // bb += i.ArchiveCode[x]; - // } - // if (bb.Length > 0) - // { - // int convert = int.Parse(bb); - // codes.Add(convert); - // } - // } - // } - // if (checkOk) - // { - // item = codes.Max(); - // } - - // int sum = item + 1; - // string newcode = sum.ToString(); - // command.ArchiveCode = newcode; - // return Partial("./Create", command); - //} - - public IActionResult OnGetNewCreate() - { - // var currentAccout = _authHelper.CurrentAccountInfo(); - var permissionIds = _authHelper.GetPermissions(); - var list = _insuranceJobApplication.GetInsurancJob(); - var insuranceJob = list.Select(x=> new InsuranceJobViewModel() - { - Id = x.Id, - InsuranceJobTitle = x.InsuranceJobTitle + " | " + x.EconomicCode, - }).ToList(); - - ; - var command = new CreateWorkshop - { - Employers = _EmployerApplication.GetAllEmployers(), - AccountsList = _accountRepository.GetAccounts(), - InsuranceJobViewModels = new SelectList(insuranceJob, "Id", "InsuranceJobTitle"), - - }; - - var res = _workshopApplication.GetWorkshop(); - var checkOk = res.Any(); - int item = 0; - - var codes = new List(); - foreach (var i in res) - { - - - string bb = string.Empty; - - if (i.ArchiveCode != null) - { - for (int x = 0; x < i.ArchiveCode.Length; x++) - { - if (char.IsDigit(i.ArchiveCode[x])) - bb += i.ArchiveCode[x]; - } - - if (bb.Length > 0) - { - int convert = int.Parse(bb); - codes.Add(convert); - } - } - } - if (checkOk) - { - item = codes.Max(); - } - - int sum = item + 1; - string newcode = sum.ToString(); - command.ArchiveCode = newcode; - command.PermissionIds = permissionIds; - // command.CurrentAccoutRoleId = currentAccout.RoleId; - return Partial("./Create4", command); - } - - public IActionResult OnPostCreate(CreateWorkshop command) - { - #region checkIsLegalAndNotIsLegal - OperationResult resultIsLegal = new OperationResult(); - var selectEmployerList = _EmployerApplication.GetEmployers().Where(x => command.EmployerIdList.Contains(x.Id)).ToList(); - var isNotlegal = selectEmployerList.Where(x => x.IsLegal == "حقیقی").FirstOrDefault(); - var islegal = selectEmployerList.Where(x => x.IsLegal == "حقوقی").FirstOrDefault(); - - if (isNotlegal != null && islegal != null) - return new JsonResult(resultIsLegal.Failed("امکان انتخاب کارفرمای حقیقی و حقوقی به دلیل موانع قانونی در نرم افزار بصورت همزمان امکان پذیر نمی باشد")); - #endregion - - var res = _workshopApplication.GetWorkshop(); - bool checkNumber = false; - bool checkExist = false; - - string a = command.ArchiveCode; - string bb = string.Empty; - int convert2 = 0; - if (!string.IsNullOrWhiteSpace(a)) - { - for (int x = 0; x < a.Length; x++) - { - if (char.IsDigit(a[x])) - bb += a[x]; - } - - if (bb.Length > 0) - { - checkNumber = true; - convert2 = int.Parse(bb); - } - else - { - checkNumber = false; - - } - } - else - { - checkNumber = true; - - } - - var codes = new List(); - foreach (var i in res) - { - - string b2 = string.Empty; - - if (i.ArchiveCode != null) - { - for (int x = 0; x < i.ArchiveCode.Length; x++) - { - if (char.IsDigit(i.ArchiveCode[x])) - b2 += i.ArchiveCode[x]; - } - - if (b2.Length > 0) - { - int convert = int.Parse(b2); - codes.Add(convert); - } - } - } - foreach (var item in codes) - { - if (item == convert2) - checkExist = true; - } - if (checkNumber) - { - //if (checkExist) - //{ - // var res3 = _workshopApplication.ExistErr(); - // return new JsonResult(res3); - //} - //Thread.Sleep(5000); - command.TypeOfInsuranceSend = command.TypeOfInsuranceSend == "false" ? "" : command.TypeOfInsuranceSend; - - command.InsuranceCode = !string.IsNullOrWhiteSpace(command.InsuranceCode) ? command.InsuranceCode.ConvertToEnglish() : ""; - command.ArchiveCode = !string.IsNullOrWhiteSpace(command.ArchiveCode) ? command.ArchiveCode.ConvertToEnglish() : ""; - command.AgreementNumber = !string.IsNullOrWhiteSpace(command.AgreementNumber) ? command.AgreementNumber.ConvertToEnglish() : ""; - command.TypeOfInsuranceSend = command.TypeOfInsuranceSend == "false" ? null : command.TypeOfInsuranceSend; - var result = _workshopApplication.Create(command); - return new JsonResult(result); - } - else - { - var res2 = _workshopApplication.Err(); - return new JsonResult(res2); - } - //else - //{ - // var res3 = _workshopApplication.ExistErr(); - // return new JsonResult(res3); - //} - } - - public IActionResult OnPostZonelistLoad(int cityId) - { - var myZoneList = _zoneApplication.GetZoneListByCityId(cityId); - return new JsonResult(new - { - zoneList = myZoneList, - }); - } - - public IActionResult OnGetEdit(long id) - { - var permissionIds = _authHelper.GetPermissions(); - // var currentAccout = _authHelper.CurrentAccountInfo(); - var list = _insuranceJobApplication.GetInsurancJob(); - var insuranceJob = list.Select(x => new InsuranceJobViewModel() - { - Id = x.Id, - InsuranceJobTitle = x.InsuranceJobTitle + " | " + x.EconomicCode, - }).ToList(); - - var workshop = _workshopApplication.GetDetails(id); - workshop.Employers = _EmployerApplication.GetAllEmployers(); - workshop.AccountsList = _accountRepository.GetAccounts(); - workshop.EmployerIdList = _workshopRepository.GetRelation(id); - workshop.AccountIdsList = _workshopRepository.GetWorkshopAccountRelation(id); - workshop.InsuranceJobViewModels = new SelectList(insuranceJob, "Id", "InsuranceJobTitle"); - Message = workshop.ArchiveCode; - workshop.PermissionIds = permissionIds; - //workshop.CurrentAccoutRoleId = currentAccout.RoleId; - return Partial("Edit4", workshop); - } - - public JsonResult OnPostEdit(EditWorkshop command) - { - - if (ModelState.IsValid) - { - - } - - #region checkIsLegalAndNotIsLegal - OperationResult resultIsLegal = new OperationResult(); - var selectEmployerList = _EmployerApplication.GetEmployers().Where(x => command.EmployerIdList.Contains(x.Id)).ToList(); - var isNotlegal = selectEmployerList.Where(x => x.IsLegal == "حقیقی").FirstOrDefault(); - var islegal = selectEmployerList.Where(x => x.IsLegal == "حقوقی").FirstOrDefault(); - - if (isNotlegal != null && islegal != null) - return new JsonResult(resultIsLegal.Failed("امکان انتخاب کارفرمای حقیقی و حقوقی به دلیل موانع قانونی در نرم افزار بصورت همزمان امکان پذیر نمی باشد")); - #endregion - - var workshop = _workshopApplication.GetDetails(command.Id); - var lastNumber = workshop.ArchiveCode; - var res = _workshopApplication.GetWorkshop(); - bool checkNumber = false; - bool checkExist = false; - var pration = new OperationResult(); - string a = command.ArchiveCode; - string bb = string.Empty; - int convert2 = 0; - if (!string.IsNullOrWhiteSpace(a)) - { - for (int x = 0; x < a.Length; x++) - { - if (char.IsDigit(a[x])) - bb += a[x]; - } - - if (bb.Length > 0) - { - checkNumber = true; - convert2 = int.Parse(bb); - } - else - { - checkNumber = false; - - } - } - else - { - checkNumber = true; - - } - - var codes = new List(); - foreach (var i in res) - { - - string b2 = string.Empty; - - if (i.ArchiveCode != null && i.ArchiveCode != lastNumber) - { - for (int x = 0; x < i.ArchiveCode.Length; x++) - { - if (char.IsDigit(i.ArchiveCode[x])) - b2 += i.ArchiveCode[x]; - } - - if (b2.Length > 0) - { - int convert = int.Parse(b2); - codes.Add(convert); - } - } - - - } - - foreach (var item in codes) - { - if (item == convert2) - checkExist = true; - } - - if (checkNumber) - { - //var EmpoyersSelected = _EmployerRepository.Get(command.EmployerId); - //if (EmpoyersSelected.EmployerNo == null) - //{ - // EmpoyersSelected.EditEmployerNo(command.ArchiveCode); - //} - command.InsuranceCode = !string.IsNullOrWhiteSpace(command.InsuranceCode) ? command.InsuranceCode.ConvertToEnglish() : ""; - command.ArchiveCode = !string.IsNullOrWhiteSpace(command.ArchiveCode) ? command.ArchiveCode.ConvertToEnglish() : ""; - command.AgreementNumber = !string.IsNullOrWhiteSpace(command.AgreementNumber) ? command.AgreementNumber.ConvertToEnglish() : ""; - command.TypeOfInsuranceSend = command.TypeOfInsuranceSend == "false" ? null : command.TypeOfInsuranceSend; - var result = _workshopApplication.Edit(command); - - return new JsonResult(result); - } - else - { - var res2 = _workshopApplication.Err(); - return new JsonResult(res2); - } - //else - //{ - // var res3 = _workshopApplication.ExistErr(); - // return new JsonResult(res3); - //} - - - - - - - - - } - - public IActionResult OnGetDetails(long id) - { - var wrk = _workshopApplication.GetDetails(id); - wrk.Employers = _EmployerApplication.GetEmployers(); - wrk.EmployerIdList = _workshopRepository.GetRelation(id); - return Partial("Details", wrk); - } - - public IActionResult OnGetShowPersonnelList(long id) - { - var result = _workshopApplication.GetConnectedPersonnels(id); - - var r = result.GroupBy(x => x.PersonName).Select(x => x.First()).ToList(); - var finalresult = new ConnectedPersonnelViewModel() - { - ConnectedPersonnelViewModels = r.OrderBy(x => x.Black ? 1 : 0).ThenBy(x => x.PersonelCode).ToList(), - - }; - return Partial("ConnectedPersonnelsOld", finalresult); - } - - public IActionResult OnGetDeActive(long id) - { - var result = _workshopApplication.DeActive(id); - - if (result.IsSuccedded) - { - return new JsonResult(new - { - id = result.SendId, - sucsses = true, - message = result.Message, - - }); - } - else - { - return new JsonResult(new - { - sucsses = false, - message = result.Message, - - }); - } - - //Message = result.Message; - //return RedirectToPage("./Index"); - } - - public IActionResult OnGetAnnualConfirm(long id) - { - // var insurance = _insuranceListApplication.GetDetails(id); - return Partial("AnnualConfirm"); - } - - public IActionResult OnGetIsActive(long id) - { - - var result = _workshopApplication.Active(id); - if (result.IsSuccedded) - return RedirectToPage("./Index"); - Message = result.Message; - return RedirectToPage("./Index"); - } - - public IActionResult OnPostGetEmployerName(int employerId) - { - // string names = ""; - var employer= _EmployerApplication.GetDetails(employerId); - - return new JsonResult(new - { - LName= (employer.IsLegal == "حقوقی" ? employer.LName : employer.FName+" "+employer.LName), - NationalId = employer.NationalId, - Nationalcode = employer.Nationalcode, - IsLegal = (employer.IsLegal == "حقوقی" ? true : false) - }); - } - - #region NewByHeydari - - public IActionResult OnPostDeleteWorkshop(long id) - { - var result = _workshopApplication.DeleteWorkshop(id); - return new JsonResult(result); - } - public IActionResult OnPostActiveWorkshop(long id) - { - var result = _workshopApplication.ActiveAll(id); - return new JsonResult(result); - } - - - public IActionResult OnGetWorkshopName(string searchText) - { - var result = _workshopApplication.GetWorkshopByTextSearch(searchText); - result = result.OrderBy(x => x.WorkshopFullName.Length).ToList(); - return new JsonResult(new - { - IsSuccedded = true, - mylist = result, - }); - } - - public IActionResult OnGetEmployerName(string searchText) - { - var result = _EmployerApplication.GetEmployerWithFNameOrLName(searchText); - result = result.OrderBy(x => x.LName.Length).ToList(); - return new JsonResult(new - { - IsSuccedded = true, - mylist = result, - }); - } - #endregion - - public IActionResult OnGetContractAndCheckoutStatusYearly(long workshopId) - { - var today = DateTime.Now.ToFarsi(); - var year = today.Substring(0, 4); - var yearResultList = _yearlySalaryApplication.GetYears(); - var workshop = _workshopApplication.GetWorkshopInfo(workshopId); - WorkshopFullName = workshop.WorkshopFullName; - - var employeeResult = _workshopApplication.GetConnectedPersonnels(workshopId); - - var employeeList = employeeResult.GroupBy(x => x.EmployeeId) - .Select(x => x.First()) - .Where(x => x.ContractPerson == true) - .ToList(); - var command = new List(); - var groupList = new List(); - foreach (var employeeItems in employeeList) - { - - var contractSearch = new ContractSearchModel() - { - EmployeeId = employeeItems.EmployeeId, - WorkshopIds = workshopId, - Year = year, - }; - var checkoutSearch = new CheckoutSearchModel() - { - EmployeeId = employeeItems.EmployeeId, - WorkshopId = workshopId, - Year = year, - }; - var contractResult = _contractApplication.Search(contractSearch); - var checkoutResult = _checkoutApplication.SimpleSearch(checkoutSearch); - - if (contractResult.Count > 0) - { - var divideList = new List(); - var ChekoutDivideList = new List(); - - foreach (var item in contractResult) - { - var divide = new ContractStatusDivide() - { - ContractStart = item.ContarctStart, - ContractEnd = item.ContractEnd, - Year = item.ContarctStart.Substring(0, 4), - MonthStart = Convert.ToInt32(item.ContarctStart.Substring(5, 2)), - MonthEnd = Convert.ToInt32(item.ContractEnd.Substring(5, 2)), - SignaturStatus = item.Signature, - }; - divideList.Add(divide); - } - foreach (var item in checkoutResult) - { - var CheckoutDivide = new CheckoutStatusDivide() - { - CheckoutStart = item.ContractStart, - CheckoutEnd = item.ContractEnd, - Year = item.ContractStart.Substring(0, 4), - MonthStart = Convert.ToInt32(item.ContractStart.Substring(5, 2)), - MonthEnd = Convert.ToInt32(item.ContractEnd.Substring(5, 2)), - SignaturStatus = item.Signature, - }; - ChekoutDivideList.Add(CheckoutDivide); - } - var contractByYear = divideList.GroupBy(x => x.Year).Select(x => x.First()).ToList(); - foreach (var yearItem in contractByYear) - { - var divided = divideList.Where(x => x.Year == yearItem.Year).ToList(); - var chDivided = ChekoutDivideList.Where(x => x.Year == yearItem.Year).ToList(); - if (chDivided.Count < 1) - { - chDivided = new List(); - } - - var group = new ContractStatusGroup() - { - WorkshopId = workshopId, - EmployeeId = employeeItems.EmployeeId, - Year = yearItem.Year, - ContractStatusDivideList = divided, - CheckoutStatusDivideList = chDivided, - - }; - - command.Add(new ContractAndCheckoutStatusYearlyViewModel() - { - WorkshopId = workshopId, - EmployeeId = employeeItems.EmployeeId, - PersonName = employeeItems.PersonName, - ContractStatusGroupViewModel = group, - }); - } - } - else - { - var group = new ContractStatusGroup() - { - WorkshopId = workshopId, - EmployeeId = employeeItems.EmployeeId, - Year = "0", - ContractStatusDivideList = new List(), - CheckoutStatusDivideList = new List(), - - }; - command.Add(new ContractAndCheckoutStatusYearlyViewModel() - { - WorkshopId = workshopId, - EmployeeId = employeeItems.EmployeeId, - PersonName = employeeItems.PersonName, - ContractStatusGroupViewModel = group, - }); - } - } - - var finalResult = new ContractAndCheckoutStatusYearlyViewModel() - { - Year = year, - YearList = yearResultList, - WorkshopId = workshopId, - WorkshopName = workshop.WorkshopFullName, - ContractAndCheckoutStatusYearlyList = command - }; - - return Partial("ContractAndCheckoutStatusYearly", finalResult); - } - - public IActionResult OnGetContractAndCheckoutStatusYearlyJson(long workshopId, string year) - { - var yearResultList = _yearlySalaryApplication.GetYears(); - var workshop = _workshopApplication.GetWorkshopInfo(workshopId); - WorkshopFullName = workshop.WorkshopFullName; - - var employeeResult = _workshopApplication.GetConnectedPersonnels(workshopId); - - var employeeList = employeeResult.GroupBy(x => x.EmployeeId) - .Select(x => x.First()) - .Where(x => x.ContractPerson == true) - .ToList(); - var command = new List(); - var groupList = new List(); - foreach (var employeeItems in employeeList) - { - - var contractSearch = new ContractSearchModel() - { - EmployeeId = employeeItems.EmployeeId, - WorkshopIds = workshopId, - Year = year, - }; - var checkoutSearch = new CheckoutSearchModel() - { - EmployeeId = employeeItems.EmployeeId, - WorkshopId = workshopId, - Year = year, - }; - var contractResult = _contractApplication.Search(contractSearch); - var checkoutResult = _checkoutApplication.SimpleSearch(checkoutSearch); - - if (contractResult.Count > 0) - { - var divideList = new List(); - var ChekoutDivideList = new List(); - - foreach (var item in contractResult) - { - var divide = new ContractStatusDivide() - { - ContractStart = item.ContarctStart, - ContractEnd = item.ContractEnd, - Year = item.ContarctStart.Substring(0, 4), - MonthStart = Convert.ToInt32(item.ContarctStart.Substring(5, 2)), - MonthEnd = Convert.ToInt32(item.ContractEnd.Substring(5, 2)), - SignaturStatus = item.Signature, - }; - divideList.Add(divide); - } - foreach (var item in checkoutResult) - { - var CheckoutDivide = new CheckoutStatusDivide() - { - CheckoutStart = item.ContractStart, - CheckoutEnd = item.ContractEnd, - Year = item.ContractStart.Substring(0, 4), - MonthStart = Convert.ToInt32(item.ContractStart.Substring(5, 2)), - MonthEnd = Convert.ToInt32(item.ContractEnd.Substring(5, 2)), - SignaturStatus = item.Signature, - }; - ChekoutDivideList.Add(CheckoutDivide); - } - var contractByYear = divideList.GroupBy(x => x.Year).Select(x => x.First()).ToList(); - foreach (var yearItem in contractByYear) - { - var divided = divideList.Where(x => x.Year == yearItem.Year).ToList(); - var chDivided = ChekoutDivideList.Where(x => x.Year == yearItem.Year).ToList(); - if (chDivided.Count < 1) - { - chDivided = new List(); - } - - var group = new ContractStatusGroup() - { - WorkshopId = workshopId, - EmployeeId = employeeItems.EmployeeId, - Year = yearItem.Year, - ContractStatusDivideList = divided, - CheckoutStatusDivideList = chDivided, - - }; - - command.Add(new ContractAndCheckoutStatusYearlyViewModel() - { - WorkshopId = workshopId, - EmployeeId = employeeItems.EmployeeId, - PersonName = employeeItems.PersonName, - ContractStatusGroupViewModel = group, - }); - } - } - else - { - var group = new ContractStatusGroup() - { - WorkshopId = workshopId, - EmployeeId = employeeItems.EmployeeId, - Year = "0", - ContractStatusDivideList = new List(), - CheckoutStatusDivideList = new List(), - - }; - command.Add(new ContractAndCheckoutStatusYearlyViewModel() - { - WorkshopId = workshopId, - EmployeeId = employeeItems.EmployeeId, - PersonName = employeeItems.PersonName, - ContractStatusGroupViewModel = group, - }); - } - } - - var finalResult = new ContractAndCheckoutStatusYearlyViewModel() - { - Year = year, - YearList = yearResultList, - WorkshopId = workshopId, - WorkshopName = workshop.WorkshopFullName, - ContractAndCheckoutStatusYearlyList = command - }; - - return new JsonResult(new { finalResult }); - } - } -} + private readonly IAccountRepository _accountRepository; + private readonly IAuthHelper _authHelper; + private readonly ICheckoutApplication _checkoutApplication; + private readonly IContractApplication _contractApplication; + private readonly IEmployerApplication _EmployerApplication; + private readonly IEmployerRepository _EmployerRepository; + private readonly IInsuranceJobApplication _insuranceJobApplication; + private readonly IJobApplication _jobApplication; + private readonly ILeftWorkApplication _leftWorkApplication; + private readonly ILeftWorkInsuranceApplication _leftWorkInsuranceApplication; + + private readonly IWorkshopApplication _workshopApplication; + private readonly IWorkshopRepository _workshopRepository; + private readonly IYearlySalaryApplication _yearlySalaryApplication; + private readonly IZoneApplication _zoneApplication; + public SelectList Employers; + public string LName; + public WorkshopSearchModel SearchModel; + public string WorkshopFullName; + public SelectList WorkshopList; + public List Workshops; + + public IndexModel(IWorkshopApplication workshopApplication, IEmployerApplication employerApplication, + IEmployerRepository employerRepository, IWorkshopRepository workshopRepository, + IAccountRepository accountRepository, IZoneApplication zoneApplication, + IInsuranceJobApplication insuranceJobApplication, IJobApplication jobApplication, + ILeftWorkApplication leftWorkApplication, ILeftWorkInsuranceApplication leftWorkInsuranceApplication, + IAuthHelper authHelper, ICheckoutApplication checkoutApplication, IContractApplication contractApplication, + IYearlySalaryApplication yearlySalaryApplication) + { + _workshopApplication = workshopApplication; + _EmployerApplication = employerApplication; + _EmployerRepository = employerRepository; + _workshopRepository = workshopRepository; + _accountRepository = accountRepository; + _zoneApplication = zoneApplication; + _insuranceJobApplication = insuranceJobApplication; + _jobApplication = jobApplication; + _leftWorkApplication = leftWorkApplication; + _leftWorkInsuranceApplication = leftWorkInsuranceApplication; + _authHelper = authHelper; + _checkoutApplication = checkoutApplication; + _contractApplication = contractApplication; + _yearlySalaryApplication = yearlySalaryApplication; + } + + [TempData] public string Message { get; set; } + + public void OnGet(WorkshopSearchModel searchModel) + { + if (string.IsNullOrWhiteSpace(searchModel.EmployerLName) + && string.IsNullOrWhiteSpace(searchModel.WorkshopFullName) + && string.IsNullOrWhiteSpace(searchModel.InsuranceCode)) + Workshops = _workshopApplication.SearchForMain(searchModel) + .OrderByDescending(x => x.HasBlockContractingParty).Take(100).ToList(); + else + Workshops = _workshopApplication.SearchForMain(searchModel) + .OrderByDescending(x => x.HasBlockContractingParty).ToList(); + + + //-----employer----- + if (searchModel.EmployerId > 0) + { + var employer = _EmployerApplication.GetDetails(searchModel.EmployerId); + LName = employer.IsLegal == "حقیقی" ? employer.FName + " " + employer.LName : employer.LName; + } + else + { + LName = searchModel.EmployerLName; + } + + //-----workshop----- + if (searchModel.Id > 0) + { + var workshop = Workshops.FirstOrDefault(x => x.Id == searchModel.Id); + if (workshop != null) + WorkshopFullName = workshop.WorkshopFullName; + } + else + { + WorkshopFullName = searchModel.WorkshopFullName; + } + } + + //public IActionResult OnGetCreate() + //{ + // var jobCodeTest = new List() + // { + // new JobCodeViewModel{Code = "1", JobName = "تست 1"}, + // new JobCodeViewModel{Code = "2", JobName = "تست 2"}, + // }; + // var command = new CreateWorkshop + // { + // Employers = _EmployerApplication.GetEmployers(), + // AccountsList = _accountRepository.GetAccounts(), + // JobCodeViewModels = jobCodeTest, + + // }; + + // var res = _workshopApplication.GetWorkshop(); + // var checkOk = res.Any(); + // int item = 0; + + // var codes = new List(); + // foreach (var i in res) + // { + // string bb = string.Empty; + + // if (i.ArchiveCode != null) + // { + // for (int x = 0; x < i.ArchiveCode.Length; x++) + // { + // if (char.IsDigit(i.ArchiveCode[x])) + // bb += i.ArchiveCode[x]; + // } + // if (bb.Length > 0) + // { + // int convert = int.Parse(bb); + // codes.Add(convert); + // } + // } + // } + // if (checkOk) + // { + // item = codes.Max(); + // } + + // int sum = item + 1; + // string newcode = sum.ToString(); + // command.ArchiveCode = newcode; + // return Partial("./Create", command); + //} + + public IActionResult OnGetNewCreate() + { + // var currentAccout = _authHelper.CurrentAccountInfo(); + var permissionIds = _authHelper.GetPermissions(); + var list = _insuranceJobApplication.GetInsurancJob(); + var insuranceJob = list.Select(x => new InsuranceJobViewModel + { + Id = x.Id, + InsuranceJobTitle = x.InsuranceJobTitle + " | " + x.EconomicCode + }).ToList(); + + ; + var command = new CreateWorkshop + { + Employers = _EmployerApplication.GetAllEmployers(), + AccountsList = _accountRepository.GetAccounts(), + InsuranceJobViewModels = new SelectList(insuranceJob, "Id", "InsuranceJobTitle") + }; + + var res = _workshopApplication.GetWorkshop(); + var checkOk = res.Any(); + var item = 0; + + var codes = new List(); + foreach (var i in res) + { + var bb = string.Empty; + + if (i.ArchiveCode != null) + { + for (var x = 0; x < i.ArchiveCode.Length; x++) + if (char.IsDigit(i.ArchiveCode[x])) + bb += i.ArchiveCode[x]; + + if (bb.Length > 0) + { + var convert = int.Parse(bb); + codes.Add(convert); + } + } + } + + if (checkOk) item = codes.Max(); + + var sum = item + 1; + var newcode = sum.ToString(); + command.ArchiveCode = newcode; + command.PermissionIds = permissionIds; + // command.CurrentAccoutRoleId = currentAccout.RoleId; + return Partial("./Create4", command); + } + + public IActionResult OnPostCreate(CreateWorkshop command) + { + #region checkIsLegalAndNotIsLegal + + var resultIsLegal = new OperationResult(); + var selectEmployerList = _EmployerApplication.GetEmployers().Where(x => command.EmployerIdList.Contains(x.Id)) + .ToList(); + var isNotlegal = selectEmployerList.Where(x => x.IsLegal == "حقیقی").FirstOrDefault(); + var islegal = selectEmployerList.Where(x => x.IsLegal == "حقوقی").FirstOrDefault(); + + if (isNotlegal != null && islegal != null) + return new JsonResult(resultIsLegal.Failed( + "امکان انتخاب کارفرمای حقیقی و حقوقی به دلیل موانع قانونی در نرم افزار بصورت همزمان امکان پذیر نمی باشد")); + + #endregion + + var res = _workshopApplication.GetWorkshop(); + var checkNumber = false; + var checkExist = false; + + var a = command.ArchiveCode; + var bb = string.Empty; + var convert2 = 0; + if (!string.IsNullOrWhiteSpace(a)) + { + for (var x = 0; x < a.Length; x++) + if (char.IsDigit(a[x])) + bb += a[x]; + + if (bb.Length > 0) + { + checkNumber = true; + convert2 = int.Parse(bb); + } + else + { + checkNumber = false; + } + } + else + { + checkNumber = true; + } + + var codes = new List(); + foreach (var i in res) + { + var b2 = string.Empty; + + if (i.ArchiveCode != null) + { + for (var x = 0; x < i.ArchiveCode.Length; x++) + if (char.IsDigit(i.ArchiveCode[x])) + b2 += i.ArchiveCode[x]; + + if (b2.Length > 0) + { + var convert = int.Parse(b2); + codes.Add(convert); + } + } + } + + foreach (var item in codes) + if (item == convert2) + checkExist = true; + if (checkNumber) + { + //if (checkExist) + //{ + // var res3 = _workshopApplication.ExistErr(); + // return new JsonResult(res3); + //} + //Thread.Sleep(5000); + command.TypeOfInsuranceSend = command.TypeOfInsuranceSend == "false" ? "" : command.TypeOfInsuranceSend; + + command.InsuranceCode = !string.IsNullOrWhiteSpace(command.InsuranceCode) + ? command.InsuranceCode.ConvertToEnglish() + : ""; + command.ArchiveCode = !string.IsNullOrWhiteSpace(command.ArchiveCode) + ? command.ArchiveCode.ConvertToEnglish() + : ""; + command.AgreementNumber = !string.IsNullOrWhiteSpace(command.AgreementNumber) + ? command.AgreementNumber.ConvertToEnglish() + : ""; + command.TypeOfInsuranceSend = command.TypeOfInsuranceSend == "false" ? null : command.TypeOfInsuranceSend; + var result = _workshopApplication.Create(command); + return new JsonResult(result); + } + + var res2 = _workshopApplication.Err(); + return new JsonResult(res2); + //else + //{ + // var res3 = _workshopApplication.ExistErr(); + // return new JsonResult(res3); + //} + } + + public IActionResult OnPostZonelistLoad(int cityId) + { + var myZoneList = _zoneApplication.GetZoneListByCityId(cityId); + return new JsonResult(new + { + zoneList = myZoneList + }); + } + + public IActionResult OnGetEdit(long id) + { + var permissionIds = _authHelper.GetPermissions(); + // var currentAccout = _authHelper.CurrentAccountInfo(); + var list = _insuranceJobApplication.GetInsurancJob(); + var insuranceJob = list.Select(x => new InsuranceJobViewModel + { + Id = x.Id, + InsuranceJobTitle = x.InsuranceJobTitle + " | " + x.EconomicCode + }).ToList(); + + var workshop = _workshopApplication.GetDetails(id); + workshop.Employers = _EmployerApplication.GetAllEmployers(); + workshop.AccountsList = _accountRepository.GetAccounts(); + workshop.EmployerIdList = _workshopRepository.GetRelation(id); + workshop.AccountIdsList = _workshopRepository.GetWorkshopAccountRelation(id); + workshop.InsuranceJobViewModels = new SelectList(insuranceJob, "Id", "InsuranceJobTitle"); + Message = workshop.ArchiveCode; + workshop.PermissionIds = permissionIds; + //workshop.CurrentAccoutRoleId = currentAccout.RoleId; + return Partial("Edit4", workshop); + } + + public JsonResult OnPostEdit(EditWorkshop command) + { + if (ModelState.IsValid) + { + } + + #region checkIsLegalAndNotIsLegal + + var resultIsLegal = new OperationResult(); + var selectEmployerList = _EmployerApplication.GetEmployers().Where(x => command.EmployerIdList.Contains(x.Id)) + .ToList(); + var isNotlegal = selectEmployerList.Where(x => x.IsLegal == "حقیقی").FirstOrDefault(); + var islegal = selectEmployerList.Where(x => x.IsLegal == "حقوقی").FirstOrDefault(); + + if (isNotlegal != null && islegal != null) + return new JsonResult(resultIsLegal.Failed( + "امکان انتخاب کارفرمای حقیقی و حقوقی به دلیل موانع قانونی در نرم افزار بصورت همزمان امکان پذیر نمی باشد")); + + #endregion + + var workshop = _workshopApplication.GetDetails(command.Id); + var lastNumber = workshop.ArchiveCode; + var res = _workshopApplication.GetWorkshop(); + var checkNumber = false; + var checkExist = false; + var pration = new OperationResult(); + var a = command.ArchiveCode; + var bb = string.Empty; + var convert2 = 0; + if (!string.IsNullOrWhiteSpace(a)) + { + for (var x = 0; x < a.Length; x++) + if (char.IsDigit(a[x])) + bb += a[x]; + + if (bb.Length > 0) + { + checkNumber = true; + convert2 = int.Parse(bb); + } + else + { + checkNumber = false; + } + } + else + { + checkNumber = true; + } + + var codes = new List(); + foreach (var i in res) + { + var b2 = string.Empty; + + if (i.ArchiveCode != null && i.ArchiveCode != lastNumber) + { + for (var x = 0; x < i.ArchiveCode.Length; x++) + if (char.IsDigit(i.ArchiveCode[x])) + b2 += i.ArchiveCode[x]; + + if (b2.Length > 0) + { + var convert = int.Parse(b2); + codes.Add(convert); + } + } + } + + foreach (var item in codes) + if (item == convert2) + checkExist = true; + + if (checkNumber) + { + //var EmpoyersSelected = _EmployerRepository.Get(command.EmployerId); + //if (EmpoyersSelected.EmployerNo == null) + //{ + // EmpoyersSelected.EditEmployerNo(command.ArchiveCode); + //} + command.InsuranceCode = !string.IsNullOrWhiteSpace(command.InsuranceCode) + ? command.InsuranceCode.ConvertToEnglish() + : ""; + command.ArchiveCode = !string.IsNullOrWhiteSpace(command.ArchiveCode) + ? command.ArchiveCode.ConvertToEnglish() + : ""; + command.AgreementNumber = !string.IsNullOrWhiteSpace(command.AgreementNumber) + ? command.AgreementNumber.ConvertToEnglish() + : ""; + command.TypeOfInsuranceSend = command.TypeOfInsuranceSend == "false" ? null : command.TypeOfInsuranceSend; + var result = _workshopApplication.Edit(command); + + return new JsonResult(result); + } + + var res2 = _workshopApplication.Err(); + return new JsonResult(res2); + //else + //{ + // var res3 = _workshopApplication.ExistErr(); + // return new JsonResult(res3); + //} + } + + public IActionResult OnGetDetails(long id) + { + var wrk = _workshopApplication.GetDetails(id); + wrk.Employers = _EmployerApplication.GetEmployers(); + wrk.EmployerIdList = _workshopRepository.GetRelation(id); + return Partial("Details", wrk); + } + + public IActionResult OnGetShowPersonnelList(long id) + { + var result = _workshopApplication.GetConnectedPersonnels(id); + + var r = result.GroupBy(x => x.PersonName).Select(x => x.First()).ToList(); + var finalresult = new ConnectedPersonnelViewModel + { + ConnectedPersonnelViewModels = r.OrderBy(x => x.Black ? 1 : 0).ThenBy(x => x.PersonelCode).ToList() + }; + return Partial("ConnectedPersonnelsOld", finalresult); + } + + public IActionResult OnGetDeActive(long id) + { + var result = _workshopApplication.DeActive(id); + + if (result.IsSuccedded) + return new JsonResult(new + { + id = result.SendId, + sucsses = true, + message = result.Message + }); + return new JsonResult(new + { + sucsses = false, + message = result.Message + }); + + //Message = result.Message; + //return RedirectToPage("./Index"); + } + + public IActionResult OnGetAnnualConfirm(long id) + { + // var insurance = _insuranceListApplication.GetDetails(id); + return Partial("AnnualConfirm"); + } + + public IActionResult OnGetIsActive(long id) + { + var result = _workshopApplication.Active(id); + if (result.IsSuccedded) + return RedirectToPage("./Index"); + Message = result.Message; + return RedirectToPage("./Index"); + } + + public IActionResult OnPostGetEmployerName(int employerId) + { + // string names = ""; + var employer = _EmployerApplication.GetDetails(employerId); + + return new JsonResult(new + { + LName = employer.IsLegal == "حقوقی" ? employer.LName : employer.FName + " " + employer.LName, + employer.NationalId, + employer.Nationalcode, + IsLegal = employer.IsLegal == "حقوقی" ? true : false + }); + } + + public IActionResult OnGetContractAndCheckoutStatusYearly(long workshopId) + { + var today = DateTime.Now.ToFarsi(); + var year = today.Substring(0, 4); + var yearResultList = _yearlySalaryApplication.GetYears(); + var workshop = _workshopApplication.GetWorkshopInfo(workshopId); + WorkshopFullName = workshop.WorkshopFullName; + + var employeeResult = _workshopApplication.GetConnectedPersonnels(workshopId); + + var employeeList = employeeResult.GroupBy(x => x.EmployeeId) + .Select(x => x.First()) + .Where(x => x.ContractPerson) + .ToList(); + var command = new List(); + var groupList = new List(); + foreach (var employeeItems in employeeList) + { + var contractSearch = new ContractSearchModel + { + EmployeeId = employeeItems.EmployeeId, + WorkshopIds = workshopId, + Year = year + }; + var checkoutSearch = new CheckoutSearchModel + { + EmployeeId = employeeItems.EmployeeId, + WorkshopId = workshopId, + Year = year + }; + var contractResult = _contractApplication.Search(contractSearch); + var checkoutResult = _checkoutApplication.SimpleSearch(checkoutSearch); + + if (contractResult.Count > 0) + { + var divideList = new List(); + var ChekoutDivideList = new List(); + + foreach (var item in contractResult) + { + var divide = new ContractStatusDivide + { + ContractStart = item.ContarctStart, + ContractEnd = item.ContractEnd, + Year = item.ContarctStart.Substring(0, 4), + MonthStart = Convert.ToInt32(item.ContarctStart.Substring(5, 2)), + MonthEnd = Convert.ToInt32(item.ContractEnd.Substring(5, 2)), + SignaturStatus = item.Signature + }; + divideList.Add(divide); + } + + foreach (var item in checkoutResult) + { + var CheckoutDivide = new CheckoutStatusDivide + { + CheckoutStart = item.ContractStart, + CheckoutEnd = item.ContractEnd, + Year = item.ContractStart.Substring(0, 4), + MonthStart = Convert.ToInt32(item.ContractStart.Substring(5, 2)), + MonthEnd = Convert.ToInt32(item.ContractEnd.Substring(5, 2)), + SignaturStatus = item.Signature + }; + ChekoutDivideList.Add(CheckoutDivide); + } + + var contractByYear = divideList.GroupBy(x => x.Year).Select(x => x.First()).ToList(); + foreach (var yearItem in contractByYear) + { + var divided = divideList.Where(x => x.Year == yearItem.Year).ToList(); + var chDivided = ChekoutDivideList.Where(x => x.Year == yearItem.Year).ToList(); + if (chDivided.Count < 1) chDivided = new List(); + + var group = new ContractStatusGroup + { + WorkshopId = workshopId, + EmployeeId = employeeItems.EmployeeId, + Year = yearItem.Year, + ContractStatusDivideList = divided, + CheckoutStatusDivideList = chDivided + }; + + command.Add(new ContractAndCheckoutStatusYearlyViewModel + { + WorkshopId = workshopId, + EmployeeId = employeeItems.EmployeeId, + PersonName = employeeItems.PersonName, + ContractStatusGroupViewModel = group + }); + } + } + else + { + var group = new ContractStatusGroup + { + WorkshopId = workshopId, + EmployeeId = employeeItems.EmployeeId, + Year = "0", + ContractStatusDivideList = new List(), + CheckoutStatusDivideList = new List() + }; + command.Add(new ContractAndCheckoutStatusYearlyViewModel + { + WorkshopId = workshopId, + EmployeeId = employeeItems.EmployeeId, + PersonName = employeeItems.PersonName, + ContractStatusGroupViewModel = group + }); + } + } + + var finalResult = new ContractAndCheckoutStatusYearlyViewModel + { + Year = year, + YearList = yearResultList, + WorkshopId = workshopId, + WorkshopName = workshop.WorkshopFullName, + ContractAndCheckoutStatusYearlyList = command + }; + + return Partial("ContractAndCheckoutStatusYearly", finalResult); + } + + public IActionResult OnGetContractAndCheckoutStatusYearlyJson(long workshopId, string year) + { + var yearResultList = _yearlySalaryApplication.GetYears(); + var workshop = _workshopApplication.GetWorkshopInfo(workshopId); + WorkshopFullName = workshop.WorkshopFullName; + + var employeeResult = _workshopApplication.GetConnectedPersonnels(workshopId); + + var employeeList = employeeResult.GroupBy(x => x.EmployeeId) + .Select(x => x.First()) + .Where(x => x.ContractPerson) + .ToList(); + var command = new List(); + var groupList = new List(); + foreach (var employeeItems in employeeList) + { + var contractSearch = new ContractSearchModel + { + EmployeeId = employeeItems.EmployeeId, + WorkshopIds = workshopId, + Year = year + }; + var checkoutSearch = new CheckoutSearchModel + { + EmployeeId = employeeItems.EmployeeId, + WorkshopId = workshopId, + Year = year + }; + var contractResult = _contractApplication.Search(contractSearch); + var checkoutResult = _checkoutApplication.SimpleSearch(checkoutSearch); + + if (contractResult.Count > 0) + { + var divideList = new List(); + var ChekoutDivideList = new List(); + + foreach (var item in contractResult) + { + var divide = new ContractStatusDivide + { + ContractStart = item.ContarctStart, + ContractEnd = item.ContractEnd, + Year = item.ContarctStart.Substring(0, 4), + MonthStart = Convert.ToInt32(item.ContarctStart.Substring(5, 2)), + MonthEnd = Convert.ToInt32(item.ContractEnd.Substring(5, 2)), + SignaturStatus = item.Signature + }; + divideList.Add(divide); + } + + foreach (var item in checkoutResult) + { + var CheckoutDivide = new CheckoutStatusDivide + { + CheckoutStart = item.ContractStart, + CheckoutEnd = item.ContractEnd, + Year = item.ContractStart.Substring(0, 4), + MonthStart = Convert.ToInt32(item.ContractStart.Substring(5, 2)), + MonthEnd = Convert.ToInt32(item.ContractEnd.Substring(5, 2)), + SignaturStatus = item.Signature + }; + ChekoutDivideList.Add(CheckoutDivide); + } + + var contractByYear = divideList.GroupBy(x => x.Year).Select(x => x.First()).ToList(); + foreach (var yearItem in contractByYear) + { + var divided = divideList.Where(x => x.Year == yearItem.Year).ToList(); + var chDivided = ChekoutDivideList.Where(x => x.Year == yearItem.Year).ToList(); + if (chDivided.Count < 1) chDivided = new List(); + + var group = new ContractStatusGroup + { + WorkshopId = workshopId, + EmployeeId = employeeItems.EmployeeId, + Year = yearItem.Year, + ContractStatusDivideList = divided, + CheckoutStatusDivideList = chDivided + }; + + command.Add(new ContractAndCheckoutStatusYearlyViewModel + { + WorkshopId = workshopId, + EmployeeId = employeeItems.EmployeeId, + PersonName = employeeItems.PersonName, + ContractStatusGroupViewModel = group + }); + } + } + else + { + var group = new ContractStatusGroup + { + WorkshopId = workshopId, + EmployeeId = employeeItems.EmployeeId, + Year = "0", + ContractStatusDivideList = new List(), + CheckoutStatusDivideList = new List() + }; + command.Add(new ContractAndCheckoutStatusYearlyViewModel + { + WorkshopId = workshopId, + EmployeeId = employeeItems.EmployeeId, + PersonName = employeeItems.PersonName, + ContractStatusGroupViewModel = group + }); + } + } + + var finalResult = new ContractAndCheckoutStatusYearlyViewModel + { + Year = year, + YearList = yearResultList, + WorkshopId = workshopId, + WorkshopName = workshop.WorkshopFullName, + ContractAndCheckoutStatusYearlyList = command + }; + + return new JsonResult(new { finalResult }); + } + + #region NewByHeydari + + public IActionResult OnPostDeleteWorkshop(long id) + { + var result = _workshopApplication.DeleteWorkshop(id); + return new JsonResult(result); + } + + public IActionResult OnPostActiveWorkshop(long id) + { + var result = _workshopApplication.ActiveAll(id); + return new JsonResult(result); + } + + + public IActionResult OnGetWorkshopName(string searchText) + { + var result = _workshopApplication.GetWorkshopByTextSearch(searchText); + result = result.OrderBy(x => x.WorkshopFullName.Length).ToList(); + return new JsonResult(new + { + IsSuccedded = true, + mylist = result + }); + } + + public IActionResult OnGetEmployerName(string searchText) + { + var result = _EmployerApplication.GetEmployerWithFNameOrLName(searchText); + result = result.OrderBy(x => x.LName.Length).ToList(); + return new JsonResult(new + { + IsSuccedded = true, + mylist = result + }); + } + + #endregion +} \ No newline at end of file diff --git a/ServiceHost/Areas/Admin/Pages/Company/Workshops/clock.cshtml b/ServiceHost/Areas/Admin/Pages/Company/Workshops/clock.cshtml index 8638f556..cfb0712d 100644 --- a/ServiceHost/Areas/Admin/Pages/Company/Workshops/clock.cshtml +++ b/ServiceHost/Areas/Admin/Pages/Company/Workshops/clock.cshtml @@ -1,7 +1,7 @@ @model CompanyManagment.App.Contracts.WorkingHoursTemp.CreateWorkingHoursTemp -@Html.AntiForgeryToken() +@Html.AntiForgeryToken() @{ - - + } -
- ساعت کار -
- +
+
+ کارکرد مختلط +
+ + + + +
+
+ + + + + +
+ + +
+
+
+ + +
+ +
+ +
+
+
+
+ + + + + + + + + + +
+
+
+
+

دادمهرگستر


+

DadmehrGostar

+
+ +
+ +
+ + + +
+@*Header*@ +
+ + + + + + مقطع اول کار + + + + + + مدت استراحت + + + + + + + مقطع دوم کار + + + + + + + + + +
+
+ +@*شنبه*@ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+@*یکشنبه*@ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+@*دوشنبه*@ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +@*سه شنبه*@ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+@*چهارشنبه*@ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+@*پنجشنبه*@ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+@*جمعه*@ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+@*شنبه*@ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +@*یکشنبه*@ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+@*دوشنبه*@ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +@*سه شنبه*@ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+@*چهارشنبه*@ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+@*پنجشنبه*@ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+@*جمعه*@ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+@*شنبه*@ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +@*یکشنبه*@ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+@*دوشنبه*@ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +@*سه شنبه*@ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+@*چهارشنبه*@ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+@*پنجشنبه*@ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+@*جمعه*@ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+@*شنبه*@ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +@*یکشنبه*@ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+@*دوشنبه*@ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +@*سه شنبه*@ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+@*چهارشنبه*@ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+@*پنجشنبه*@ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+@*جمعه*@ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+
+ + +
+ + +
+@*Header*@ +
+ + + + + + مقطع اول کار + + + + + + مدت استراحت + + + + + + + + مقطع دوم کار + + + + + + + + + + +
+ +@*شنبه*@ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +@*یکشنبه*@ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+@*دوشنبه*@ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +@*سه شنبه*@ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+@*چهارشنبه*@ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+@*پنجشنبه*@ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+@*جمعه*@ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+
+
+@*آدرس*@ +
+
+
+
+ محل انجام کار 1 + +
+
+ محل انجام کار 2 + +
+
+
+
+ تست محاسبه +
+ + ذخیره + ذخیره + +
+ +
+ + + - - - + + + }
- - - - -
+ \ No newline at end of file diff --git a/ServiceHost/Areas/Admin/Pages/Company/YearlySalaries/Edit.cshtml b/ServiceHost/Areas/Admin/Pages/Company/YearlySalaries/Edit.cshtml index 8a2624f6..5b725259 100644 --- a/ServiceHost/Areas/Admin/Pages/Company/YearlySalaries/Edit.cshtml +++ b/ServiceHost/Areas/Admin/Pages/Company/YearlySalaries/Edit.cshtml @@ -1,9 +1,6 @@ -@using _0_Framework.Application -@model CompanyManagment.App.Contracts.YearlySalary.EditYearlySalary +@model CompanyManagment.App.Contracts.YearlySalary.EditYearlySalary @{ - - - }
- - - - -
+ \ No newline at end of file diff --git a/ServiceHost/Areas/Admin/Pages/Company/YearlySalaryTitles/Edit.cshtml b/ServiceHost/Areas/Admin/Pages/Company/YearlySalaryTitles/Edit.cshtml index 4c00954d..64fd4cf5 100644 --- a/ServiceHost/Areas/Admin/Pages/Company/YearlySalaryTitles/Edit.cshtml +++ b/ServiceHost/Areas/Admin/Pages/Company/YearlySalaryTitles/Edit.cshtml @@ -1,9 +1,6 @@ -@using _0_Framework.Application -@model CompanyManagment.App.Contracts.YearlySalaryTitles.EditTitle +@model CompanyManagment.App.Contracts.YearlySalaryTitles.EditTitle @{ - - - - int i = 0; + var i = 0; } - - - - + + - - - - - - - - + $('.add_project_file').click(function(e) { + e.preventDefault(); + const title = $(".items").val(); + const a = ($(".items").length) / 1; + $(".project_images").append( + `
${ + title}
`); + $(".itemborder").val(""); + }); + // Remove parent of 'remove' link when link is clicked. + $('.project_images').on('click', + '.remove_project_file', + function(e) { + e.preventDefault(); + $(this).closest('div.aline').remove(); + }); + \ No newline at end of file diff --git a/ServiceHost/Areas/Admin/Pages/Company/YearlySalaryTitles/Index.cshtml b/ServiceHost/Areas/Admin/Pages/Company/YearlySalaryTitles/Index.cshtml index 23d54fe8..4e9a6658 100644 --- a/ServiceHost/Areas/Admin/Pages/Company/YearlySalaryTitles/Index.cshtml +++ b/ServiceHost/Areas/Admin/Pages/Company/YearlySalaryTitles/Index.cshtml @@ -1,20 +1,17 @@ @page -@using CompanyManagment.App.Contracts.PersonalContractingParty -@using _0_Framework.Application -@using Microsoft.CodeAnalysis.CSharp.Syntax @model ServiceHost.Areas.Admin.Pages.Company.YearlySalaryTitles.IndexModel @{ -//string colaps = "in"; -//string act = "active"; -//int i = 1; + //string colaps = "in"; + //string act = "active"; + //int i = 1; } @{ - Layout = "Shared/_AdminLayout"; - ViewData["title"] = " عناوین مقادیر سالانه "; - - - - - - - - + + + + + + + - - -@* *@ - - @RenderSection("Styles", false) + + + @* *@ + + @RenderSection("Styles", false) - -
+ +
- -
- - - - +
+ + + + + + + +
+ +
+ +
+ + @RenderBody() + +
+ +
+ +
+ 2021 © Dadmehr Gostar. +
+ +
+ + - - - - -
- -
- -
- - @RenderBody() - -
- -
- -
- 2021 © Dadmehr Gostar. -
- -
- - +
+ + -
- - - + + +@**@ - - @* + + + + + + + + + + + + + + + + + + + +@* @@ -261,44 +259,42 @@ *@ - - - - @**@ + + + +@**@ - - + + - - + + - - + + - - + + - - + - @* *@ +@* *@ - - @RenderSection("Script", false) - @RenderSection("PanelScripts", required: false) +@RenderSection("Script", false) +@RenderSection("PanelScripts", false) @**@ - + diff --git a/ServiceHost/Areas/Admin/Pages/Shared/_AdminLayoutCopy.cshtml b/ServiceHost/Areas/Admin/Pages/Shared/_AdminLayoutCopy.cshtml index 44fd2616..20498738 100644 --- a/ServiceHost/Areas/Admin/Pages/Shared/_AdminLayoutCopy.cshtml +++ b/ServiceHost/Areas/Admin/Pages/Shared/_AdminLayoutCopy.cshtml @@ -1,42 +1,40 @@ -@using Microsoft.AspNetCore.Razor.Language.Intermediate -@using Version = _0_Framework.Application.Version +@using Version = _0_Framework.Application.Version - - - - + + + + - + - @ViewData["Title"] | دادمهر گستر + @ViewData["Title"] | دادمهر گستر - - + + - - - - - - + + + + + + - - + + - - - + + - - @**@ + + @**@ - - - - - - - - + + + + + + + - - - @* *@ + + + @* *@ - @RenderSection("Styles", false) + @RenderSection("Styles", false) @@ -76,31 +74,29 @@ @RenderBody() + +@**@ + + + + + + + + + + + + + - - @**@ + + + - - - - - - - - - - - - - - - - - - - - @* + +@* @@ -109,46 +105,38 @@ *@ - - - - @**@ + + + +@**@ - - + + - - + + - - + + - - + + - - - - - - - - + + + + + + + - - - - - @RenderSection("Script", false) +@RenderSection("Script", false) - - - - \ No newline at end of file + \ No newline at end of file diff --git a/ServiceHost/Areas/Admin/Pages/Shared/_Menu.cshtml b/ServiceHost/Areas/Admin/Pages/Shared/_Menu.cshtml index 2978a43d..ec8b68c1 100644 --- a/ServiceHost/Areas/Admin/Pages/Shared/_Menu.cshtml +++ b/ServiceHost/Areas/Admin/Pages/Shared/_Menu.cshtml @@ -1,8 +1,7 @@ -@using System.Reflection.Metadata +@using _0_Framework.Application @*@using _0_Framework.Infrastructure*@ -@inject _0_Framework.Application.IAuthHelper AuthHelper; +@inject IAuthHelper AuthHelper; @{ - - var btnActive = "btn-active"; - var btnDeactive = "btn-deactive"; - var inputDeactive = "input-deactive"; + var btnActive = "btn-active"; + var btnDeactive = "btn-deactive"; + var inputDeactive = "input-deactive"; } - - -
-
-
-
-
-
-

پرینت گروهی

-
-
- -
-
-
+
+
+
+
+
+

پرینت گروهی

+
+
+ +
+
+
- -
-
- +
+
+
+ + @section Script{ - -@* + + @* *@ - + }); + } \ No newline at end of file diff --git a/ServiceHost/Areas/Client/Pages/Company/Checkouts/CheckoutPrintAll.cshtml.cs b/ServiceHost/Areas/Client/Pages/Company/Checkouts/CheckoutPrintAll.cshtml.cs index be1c26fe..e10a2a23 100644 --- a/ServiceHost/Areas/Client/Pages/Company/Checkouts/CheckoutPrintAll.cshtml.cs +++ b/ServiceHost/Areas/Client/Pages/Company/Checkouts/CheckoutPrintAll.cshtml.cs @@ -1,240 +1,227 @@ -using System; -using System.Collections.Generic; -using System.Linq; using System.Text.RegularExpressions; -using System.Threading.Tasks; using CompanyManagment.App.Contracts.Checkout; using Microsoft.AspNetCore.Mvc; using Microsoft.AspNetCore.Mvc.RazorPages; -namespace ServiceHost.Areas.Client.Pages.Company.Checkouts +namespace ServiceHost.Areas.Client.Pages.Company.Checkouts; + +public class CheckoutPrintAllModel : PageModel { - public class CheckoutPrintAllModel : PageModel - { - private readonly ICheckoutApplication _checkoutApplication; - public List GroupPrintList; - public ChekoutDividPrintViewModel DividList; - public int StartPrint; - public int EndPrint; - public List printIdList; - public CheckoutGroupPrintViewModel sendIds; - public long WorkshopId; + private readonly ICheckoutApplication _checkoutApplication; + public ChekoutDividPrintViewModel DividList; + public int EndPrint; + public List GroupPrintList; + public List printIdList; + public CheckoutGroupPrintViewModel sendIds; + public int StartPrint; + public long WorkshopId; + public CheckoutPrintAllModel(ICheckoutApplication checkoutApplication) + { + _checkoutApplication = checkoutApplication; + } - public CheckoutPrintAllModel(ICheckoutApplication checkoutApplication) - { - _checkoutApplication = checkoutApplication; - } + public void OnGet(string idlist) + { + var ids = ExtractNumbers(idlist); + var resultList = new List(); - public void OnGet(string idlist) - { - var ids = ExtractNumbers(idlist); - var resultList = new List(); + var res = _checkoutApplication.PrintAll(ids); + WorkshopId = res.Select(x => x.WorkshopId).FirstOrDefault(); + var printCounter = res.Count(); + if (printCounter <= 25) + { + GroupPrintList = res; + var addToList = new CheckoutGroupPrintViewModel + { + CheckoutIdList = res.Select(x => x.Id).ToList(), + StartPrint = 1, + EndPrint = printCounter + }; - var res = _checkoutApplication.PrintAll(ids); - WorkshopId = res.Select(x => x.WorkshopId).FirstOrDefault(); - var printCounter = res.Count(); - if (printCounter <= 25) - { - GroupPrintList = res; - var addToList = new CheckoutGroupPrintViewModel() - { - CheckoutIdList = res.Select(x => x.Id).ToList(), - StartPrint = 1, - EndPrint = printCounter, - }; + resultList.Add(addToList); + var finalResult = new ChekoutDividPrintViewModel + { + CheckoutGroupPrintViewModels = resultList, + ButtonConter = resultList.Count + }; + DividList = finalResult; + } + else + { + var divide20 = printCounter / 20; + var multiple = printCounter - divide20 * 20; + if (multiple == 0) + { + for (var i = 1; i <= printCounter; i += 20) + { + var start = i; + var end = i + 19; + if (i == 1) + { + GroupPrintList = res.Where(x => x.PrintCounter >= start && x.PrintCounter <= end).ToList(); - resultList.Add(addToList); - var finalResult = new ChekoutDividPrintViewModel() - { - CheckoutGroupPrintViewModels = resultList, - ButtonConter = resultList.Count, - }; - DividList = finalResult; - } - else - { - var divide20 = printCounter / 20; - var multiple = printCounter - (divide20 * 20); - if (multiple == 0) - { - for (int i = 1; i <= printCounter; i += 20) - { - var start = i; - var end = i + 19; - if (i == 1) - { - GroupPrintList = res.Where(x => x.PrintCounter >= start && x.PrintCounter <= end).ToList(); - - var addToList = new CheckoutGroupPrintViewModel() - { - CheckoutIdList = res.Where(x => x.PrintCounter >= start && x.PrintCounter <= end).Select(x => x.Id).ToList(), - StartPrint = start, - EndPrint = end, - }; + var addToList = new CheckoutGroupPrintViewModel + { + CheckoutIdList = res.Where(x => x.PrintCounter >= start && x.PrintCounter <= end) + .Select(x => x.Id).ToList(), + StartPrint = start, + EndPrint = end + }; - resultList.Add(addToList); - } - else - { - var addToList = new CheckoutGroupPrintViewModel() - { - CheckoutIdList = res.Where(x => x.PrintCounter >= start && x.PrintCounter <= end).Select(x => x.Id).ToList(), - StartPrint = start, - EndPrint = end, - }; - resultList.Add(addToList); - } - + resultList.Add(addToList); + } + else + { + var addToList = new CheckoutGroupPrintViewModel + { + CheckoutIdList = res.Where(x => x.PrintCounter >= start && x.PrintCounter <= end) + .Select(x => x.Id).ToList(), + StartPrint = start, + EndPrint = end + }; + resultList.Add(addToList); + } + } - } + var finalResult = new ChekoutDividPrintViewModel + { + CheckoutGroupPrintViewModels = resultList, + ButtonConter = resultList.Count + }; + DividList = finalResult; + } + else if (multiple <= 5) + { + var endOfround = 0; - var finalResult = new ChekoutDividPrintViewModel() - { - CheckoutGroupPrintViewModels = resultList, - ButtonConter = resultList.Count, - }; - DividList = finalResult; + for (var i = 1; i <= printCounter - 26; i += 20) + { + var start = i; + var end = i + 19; + if (i == 1) + { + GroupPrintList = res.Where(x => x.PrintCounter >= start && x.PrintCounter <= end).ToList(); - } - else if (multiple <= 5) - { - int endOfround = 0; - - for (int i = 1; i <= printCounter-26; i += 20) - { - var start = i; - var end = i + 19; - - if (i == 1) - { - GroupPrintList = res.Where(x => x.PrintCounter >= start && x.PrintCounter <= end).ToList(); - - endOfround = end; - var addToList = new CheckoutGroupPrintViewModel() - { - CheckoutIdList = res.Where(x => x.PrintCounter >= start && x.PrintCounter <= end).Select(x => x.Id).ToList(), - StartPrint = start, - EndPrint = end, - }; - - resultList.Add(addToList); - } - else - { - var addToList = new CheckoutGroupPrintViewModel() - { - CheckoutIdList = res.Where(x => x.PrintCounter >= start && x.PrintCounter <= end).Select(x => x.Id).ToList(), - StartPrint = start, - EndPrint = end, - }; - endOfround = end; - resultList.Add(addToList); - } + endOfround = end; + var addToList = new CheckoutGroupPrintViewModel + { + CheckoutIdList = res.Where(x => x.PrintCounter >= start && x.PrintCounter <= end) + .Select(x => x.Id).ToList(), + StartPrint = start, + EndPrint = end + }; + resultList.Add(addToList); + } + else + { + var addToList = new CheckoutGroupPrintViewModel + { + CheckoutIdList = res.Where(x => x.PrintCounter >= start && x.PrintCounter <= end) + .Select(x => x.Id).ToList(), + StartPrint = start, + EndPrint = end + }; + endOfround = end; + resultList.Add(addToList); + } + } - } + var count = res.Where(x => x.PrintCounter > endOfround).ToList(); + var addLastPart = new CheckoutGroupPrintViewModel + { + CheckoutIdList = res.Where(x => x.PrintCounter > endOfround).Select(x => x.Id).ToList(), + StartPrint = count.Select(x => x.PrintCounter).FirstOrDefault(), + EndPrint = count.Select(x => x.PrintCounter).LastOrDefault() + }; + resultList.Add(addLastPart); + var finalResult = new ChekoutDividPrintViewModel + { + CheckoutGroupPrintViewModels = resultList, + ButtonConter = resultList.Count + }; + DividList = finalResult; + } + else if (multiple > 5) + { + var endOfround = 0; + var pcounter = multiple + 1; + for (var i = 1; i <= printCounter - pcounter; i += 20) + { + var start = i; + var end = i + 19; - var count = res.Where(x => x.PrintCounter > endOfround).ToList(); - var addLastPart = new CheckoutGroupPrintViewModel() - { - CheckoutIdList = res.Where(x => x.PrintCounter > endOfround).Select(x => x.Id).ToList(), - StartPrint = count.Select(x=>x.PrintCounter).FirstOrDefault(), - EndPrint = count.Select(x => x.PrintCounter).LastOrDefault(), - }; - resultList.Add(addLastPart); - var finalResult = new ChekoutDividPrintViewModel() - { - CheckoutGroupPrintViewModels = resultList, - ButtonConter = resultList.Count, - }; - DividList = finalResult; - }else if (multiple > 5) - { - int endOfround = 0; - var pcounter = multiple + 1; - for (int i = 1; i <= printCounter - pcounter; i += 20) - { - var start = i; - var end = i + 19; + if (i == 1) + { + GroupPrintList = res.Where(x => x.PrintCounter >= start && x.PrintCounter <= end).ToList(); - if (i == 1) - { - GroupPrintList = res.Where(x => x.PrintCounter >= start && x.PrintCounter <= end).ToList(); + endOfround = end; + var addToList = new CheckoutGroupPrintViewModel + { + CheckoutIdList = res.Where(x => x.PrintCounter >= start && x.PrintCounter <= end) + .Select(x => x.Id).ToList(), + StartPrint = start, + EndPrint = end + }; - endOfround = end; - var addToList = new CheckoutGroupPrintViewModel() - { - CheckoutIdList = res.Where(x => x.PrintCounter >= start && x.PrintCounter <= end).Select(x => x.Id).ToList(), - StartPrint = start, - EndPrint = end, - }; + resultList.Add(addToList); + } + else + { + var addToList = new CheckoutGroupPrintViewModel + { + CheckoutIdList = res.Where(x => x.PrintCounter >= start && x.PrintCounter <= end) + .Select(x => x.Id).ToList(), + StartPrint = start, + EndPrint = end + }; + endOfround = end; + resultList.Add(addToList); + } + } - resultList.Add(addToList); - } - else - { - var addToList = new CheckoutGroupPrintViewModel() - { - CheckoutIdList = res.Where(x => x.PrintCounter >= start && x.PrintCounter <= end).Select(x => x.Id).ToList(), - StartPrint = start, - EndPrint = end, - }; - endOfround = end; - resultList.Add(addToList); - } + var count = res.Where(x => x.PrintCounter > endOfround).ToList(); + var addLastPart = new CheckoutGroupPrintViewModel + { + CheckoutIdList = res.Where(x => x.PrintCounter > endOfround).Select(x => x.Id).ToList(), + StartPrint = count.Select(x => x.PrintCounter).FirstOrDefault(), + EndPrint = count.Select(x => x.PrintCounter).LastOrDefault() + }; + resultList.Add(addLastPart); + var finalResult = new ChekoutDividPrintViewModel + { + CheckoutGroupPrintViewModels = resultList, + ButtonConter = resultList.Count + }; + DividList = finalResult; + } + } + } + public IActionResult OnGetPrintAll(CheckoutGroupPrintViewModel sendIds) + { + var res = _checkoutApplication.PrintAll(sendIds.CheckoutIdList); + var result = new CheckoutGroupPrintViewModel + { + CheckoutViewModels = res + }; + return Partial("PrintAll", result); + } - } + private static List ExtractNumbers(string input) + { + var numbers = new List(); + var pattern = @"\d+"; // Matches one or more digits - var count = res.Where(x => x.PrintCounter > endOfround).ToList(); - var addLastPart = new CheckoutGroupPrintViewModel() - { - CheckoutIdList = res.Where(x => x.PrintCounter > endOfround).Select(x => x.Id).ToList(), - StartPrint = count.Select(x => x.PrintCounter).FirstOrDefault(), - EndPrint = count.Select(x => x.PrintCounter).LastOrDefault(), - }; - resultList.Add(addLastPart); - var finalResult = new ChekoutDividPrintViewModel() - { - CheckoutGroupPrintViewModels = resultList, - ButtonConter = resultList.Count, - }; - DividList = finalResult; - } - } + var matches = Regex.Matches(input, pattern); - } + foreach (Match match in matches) + if (long.TryParse(match.Value, out var number)) + numbers.Add(number); - public IActionResult OnGetPrintAll(CheckoutGroupPrintViewModel sendIds) - { - - var res = _checkoutApplication.PrintAll(sendIds.CheckoutIdList); - var result = new CheckoutGroupPrintViewModel() - { - CheckoutViewModels = res, - }; - return Partial("PrintAll", result); - } - - static List ExtractNumbers(string input) - { - List numbers = new List(); - string pattern = @"\d+"; // Matches one or more digits - - MatchCollection matches = Regex.Matches(input, pattern); - - foreach (Match match in matches) - { - if (long.TryParse(match.Value, out long number)) - { - numbers.Add(number); - } - } - - return numbers; - } - } -} + return numbers; + } +} \ No newline at end of file diff --git a/ServiceHost/Areas/Client/Pages/Company/Checkouts/CustomSet.cshtml b/ServiceHost/Areas/Client/Pages/Company/Checkouts/CustomSet.cshtml index e6c4687d..136fd7d9 100644 --- a/ServiceHost/Areas/Client/Pages/Company/Checkouts/CustomSet.cshtml +++ b/ServiceHost/Areas/Client/Pages/Company/Checkouts/CustomSet.cshtml @@ -1,6 +1,6 @@ @model CompanyManagment.App.Contracts.Checkout.CheckoutViewModel @{ - } -
- - - -
- +
+ + + +
+ \ No newline at end of file diff --git a/ServiceHost/Areas/Client/Pages/Company/Checkouts/Index.cshtml b/ServiceHost/Areas/Client/Pages/Company/Checkouts/Index.cshtml index 3cf17009..9642748b 100644 --- a/ServiceHost/Areas/Client/Pages/Company/Checkouts/Index.cshtml +++ b/ServiceHost/Areas/Client/Pages/Company/Checkouts/Index.cshtml @@ -1,16 +1,16 @@ @page @using Version = _0_Framework.Application.Version -@model ServiceHost.Areas.Client.Pages.Company.Checkouts.IndexModel +@model IndexModel @section Styles { - - - - - - + + + + + + - - - var btnActive = "btn-active"; - var btnDeactive = "btn-deactive"; - var inputDeactive = "input-deactive"; + + var btnActive = "btn-active"; + var btnDeactive = "btn-deactive"; + var inputDeactive = "input-deactive"; } + + + + + + + + +} + \ No newline at end of file diff --git a/ServiceHost/Areas/Client/Pages/Company/Checkouts/PrintOne.cshtml b/ServiceHost/Areas/Client/Pages/Company/Checkouts/PrintOne.cshtml index 226635df..3301f9ba 100644 --- a/ServiceHost/Areas/Client/Pages/Company/Checkouts/PrintOne.cshtml +++ b/ServiceHost/Areas/Client/Pages/Company/Checkouts/PrintOne.cshtml @@ -1,9 +1,6 @@ -@using _0_Framework.Application -@using System.Security.Cryptography.X509Certificates -@model CompanyManagment.App.Contracts.Checkout.CheckoutViewModel +@model CompanyManagment.App.Contracts.Checkout.CheckoutViewModel @{ - - - } - int i = 1; - string zeropscode = "zero-ps-code tooltip-container"; - +} + var i = 1; + var zeropscode = "zero-ps-code tooltip-container"; + + + - - }
-
-
- +
+
+ - - - - + + + + @{ - if (@Model.HavingPersonel) - { -
-
- -

ایجاد قرارداد گروهی خودکار

-
- - -

@Model.workshopName

-
-
+ if (Model.HavingPersonel) + { +
+
+ +

ایجاد قرارداد گروهی خودکار

+
+ + +

@Model.workshopName

+
+
-
-
- @*اتوماتیک*@ -
-
- -

ایجاد قرارداد بصورت خودکار

-
-
-
-
-
- تاریخ شروع - +
+
+ @*اتوماتیک*@ +
+
+ +

ایجاد قرارداد بصورت خودکار

+
+
+
+
+
+ تاریخ شروع + -
-
- تاریخ پایان - -
+
+
+ تاریخ پایان + +
-
- -
- @*دستی*@ -
-
-
- قرارداد یک ماهه -
-
- قرارداد یک ماهه -
-
+
- +
+ @*دستی*@ +
+
+
+ قرارداد یک ماهه +
+
+ قرارداد یک ماهه +
+
-
-
+ - +
+
-
-
-
-
-
- بیشتر از یک ماه -
-
- بیشتر از یک ماه -
-
- تاریخ شروع - + -
-
+
+
+
+
+
+ بیشتر از یک ماه +
+
+ بیشتر از یک ماه +
+
+ تاریخ شروع + + +
+
- تاریخ پایان - -
-
-
-
-
تاریخ پایان + +
+
+
+
+ -
-
-
-
-
-
-

لیست پرسنل

-
-
-
-
- - - + + +
+
+
+
+
+
+

لیست پرسنل

+
+
+
+
+
+ + - - + - - - - - - - - - - + + + + + + + + + + + + - - + - - + عملیات + - @foreach (var item in Model.EmployeeList) - { - - + + + - @* + @foreach (var item in Model.EmployeeList) + { + + + + @* @@ -602,478 +598,524 @@ *@ - - + + - - if (@item.PersonnelCode == 0) - { - - این پرسنل کد پرسنلی ندارد
- می توانید در باکس زیر کد پرسنلی را تعیین نمایید
-  
- - - تایید - -
+ + @item.EmployeeName + + - + + + + + + @{ + i++; + } + + + } + +
# - - - - + # + + - کد پرسنلیپرسنلسمتنوع قراردادمدت قراردادتاریخ شروعتاریخ پایانکد پرسنلیپرسنلسمتنوع قراردادمدت قراردادتاریخ شروعتاریخ پایان - - عملیات - -
@i - - @i + + @item.PersonnelCode - - @{ + + @item.PersonnelCode + + @{ + if (item.PersonnelCode == 0) + { + + این پرسنل کد پرسنلی ندارد
+ می توانید در باکس زیر کد پرسنلی را تعیین نمایید
+  
+ + + تایید + +
+ } + } +
- } - } - + + @item.JobType + @{ + if (item.JobType == null) + { + سمت پرسنل مشخص نشده است + } + } + + + + - @item.EmployeeName - - + + + + + + + + + + + + + +
+
+
+
+
+
+
+ } + else + { +
@Model.workshopName هیچ پرسنلی ندارد
+ + بازگشت + + } - @item.JobType - @{ - - if (@item.JobType == null) - { - سمت پرسنل مشخص نشده است - - } - } - - - - - + // -
-
-
- } - else - { -
@Model.workshopName هیچ پرسنلی ندارد
- - بازگشت - - } + // - // + //
+ //
+ //
} - - + + @section Script { - - - - - - + + + + + - - + + - @* + @* *@ -} - - +} \ No newline at end of file diff --git a/ServiceHost/Areas/Client/Pages/Company/Contracts/AutoExtension.cshtml.cs b/ServiceHost/Areas/Client/Pages/Company/Contracts/AutoExtension.cshtml.cs index 6bfa3565..aa936c83 100644 --- a/ServiceHost/Areas/Client/Pages/Company/Contracts/AutoExtension.cshtml.cs +++ b/ServiceHost/Areas/Client/Pages/Company/Contracts/AutoExtension.cshtml.cs @@ -1,16 +1,10 @@ -using System; -using System.Collections.Generic; using System.Diagnostics.CodeAnalysis; -using System.Globalization; -using System.Linq; -using System.Threading.Tasks; using _0_Framework.Application; using Company.Domain.ContractAgg; using Company.Domain.HolidayItemAgg; using Company.Domain.YearlySalaryAgg; using CompanyManagment.App.Contracts.Checkout; using CompanyManagment.App.Contracts.Contract; -using CompanyManagment.App.Contracts.Employee; using CompanyManagment.App.Contracts.LeftWork; using CompanyManagment.App.Contracts.PersonnleCode; using CompanyManagment.App.Contracts.WorkingHoursTemp; @@ -18,4753 +12,4532 @@ using CompanyManagment.App.Contracts.Workshop; using CompanyManagment.App.Contracts.YearlySalary; using Microsoft.AspNetCore.Mvc; using Microsoft.AspNetCore.Mvc.RazorPages; -using Microsoft.CodeAnalysis.CSharp.Syntax; -using Microsoft.Extensions.Logging; -using Microsoft.VisualBasic; using PersianTools.Core; -namespace ServiceHost.Areas.Client.Pages.Company.Contracts +namespace ServiceHost.Areas.Client.Pages.Company.Contracts; + +public class AutoExtensionModel : PageModel { - public class AutoExtensionModel : PageModel - { - private readonly IWorkshopApplication _workshopApplication; - private readonly ILeftWorkApplication _leftWorkApplication; - private readonly IPersonnelCodeApplication _personnelCodeApplication; - private readonly IContractApplication _contractApplication; - private readonly ICheckoutApplication _checkoutApplication; - private readonly IWorkingHoursTempApplication _workingHoursTempApplication; - private readonly IHolidayItemRepository _holidayItemRepository; - private readonly IYearlySalaryRepository _yearlySalaryRepository; - private readonly IContractRepository _contractRepository; - private readonly IYearlySalaryApplication _yearlySalaryApplication; - public string workshopName { get; set; } - public string FirstPersonStartWork { get; set; } - public string End { get; set; } - public bool HavingPersonel { get; set; } - public long MaxPersonnelCode { get; set; } - public List EmployeeList; - private string InterferenceMessage = string.Empty; - public long WorkshopId { get; set; } - public string ArchiveCode { get; private set; } - public string WAddress1 { get; set; } - public long EmployerId { get; set; } - public List YearlyList; - - public AutoExtensionModel(IWorkshopApplication workshopApplication, ILeftWorkApplication leftWorkApplication, IPersonnelCodeApplication personnelCodeApplication, IContractApplication contractApplication, ICheckoutApplication checkoutApplication, IWorkingHoursTempApplication workingHoursTempApplication, IHolidayItemRepository holidayItemRepository, IYearlySalaryRepository yearlySalaryRepository, IContractRepository contractRepository, IYearlySalaryApplication yearlySalaryApplication) - { - _workshopApplication = workshopApplication; - _leftWorkApplication = leftWorkApplication; - _personnelCodeApplication = personnelCodeApplication; - _contractApplication = contractApplication; - _checkoutApplication = checkoutApplication; - _workingHoursTempApplication = workingHoursTempApplication; - _holidayItemRepository = holidayItemRepository; - _yearlySalaryRepository = yearlySalaryRepository; - _contractRepository = contractRepository; - _yearlySalaryApplication = yearlySalaryApplication; - } - - public void OnGet(long id) - { - var selctedWorkshop = _workshopApplication.GetDetails(id); - workshopName = selctedWorkshop?.WorkshopFullName; - YearlyList = - _yearlySalaryApplication.GetYears(); - var employerId = selctedWorkshop.EmployerIdList.FirstOrDefault()!; - var LeftWorkSerchModel = new LeftWorkSearchModel() - { - WorkshopId = id, - }; - var LeftWorkList = _leftWorkApplication.search(LeftWorkSerchModel); - var personnelCodeSearch = new PersonnelCodeSearchModel() - { - WorkshopId = id, - }; - var pcodes = _personnelCodeApplication.Search(personnelCodeSearch); - if (pcodes.Any(x => x.PersonnelCode > 0)) - { - MaxPersonnelCode = pcodes.Select(x => x.PersonnelCode).Max(); - MaxPersonnelCode += 1; - } - else - { - MaxPersonnelCode = 1; - } - - - - if (LeftWorkList.Count > 0) - { - HavingPersonel = true; - var firstStartWork = LeftWorkList.OrderBy(x => x.StartWorkDateGr).FirstOrDefault(); - var personelList = LeftWorkList.GroupBy(x => x.EmployeeId).Select(x => x.First()).ToList(); - //FirstPersonStartWork = firstStartWork.StartWorkDateGr.ToFarsi(); - //End = DateTime.Now.ToFarsi(); - personelList = personelList.OrderBy(x => x.StartWorkDateGr).ToList(); - if (!string.IsNullOrWhiteSpace(selctedWorkshop.Address)) - { - selctedWorkshop.Address = $"{selctedWorkshop.State} - {selctedWorkshop.City} - {selctedWorkshop.Address}"; - } - - WorkshopId = id; - ArchiveCode = selctedWorkshop.ArchiveCode; - WAddress1 = selctedWorkshop.Address; - EmployerId = selctedWorkshop.EmployerIdList.FirstOrDefault(); - EmployeeList = personelList.Select(x => new ContractViweModel() - { - EmployeeId = x.EmployeeId, - EmployeeName = x.EmployeeFullName, - ContarctStart = FirstPersonStartWork, - ContractEnd = End, - WorkshopIds = id, - PersonnelCode = pcodes.Any(p => p.EmployeeId == x.EmployeeId) == true ? pcodes.FirstOrDefault(p => p.EmployeeId == x.EmployeeId)!.PersonnelCode : 0, - JobType = x.JobName, - JobTypeId = x.JobId, - EmployerId = employerId, - ArchiveCode = selctedWorkshop.ArchiveCode, - WorkshopAddress1 = selctedWorkshop.Address - - - - - - }).OrderBy(x => x.PersonnelCode).ToList(); - - } - else - { - HavingPersonel = false; - - } - - - } - - public IActionResult OnGetContractStatus(long employeeId, long workshopId, string employeeName, string workshopname) - { - var command = new ContractStatusViewModel(); - var contractSearch = new ContractSearchModel() - { - EmployeeId = employeeId, - WorkshopIds = workshopId, - }; - var checkoutSearch = new CheckoutSearchModel() - { - EmployeeId = employeeId, - WorkshopId = workshopId, - }; - var contractResult = _contractApplication.Search(contractSearch); - var checkoutResult = _checkoutApplication.SimpleSearch(checkoutSearch); - - if (contractResult.Count > 0) - { - var divideList = new List(); - var ChekoutDivideList = new List(); - - var groupList = new List(); - - foreach (var item in contractResult) - { - - var divide = new ContractStatusDivide() - { - - ContractStart = item.ContarctStart, - ContractEnd = item.ContractEnd, - Year = item.ContarctStart.Substring(0, 4), - MonthStart = Convert.ToInt32(item.ContarctStart.Substring(5, 2)), - MonthEnd = Convert.ToInt32(item.ContractEnd.Substring(5, 2)), - SignaturStatus = item.Signature, - - }; - divideList.Add(divide); - - } - foreach (var item in checkoutResult) - { - - var CheckoutDivide = new CheckoutStatusDivide() - { - - CheckoutStart = item.ContractStart, - CheckoutEnd = item.ContractEnd, - Year = item.ContractStart.Substring(0, 4), - MonthStart = Convert.ToInt32(item.ContractStart.Substring(5, 2)), - MonthEnd = Convert.ToInt32(item.ContractEnd.Substring(5, 2)), - SignaturStatus = item.Signature, - - }; - ChekoutDivideList.Add(CheckoutDivide); - - } - var contractByYear = divideList.GroupBy(x => x.Year).Select(x => x.First()).ToList(); - foreach (var year in contractByYear) - { - var divided = divideList.Where(x => x.Year == year.Year).ToList(); - var chDivided = ChekoutDivideList.Where(x => x.Year == year.Year).ToList(); - if (chDivided.Count < 1) - { - chDivided = new List(); - } - - var group = new ContractStatusGroup() - { - Year = year.Year, - ContractStatusDivideList = divided, - CheckoutStatusDivideList = chDivided, - - }; - groupList.Add(group); - - } - - command.EmployeeName = employeeName; - command.WorkshopName = workshopname; - command.HavingContract = true; - command.ContractStatusGroupList = groupList; - } - else - { - command.EmployeeName = employeeName; - command.WorkshopName = workshopname; - command.HavingContract = false; - } - - - return Partial("ContractStatus", command); - } - - public IActionResult OnGetClock(long employeeId, long workshopId, string workshopAddress, long personelCode,long jobId,string startContract,string endContract, string employeeName) - { - string psCodeZeroCheck = ""; - string jobIdZeroCheck = ""; - string leftWorkCheckExist = ""; - string dateValid = ""; - string getWorkDateHide = ""; - if (personelCode == 0) - psCodeZeroCheck = $"برای {employeeName} در این کارگاه کد پرسنلی مشخص نشده است"; - if (jobId == 0) - jobIdZeroCheck = $" برای {employeeName} در این کارگاه سمت مشخص نشده است"; - - - var leftWorkSerachModel = new LeftWorkSearchModel() - { - EmployeeId = employeeId, - WorkshopId = workshopId, - }; - var start = startContract.ToGeorgianDateTime(); - var end = endContract.ToGeorgianDateTime(); - var leftWoekSerchResult = _leftWorkApplication.search(leftWorkSerachModel); - if (leftWoekSerchResult.Count > 0) - { - getWorkDateHide = leftWoekSerchResult.OrderBy(x => x.StartWorkDateGr).FirstOrDefault()?.StartWorkDate; - var check = leftWoekSerchResult.FirstOrDefault(x => x.StartWorkDateGr <= start && - x.LeftWorkDateGr > start); - - if (check != null) - { - var leftWorkDate = check.LeftWorkDateGr.ToFarsi(); - - if (leftWorkDate != "1500/01/01") - { - var endOfmonth = leftWorkDate.FindeEndOfMonth(); - var endOfMonthGr = endOfmonth.ToGeorgianDateTime(); - if (end <= endOfMonthGr) - { - - } - else - { - leftWorkCheckExist = $" برای {employeeName} در بازه تاریخ وارد شده شروع به کار وجود ندارد"; - } - - } - - } - else - { - leftWorkCheckExist = $" برای {employeeName} در بازه تاریخ وارد شده شروع به کار وجود ندارد"; - - } - } - - var contractExistCheck = _contractRepository.ContractStartCheck(start, end, employeeId, workshopId); - if (start > end) - dateValid = "تاریخ شروع از تاریخ پایان بزرگتر است"; - - if (start == end) - dateValid = "تاریخ شروع و تاریخ پایان برابر وارد شده اند"; - - - - if (!string.IsNullOrWhiteSpace(psCodeZeroCheck) || !string.IsNullOrWhiteSpace(jobIdZeroCheck) - || !string.IsNullOrWhiteSpace(leftWorkCheckExist) || !string.IsNullOrWhiteSpace(contractExistCheck) - || !string.IsNullOrWhiteSpace(dateValid)) - { - var alarm = new AlarmViewModel() - { - PersonnelCodeZeroCheck = psCodeZeroCheck, - JobIdZeroCheck = jobIdZeroCheck, - LeftWorkExistCheck = leftWorkCheckExist, - ContractExistCheck = contractExistCheck, - DateValidCheck = dateValid, - EmployeeName = employeeName - }; - return Partial("Alert", alarm); - } - else - { - var result = _workingHoursTempApplication.GetByWorkshopIdAndEmployeeId(workshopId, employeeId); - if (result == null) - { - result = new CreateWorkingHoursTemp(); - } - //تفکیک ساعات استراحت - #region RestTimeSplit - - if (result.ShiftWork == "1") - { - ////////تک شیفت - var restTime = result.RestTime; - result.RestTime = restTime.RestTimeSplit(); - result.RestTimeMin = restTime.RestTimeMinSplit(); - var restTimeYekshanbeh = result.RestTimeYekshanbeh; - result.RestTimeYekshanbeh = restTimeYekshanbeh.RestTimeSplit(); - result.RestTimeYekshanbehMin = restTimeYekshanbeh.RestTimeMinSplit(); - var restTimeDoshanbeh = result.RestTimeDoshanbeh; - result.RestTimeDoshanbeh = restTimeDoshanbeh.RestTimeSplit(); - result.RestTimeDoshanbehMin = restTimeDoshanbeh.RestTimeMinSplit(); - var restTimeSeshanbeh = result.RestTimeSeshanbeh; - result.RestTimeSeshanbeh = restTimeSeshanbeh.RestTimeSplit(); - result.RestTimeSeshanbehMin = restTimeSeshanbeh.RestTimeMinSplit(); - var restTimeCheharshanbeh = result.RestTimeCheharshanbeh; - result.RestTimeCheharshanbeh = restTimeCheharshanbeh.RestTimeSplit(); - result.RestTimeCheharshanbehMin = restTimeCheharshanbeh.RestTimeMinSplit(); - var restTimePanjshanbeh = result.RestTimePanjshanbeh; - result.RestTimePanjshanbeh = restTimePanjshanbeh.RestTimeSplit(); - result.RestTimePanjshanbehMin = restTimePanjshanbeh.RestTimeMinSplit(); - var restTimeJomeh = result.RestTimeJomeh; - result.RestTimeJomeh = restTimeJomeh.RestTimeSplit(); - result.RestTimeJomehMin = restTimeJomeh.RestTimeMinSplit(); - } - else if (result.ShiftWork == "4") - { - // هفتگی - - #region Week1 - - var restTimeShanbe1 = result.RestTimeShanbe1; - result.RestTimeShanbe1 = restTimeShanbe1.RestTimeSplit(); - result.RestTimeShanbe1Min = restTimeShanbe1.RestTimeMinSplit(); - var restTimeYekShanbe1 = result.RestTimeYekShanbe1; - result.RestTimeYekShanbe1 = restTimeYekShanbe1.RestTimeSplit(); - result.RestTimeYekShanbe1Min = restTimeYekShanbe1.RestTimeMinSplit(); - var restTimeDoShanbe1 = result.RestTimeDoShanbe1; - result.RestTimeDoShanbe1 = restTimeDoShanbe1.RestTimeSplit(); - result.RestTimeDoShanbe1Min = restTimeDoShanbe1.RestTimeMinSplit(); - var restTimeSeShanbe1 = result.RestTimeSeShanbe1; - result.RestTimeSeShanbe1 = restTimeSeShanbe1.RestTimeSplit(); - result.RestTimeSeShanbe1Min = restTimeSeShanbe1.RestTimeMinSplit(); - var restTimeCheharShanbe1 = result.RestTimeCheharShanbe1; - result.RestTimeCheharShanbe1 = restTimeCheharShanbe1.RestTimeSplit(); - result.RestTimeCheharShanbe1Min = restTimeCheharShanbe1.RestTimeMinSplit(); - var restTimePanjShanbe1 = result.RestTimePanjShanbe1; - result.RestTimePanjShanbe1 = restTimePanjShanbe1.RestTimeSplit(); - result.RestTimePanjShanbe1Min = restTimePanjShanbe1.RestTimeMinSplit(); - var restTimeJome1 = result.RestTimeJome1; - result.RestTimeJome1 = restTimeJome1.RestTimeSplit(); - result.RestTimeJome1Min = restTimeJome1.RestTimeMinSplit(); - - #endregion - - #region week2 - var restTimeShanbe2 = result.RestTimeShanbe2; - result.RestTimeShanbe2 = restTimeShanbe2.RestTimeSplit(); - result.RestTimeShanbe2Min = restTimeShanbe2.RestTimeMinSplit(); - var restTimeYekShanbe2 = result.RestTimeYekShanbe2; - result.RestTimeYekShanbe2 = restTimeYekShanbe2.RestTimeSplit(); - result.RestTimeYekShanbe2Min = restTimeYekShanbe2.RestTimeMinSplit(); - var restTimeDoShanbe2 = result.RestTimeDoShanbe2; - result.RestTimeDoShanbe2 = restTimeDoShanbe2.RestTimeSplit(); - result.RestTimeDoShanbe2Min = restTimeDoShanbe2.RestTimeMinSplit(); - var restTimeSeShanbe2 = result.RestTimeSeShanbe2; - result.RestTimeSeShanbe2 = restTimeSeShanbe2.RestTimeSplit(); - result.RestTimeSeShanbe2Min = restTimeSeShanbe2.RestTimeMinSplit(); - var restTimeCheharShanbe2 = result.RestTimeCheharShanbe2; - result.RestTimeCheharShanbe2 = restTimeCheharShanbe2.RestTimeSplit(); - result.RestTimeCheharShanbe2Min = restTimeCheharShanbe2.RestTimeMinSplit(); - var restTimePanjShanbe2 = result.RestTimePanjShanbe2; - result.RestTimePanjShanbe2 = restTimePanjShanbe2.RestTimeSplit(); - result.RestTimePanjShanbe2Min = restTimePanjShanbe2.RestTimeMinSplit(); - var restTimeJome2 = result.RestTimeJome2; - result.RestTimeJome2 = restTimeJome2.RestTimeSplit(); - result.RestTimeJome2Min = restTimeJome2.RestTimeMinSplit(); - - - #endregion - - #region week3 - var restTimeShanbe3 = result.RestTimeShanbe3; - result.RestTimeShanbe3 = restTimeShanbe3.RestTimeSplit(); - result.RestTimeShanbe3Min = restTimeShanbe3.RestTimeMinSplit(); - var restTimeYekShanbe3 = result.RestTimeYekShanbe3; - result.RestTimeYekShanbe3 = restTimeYekShanbe3.RestTimeSplit(); - result.RestTimeYekShanbe3Min = restTimeYekShanbe3.RestTimeMinSplit(); - var restTimeDoShanbe3 = result.RestTimeDoShanbe3; - result.RestTimeDoShanbe3 = restTimeDoShanbe3.RestTimeSplit(); - result.RestTimeDoShanbe3Min = restTimeDoShanbe3.RestTimeMinSplit(); - var restTimeSeShanbe3 = result.RestTimeSeShanbe3; - result.RestTimeSeShanbe3 = restTimeSeShanbe3.RestTimeSplit(); - result.RestTimeSeShanbe3Min = restTimeSeShanbe3.RestTimeMinSplit(); - var restTimeCheharShanbe3 = result.RestTimeCheharShanbe3; - result.RestTimeCheharShanbe3 = restTimeCheharShanbe3.RestTimeSplit(); - result.RestTimeCheharShanbe3Min = restTimeCheharShanbe3.RestTimeMinSplit(); - var restTimePanjShanbe3 = result.RestTimePanjShanbe3; - result.RestTimePanjShanbe3 = restTimePanjShanbe3.RestTimeSplit(); - result.RestTimePanjShanbe3Min = restTimePanjShanbe3.RestTimeMinSplit(); - var restTimeJome3 = result.RestTimeJome3; - result.RestTimeJome3 = restTimeJome3.RestTimeSplit(); - result.RestTimeJome3Min = restTimeJome3.RestTimeMinSplit(); - - - #endregion - - #region week4 - var restTimeShanbe4 = result.RestTimeShanbe4; - result.RestTimeShanbe4 = restTimeShanbe4.RestTimeSplit(); - result.RestTimeShanbe4Min = restTimeShanbe4.RestTimeMinSplit(); - var restTimeYekShanbe4 = result.RestTimeYekShanbe4; - result.RestTimeYekShanbe4 = restTimeYekShanbe4.RestTimeSplit(); - result.RestTimeYekShanbe4Min = restTimeYekShanbe4.RestTimeMinSplit(); - var restTimeDoShanbe4 = result.RestTimeDoShanbe4; - result.RestTimeDoShanbe4 = restTimeDoShanbe4.RestTimeSplit(); - result.RestTimeDoShanbe4Min = restTimeDoShanbe4.RestTimeMinSplit(); - var restTimeSeShanbe4 = result.RestTimeSeShanbe4; - result.RestTimeSeShanbe4 = restTimeSeShanbe4.RestTimeSplit(); - result.RestTimeSeShanbe4Min = restTimeSeShanbe4.RestTimeMinSplit(); - var restTimeCheharShanbe4 = result.RestTimeCheharShanbe4; - result.RestTimeCheharShanbe4 = restTimeCheharShanbe4.RestTimeSplit(); - result.RestTimeCheharShanbe4Min = restTimeCheharShanbe4.RestTimeMinSplit(); - var restTimePanjShanbe4 = result.RestTimePanjShanbe4; - result.RestTimePanjShanbe4 = restTimePanjShanbe4.RestTimeSplit(); - result.RestTimePanjShanbe4Min = restTimePanjShanbe4.RestTimeMinSplit(); - var restTimeJome4 = result.RestTimeJome4; - result.RestTimeJome4 = restTimeJome4.RestTimeSplit(); - result.RestTimeJome4Min = restTimeJome4.RestTimeMinSplit(); - - - #endregion - } - - #endregion - - result.WorkshopAddress1 = workshopAddress; - //var today = DateTime.Now; - //var start = today.ToFarsi(); - result.StartDate = startContract; - result.EndDate = endContract; - result.GetWorkDateHide = getWorkDateHide; - return Partial("clock", result); - } - - - - } - - public IActionResult OnPostCreateContract(List createContarctList) - { - int contractCount = createContarctList.Count; - int successProcess = 0; - if (contractCount > 0) - { - var yearlysalaryList = _yearlySalaryRepository.GetYearlySalary(); - var yearlySalarId = yearlysalaryList.FirstOrDefault().Id; - - foreach (var item in createContarctList) - { - item.YearlySalaryId = yearlySalarId; - var createContractResult = _contractApplication.CreateNew(item); - if (createContractResult.IsSuccedded) - successProcess += 1; - } - - if (successProcess == contractCount) - { - return new JsonResult(new - { - isSuccess = true, - contractCount = successProcess, - }); - } - else - { - var failds = contractCount - successProcess; - return new JsonResult(new - { - isSuccess = false, - contractCount = failds, - }); - } - } - else - { - return new JsonResult(new - { - isSuccess = false, - contractCount = 0, - }); - } - - - } - public IActionResult OnPostCreateWorkingHoursTemp(CreateWorkingHoursTemp command) - { - var result = _workingHoursTempApplication.Create(command); - var compute = MandatoryHours(command); - return new JsonResult(new - { - isSuccess = result.IsSuccedded, - NumberOfWorkingDays = compute.NumberOfWorkingDays, - NumberOfFriday = compute.NumberOfFriday, - TotalHoursesH = compute.TotalHoursesH, - TotalHoursesM = compute.TotalHoursesM, - OverTimeWorkH = compute.OverNightWorkH, - OverTimeWorkM = compute.OverTimeWorkM, - OverNightWorkH = compute.OverNightWorkH, - OverNightWorkM = compute.OverNightWorkM, - WeeklyWorkingTime = $"{compute.weeklyTime}", - SumTime44 = compute.SumTime44, - SalaryCompute = compute.SalaryCompute, - ConsumableItems = compute.ConsumableItems, - HousingAllowance = compute.HousingAllowance, - FamilyAllowance = compute.FamilyAllowance, - - - - }); - } - #region TestCompute - - [SuppressMessage("ReSharper.DPA", "DPA0009: High execution time of DB command", MessageId = "time: 1490ms")] - public IActionResult OnPostCompute(CreateWorkingHoursTemp command) - { - var result = MandatoryHours(command); - return new JsonResult(result); - //string leftWorkStartDate = ""; - //bool exsit = false; - //var serachModel = new LeftWorkSearchModel() - //{ - // EmployeeId = command.EmployeeId, - // WorkshopId = command.WorkshopId, - - //}; - //var leftWoekSerchResult = _leftWorkApplication.search(serachModel); - //leftWorkStartDate = leftWoekSerchResult.OrderBy(x => x.StartWorkDateGr).FirstOrDefault()?.StartWorkDate; - //if (leftWoekSerchResult.Count > 0) - //{ - // var start = command.ContarctStart.ToGeorgianDateTime(); - // var end = command.ContractEnd.ToGeorgianDateTime(); - // var check = leftWoekSerchResult.FirstOrDefault(x => x.StartWorkDateGr <= start && - // x.LeftWorkDateGr > start); - // if (check != null) - // { - // var leftWorkDate = check.LeftWorkDateGr.ToFarsi(); - // if (leftWorkDate != "1500/01/01") - // { - // var endOfmonth = leftWorkDate.FindeEndOfMonth(); - // var endOfMonthGr = endOfmonth.ToGeorgianDateTime(); - // if (end <= endOfMonthGr) - // exsit = true; - // } - // else - // { - // exsit = true; - // } - - // } - - - - - //} - - //if (!string.IsNullOrEmpty(leftWorkStartDate)) - //{ - // if (exsit) - // { - // command.GetWorkDate = leftWorkStartDate; - // command.GetWorkDateHide = leftWorkStartDate; - // var result = MandatoryHours(command); - // return new JsonResult(result); - // } - // else - // { - // return new JsonResult(new - // { - // checkDate = false, - // }); - // } - //} - //else - //{ - // return new JsonResult(new - // { - // checkExist = false, - // }); - //} - - } - - #region MandatoryCompute - - public ComputingViewModel MandatoryHours(CreateWorkingHoursTemp command) - { - #region entityes - string Notholiday = String.Empty; - string Holidays = string.Empty; - string SingleShiftResult = String.Empty; - string shift1Hourse = "0"; - string shift1Minuts = "0"; - string shift1HolidayHours = "0"; - string shift1HolidayMinuts = "0"; - string overMandatoryHours = "0"; - string overMandatoryMinuts = "0"; - string shiftOver22Hours = "0"; - string shiftOver22Minuts = "0"; - string SumWorkeTime = string.Empty; - var weeklyTime = new TimeSpan(); - - var overNight = false; - var overNightTow = false; - var singleOver24 = new TimeSpan(); - var towOver24 = new TimeSpan(); - var panjshanbehOver24 = new TimeSpan(); - var panjshanbehOver24Tow = new TimeSpan(); - var rest = new TimeSpan(); - var Over22 = new TimeSpan(); - - var starTimeSingel1 = new DateTime(); - var endTimeSingel2 = new DateTime(); - var singleShiftOver24 = new DateTime(); - var startTimeTowSh1 = new DateTime(); - var endTimeTowSh2 = new DateTime(); - var nightWork22 = new DateTime(); - var nightWork6 = new DateTime(); - - var rotatingResultList = new List(); - - - singleShiftOver24 = Convert.ToDateTime("00:00"); - nightWork22 = Convert.ToDateTime("22:00"); - nightWork6 = Convert.ToDateTime("06:00"); - - var rest0 = new TimeSpan(); - var rest1 = new TimeSpan(); - var rest2 = new TimeSpan(); - var rest3 = new TimeSpan(); - var rest4 = new TimeSpan(); - var rest5 = new TimeSpan(); - var rest6 = new TimeSpan(); - - var rest0w1 = new TimeSpan(); - var rest1w1 = new TimeSpan(); - var rest2w1 = new TimeSpan(); - var rest3w1 = new TimeSpan(); - var rest4w1 = new TimeSpan(); - var rest5w1 = new TimeSpan(); - var rest6w1 = new TimeSpan(); - - var rest0w2 = new TimeSpan(); - var rest1w2 = new TimeSpan(); - var rest2w2 = new TimeSpan(); - var rest3w2 = new TimeSpan(); - var rest4w2 = new TimeSpan(); - var rest5w2 = new TimeSpan(); - var rest6w2 = new TimeSpan(); - - var rest0w3 = new TimeSpan(); - var rest1w3 = new TimeSpan(); - var rest2w3 = new TimeSpan(); - var rest3w3 = new TimeSpan(); - var rest4w3 = new TimeSpan(); - var rest5w3 = new TimeSpan(); - var rest6w3 = new TimeSpan(); - - var rest0w4 = new TimeSpan(); - var rest1w4 = new TimeSpan(); - var rest2w4 = new TimeSpan(); - var rest3w4 = new TimeSpan(); - var rest4w4 = new TimeSpan(); - var rest5w4 = new TimeSpan(); - var rest6w4 = new TimeSpan(); - - var SumSingle = new TimeSpan(); - var SumTow = new TimeSpan(); - var SumSingleHourses = 0; - var SumTowHourses = 0; - - var sumRest = new TimeSpan(); - var SumComplexDays = 0; - var OfficialHoliday = 0; - - #endregion - - #region SumRestTimesOneShift - - switch (command.ShiftWork) - { - case "1": - case "2": - command.RestTime = command.RestTime == "0" ? "00" : command.RestTime; - command.RestTimeYekshanbeh = command.RestTimeYekshanbeh == "0" ? "00" : command.RestTimeYekshanbeh; - command.RestTimeDoshanbeh = command.RestTimeDoshanbeh == "0" ? "00" : command.RestTimeDoshanbeh; - command.RestTimeSeshanbeh = command.RestTimeSeshanbeh == "0" ? "00" : command.RestTimeSeshanbeh; - command.RestTimeCheharshanbeh = command.RestTimeCheharshanbeh == "0" ? "00" : command.RestTimeCheharshanbeh; - command.RestTimePanjshanbeh = command.RestTimePanjshanbeh == "0" ? "00" : command.RestTimePanjshanbeh; - command.RestTimeJomeh = command.RestTimeJomeh == "0" ? "00" : command.RestTimeJomeh; - command.RestTimeMin = command.RestTimeMin == "0" ? "00" : command.RestTimeMin; - command.RestTimeYekshanbehMin = command.RestTimeYekshanbehMin == "0" ? "00" : command.RestTimeYekshanbehMin; - command.RestTimeDoshanbehMin = command.RestTimeDoshanbehMin == "0" ? "00" : command.RestTimeDoshanbehMin; - command.RestTimeSeshanbehMin = command.RestTimeSeshanbehMin == "0" ? "00" : command.RestTimeSeshanbehMin; - command.RestTimeCheharshanbehMin = command.RestTimeCheharshanbehMin == "0" ? "00" : command.RestTimeCheharshanbehMin; - command.RestTimePanjshanbehMin = command.RestTimePanjshanbehMin == "0" ? "00" : command.RestTimePanjshanbehMin; - command.RestTimeJomehMin = command.RestTimeJomehMin == "0" ? "00" : command.RestTimeJomehMin; - - rest0 = TimeSpan.Parse($"{command.RestTime}:{command.RestTimeMin}"); - sumRest = sumRest.Add(rest0); - rest1 = TimeSpan.Parse($"{command.RestTimeYekshanbeh}:{command.RestTimeYekshanbehMin}"); - sumRest = sumRest.Add(rest1); - rest2 = TimeSpan.Parse($"{command.RestTimeDoshanbeh}:{command.RestTimeDoshanbehMin}"); - sumRest = sumRest.Add(rest2); - rest3 = TimeSpan.Parse($"{command.RestTimeSeshanbeh}:{ command.RestTimeSeshanbehMin}"); - sumRest = sumRest.Add(rest3); - rest4 = TimeSpan.Parse($"{command.RestTimeCheharshanbeh}:{command.RestTimeCheharshanbehMin}"); - sumRest = sumRest.Add(rest4); - rest5 = TimeSpan.Parse($"{command.RestTimePanjshanbeh}:{command.RestTimePanjshanbehMin}"); - sumRest = sumRest.Add(rest5); - rest6 = TimeSpan.Parse($"{command.RestTimeJomeh}:{command.RestTimeJomehMin}"); - sumRest = sumRest.Add(rest6); - break; - - case "4": - //week1 - command.RestTimeShanbe1 = command.RestTimeShanbe1 == "0" ? "00" : command.RestTimeShanbe1; - command.RestTimeShanbe1Min = command.RestTimeShanbe1Min == "0" ? "00" : command.RestTimeShanbe1Min; - command.RestTimeYekShanbe1 = command.RestTimeYekShanbe1 == "0" ? "00" : command.RestTimeYekShanbe1; - command.RestTimeYekShanbe1Min = command.RestTimeYekShanbe1Min == "0" ? "00" : command.RestTimeYekShanbe1Min; - command.RestTimeDoShanbe1 = command.RestTimeDoShanbe1 == "0" ? "00" : command.RestTimeDoShanbe1; - command.RestTimeDoShanbe1Min = command.RestTimeDoShanbe1Min == "0" ? "00" : command.RestTimeDoShanbe1Min; - command.RestTimeSeShanbe1 = command.RestTimeSeShanbe1 == "0" ? "00" : command.RestTimeSeShanbe1; - command.RestTimeSeShanbe1Min = command.RestTimeSeShanbe1Min == "0" ? "00" : command.RestTimeSeShanbe1Min; - command.RestTimeCheharShanbe1 = command.RestTimeCheharShanbe1 == "0" ? "00" : command.RestTimeCheharShanbe1; - command.RestTimeCheharShanbe1Min = command.RestTimeCheharShanbe1Min == "0" ? "00" : command.RestTimeCheharShanbe1Min; - command.RestTimePanjShanbe1 = command.RestTimePanjShanbe1 == "0" ? "00" : command.RestTimePanjShanbe1; - command.RestTimePanjShanbe1Min = command.RestTimePanjShanbe1Min == "0" ? "00" : command.RestTimePanjShanbe1Min; - command.RestTimeJome1 = command.RestTimeJome1 == "0" ? "00" : command.RestTimeJome1; - command.RestTimeJome1Min = command.RestTimeJome1Min == "0" ? "00" : command.RestTimeJome1Min; - - //week2 - command.RestTimeShanbe2 = command.RestTimeShanbe2 == "0" ? "00" : command.RestTimeShanbe2; - command.RestTimeShanbe2Min = command.RestTimeShanbe2Min == "0" ? "00" : command.RestTimeShanbe2Min; - command.RestTimeYekShanbe2 = command.RestTimeYekShanbe2 == "0" ? "00" : command.RestTimeYekShanbe2; - command.RestTimeYekShanbe2Min = command.RestTimeYekShanbe2Min == "0" ? "00" : command.RestTimeYekShanbe2Min; - command.RestTimeDoShanbe2 = command.RestTimeDoShanbe2 == "0" ? "00" : command.RestTimeDoShanbe2; - command.RestTimeDoShanbe2Min = command.RestTimeDoShanbe2Min == "0" ? "00" : command.RestTimeDoShanbe2Min; - command.RestTimeSeShanbe2 = command.RestTimeSeShanbe2 == "0" ? "00" : command.RestTimeSeShanbe2; - command.RestTimeSeShanbe2Min = command.RestTimeSeShanbe2Min == "0" ? "00" : command.RestTimeSeShanbe2Min; - command.RestTimeCheharShanbe2 = command.RestTimeCheharShanbe2 == "0" ? "00" : command.RestTimeCheharShanbe2; - command.RestTimeCheharShanbe2Min = command.RestTimeCheharShanbe2Min == "0" ? "00" : command.RestTimeCheharShanbe2Min; - command.RestTimePanjShanbe2 = command.RestTimePanjShanbe2 == "0" ? "00" : command.RestTimePanjShanbe2; - command.RestTimePanjShanbe2Min = command.RestTimePanjShanbe2Min == "0" ? "00" : command.RestTimePanjShanbe2Min; - command.RestTimeJome2 = command.RestTimeJome2 == "0" ? "00" : command.RestTimeJome2; - command.RestTimeJome2Min = command.RestTimeJome2Min == "0" ? "00" : command.RestTimeJome2Min; - - //week3 - command.RestTimeShanbe3 = command.RestTimeShanbe3 == "0" ? "00" : command.RestTimeShanbe3; - command.RestTimeShanbe3Min = command.RestTimeShanbe3Min == "0" ? "00" : command.RestTimeShanbe3Min; - command.RestTimeYekShanbe3 = command.RestTimeYekShanbe3 == "0" ? "00" : command.RestTimeYekShanbe3; - command.RestTimeYekShanbe3Min = command.RestTimeYekShanbe3Min == "0" ? "00" : command.RestTimeYekShanbe3Min; - command.RestTimeDoShanbe3 = command.RestTimeDoShanbe3 == "0" ? "00" : command.RestTimeDoShanbe3; - command.RestTimeDoShanbe3Min = command.RestTimeDoShanbe3Min == "0" ? "00" : command.RestTimeDoShanbe3Min; - command.RestTimeSeShanbe3 = command.RestTimeSeShanbe3 == "0" ? "00" : command.RestTimeSeShanbe3; - command.RestTimeSeShanbe3Min = command.RestTimeSeShanbe3Min == "0" ? "00" : command.RestTimeSeShanbe3Min; - command.RestTimeCheharShanbe3 = command.RestTimeCheharShanbe3 == "0" ? "00" : command.RestTimeCheharShanbe3; - command.RestTimeCheharShanbe3Min = command.RestTimeCheharShanbe3Min == "0" ? "00" : command.RestTimeCheharShanbe3Min; - command.RestTimePanjShanbe3 = command.RestTimePanjShanbe3 == "0" ? "00" : command.RestTimePanjShanbe3; - command.RestTimePanjShanbe3Min = command.RestTimePanjShanbe3Min == "0" ? "00" : command.RestTimePanjShanbe3Min; - command.RestTimeJome3 = command.RestTimeJome3 == "0" ? "00" : command.RestTimeJome3; - command.RestTimeJome3Min = command.RestTimeJome3Min == "0" ? "00" : command.RestTimeJome3Min; - - //week4 - command.RestTimeShanbe4 = command.RestTimeShanbe4 == "0" ? "00" : command.RestTimeShanbe4; - command.RestTimeShanbe4Min = command.RestTimeShanbe4Min == "0" ? "00" : command.RestTimeShanbe4Min; - command.RestTimeYekShanbe4 = command.RestTimeYekShanbe4 == "0" ? "00" : command.RestTimeYekShanbe4; - command.RestTimeYekShanbe4Min = command.RestTimeYekShanbe4Min == "0" ? "00" : command.RestTimeYekShanbe4Min; - command.RestTimeDoShanbe4 = command.RestTimeDoShanbe4 == "0" ? "00" : command.RestTimeDoShanbe4; - command.RestTimeDoShanbe4Min = command.RestTimeDoShanbe4Min == "0" ? "00" : command.RestTimeDoShanbe4Min; - command.RestTimeSeShanbe4 = command.RestTimeSeShanbe4 == "0" ? "00" : command.RestTimeSeShanbe4; - command.RestTimeSeShanbe4Min = command.RestTimeSeShanbe4Min == "0" ? "00" : command.RestTimeSeShanbe4Min; - command.RestTimeCheharShanbe4 = command.RestTimeCheharShanbe4 == "0" ? "00" : command.RestTimeCheharShanbe4; - command.RestTimeCheharShanbe4Min = command.RestTimeCheharShanbe4Min == "0" ? "00" : command.RestTimeCheharShanbe4Min; - command.RestTimePanjShanbe4 = command.RestTimePanjShanbe4 == "0" ? "00" : command.RestTimePanjShanbe4; - command.RestTimePanjShanbe4Min = command.RestTimePanjShanbe4Min == "0" ? "00" : command.RestTimePanjShanbe4Min; - command.RestTimeJome4 = command.RestTimeJome4 == "0" ? "00" : command.RestTimeJome4; - command.RestTimeJome4Min = command.RestTimeJome4Min == "0" ? "00" : command.RestTimeJome4Min; - - // sumrest week1 - rest0w1 = TimeSpan.Parse($"{command.RestTimeShanbe1}:{command.RestTimeShanbe1Min}"); - rest1w1 = TimeSpan.Parse($"{command.RestTimeYekShanbe1}:{command.RestTimeYekShanbe1Min}"); - rest2w1 = TimeSpan.Parse($"{command.RestTimeDoShanbe1}:{command.RestTimeDoShanbe1Min}"); - rest3w1 = TimeSpan.Parse($"{command.RestTimeSeShanbe1}:{ command.RestTimeSeShanbe1Min}"); - rest4w1 = TimeSpan.Parse($"{command.RestTimeCheharShanbe1}:{command.RestTimeCheharShanbe1Min}"); - rest5w1 = TimeSpan.Parse($"{command.RestTimePanjShanbe1}:{command.RestTimePanjShanbe1Min}"); - rest6w1 = TimeSpan.Parse($"{command.RestTimeJome1}:{command.RestTimeJome1Min}"); - - // sumrest week2 - rest0w2 = TimeSpan.Parse($"{command.RestTimeShanbe2}:{command.RestTimeShanbe2Min}"); - rest1w2 = TimeSpan.Parse($"{command.RestTimeYekShanbe2}:{command.RestTimeYekShanbe2Min}"); - rest2w2 = TimeSpan.Parse($"{command.RestTimeDoShanbe2}:{command.RestTimeDoShanbe2Min}"); - rest3w2 = TimeSpan.Parse($"{command.RestTimeSeShanbe2}:{ command.RestTimeSeShanbe2Min}"); - rest4w2 = TimeSpan.Parse($"{command.RestTimeCheharShanbe2}:{command.RestTimeCheharShanbe2Min}"); - rest5w2 = TimeSpan.Parse($"{command.RestTimePanjShanbe2}:{command.RestTimePanjShanbe2Min}"); - rest6w2 = TimeSpan.Parse($"{command.RestTimeJome2}:{command.RestTimeJome2Min}"); - - // sumrest week3 - rest0w3 = TimeSpan.Parse($"{command.RestTimeShanbe3}:{command.RestTimeShanbe3Min}"); - rest1w3 = TimeSpan.Parse($"{command.RestTimeYekShanbe3}:{command.RestTimeYekShanbe3Min}"); - rest2w3 = TimeSpan.Parse($"{command.RestTimeDoShanbe3}:{command.RestTimeDoShanbe3Min}"); - rest3w3 = TimeSpan.Parse($"{command.RestTimeSeShanbe3}:{ command.RestTimeSeShanbe3Min}"); - rest4w3 = TimeSpan.Parse($"{command.RestTimeCheharShanbe3}:{command.RestTimeCheharShanbe3Min}"); - rest5w3 = TimeSpan.Parse($"{command.RestTimePanjShanbe3}:{command.RestTimePanjShanbe3Min}"); - rest6w3 = TimeSpan.Parse($"{command.RestTimeJome3}:{command.RestTimeJome3Min}"); - - // sumrest week4 - rest0w4 = TimeSpan.Parse($"{command.RestTimeShanbe4}:{command.RestTimeShanbe4Min}"); - rest1w4 = TimeSpan.Parse($"{command.RestTimeYekShanbe4}:{command.RestTimeYekShanbe4Min}"); - rest2w4 = TimeSpan.Parse($"{command.RestTimeDoShanbe4}:{command.RestTimeDoShanbe4Min}"); - rest3w4 = TimeSpan.Parse($"{command.RestTimeSeShanbe4}:{ command.RestTimeSeShanbe4Min}"); - rest4w4 = TimeSpan.Parse($"{command.RestTimeCheharShanbe4}:{command.RestTimeCheharShanbe4Min}"); - rest5w4 = TimeSpan.Parse($"{command.RestTimePanjShanbe4}:{command.RestTimePanjShanbe4Min}"); - rest6w4 = TimeSpan.Parse($"{command.RestTimeJome4}:{command.RestTimeJome4Min}"); - break; - - - } - - - - - #endregion - - #region SumSingleAndTowShifts - - var StartShanbehSingle = Convert.ToDateTime(command.SingleShift1); - var EndShanbehSingle = Convert.ToDateTime(command.SingleShift2); - if (StartShanbehSingle > EndShanbehSingle) - EndShanbehSingle = EndShanbehSingle.AddDays(1); - var ShanbehSingle = (EndShanbehSingle - StartShanbehSingle); - SumSingle = SumSingle.Add(ShanbehSingle); - - var StartYekShanbehSingle = Convert.ToDateTime(command.SingleShift1Yekshanbeh); - var EndYekShanbehSingle = Convert.ToDateTime(command.SingleShift2Yekshanbeh); - if (StartYekShanbehSingle > EndYekShanbehSingle) - EndYekShanbehSingle = EndYekShanbehSingle.AddDays(1); - var YekShanbehSingle = (EndYekShanbehSingle - StartYekShanbehSingle); - SumSingle = SumSingle.Add(YekShanbehSingle); - - var StartDoShanbehSingle = Convert.ToDateTime(command.SingleShift1Doshanbeh); - var EndDoShanbehSingle = Convert.ToDateTime(command.SingleShift2Doshanbeh); - if (StartDoShanbehSingle > EndDoShanbehSingle) - EndDoShanbehSingle = EndDoShanbehSingle.AddDays(1); - var DoShanbehSingle = (EndDoShanbehSingle - StartDoShanbehSingle); - SumSingle = SumSingle.Add(DoShanbehSingle); - - - var StartSehShanbehSingle = Convert.ToDateTime(command.SingleShift1Seshanbeh); - var EndSehShanbehSingle = Convert.ToDateTime(command.SingleShift2Seshanbeh); - if (StartSehShanbehSingle > EndSehShanbehSingle) - EndSehShanbehSingle = EndSehShanbehSingle.AddDays(1); - var SeShanbehSingle = (EndSehShanbehSingle - StartSehShanbehSingle); - SumSingle = SumSingle.Add(SeShanbehSingle); - - var StartCheharShanbehSingle = Convert.ToDateTime(command.SingleShift1Cheharshanbeh); - var EndCheharShanbehSingle = Convert.ToDateTime(command.SingleShift2Cheharshanbeh); - if (StartCheharShanbehSingle > EndCheharShanbehSingle) - EndCheharShanbehSingle = EndCheharShanbehSingle.AddDays(1); - var CheharShanbehSingle = (EndCheharShanbehSingle - StartCheharShanbehSingle); - SumSingle = SumSingle.Add(CheharShanbehSingle); - - var StartPanjShanbehSingle = Convert.ToDateTime(command.SingleShift1Panjshanbeh); - var EndPanjShanbehSingle = Convert.ToDateTime(command.SingleShift2Panjshanbeh); - if (StartPanjShanbehSingle > EndPanjShanbehSingle) - EndPanjShanbehSingle = EndPanjShanbehSingle.AddDays(1); - var PanjShanbehSingle = (EndPanjShanbehSingle - StartPanjShanbehSingle); - SumSingle = SumSingle.Add(PanjShanbehSingle); - - var StartJomehSingle = Convert.ToDateTime(command.SingleShift1Jomeh); - var EndjomehSingle = Convert.ToDateTime(command.SingleShift2Jomeh); - if (StartJomehSingle > EndjomehSingle) - EndjomehSingle = EndjomehSingle.AddDays(1); - var JomehSingle = (EndjomehSingle - StartJomehSingle); - SumSingle = SumSingle.Add(JomehSingle); - if (command.ShiftWork == "1") - { - SumSingle = SumSingle.Subtract(sumRest); - } - //SumSingleHourses = (int)SumSingle.TotalHours; - - - var StartShanbehTow = Convert.ToDateTime(command.TowShifts1); - var EndShanbehTow = Convert.ToDateTime(command.TowShifts2); - if (StartShanbehTow > EndShanbehTow) - EndShanbehTow = EndShanbehTow.AddDays(1); - var ShanbehTow = (EndShanbehTow - StartShanbehTow); - SumTow = SumTow.Add(ShanbehTow); - - var StartYekShanbehTow = Convert.ToDateTime(command.TowShifts1Yekshanbeh); - var EndYekShanbehTow = Convert.ToDateTime(command.TowShifts2Yekshanbeh); - if (StartYekShanbehTow > EndYekShanbehTow) - EndYekShanbehTow = EndYekShanbehTow.AddDays(1); - var YekShanbehTow = (EndYekShanbehTow - StartYekShanbehTow); - SumTow = SumTow.Add(YekShanbehTow); - - var StartDoShanbehTow = Convert.ToDateTime(command.TowShifts1Doshanbeh); - var EndDoShanbehTow = Convert.ToDateTime(command.TowShifts2Doshanbeh); - if (StartDoShanbehTow > EndDoShanbehTow) - EndDoShanbehTow = EndDoShanbehTow.AddDays(1); - var DoShanbehTow = (EndDoShanbehTow - StartDoShanbehTow); - SumTow = SumTow.Add(DoShanbehTow); - - - var StartSehShanbehTow = Convert.ToDateTime(command.TowShifts1Seshanbeh); - var EndSehShanbehTow = Convert.ToDateTime(command.TowShifts2Seshanbeh); - if (StartSehShanbehTow > EndSehShanbehTow) - EndSehShanbehTow = EndSehShanbehTow.AddDays(1); - var SeShanbehTow = (EndSehShanbehTow - StartSehShanbehTow); - SumTow = SumTow.Add(SeShanbehTow); - - var StartCheharShanbehTow = Convert.ToDateTime(command.TowShifts1Cheharshanbeh); - var EndCheharShanbehTow = Convert.ToDateTime(command.TowShifts2Cheharshanbeh); - if (StartCheharShanbehTow > EndCheharShanbehTow) - EndCheharShanbehTow = EndCheharShanbehTow.AddDays(1); - var CheharShanbehTow = (EndCheharShanbehTow - StartCheharShanbehTow); - SumTow = SumTow.Add(CheharShanbehTow); - - var StartPanjShanbehTow = Convert.ToDateTime(command.TowShifts1Panjshanbeh); - var EndPanjShanbehTow = Convert.ToDateTime(command.TowShifts2Panjshanbeh); - if (StartPanjShanbehTow > EndPanjShanbehTow) - EndPanjShanbehTow = EndPanjShanbehTow.AddDays(1); - var PanjShanbehTow = (EndPanjShanbehTow - StartPanjShanbehTow); - SumTow = SumTow.Add(PanjShanbehTow); - - var StartJomehTow = Convert.ToDateTime(command.TowShifts1Jomeh); - var EndjomehTow = Convert.ToDateTime(command.TowShifts2Jomeh); - if (StartJomehTow > EndjomehTow) - EndjomehTow = EndjomehTow.AddDays(1); - var jomehTow = (EndjomehTow - StartJomehTow); - SumTow = SumTow.Add(jomehTow); - - //SumTowHourses = (int)SumTow.TotalHours; - - #endregion - - #region ComplexSumWorkTime - - if (command.ShiftWork == "5") - { - SumWorkeTime = "24 - 12"; - } - else if (command.ShiftWork == "6") - { - SumWorkeTime = "24 - 24"; - } - else if (command.ShiftWork == "7") - { - SumWorkeTime = "36 - 12"; - } - else if (command.ShiftWork == "8") - { - SumWorkeTime = "48 - 24"; - } - - - #endregion - - #region OneAndTowShiftsCompute - var dailyFix = TimeSpan.Parse("07:20"); - var notHolidays = new TimeSpan(); - var jomeh = new TimeSpan(); - - var sdate = command.ContarctStart.ToEnglishNumber(); - var edate = command.ContractEnd.ToEnglishNumber(); - var syear = Convert.ToInt32(sdate.Substring(0, 4)); - var smonth = Convert.ToInt32(sdate.Substring(5, 2)); - var sday = Convert.ToInt32(sdate.Substring(8, 2)); - - var eyear = Convert.ToInt32(edate.Substring(0, 4)); - var emonth = Convert.ToInt32(edate.Substring(5, 2)); - var eday = Convert.ToInt32(edate.Substring(8, 2)); - - var d1 = new PersianDateTime(syear, smonth, sday); - var d2 = new PersianDateTime(eyear, emonth, eday); - int i = 0, i1 = 0, i2 = 0, i3 = 0, i4 = 0, i5 = 0, i6 = 0; - var holidayList = _holidayItemRepository.GetHolidayItem(sdate.Substring(0, 4)); - - #region shiftWork 1&2 - - if (command.ShiftWork == "1" || command.ShiftWork == "2") - { - for (var da = d1; da <= d2; da.AddDays(1)) - { - if (command.ShiftWork == "1" || command.ShiftWork == "2") - { - if (command.shanbeh == true) - { - - if (da.DayOfWeek == "شنبه") - { - var test = da.ToGregorianDateTime(); - var checkHoliday = _holidayItemRepository.GetHoliday(test); - if (checkHoliday == false) - { - i += 1; - if (command.ShiftWork == "1") - { - starTimeSingel1 = Convert.ToDateTime(command.SingleShift1); - endTimeSingel2 = Convert.ToDateTime(command.SingleShift2); - if (starTimeSingel1 > endTimeSingel2) - { - overNight = true; - endTimeSingel2 = endTimeSingel2.AddDays(1); - } - - var singleSpan1 = (endTimeSingel2 - starTimeSingel1); - - singleSpan1 = singleSpan1.Subtract(rest0); - - notHolidays = notHolidays.Add(singleSpan1); - var Over22Compute = Over22Check(starTimeSingel1, endTimeSingel2); - //Over22Compute = Over22Compute.Subtract(rest); - Over22 = Over22.Add(Over22Compute); - } - else if (command.ShiftWork == "2") - { - starTimeSingel1 = Convert.ToDateTime(command.SingleShift1); - endTimeSingel2 = Convert.ToDateTime(command.SingleShift2); - startTimeTowSh1 = Convert.ToDateTime(command.TowShifts1); - endTimeTowSh2 = Convert.ToDateTime(command.TowShifts2); - if (starTimeSingel1 > endTimeSingel2) - { - overNight = true; - endTimeSingel2 = endTimeSingel2.AddDays(1); - - } - if (startTimeTowSh1 > endTimeTowSh2) - { - overNight = true; - endTimeTowSh2 = endTimeTowSh2.AddDays(1); - - } - var singleSpanTow1 = (endTimeSingel2 - starTimeSingel1); - var singleSpanTow2 = (endTimeTowSh2 - startTimeTowSh1); - notHolidays = notHolidays.Add(singleSpanTow1); - notHolidays = notHolidays.Add(singleSpanTow2); - - var Over22ComputeTow1 = Over22Check(starTimeSingel1, endTimeSingel2); - Over22 = Over22.Add(Over22ComputeTow1); - var Over22ComputeTow2 = Over22Check(startTimeTowSh1, endTimeTowSh2); - Over22 = Over22.Add(Over22ComputeTow2); - } - - } - - - } - } - if (command.yekshanbeh == true) - { - - if (da.DayOfWeek == "یکشنبه") - { - var test = da.ToGregorianDateTime(); - var checkHoliday = _holidayItemRepository.GetHoliday(test); - if (checkHoliday == false) - { - i1 += 1; - - if (command.ShiftWork == "1") - { - starTimeSingel1 = Convert.ToDateTime(command.SingleShift1Yekshanbeh); - endTimeSingel2 = Convert.ToDateTime(command.SingleShift2Yekshanbeh); - if (starTimeSingel1 > endTimeSingel2) - { - overNight = true; - endTimeSingel2 = endTimeSingel2.AddDays(1); - } - - var singleSpan1 = (endTimeSingel2 - starTimeSingel1); - - singleSpan1 = singleSpan1.Subtract(rest1); - - notHolidays = notHolidays.Add(singleSpan1); - - var Over22Compute = Over22Check(starTimeSingel1, endTimeSingel2); - //Over22Compute = Over22Compute.Subtract(rest); - Over22 = Over22.Add(Over22Compute); - } - - else if (command.ShiftWork == "2") - { - starTimeSingel1 = Convert.ToDateTime(command.SingleShift1Yekshanbeh); - endTimeSingel2 = Convert.ToDateTime(command.SingleShift2Yekshanbeh); - startTimeTowSh1 = Convert.ToDateTime(command.TowShifts1Yekshanbeh); - endTimeTowSh2 = Convert.ToDateTime(command.TowShifts2Yekshanbeh); - if (starTimeSingel1 > endTimeSingel2) - { - overNight = true; - endTimeSingel2 = endTimeSingel2.AddDays(1); - - } - - if (startTimeTowSh1 > endTimeTowSh2) - { - overNight = true; - endTimeTowSh2 = endTimeTowSh2.AddDays(1); - - } - - var singleSpanTow1 = (endTimeSingel2 - starTimeSingel1); - var singleSpanTow2 = (endTimeTowSh2 - startTimeTowSh1); - notHolidays = notHolidays.Add(singleSpanTow1); - notHolidays = notHolidays.Add(singleSpanTow2); - - var Over22ComputeTow1 = Over22Check(starTimeSingel1, endTimeSingel2); - Over22 = Over22.Add(Over22ComputeTow1); - var Over22ComputeTow2 = Over22Check(startTimeTowSh1, endTimeTowSh2); - Over22 = Over22.Add(Over22ComputeTow2); - - } - } - - - } - } - if (command.doshanbeh == true) - { - if (da.DayOfWeek == "دوشنبه") - { - var test = da.ToGregorianDateTime(); - var checkHoliday = _holidayItemRepository.GetHoliday(test); - if (checkHoliday == false) - { - i2 += 1; - switch (command.ShiftWork) - { - case "1": - - starTimeSingel1 = Convert.ToDateTime(command.SingleShift1Doshanbeh); - endTimeSingel2 = Convert.ToDateTime(command.SingleShift2Doshanbeh); - if (starTimeSingel1 > endTimeSingel2) - { - overNight = true; - endTimeSingel2 = endTimeSingel2.AddDays(1); - - } - var singleSpan1 = (endTimeSingel2 - starTimeSingel1); - - singleSpan1 = singleSpan1.Subtract(rest2); - - notHolidays = notHolidays.Add(singleSpan1); - - var Over22Compute = Over22Check(starTimeSingel1, endTimeSingel2); - - Over22 = Over22.Add(Over22Compute); - break; - - case "2": - starTimeSingel1 = Convert.ToDateTime(command.SingleShift1Doshanbeh); - endTimeSingel2 = Convert.ToDateTime(command.SingleShift2Doshanbeh); - startTimeTowSh1 = Convert.ToDateTime(command.TowShifts1Doshanbeh); - endTimeTowSh2 = Convert.ToDateTime(command.TowShifts2Doshanbeh); - if (starTimeSingel1 > endTimeSingel2) - { - overNight = true; - endTimeSingel2 = endTimeSingel2.AddDays(1); - - } - if (startTimeTowSh1 > endTimeTowSh2) - { - overNight = true; - endTimeTowSh2 = endTimeTowSh2.AddDays(1); - - } - var singleSpanTow1 = (endTimeSingel2 - starTimeSingel1); - var singleSpanTow2 = (endTimeTowSh2 - startTimeTowSh1); - notHolidays = notHolidays.Add(singleSpanTow1); - notHolidays = notHolidays.Add(singleSpanTow2); - - var Over22ComputeTow1 = Over22Check(starTimeSingel1, endTimeSingel2); - Over22 = Over22.Add(Over22ComputeTow1); - var Over22ComputeTow2 = Over22Check(startTimeTowSh1, endTimeTowSh2); - Over22 = Over22.Add(Over22ComputeTow2); - break; - } - } - - - } - } - if (command.seshanbeh == true) - { - if (da.DayOfWeek == "سه شنبه") - { - var test = da.ToGregorianDateTime(); - var checkHoliday = _holidayItemRepository.GetHoliday(test); - if (checkHoliday == false) - { - i3 += 1; - switch (command.ShiftWork) - { - case "1": - starTimeSingel1 = Convert.ToDateTime(command.SingleShift1Seshanbeh); - endTimeSingel2 = Convert.ToDateTime(command.SingleShift2Seshanbeh); - if (starTimeSingel1 > endTimeSingel2) - { - overNight = true; - endTimeSingel2 = endTimeSingel2.AddDays(1); - } - var singleSpan1 = (endTimeSingel2 - starTimeSingel1); - - singleSpan1 = singleSpan1.Subtract(rest3); - - notHolidays = notHolidays.Add(singleSpan1); - - var Over22Compute = Over22Check(starTimeSingel1, endTimeSingel2); - Over22 = Over22.Add(Over22Compute); - break; - - case "2": - starTimeSingel1 = Convert.ToDateTime(command.SingleShift1Seshanbeh); - endTimeSingel2 = Convert.ToDateTime(command.SingleShift2Seshanbeh); - startTimeTowSh1 = Convert.ToDateTime(command.TowShifts1Seshanbeh); - endTimeTowSh2 = Convert.ToDateTime(command.TowShifts2Seshanbeh); - if (starTimeSingel1 > endTimeSingel2) - { - overNight = true; - endTimeSingel2 = endTimeSingel2.AddDays(1); - } - if (startTimeTowSh1 > endTimeTowSh2) - { - overNight = true; - endTimeTowSh2 = endTimeTowSh2.AddDays(1); - } - var singleSpanTow1 = (endTimeSingel2 - starTimeSingel1); - var singleSpanTow2 = (endTimeTowSh2 - startTimeTowSh1); - notHolidays = notHolidays.Add(singleSpanTow1); - notHolidays = notHolidays.Add(singleSpanTow2); - - var Over22ComputeTow1 = Over22Check(starTimeSingel1, endTimeSingel2); - Over22 = Over22.Add(Over22ComputeTow1); - var Over22ComputeTow2 = Over22Check(startTimeTowSh1, endTimeTowSh2); - Over22 = Over22.Add(Over22ComputeTow2); - break; - } - } - - - } - } - if (command.cheharshanbeh == true) - { - if (da.DayOfWeek == "چهارشنبه") - { - var test = da.ToGregorianDateTime(); - var checkHoliday = _holidayItemRepository.GetHoliday(test); - if (checkHoliday == false) - { - i4 += 1; - switch (command.ShiftWork) - { - case "1": - starTimeSingel1 = Convert.ToDateTime(command.SingleShift1Cheharshanbeh); - endTimeSingel2 = Convert.ToDateTime(command.SingleShift2Cheharshanbeh); - if (starTimeSingel1 > endTimeSingel2) - { - overNight = true; - endTimeSingel2 = endTimeSingel2.AddDays(1); - - } - var singleSpan1 = (endTimeSingel2 - starTimeSingel1); - - singleSpan1 = singleSpan1.Subtract(rest4); - - notHolidays = notHolidays.Add(singleSpan1); - - var Over22Compute = Over22Check(starTimeSingel1, endTimeSingel2); - Over22 = Over22.Add(Over22Compute); - break; - - case "2": - starTimeSingel1 = Convert.ToDateTime(command.SingleShift1Cheharshanbeh); - endTimeSingel2 = Convert.ToDateTime(command.SingleShift2Cheharshanbeh); - startTimeTowSh1 = Convert.ToDateTime(command.TowShifts1Cheharshanbeh); - endTimeTowSh2 = Convert.ToDateTime(command.TowShifts2Cheharshanbeh); - if (starTimeSingel1 > endTimeSingel2) - { - overNight = true; - endTimeSingel2 = endTimeSingel2.AddDays(1); - - } - if (startTimeTowSh1 > endTimeTowSh2) - { - overNight = true; - endTimeTowSh2 = endTimeTowSh2.AddDays(1); - - } - var singleSpanTow1 = (endTimeSingel2 - starTimeSingel1); - var singleSpanTow2 = (endTimeTowSh2 - startTimeTowSh1); - notHolidays = notHolidays.Add(singleSpanTow1); - notHolidays = notHolidays.Add(singleSpanTow2); - - var Over22ComputeTow1 = Over22Check(starTimeSingel1, endTimeSingel2); - Over22 = Over22.Add(Over22ComputeTow1); - var Over22ComputeTow2 = Over22Check(startTimeTowSh1, endTimeTowSh2); - Over22 = Over22.Add(Over22ComputeTow2); - break; - } - } - - - } - } - if (command.pangshanbeh == true) - { - if (da.DayOfWeek == "پنج شنبه") - { - var test = da.ToGregorianDateTime(); - var checkHoliday = _holidayItemRepository.GetHoliday(test); - if (checkHoliday == false) - { - i5 += 1; - switch (command.ShiftWork) - { - case "1": - starTimeSingel1 = Convert.ToDateTime(command.SingleShift1Panjshanbeh); - endTimeSingel2 = Convert.ToDateTime(command.SingleShift2Panjshanbeh); - if (starTimeSingel1 > endTimeSingel2) - { - overNight = true; - singleOver24 = (endTimeSingel2 - singleShiftOver24); - endTimeSingel2 = endTimeSingel2.AddDays(1); - - - } - var singleSpan1 = (endTimeSingel2 - starTimeSingel1); - - singleSpan1 = singleSpan1.Subtract(rest5); - - singleSpan1 = singleSpan1.Subtract(singleOver24); - jomeh = jomeh.Add(singleOver24); - notHolidays = notHolidays.Add(singleSpan1); - - var Over22Compute = Over22Check(starTimeSingel1, endTimeSingel2); - Over22 = Over22.Add(Over22Compute); - break; - - case "2": - starTimeSingel1 = Convert.ToDateTime(command.SingleShift1Panjshanbeh); - endTimeSingel2 = Convert.ToDateTime(command.SingleShift2Panjshanbeh); - startTimeTowSh1 = Convert.ToDateTime(command.TowShifts1Panjshanbeh); - endTimeTowSh2 = Convert.ToDateTime(command.TowShifts2Panjshanbeh); - var singleOver24Tow = new TimeSpan(); - if (starTimeSingel1 > endTimeSingel2) - { - overNight = true; - singleOver24 = (endTimeSingel2 - singleShiftOver24); - endTimeSingel2 = endTimeSingel2.AddDays(1); - - } - if (startTimeTowSh1 > endTimeTowSh2) - { - overNight = true; - singleOver24Tow = (endTimeTowSh2 - singleShiftOver24); - endTimeTowSh2 = endTimeTowSh2.AddDays(1); - - } - var singleSpanTow1 = (endTimeSingel2 - starTimeSingel1); - var singleSpanTow2 = (endTimeTowSh2 - startTimeTowSh1); - - - singleSpanTow1 = singleSpanTow1.Subtract(singleOver24); - singleSpanTow2 = singleSpanTow2.Subtract(singleOver24Tow); - - jomeh = jomeh.Add(singleOver24); - jomeh = jomeh.Add(singleOver24Tow); - - notHolidays = notHolidays.Add(singleSpanTow1); - notHolidays = notHolidays.Add(singleSpanTow2); - - var Over22ComputeTow1 = Over22Check(starTimeSingel1, endTimeSingel2); - Over22 = Over22.Add(Over22ComputeTow1); - var Over22ComputeTow2 = Over22Check(startTimeTowSh1, endTimeTowSh2); - Over22 = Over22.Add(Over22ComputeTow2); - break; - } - } - - - } - } - - if (command.jomeh == true) - { - if (da.DayOfWeek == "جمعه") - { - i6 += 1; - switch (command.ShiftWork) - { - case "1": - starTimeSingel1 = Convert.ToDateTime(command.SingleShift1Jomeh); - endTimeSingel2 = Convert.ToDateTime(command.SingleShift2Jomeh); - if (starTimeSingel1 > endTimeSingel2) - { - overNight = true; - endTimeSingel2 = endTimeSingel2.AddDays(1); - - } - var singleSpan1 = (endTimeSingel2 - starTimeSingel1); - singleSpan1 = singleSpan1.Subtract(rest6); - - jomeh = jomeh.Add(singleSpan1); - - var Over22Compute = Over22Check(starTimeSingel1, endTimeSingel2); - Over22 = Over22.Add(Over22Compute); - break; - - case "2": - starTimeSingel1 = Convert.ToDateTime(command.SingleShift1Jomeh); - endTimeSingel2 = Convert.ToDateTime(command.SingleShift2Jomeh); - startTimeTowSh1 = Convert.ToDateTime(command.TowShifts1Jomeh); - endTimeTowSh2 = Convert.ToDateTime(command.TowShifts2Jomeh); - if (starTimeSingel1 > endTimeSingel2) - { - overNight = true; - endTimeSingel2 = endTimeSingel2.AddDays(1); - } - if (startTimeTowSh1 > endTimeTowSh2) - { - overNight = true; - endTimeTowSh2 = endTimeTowSh2.AddDays(1); - } - var singleSpanTow1 = (endTimeSingel2 - starTimeSingel1); - var singleSpanTow2 = (endTimeTowSh2 - startTimeTowSh1); - jomeh = jomeh.Add(singleSpanTow1); - jomeh = jomeh.Add(singleSpanTow2); - - var Over22ComputeTow1 = Over22Check(starTimeSingel1, endTimeSingel2); - Over22 = Over22.Add(Over22ComputeTow1); - var Over22ComputeTow2 = Over22Check(startTimeTowSh1, endTimeTowSh2); - Over22 = Over22.Add(Over22ComputeTow2); - break; - } - } - } - else - { - i6 = 0; - } - } - - - - } - } - - #endregion - - #endregion - - #region Rotating - - else if (command.ShiftWork == "4") - { - for (var da = d1; da <= d2; da.AddDays(1)) - { - var FirstDayOfMonth = new PersianDateTime(da.Year, da.Month, 1); - int w1 = 0; int w2 = 0; int w3 = 0; int w4 = 0; - int w5 = 0; int w6 = 0; - - switch (FirstDayOfMonth.DayOfWeek) - { - case "شنبه": - w1 = 7; - w2 = 14; - w3 = 28; - w4 = 31; - break; - case "یکشنبه": - w1 = 6; - w2 = 13; - w3 = 20; - w4 = 27; - w5 = 31; - break; - case "دوشنبه": - w1 = 5; - w2 = 12; - w3 = 19; - w4 = 26; - w5 = 31; - break; - case "سه شنبه": - w1 = 4; - w2 = 11; - w3 = 18; - w4 = 25; - w5 = 31; - break; - case "چهارشنبه": - w1 = 3; - w2 = 10; - w3 = 17; - w4 = 24; - w5 = 31; - break; - case "پنج شنبه": - w1 = 2; - w2 = 9; - w3 = 16; - w4 = 23; - w5 = 30; - w6 = 31; - break; - case "جمعه": - w1 = 1; - w2 = 8; - w3 = 15; - w4 = 22; - w5 = 29; - w6 = 31; - break; - - } - switch (da.DayOfWeek) - { - case "شنبه": - if (da.Day <= w1) - { - if (command.Shanbe1) - { - var test = $"{da}"; - var checkHoliday = holidayList.Any(x => x == test); - if (checkHoliday == false) - { - i += 1; - SumComplexDays += 1; - starTimeSingel1 = Convert.ToDateTime(command.SingleShift1Shanbe1); - endTimeSingel2 = Convert.ToDateTime(command.SingleShift2Shanbe1); - startTimeTowSh1 = Convert.ToDateTime(command.TowShifts1Shanbe1); - endTimeTowSh2 = Convert.ToDateTime(command.TowShifts2Shanbe1); - if (string.IsNullOrWhiteSpace(command.TowShifts1Shanbe1)) - endTimeSingel2 = endTimeSingel2.Subtract(rest0w1); - sumRest = sumRest.Add(rest0w1); - - var rotatingCheck = RotatingShiftCheck(starTimeSingel1, endTimeSingel2, startTimeTowSh1, endTimeTowSh2); - rotatingCheck.RotatingDate = test; - rotatingResultList.Add(rotatingCheck); - notHolidays = notHolidays.Add(rotatingCheck.TotalWorkingTime); - Over22 = Over22.Add(rotatingCheck.NightWorkSpan); - - } - } - } - else if (da.Day > w1 && da.Day <= w2) - { - if (command.Shanbe2) - { - var test = $"{da}"; - var checkHoliday = holidayList.Any(x => x == test); - if (checkHoliday == false) - { - i += 1; - SumComplexDays += 1; - starTimeSingel1 = Convert.ToDateTime(command.SingleShift1Shanbe2); - endTimeSingel2 = Convert.ToDateTime(command.SingleShift2Shanbe2); - startTimeTowSh1 = Convert.ToDateTime(command.TowShifts1Shanbe2); - endTimeTowSh2 = Convert.ToDateTime(command.TowShifts2Shanbe2); - if (string.IsNullOrWhiteSpace(command.TowShifts1Shanbe2)) - endTimeSingel2 = endTimeSingel2.Subtract(rest0w2); - sumRest = sumRest.Add(rest0w2); - - var rotatingCheck = RotatingShiftCheck(starTimeSingel1, endTimeSingel2, startTimeTowSh1, endTimeTowSh2); - rotatingCheck.RotatingDate = test; - rotatingResultList.Add(rotatingCheck); - notHolidays = notHolidays.Add(rotatingCheck.TotalWorkingTime); - Over22 = Over22.Add(rotatingCheck.NightWorkSpan); - } - } - } - else if (da.Day > w2 && da.Day <= w3) - { - if (command.Shanbe3) - { - var test = $"{da}"; - var checkHoliday = holidayList.Any(x => x == test); - if (checkHoliday == false) - { - i += 1; - SumComplexDays += 1; - starTimeSingel1 = Convert.ToDateTime(command.SingleShift1Shanbe3); - endTimeSingel2 = Convert.ToDateTime(command.SingleShift2Shanbe3); - startTimeTowSh1 = Convert.ToDateTime(command.TowShifts1Shanbe3); - endTimeTowSh2 = Convert.ToDateTime(command.TowShifts2Shanbe3); - if (string.IsNullOrWhiteSpace(command.TowShifts1Shanbe3)) - endTimeSingel2 = endTimeSingel2.Subtract(rest0w3); - sumRest = sumRest.Add(rest0w3); - - var rotatingCheck = RotatingShiftCheck(starTimeSingel1, endTimeSingel2, startTimeTowSh1, endTimeTowSh2); - rotatingCheck.RotatingDate = test; - rotatingResultList.Add(rotatingCheck); - notHolidays = notHolidays.Add(rotatingCheck.TotalWorkingTime); - Over22 = Over22.Add(rotatingCheck.NightWorkSpan); - - } - } - } - else if (da.Day > w3 && da.Day <= w4) - { - if (command.Shanbe4) - { - var test = $"{da}"; - var checkHoliday = holidayList.Any(x => x == test); - if (checkHoliday == false) - { - i += 1; - SumComplexDays += 1; - starTimeSingel1 = Convert.ToDateTime(command.SingleShift1Shanbe4); - endTimeSingel2 = Convert.ToDateTime(command.SingleShift2Shanbe4); - startTimeTowSh1 = Convert.ToDateTime(command.TowShifts1Shanbe4); - endTimeTowSh2 = Convert.ToDateTime(command.TowShifts2Shanbe4); - if (string.IsNullOrWhiteSpace(command.TowShifts1Shanbe4)) - endTimeSingel2 = endTimeSingel2.Subtract(rest0w4); - sumRest = sumRest.Add(rest0w4); - - var rotatingCheck = RotatingShiftCheck(starTimeSingel1, endTimeSingel2, startTimeTowSh1, endTimeTowSh2); - rotatingCheck.RotatingDate = test; - rotatingResultList.Add(rotatingCheck); - notHolidays = notHolidays.Add(rotatingCheck.TotalWorkingTime); - Over22 = Over22.Add(rotatingCheck.NightWorkSpan); - } - } - } - else if (da.Day > w4 && da.Day <= w5) - { - if (command.Shanbe1) - { - var test = $"{da}"; - var checkHoliday = holidayList.Any(x => x == test); - if (checkHoliday == false) - { - i += 1; - SumComplexDays += 1; - starTimeSingel1 = Convert.ToDateTime(command.SingleShift1Shanbe1); - endTimeSingel2 = Convert.ToDateTime(command.SingleShift2Shanbe1); - startTimeTowSh1 = Convert.ToDateTime(command.TowShifts1Shanbe1); - endTimeTowSh2 = Convert.ToDateTime(command.TowShifts2Shanbe1); - if (string.IsNullOrWhiteSpace(command.TowShifts1Shanbe1)) - endTimeSingel2 = endTimeSingel2.Subtract(rest0w1); - sumRest = sumRest.Add(rest0w1); - - var rotatingCheck = RotatingShiftCheck(starTimeSingel1, endTimeSingel2, startTimeTowSh1, endTimeTowSh2); - rotatingCheck.RotatingDate = test; - rotatingResultList.Add(rotatingCheck); - notHolidays = notHolidays.Add(rotatingCheck.TotalWorkingTime); - Over22 = Over22.Add(rotatingCheck.NightWorkSpan); - } - } - } - else if (da.Day > w5 && da.Day <= w6) - { - if (command.Shanbe2) - { - var test = $"{da}"; - var checkHoliday = holidayList.Any(x => x == test); - if (checkHoliday == false) - { - i += 1; - SumComplexDays += 1; - starTimeSingel1 = Convert.ToDateTime(command.SingleShift1Shanbe2); - endTimeSingel2 = Convert.ToDateTime(command.SingleShift2Shanbe2); - startTimeTowSh1 = Convert.ToDateTime(command.TowShifts1Shanbe2); - endTimeTowSh2 = Convert.ToDateTime(command.TowShifts2Shanbe2); - if (string.IsNullOrWhiteSpace(command.TowShifts1Shanbe2)) - endTimeSingel2 = endTimeSingel2.Subtract(rest0w2); - sumRest = sumRest.Add(rest0w2); - - var rotatingCheck = RotatingShiftCheck(starTimeSingel1, endTimeSingel2, startTimeTowSh1, endTimeTowSh2); - rotatingCheck.RotatingDate = test; - rotatingResultList.Add(rotatingCheck); - notHolidays = notHolidays.Add(rotatingCheck.TotalWorkingTime); - Over22 = Over22.Add(rotatingCheck.NightWorkSpan); - } - } - } - break; - case "یکشنبه": - if (da.Day <= w1) - { - if (command.YekShanbe1) - { - var test = $"{da}"; - var checkHoliday = holidayList.Any(x => x == test); - if (checkHoliday == false) - { - i += 1; - SumComplexDays += 1; - starTimeSingel1 = Convert.ToDateTime(command.SingleShift1YekShanbe1); - endTimeSingel2 = Convert.ToDateTime(command.SingleShift2YekShanbe1); - startTimeTowSh1 = Convert.ToDateTime(command.TowShifts1YekShanbe1); - endTimeTowSh2 = Convert.ToDateTime(command.TowShifts2YekShanbe1); - if (string.IsNullOrWhiteSpace(command.TowShifts1YekShanbe1)) - endTimeSingel2 = endTimeSingel2.Subtract(rest1w1); - sumRest = sumRest.Add(rest1w1); - - var rotatingCheck = RotatingShiftCheck(starTimeSingel1, endTimeSingel2, startTimeTowSh1, endTimeTowSh2); - rotatingCheck.RotatingDate = test; - rotatingResultList.Add(rotatingCheck); - notHolidays = notHolidays.Add(rotatingCheck.TotalWorkingTime); - Over22 = Over22.Add(rotatingCheck.NightWorkSpan); - } - } - } - else if (da.Day > w1 && da.Day <= w2) - { - if (command.YekShanbe2) - { - var test = $"{da}"; - var checkHoliday = holidayList.Any(x => x == test); - if (checkHoliday == false) - { - i += 1; - SumComplexDays += 1; - starTimeSingel1 = Convert.ToDateTime(command.SingleShift1YekShanbe2); - endTimeSingel2 = Convert.ToDateTime(command.SingleShift2YekShanbe2); - startTimeTowSh1 = Convert.ToDateTime(command.TowShifts1YekShanbe2); - endTimeTowSh2 = Convert.ToDateTime(command.TowShifts2YekShanbe2); - if (string.IsNullOrWhiteSpace(command.TowShifts1YekShanbe2)) - endTimeSingel2 = endTimeSingel2.Subtract(rest1w2); - sumRest = sumRest.Add(rest1w2); - - var rotatingCheck = RotatingShiftCheck(starTimeSingel1, endTimeSingel2, startTimeTowSh1, endTimeTowSh2); - rotatingCheck.RotatingDate = test; - rotatingResultList.Add(rotatingCheck); - notHolidays = notHolidays.Add(rotatingCheck.TotalWorkingTime); - Over22 = Over22.Add(rotatingCheck.NightWorkSpan); - - } - } - } - else if (da.Day > w2 && da.Day <= w3) - { - if (command.YekShanbe3) - { - var test = $"{da}"; - var checkHoliday = holidayList.Any(x => x == test); - if (checkHoliday == false) - { - i += 1; - SumComplexDays += 1; - starTimeSingel1 = Convert.ToDateTime(command.SingleShift1YekShanbe3); - endTimeSingel2 = Convert.ToDateTime(command.SingleShift2YekShanbe3); - startTimeTowSh1 = Convert.ToDateTime(command.TowShifts1YekShanbe3); - endTimeTowSh2 = Convert.ToDateTime(command.TowShifts2YekShanbe3); - if (string.IsNullOrWhiteSpace(command.TowShifts1YekShanbe3)) - endTimeSingel2 = endTimeSingel2.Subtract(rest1w3); - sumRest = sumRest.Add(rest1w3); - - var rotatingCheck = RotatingShiftCheck(starTimeSingel1, endTimeSingel2, startTimeTowSh1, endTimeTowSh2); - rotatingCheck.RotatingDate = test; - rotatingResultList.Add(rotatingCheck); - notHolidays = notHolidays.Add(rotatingCheck.TotalWorkingTime); - Over22 = Over22.Add(rotatingCheck.NightWorkSpan); - } - } - } - else if (da.Day > w3 && da.Day <= w4) - { - if (command.YekShanbe4) - { - var test = $"{da}"; - var checkHoliday = holidayList.Any(x => x == test); - if (checkHoliday == false) - { - i += 1; - SumComplexDays += 1; - starTimeSingel1 = Convert.ToDateTime(command.SingleShift1YekShanbe4); - endTimeSingel2 = Convert.ToDateTime(command.SingleShift2YekShanbe4); - startTimeTowSh1 = Convert.ToDateTime(command.TowShifts1YekShanbe4); - endTimeTowSh2 = Convert.ToDateTime(command.TowShifts2YekShanbe4); - if (string.IsNullOrWhiteSpace(command.TowShifts1YekShanbe4)) - endTimeSingel2 = endTimeSingel2.Subtract(rest1w4); - sumRest = sumRest.Add(rest1w4); - - var rotatingCheck = RotatingShiftCheck(starTimeSingel1, endTimeSingel2, startTimeTowSh1, endTimeTowSh2); - rotatingCheck.RotatingDate = test; - rotatingResultList.Add(rotatingCheck); - notHolidays = notHolidays.Add(rotatingCheck.TotalWorkingTime); - Over22 = Over22.Add(rotatingCheck.NightWorkSpan); - } - } - } - else if (da.Day > w4 && da.Day <= w5) - { - if (command.YekShanbe1) - { - var test = $"{da}"; - var checkHoliday = holidayList.Any(x => x == test); - if (checkHoliday == false) - { - i += 1; - SumComplexDays += 1; - starTimeSingel1 = Convert.ToDateTime(command.SingleShift1YekShanbe1); - endTimeSingel2 = Convert.ToDateTime(command.SingleShift2YekShanbe1); - startTimeTowSh1 = Convert.ToDateTime(command.TowShifts1YekShanbe1); - endTimeTowSh2 = Convert.ToDateTime(command.TowShifts2YekShanbe1); - if (string.IsNullOrWhiteSpace(command.TowShifts1YekShanbe1)) - endTimeSingel2 = endTimeSingel2.Subtract(rest1w1); - sumRest = sumRest.Add(rest1w1); - - var rotatingCheck = RotatingShiftCheck(starTimeSingel1, endTimeSingel2, startTimeTowSh1, endTimeTowSh2); - rotatingCheck.RotatingDate = test; - rotatingResultList.Add(rotatingCheck); - notHolidays = notHolidays.Add(rotatingCheck.TotalWorkingTime); - Over22 = Over22.Add(rotatingCheck.NightWorkSpan); - } - } - } - else if (da.Day > w5 && da.Day <= w6) - { - if (command.YekShanbe2) - { - var test = $"{da}"; - var checkHoliday = holidayList.Any(x => x == test); - if (checkHoliday == false) - { - i += 1; - SumComplexDays += 1; - starTimeSingel1 = Convert.ToDateTime(command.SingleShift1YekShanbe2); - endTimeSingel2 = Convert.ToDateTime(command.SingleShift2YekShanbe2); - startTimeTowSh1 = Convert.ToDateTime(command.TowShifts1YekShanbe2); - endTimeTowSh2 = Convert.ToDateTime(command.TowShifts2YekShanbe2); - if (string.IsNullOrWhiteSpace(command.TowShifts1YekShanbe2)) - endTimeSingel2 = endTimeSingel2.Subtract(rest1w2); - sumRest = sumRest.Add(rest1w2); - - var rotatingCheck = RotatingShiftCheck(starTimeSingel1, endTimeSingel2, startTimeTowSh1, endTimeTowSh2); - rotatingCheck.RotatingDate = test; - rotatingResultList.Add(rotatingCheck); - notHolidays = notHolidays.Add(rotatingCheck.TotalWorkingTime); - Over22 = Over22.Add(rotatingCheck.NightWorkSpan); - } - } - } - - break; - case "دوشنبه": - if (da.Day <= w1) - { - if (command.DoShanbe1) - { - var test = $"{da}"; - var checkHoliday = holidayList.Any(x => x == test); - if (checkHoliday == false) - { - i += 1; - SumComplexDays += 1; - starTimeSingel1 = Convert.ToDateTime(command.SingleShift1DoShanbe1); - endTimeSingel2 = Convert.ToDateTime(command.SingleShift2DoShanbe1); - startTimeTowSh1 = Convert.ToDateTime(command.TowShifts1DoShanbe1); - endTimeTowSh2 = Convert.ToDateTime(command.TowShifts2DoShanbe1); - if (string.IsNullOrWhiteSpace(command.TowShifts1DoShanbe1)) - endTimeSingel2 = endTimeSingel2.Subtract(rest2w1); - sumRest = sumRest.Add(rest2w1); - - var rotatingCheck = RotatingShiftCheck(starTimeSingel1, endTimeSingel2, startTimeTowSh1, endTimeTowSh2); - rotatingCheck.RotatingDate = test; - rotatingResultList.Add(rotatingCheck); - notHolidays = notHolidays.Add(rotatingCheck.TotalWorkingTime); - Over22 = Over22.Add(rotatingCheck.NightWorkSpan); - } - } - } - else if (da.Day > w1 && da.Day <= w2) - { - if (command.DoShanbe2) - { - var test = $"{da}"; - var checkHoliday = holidayList.Any(x => x == test); - if (checkHoliday == false) - { - i += 1; - SumComplexDays += 1; - starTimeSingel1 = Convert.ToDateTime(command.SingleShift1DoShanbe2); - endTimeSingel2 = Convert.ToDateTime(command.SingleShift2DoShanbe2); - startTimeTowSh1 = Convert.ToDateTime(command.TowShifts1DoShanbe2); - endTimeTowSh2 = Convert.ToDateTime(command.TowShifts2DoShanbe2); - if (string.IsNullOrWhiteSpace(command.TowShifts1DoShanbe2)) - endTimeSingel2 = endTimeSingel2.Subtract(rest2w2); - sumRest = sumRest.Add(rest2w2); - - var rotatingCheck = RotatingShiftCheck(starTimeSingel1, endTimeSingel2, startTimeTowSh1, endTimeTowSh2); - rotatingCheck.RotatingDate = test; - rotatingResultList.Add(rotatingCheck); - notHolidays = notHolidays.Add(rotatingCheck.TotalWorkingTime); - Over22 = Over22.Add(rotatingCheck.NightWorkSpan); - } - } - } - else if (da.Day > w2 && da.Day <= w3) - { - if (command.DoShanbe3) - { - var test = $"{da}"; - var checkHoliday = holidayList.Any(x => x == test); - if (checkHoliday == false) - { - i += 1; - SumComplexDays += 1; - starTimeSingel1 = Convert.ToDateTime(command.SingleShift1DoShanbe3); - endTimeSingel2 = Convert.ToDateTime(command.SingleShift2DoShanbe3); - startTimeTowSh1 = Convert.ToDateTime(command.TowShifts1DoShanbe3); - endTimeTowSh2 = Convert.ToDateTime(command.TowShifts2DoShanbe3); - if (string.IsNullOrWhiteSpace(command.TowShifts1DoShanbe3)) - endTimeSingel2 = endTimeSingel2.Subtract(rest2w3); - sumRest = sumRest.Add(rest2w3); - - var rotatingCheck = RotatingShiftCheck(starTimeSingel1, endTimeSingel2, startTimeTowSh1, endTimeTowSh2); - rotatingCheck.RotatingDate = test; - rotatingResultList.Add(rotatingCheck); - notHolidays = notHolidays.Add(rotatingCheck.TotalWorkingTime); - Over22 = Over22.Add(rotatingCheck.NightWorkSpan); - } - } - } - else if (da.Day > w3 && da.Day <= w4) - { - if (command.DoShanbe4) - { - var test = $"{da}"; - var checkHoliday = holidayList.Any(x => x == test); - if (checkHoliday == false) - { - i += 1; - SumComplexDays += 1; - starTimeSingel1 = Convert.ToDateTime(command.SingleShift1DoShanbe4); - endTimeSingel2 = Convert.ToDateTime(command.SingleShift2DoShanbe4); - startTimeTowSh1 = Convert.ToDateTime(command.TowShifts1DoShanbe4); - endTimeTowSh2 = Convert.ToDateTime(command.TowShifts2DoShanbe4); - if (string.IsNullOrWhiteSpace(command.TowShifts1DoShanbe4)) - endTimeSingel2 = endTimeSingel2.Subtract(rest2w4); - sumRest = sumRest.Add(rest2w4); - - var rotatingCheck = RotatingShiftCheck(starTimeSingel1, endTimeSingel2, startTimeTowSh1, endTimeTowSh2); - rotatingCheck.RotatingDate = test; - rotatingResultList.Add(rotatingCheck); - notHolidays = notHolidays.Add(rotatingCheck.TotalWorkingTime); - Over22 = Over22.Add(rotatingCheck.NightWorkSpan); - } - } - } - else if (da.Day > w4 && da.Day <= w5) - { - if (command.DoShanbe1) - { - var test = $"{da}"; - var checkHoliday = holidayList.Any(x => x == test); - if (checkHoliday == false) - { - i += 1; - SumComplexDays += 1; - starTimeSingel1 = Convert.ToDateTime(command.SingleShift1DoShanbe1); - endTimeSingel2 = Convert.ToDateTime(command.SingleShift2DoShanbe1); - startTimeTowSh1 = Convert.ToDateTime(command.TowShifts1DoShanbe1); - endTimeTowSh2 = Convert.ToDateTime(command.TowShifts2DoShanbe1); - if (string.IsNullOrWhiteSpace(command.TowShifts1DoShanbe1)) - endTimeSingel2 = endTimeSingel2.Subtract(rest2w1); - sumRest = sumRest.Add(rest2w1); - - var rotatingCheck = RotatingShiftCheck(starTimeSingel1, endTimeSingel2, startTimeTowSh1, endTimeTowSh2); - rotatingCheck.RotatingDate = test; - rotatingResultList.Add(rotatingCheck); - notHolidays = notHolidays.Add(rotatingCheck.TotalWorkingTime); - Over22 = Over22.Add(rotatingCheck.NightWorkSpan); - } - } - } - else if (da.Day > w5 && da.Day <= w6) - { - if (command.DoShanbe2) - { - var test = $"{da}"; - var checkHoliday = holidayList.Any(x => x == test); - if (checkHoliday == false) - { - i += 1; - SumComplexDays += 1; - starTimeSingel1 = Convert.ToDateTime(command.SingleShift1DoShanbe2); - endTimeSingel2 = Convert.ToDateTime(command.SingleShift2DoShanbe2); - startTimeTowSh1 = Convert.ToDateTime(command.TowShifts1DoShanbe2); - endTimeTowSh2 = Convert.ToDateTime(command.TowShifts2DoShanbe2); - if (string.IsNullOrWhiteSpace(command.TowShifts1DoShanbe2)) - endTimeSingel2 = endTimeSingel2.Subtract(rest2w2); - sumRest = sumRest.Add(rest2w2); - - var rotatingCheck = RotatingShiftCheck(starTimeSingel1, endTimeSingel2, startTimeTowSh1, endTimeTowSh2); - rotatingCheck.RotatingDate = test; - rotatingResultList.Add(rotatingCheck); - notHolidays = notHolidays.Add(rotatingCheck.TotalWorkingTime); - Over22 = Over22.Add(rotatingCheck.NightWorkSpan); - } - } - } - - break; - case "سه شنبه": - if (da.Day <= w1) - { - if (command.SeShanbe1) - { - var test = $"{da}"; - var checkHoliday = holidayList.Any(x => x == test); - if (checkHoliday == false) - { - i += 1; - SumComplexDays += 1; - starTimeSingel1 = Convert.ToDateTime(command.SingleShift1SeShanbe1); - endTimeSingel2 = Convert.ToDateTime(command.SingleShift2SeShanbe1); - startTimeTowSh1 = Convert.ToDateTime(command.TowShifts1SeShanbe1); - endTimeTowSh2 = Convert.ToDateTime(command.TowShifts2SeShanbe1); - if (string.IsNullOrWhiteSpace(command.TowShifts1SeShanbe1)) - endTimeSingel2 = endTimeSingel2.Subtract(rest3w1); - sumRest = sumRest.Add(rest3w1); - - var rotatingCheck = RotatingShiftCheck(starTimeSingel1, endTimeSingel2, startTimeTowSh1, endTimeTowSh2); - rotatingCheck.RotatingDate = test; - rotatingResultList.Add(rotatingCheck); - notHolidays = notHolidays.Add(rotatingCheck.TotalWorkingTime); - Over22 = Over22.Add(rotatingCheck.NightWorkSpan); - } - } - } - else if (da.Day > w1 && da.Day <= w2) - { - if (command.SeShanbe2) - { - var test = $"{da}"; - var checkHoliday = holidayList.Any(x => x == test); - if (checkHoliday == false) - { - i += 1; - SumComplexDays += 1; - starTimeSingel1 = Convert.ToDateTime(command.SingleShift1SeShanbe2); - endTimeSingel2 = Convert.ToDateTime(command.SingleShift2SeShanbe2); - startTimeTowSh1 = Convert.ToDateTime(command.TowShifts1SeShanbe2); - endTimeTowSh2 = Convert.ToDateTime(command.TowShifts2SeShanbe2); - if (string.IsNullOrWhiteSpace(command.TowShifts1SeShanbe2)) - endTimeSingel2 = endTimeSingel2.Subtract(rest3w2); - sumRest = sumRest.Add(rest3w2); - - var rotatingCheck = RotatingShiftCheck(starTimeSingel1, endTimeSingel2, startTimeTowSh1, endTimeTowSh2); - rotatingCheck.RotatingDate = test; - rotatingResultList.Add(rotatingCheck); - notHolidays = notHolidays.Add(rotatingCheck.TotalWorkingTime); - Over22 = Over22.Add(rotatingCheck.NightWorkSpan); - } - } - } - else if (da.Day > w2 && da.Day <= w3) - { - if (command.SeShanbe3) - { - var test = $"{da}"; - var checkHoliday = holidayList.Any(x => x == test); - if (checkHoliday == false) - { - i += 1; - SumComplexDays += 1; - starTimeSingel1 = Convert.ToDateTime(command.SingleShift1SeShanbe3); - endTimeSingel2 = Convert.ToDateTime(command.SingleShift2SeShanbe3); - startTimeTowSh1 = Convert.ToDateTime(command.TowShifts1SeShanbe3); - endTimeTowSh2 = Convert.ToDateTime(command.TowShifts2SeShanbe3); - if (string.IsNullOrWhiteSpace(command.TowShifts1SeShanbe3)) - endTimeSingel2 = endTimeSingel2.Subtract(rest3w3); - sumRest = sumRest.Add(rest3w3); - - var rotatingCheck = RotatingShiftCheck(starTimeSingel1, endTimeSingel2, startTimeTowSh1, endTimeTowSh2); - rotatingCheck.RotatingDate = test; - rotatingResultList.Add(rotatingCheck); - notHolidays = notHolidays.Add(rotatingCheck.TotalWorkingTime); - Over22 = Over22.Add(rotatingCheck.NightWorkSpan); - } - } - } - else if (da.Day > w3 && da.Day <= w4) - { - if (command.SeShanbe4) - { - var test = $"{da}"; - var checkHoliday = holidayList.Any(x => x == test); - if (checkHoliday == false) - { - i += 1; - SumComplexDays += 1; - starTimeSingel1 = Convert.ToDateTime(command.SingleShift1SeShanbe4); - endTimeSingel2 = Convert.ToDateTime(command.SingleShift2SeShanbe4); - startTimeTowSh1 = Convert.ToDateTime(command.TowShifts1SeShanbe4); - endTimeTowSh2 = Convert.ToDateTime(command.TowShifts2SeShanbe4); - if (string.IsNullOrWhiteSpace(command.TowShifts1SeShanbe4)) - endTimeSingel2 = endTimeSingel2.Subtract(rest3w4); - sumRest = sumRest.Add(rest3w4); - - var rotatingCheck = RotatingShiftCheck(starTimeSingel1, endTimeSingel2, startTimeTowSh1, endTimeTowSh2); - rotatingCheck.RotatingDate = test; - rotatingResultList.Add(rotatingCheck); - notHolidays = notHolidays.Add(rotatingCheck.TotalWorkingTime); - Over22 = Over22.Add(rotatingCheck.NightWorkSpan); - } - } - } - else if (da.Day > w4 && da.Day <= w5) - { - if (command.SeShanbe1) - { - var test = $"{da}"; - var checkHoliday = holidayList.Any(x => x == test); - if (checkHoliday == false) - { - i += 1; - SumComplexDays += 1; - starTimeSingel1 = Convert.ToDateTime(command.SingleShift1SeShanbe1); - endTimeSingel2 = Convert.ToDateTime(command.SingleShift2SeShanbe1); - startTimeTowSh1 = Convert.ToDateTime(command.TowShifts1SeShanbe1); - endTimeTowSh2 = Convert.ToDateTime(command.TowShifts2SeShanbe1); - if (string.IsNullOrWhiteSpace(command.TowShifts1SeShanbe1)) - endTimeSingel2 = endTimeSingel2.Subtract(rest3w1); - sumRest = sumRest.Add(rest3w1); - - var rotatingCheck = RotatingShiftCheck(starTimeSingel1, endTimeSingel2, startTimeTowSh1, endTimeTowSh2); - rotatingCheck.RotatingDate = test; - rotatingResultList.Add(rotatingCheck); - notHolidays = notHolidays.Add(rotatingCheck.TotalWorkingTime); - Over22 = Over22.Add(rotatingCheck.NightWorkSpan); - } - } - } - else if (da.Day > w5 && da.Day <= w6) - { - if (command.SeShanbe2) - { - var test = $"{da}"; - var checkHoliday = holidayList.Any(x => x == test); - if (checkHoliday == false) - { - i += 1; - SumComplexDays += 1; - starTimeSingel1 = Convert.ToDateTime(command.SingleShift1SeShanbe2); - endTimeSingel2 = Convert.ToDateTime(command.SingleShift2SeShanbe2); - startTimeTowSh1 = Convert.ToDateTime(command.TowShifts1SeShanbe2); - endTimeTowSh2 = Convert.ToDateTime(command.TowShifts2SeShanbe2); - if (string.IsNullOrWhiteSpace(command.TowShifts1SeShanbe2)) - endTimeSingel2 = endTimeSingel2.Subtract(rest3w2); - sumRest = sumRest.Add(rest3w2); - - var rotatingCheck = RotatingShiftCheck(starTimeSingel1, endTimeSingel2, startTimeTowSh1, endTimeTowSh2); - rotatingCheck.RotatingDate = test; - rotatingResultList.Add(rotatingCheck); - notHolidays = notHolidays.Add(rotatingCheck.TotalWorkingTime); - Over22 = Over22.Add(rotatingCheck.NightWorkSpan); - } - } - } - break; - case "چهارشنبه": - if (da.Day <= w1) - { - if (command.CheharShanbe1) - { - var test = $"{da}"; - var checkHoliday = holidayList.Any(x => x == test); - if (checkHoliday == false) - { - i += 1; - SumComplexDays += 1; - starTimeSingel1 = Convert.ToDateTime(command.SingleShift1CheharShanbe1); - endTimeSingel2 = Convert.ToDateTime(command.SingleShift2CheharShanbe1); - startTimeTowSh1 = Convert.ToDateTime(command.TowShifts1CheharShanbe1); - endTimeTowSh2 = Convert.ToDateTime(command.TowShifts2CheharShanbe1); - if (string.IsNullOrWhiteSpace(command.TowShifts1CheharShanbe1)) - endTimeSingel2 = endTimeSingel2.Subtract(rest4w1); - sumRest = sumRest.Add(rest4w1); - - var rotatingCheck = RotatingShiftCheck(starTimeSingel1, endTimeSingel2, startTimeTowSh1, endTimeTowSh2); - rotatingCheck.RotatingDate = test; - rotatingResultList.Add(rotatingCheck); - notHolidays = notHolidays.Add(rotatingCheck.TotalWorkingTime); - Over22 = Over22.Add(rotatingCheck.NightWorkSpan); - } - } - } - else if (da.Day > w1 && da.Day <= w2) - { - if (command.CheharShanbe2) - { - var test = $"{da}"; - var checkHoliday = holidayList.Any(x => x == test); - if (checkHoliday == false) - { - i += 1; - SumComplexDays += 1; - starTimeSingel1 = Convert.ToDateTime(command.SingleShift1CheharShanbe2); - endTimeSingel2 = Convert.ToDateTime(command.SingleShift2CheharShanbe2); - startTimeTowSh1 = Convert.ToDateTime(command.TowShifts1CheharShanbe2); - endTimeTowSh2 = Convert.ToDateTime(command.TowShifts2CheharShanbe2); - if (string.IsNullOrWhiteSpace(command.TowShifts1CheharShanbe2)) - endTimeSingel2 = endTimeSingel2.Subtract(rest4w2); - sumRest = sumRest.Add(rest4w2); - - var rotatingCheck = RotatingShiftCheck(starTimeSingel1, endTimeSingel2, startTimeTowSh1, endTimeTowSh2); - rotatingCheck.RotatingDate = test; - rotatingResultList.Add(rotatingCheck); - notHolidays = notHolidays.Add(rotatingCheck.TotalWorkingTime); - Over22 = Over22.Add(rotatingCheck.NightWorkSpan); - } - } - } - else if (da.Day > w2 && da.Day <= w3) - { - if (command.CheharShanbe3) - { - var test = $"{da}"; - var checkHoliday = holidayList.Any(x => x == test); - if (checkHoliday == false) - { - i += 1; - SumComplexDays += 1; - starTimeSingel1 = Convert.ToDateTime(command.SingleShift1CheharShanbe3); - endTimeSingel2 = Convert.ToDateTime(command.SingleShift2CheharShanbe3); - startTimeTowSh1 = Convert.ToDateTime(command.TowShifts1CheharShanbe3); - endTimeTowSh2 = Convert.ToDateTime(command.TowShifts2CheharShanbe3); - if (string.IsNullOrWhiteSpace(command.TowShifts1CheharShanbe3)) - endTimeSingel2 = endTimeSingel2.Subtract(rest4w3); - sumRest = sumRest.Add(rest4w3); - - var rotatingCheck = RotatingShiftCheck(starTimeSingel1, endTimeSingel2, startTimeTowSh1, endTimeTowSh2); - rotatingCheck.RotatingDate = test; - rotatingResultList.Add(rotatingCheck); - notHolidays = notHolidays.Add(rotatingCheck.TotalWorkingTime); - Over22 = Over22.Add(rotatingCheck.NightWorkSpan); - } - } - } - else if (da.Day > w3 && da.Day <= w4) - { - if (command.CheharShanbe4) - { - var test = $"{da}"; - var checkHoliday = holidayList.Any(x => x == test); - if (checkHoliday == false) - { - i += 1; - SumComplexDays += 1; - starTimeSingel1 = Convert.ToDateTime(command.SingleShift1CheharShanbe4); - endTimeSingel2 = Convert.ToDateTime(command.SingleShift2CheharShanbe4); - startTimeTowSh1 = Convert.ToDateTime(command.TowShifts1CheharShanbe4); - endTimeTowSh2 = Convert.ToDateTime(command.TowShifts2CheharShanbe4); - if (string.IsNullOrWhiteSpace(command.TowShifts1CheharShanbe4)) - endTimeSingel2 = endTimeSingel2.Subtract(rest4w4); - sumRest = sumRest.Add(rest4w4); - - var rotatingCheck = RotatingShiftCheck(starTimeSingel1, endTimeSingel2, startTimeTowSh1, endTimeTowSh2); - rotatingCheck.RotatingDate = test; - rotatingResultList.Add(rotatingCheck); - notHolidays = notHolidays.Add(rotatingCheck.TotalWorkingTime); - Over22 = Over22.Add(rotatingCheck.NightWorkSpan); - } - } - } - else if (da.Day > w4 && da.Day <= w5) - { - if (command.CheharShanbe1) - { - var test = $"{da}"; - var checkHoliday = holidayList.Any(x => x == test); - if (checkHoliday == false) - { - i += 1; - SumComplexDays += 1; - starTimeSingel1 = Convert.ToDateTime(command.SingleShift1CheharShanbe1); - endTimeSingel2 = Convert.ToDateTime(command.SingleShift2CheharShanbe1); - startTimeTowSh1 = Convert.ToDateTime(command.TowShifts1CheharShanbe1); - endTimeTowSh2 = Convert.ToDateTime(command.TowShifts2CheharShanbe1); - if (string.IsNullOrWhiteSpace(command.TowShifts1CheharShanbe1)) - endTimeSingel2 = endTimeSingel2.Subtract(rest4w1); - sumRest = sumRest.Add(rest4w1); - - var rotatingCheck = RotatingShiftCheck(starTimeSingel1, endTimeSingel2, startTimeTowSh1, endTimeTowSh2); - rotatingCheck.RotatingDate = test; - rotatingResultList.Add(rotatingCheck); - notHolidays = notHolidays.Add(rotatingCheck.TotalWorkingTime); - Over22 = Over22.Add(rotatingCheck.NightWorkSpan); - } - } - } - else if (da.Day > w5 && da.Day <= w6) - { - if (command.CheharShanbe2) - { - var test = $"{da}"; - var checkHoliday = holidayList.Any(x => x == test); - if (checkHoliday == false) - { - i += 1; - SumComplexDays += 1; - starTimeSingel1 = Convert.ToDateTime(command.SingleShift1CheharShanbe2); - endTimeSingel2 = Convert.ToDateTime(command.SingleShift2CheharShanbe2); - startTimeTowSh1 = Convert.ToDateTime(command.TowShifts1CheharShanbe2); - endTimeTowSh2 = Convert.ToDateTime(command.TowShifts2CheharShanbe2); - if (string.IsNullOrWhiteSpace(command.TowShifts1CheharShanbe2)) - endTimeSingel2 = endTimeSingel2.Subtract(rest4w2); - sumRest = sumRest.Add(rest4w2); - - var rotatingCheck = RotatingShiftCheck(starTimeSingel1, endTimeSingel2, startTimeTowSh1, endTimeTowSh2); - rotatingCheck.RotatingDate = test; - rotatingResultList.Add(rotatingCheck); - notHolidays = notHolidays.Add(rotatingCheck.TotalWorkingTime); - Over22 = Over22.Add(rotatingCheck.NightWorkSpan); - } - } - } - break; - case "پنج شنبه": - if (da.Day <= w1) - { - if (command.PanjShanbe1) - { - var test = $"{da}"; - var checkHoliday = holidayList.Any(x => x == test); - if (checkHoliday == false) - { - i += 1; - SumComplexDays += 1; - starTimeSingel1 = Convert.ToDateTime(command.SingleShift1PanjShanbe1); - endTimeSingel2 = Convert.ToDateTime(command.SingleShift2PanjShanbe1); - startTimeTowSh1 = Convert.ToDateTime(command.TowShifts1PanjShanbe1); - endTimeTowSh2 = Convert.ToDateTime(command.TowShifts2PanjShanbe1); - if (string.IsNullOrWhiteSpace(command.TowShifts1PanjShanbe1)) - endTimeSingel2 = endTimeSingel2.Subtract(rest5w1); - sumRest = sumRest.Add(rest5w1); - - var rotatingCheck = RotatingShiftCheck(starTimeSingel1, endTimeSingel2, startTimeTowSh1, endTimeTowSh2); - rotatingCheck.RotatingDate = test; - rotatingResultList.Add(rotatingCheck); - notHolidays = notHolidays.Add(rotatingCheck.TotalWorkingTime); - Over22 = Over22.Add(rotatingCheck.NightWorkSpan); - } - } - } - else if (da.Day > w1 && da.Day <= w2) - { - if (command.PanjShanbe2) - { - var test = $"{da}"; - var checkHoliday = holidayList.Any(x => x == test); - if (checkHoliday == false) - { - i += 1; - SumComplexDays += 1; - starTimeSingel1 = Convert.ToDateTime(command.SingleShift1PanjShanbe2); - endTimeSingel2 = Convert.ToDateTime(command.SingleShift2PanjShanbe2); - startTimeTowSh1 = Convert.ToDateTime(command.TowShifts1PanjShanbe2); - endTimeTowSh2 = Convert.ToDateTime(command.TowShifts2PanjShanbe2); - if (string.IsNullOrWhiteSpace(command.TowShifts1PanjShanbe2)) - endTimeSingel2 = endTimeSingel2.Subtract(rest5w2); - sumRest = sumRest.Add(rest5w2); - - var rotatingCheck = RotatingShiftCheck(starTimeSingel1, endTimeSingel2, startTimeTowSh1, endTimeTowSh2); - rotatingCheck.RotatingDate = test; - rotatingResultList.Add(rotatingCheck); - notHolidays = notHolidays.Add(rotatingCheck.TotalWorkingTime); - Over22 = Over22.Add(rotatingCheck.NightWorkSpan); - } - } - } - else if (da.Day > w2 && da.Day <= w3) - { - if (command.PanjShanbe3) - { - var test = $"{da}"; - var checkHoliday = holidayList.Any(x => x == test); - if (checkHoliday == false) - { - i += 1; - SumComplexDays += 1; - starTimeSingel1 = Convert.ToDateTime(command.SingleShift1PanjShanbe3); - endTimeSingel2 = Convert.ToDateTime(command.SingleShift2PanjShanbe3); - startTimeTowSh1 = Convert.ToDateTime(command.TowShifts1PanjShanbe3); - endTimeTowSh2 = Convert.ToDateTime(command.TowShifts2PanjShanbe3); - if (string.IsNullOrWhiteSpace(command.TowShifts1PanjShanbe3)) - endTimeSingel2 = endTimeSingel2.Subtract(rest5w3); - sumRest = sumRest.Add(rest5w3); - - var rotatingCheck = RotatingShiftCheck(starTimeSingel1, endTimeSingel2, startTimeTowSh1, endTimeTowSh2); - rotatingCheck.RotatingDate = test; - rotatingResultList.Add(rotatingCheck); - notHolidays = notHolidays.Add(rotatingCheck.TotalWorkingTime); - Over22 = Over22.Add(rotatingCheck.NightWorkSpan); - } - } - } - else if (da.Day > w3 && da.Day <= w4) - { - if (command.PanjShanbe4) - { - var test = $"{da}"; - var checkHoliday = holidayList.Any(x => x == test); - if (checkHoliday == false) - { - i += 1; - SumComplexDays += 1; - starTimeSingel1 = Convert.ToDateTime(command.SingleShift1PanjShanbe4); - endTimeSingel2 = Convert.ToDateTime(command.SingleShift2PanjShanbe4); - startTimeTowSh1 = Convert.ToDateTime(command.TowShifts1PanjShanbe4); - endTimeTowSh2 = Convert.ToDateTime(command.TowShifts2PanjShanbe4); - if (string.IsNullOrWhiteSpace(command.TowShifts1PanjShanbe4)) - endTimeSingel2 = endTimeSingel2.Subtract(rest5w4); - sumRest = sumRest.Add(rest5w4); - - var rotatingCheck = RotatingShiftCheck(starTimeSingel1, endTimeSingel2, startTimeTowSh1, endTimeTowSh2); - rotatingCheck.RotatingDate = test; - rotatingResultList.Add(rotatingCheck); - notHolidays = notHolidays.Add(rotatingCheck.TotalWorkingTime); - Over22 = Over22.Add(rotatingCheck.NightWorkSpan); - } - } - } - else if (da.Day > w4 && da.Day <= w5) - { - if (command.PanjShanbe1) - { - var test = $"{da}"; - var checkHoliday = holidayList.Any(x => x == test); - if (checkHoliday == false) - { - i += 1; - SumComplexDays += 1; - starTimeSingel1 = Convert.ToDateTime(command.SingleShift1PanjShanbe1); - endTimeSingel2 = Convert.ToDateTime(command.SingleShift2PanjShanbe1); - startTimeTowSh1 = Convert.ToDateTime(command.TowShifts1PanjShanbe1); - endTimeTowSh2 = Convert.ToDateTime(command.TowShifts2PanjShanbe1); - if (string.IsNullOrWhiteSpace(command.TowShifts1PanjShanbe1)) - endTimeSingel2 = endTimeSingel2.Subtract(rest5w1); - sumRest = sumRest.Add(rest5w1); - - var rotatingCheck = RotatingShiftCheck(starTimeSingel1, endTimeSingel2, startTimeTowSh1, endTimeTowSh2); - rotatingCheck.RotatingDate = test; - rotatingResultList.Add(rotatingCheck); - notHolidays = notHolidays.Add(rotatingCheck.TotalWorkingTime); - Over22 = Over22.Add(rotatingCheck.NightWorkSpan); - } - } - } - else if (da.Day > w5 && da.Day <= w6) - { - if (command.PanjShanbe2) - { - var test = $"{da}"; - var checkHoliday = holidayList.Any(x => x == test); - if (checkHoliday == false) - { - i += 1; - SumComplexDays += 1; - starTimeSingel1 = Convert.ToDateTime(command.SingleShift1PanjShanbe2); - endTimeSingel2 = Convert.ToDateTime(command.SingleShift2PanjShanbe2); - startTimeTowSh1 = Convert.ToDateTime(command.TowShifts1PanjShanbe2); - endTimeTowSh2 = Convert.ToDateTime(command.TowShifts2PanjShanbe2); - if (string.IsNullOrWhiteSpace(command.TowShifts1PanjShanbe2)) - endTimeSingel2 = endTimeSingel2.Subtract(rest5w2); - sumRest = sumRest.Add(rest5w2); - - var rotatingCheck = RotatingShiftCheck(starTimeSingel1, endTimeSingel2, startTimeTowSh1, endTimeTowSh2); - rotatingCheck.RotatingDate = test; - rotatingResultList.Add(rotatingCheck); - notHolidays = notHolidays.Add(rotatingCheck.TotalWorkingTime); - Over22 = Over22.Add(rotatingCheck.NightWorkSpan); - } - } - } - break; - case "جمعه": - if (da.Day <= w1) - { - if (command.Jome1) - { - var test = $"{da}"; - var checkHoliday = holidayList.Any(x => x == test); - if (checkHoliday == false) - { - i6 += 1; - SumComplexDays += 1; - starTimeSingel1 = Convert.ToDateTime(command.SingleShift1Jome1); - endTimeSingel2 = Convert.ToDateTime(command.SingleShift2Jome1); - startTimeTowSh1 = Convert.ToDateTime(command.TowShifts1Jome1); - endTimeTowSh2 = Convert.ToDateTime(command.TowShifts2Jome1); - if (string.IsNullOrWhiteSpace(command.TowShifts1Jome1)) - endTimeSingel2 = endTimeSingel2.Subtract(rest6w1); - sumRest = sumRest.Add(rest6w1); - - var rotatingCheck = RotatingShiftCheck(starTimeSingel1, endTimeSingel2, startTimeTowSh1, endTimeTowSh2); - rotatingCheck.RotatingDate = test; - rotatingResultList.Add(rotatingCheck); - jomeh = jomeh.Add(rotatingCheck.TotalWorkingTime); - Over22 = Over22.Add(rotatingCheck.NightWorkSpan); - } - } - } - else if (da.Day > w1 && da.Day <= w2) - { - if (command.Jome2) - { - var test = $"{da}"; - var checkHoliday = holidayList.Any(x => x == test); - if (checkHoliday == false) - { - i6 += 1; - SumComplexDays += 1; - starTimeSingel1 = Convert.ToDateTime(command.SingleShift1Jome2); - endTimeSingel2 = Convert.ToDateTime(command.SingleShift2Jome2); - startTimeTowSh1 = Convert.ToDateTime(command.TowShifts1Jome2); - endTimeTowSh2 = Convert.ToDateTime(command.TowShifts2Jome2); - if (string.IsNullOrWhiteSpace(command.TowShifts1Jome2)) - endTimeSingel2 = endTimeSingel2.Subtract(rest6w2); - sumRest = sumRest.Add(rest6w2); - - var rotatingCheck = RotatingShiftCheck(starTimeSingel1, endTimeSingel2, startTimeTowSh1, endTimeTowSh2); - rotatingCheck.RotatingDate = test; - rotatingResultList.Add(rotatingCheck); - jomeh = jomeh.Add(rotatingCheck.TotalWorkingTime); - Over22 = Over22.Add(rotatingCheck.NightWorkSpan); - } - } - } - else if (da.Day > w2 && da.Day <= w3) - { - if (command.Jome3) - { - var test = $"{da}"; - var checkHoliday = holidayList.Any(x => x == test); - if (checkHoliday == false) - { - i6 += 1; - SumComplexDays += 1; - starTimeSingel1 = Convert.ToDateTime(command.SingleShift1Jome3); - endTimeSingel2 = Convert.ToDateTime(command.SingleShift2Jome3); - startTimeTowSh1 = Convert.ToDateTime(command.TowShifts1Jome3); - endTimeTowSh2 = Convert.ToDateTime(command.TowShifts2Jome3); - if (string.IsNullOrWhiteSpace(command.TowShifts1Jome3)) - endTimeSingel2 = endTimeSingel2.Subtract(rest6w3); - sumRest = sumRest.Add(rest6w3); - - var rotatingCheck = RotatingShiftCheck(starTimeSingel1, endTimeSingel2, startTimeTowSh1, endTimeTowSh2); - rotatingCheck.RotatingDate = test; - rotatingResultList.Add(rotatingCheck); - jomeh = jomeh.Add(rotatingCheck.TotalWorkingTime); - Over22 = Over22.Add(rotatingCheck.NightWorkSpan); - } - } - } - else if (da.Day > w3 && da.Day <= w4) - { - if (command.Jome4) - { - var test = $"{da}"; - var checkHoliday = holidayList.Any(x => x == test); - if (checkHoliday == false) - { - i6 += 1; - SumComplexDays += 1; - starTimeSingel1 = Convert.ToDateTime(command.SingleShift1Jome4); - endTimeSingel2 = Convert.ToDateTime(command.SingleShift2Jome4); - startTimeTowSh1 = Convert.ToDateTime(command.TowShifts1Jome4); - endTimeTowSh2 = Convert.ToDateTime(command.TowShifts2Jome4); - if (string.IsNullOrWhiteSpace(command.TowShifts1Jome4)) - endTimeSingel2 = endTimeSingel2.Subtract(rest6w4); - sumRest = sumRest.Add(rest6w4); - - var rotatingCheck = RotatingShiftCheck(starTimeSingel1, endTimeSingel2, startTimeTowSh1, endTimeTowSh2); - rotatingCheck.RotatingDate = test; - rotatingResultList.Add(rotatingCheck); - jomeh = jomeh.Add(rotatingCheck.TotalWorkingTime); - Over22 = Over22.Add(rotatingCheck.NightWorkSpan); - } - } - } - else if (da.Day > w4 && da.Day <= w5) - { - if (command.Jome1) - { - var test = $"{da}"; - var checkHoliday = holidayList.Any(x => x == test); - if (checkHoliday == false) - { - i6 += 1; - SumComplexDays += 1; - starTimeSingel1 = Convert.ToDateTime(command.SingleShift1Jome1); - endTimeSingel2 = Convert.ToDateTime(command.SingleShift2Jome1); - startTimeTowSh1 = Convert.ToDateTime(command.TowShifts1Jome1); - endTimeTowSh2 = Convert.ToDateTime(command.TowShifts2Jome1); - if (string.IsNullOrWhiteSpace(command.TowShifts1Jome1)) - endTimeSingel2 = endTimeSingel2.Subtract(rest6w1); - sumRest = sumRest.Add(rest6w1); - - var rotatingCheck = RotatingShiftCheck(starTimeSingel1, endTimeSingel2, startTimeTowSh1, endTimeTowSh2); - rotatingCheck.RotatingDate = test; - rotatingResultList.Add(rotatingCheck); - jomeh = jomeh.Add(rotatingCheck.TotalWorkingTime); - Over22 = Over22.Add(rotatingCheck.NightWorkSpan); - } - } - } - else if (da.Day > w5 && da.Day <= w6) - { - if (command.Jome2) - { - var test = $"{da}"; - var checkHoliday = holidayList.Any(x => x == test); - if (checkHoliday == false) - { - i6 += 1; - SumComplexDays += 1; - starTimeSingel1 = Convert.ToDateTime(command.SingleShift1Jome2); - endTimeSingel2 = Convert.ToDateTime(command.SingleShift2Jome2); - startTimeTowSh1 = Convert.ToDateTime(command.TowShifts1Jome2); - endTimeTowSh2 = Convert.ToDateTime(command.TowShifts2Jome2); - if (string.IsNullOrWhiteSpace(command.TowShifts1Jome2)) - endTimeSingel2 = endTimeSingel2.Subtract(rest6w2); - sumRest = sumRest.Add(rest6w2); - - var rotatingCheck = RotatingShiftCheck(starTimeSingel1, endTimeSingel2, startTimeTowSh1, endTimeTowSh2); - rotatingCheck.RotatingDate = test; - rotatingResultList.Add(rotatingCheck); - jomeh = jomeh.Add(rotatingCheck.TotalWorkingTime); - Over22 = Over22.Add(rotatingCheck.NightWorkSpan); - } - } - } - break; - - } - } - - rotatingResultList = rotatingResultList.Where(x => - x.IsMorningShift == true || x.IsEveningShift == true || x.IsNightShift == true).ToList(); - - } - - #endregion - - - - #region ComplexCompute - - - else if (command.ShiftWork == "5") - { - var sdate2 = command.ContarctStart.ToEnglishNumber(); - var edate2 = command.ContractEnd.ToEnglishNumber(); - var syear2 = Convert.ToInt32(sdate.Substring(0, 4)); - var smonth2 = Convert.ToInt32(sdate.Substring(5, 2)); - var sday2 = Convert.ToInt32(sdate.Substring(8, 2)); - - var eyear2 = Convert.ToInt32(edate.Substring(0, 4)); - var emonth2 = Convert.ToInt32(edate.Substring(5, 2)); - var eday2 = Convert.ToInt32(edate.Substring(8, 2)); - - var d1b = new PersianDateTime(syear2, smonth2, sday2); - var d2b = new PersianDateTime(eyear2, emonth2, eday2, 23, 59); - - var start = Convert.ToDateTime(command.Start1224); - var end = Convert.ToDateTime(command.End1224); - - - var sh = start.Hour; - var sm = start.Minute; - var eh = end.Hour; - var em = end.Minute; - var startDateAndTime = new PersianDateTime(syear2, smonth2, sday2, sh, sm); - var endDateTime = new PersianDateTime(syear2, smonth2, sday2, eh, em); - - end = endDateTime.ToGregorianDateTime(); - - - - - for (var da2 = startDateAndTime; da2 <= d2b; da2.AddHours(36)) - { - - if (da2.DayOfWeek == "جمعه") - { - start = da2.ToGregorianDateTime(); - if (start.Date == end.Date && start.TimeOfDay > end.TimeOfDay) - end = end.AddDays(1); - - var singleSpanTow1 = new TimeSpan(); - - i6 += 1; - if (start.Date < end.Date) - { + private readonly ICheckoutApplication _checkoutApplication; + private readonly IContractApplication _contractApplication; + private readonly IContractRepository _contractRepository; + private readonly IHolidayItemRepository _holidayItemRepository; + private readonly ILeftWorkApplication _leftWorkApplication; + private readonly IPersonnelCodeApplication _personnelCodeApplication; + private readonly IWorkingHoursTempApplication _workingHoursTempApplication; + private readonly IWorkshopApplication _workshopApplication; + private readonly IYearlySalaryApplication _yearlySalaryApplication; + private readonly IYearlySalaryRepository _yearlySalaryRepository; + public List EmployeeList; + private string InterferenceMessage = string.Empty; + public List YearlyList; + + public AutoExtensionModel(IWorkshopApplication workshopApplication, ILeftWorkApplication leftWorkApplication, + IPersonnelCodeApplication personnelCodeApplication, IContractApplication contractApplication, + ICheckoutApplication checkoutApplication, IWorkingHoursTempApplication workingHoursTempApplication, + IHolidayItemRepository holidayItemRepository, IYearlySalaryRepository yearlySalaryRepository, + IContractRepository contractRepository, IYearlySalaryApplication yearlySalaryApplication) + { + _workshopApplication = workshopApplication; + _leftWorkApplication = leftWorkApplication; + _personnelCodeApplication = personnelCodeApplication; + _contractApplication = contractApplication; + _checkoutApplication = checkoutApplication; + _workingHoursTempApplication = workingHoursTempApplication; + _holidayItemRepository = holidayItemRepository; + _yearlySalaryRepository = yearlySalaryRepository; + _contractRepository = contractRepository; + _yearlySalaryApplication = yearlySalaryApplication; + } + + public string workshopName { get; set; } + public string FirstPersonStartWork { get; set; } + public string End { get; set; } + public bool HavingPersonel { get; set; } + public long MaxPersonnelCode { get; set; } + public long WorkshopId { get; set; } + public string ArchiveCode { get; private set; } + public string WAddress1 { get; set; } + public long EmployerId { get; set; } + + public void OnGet(long id) + { + var selctedWorkshop = _workshopApplication.GetDetails(id); + workshopName = selctedWorkshop?.WorkshopFullName; + YearlyList = + _yearlySalaryApplication.GetYears(); + var employerId = selctedWorkshop.EmployerIdList.FirstOrDefault()!; + var LeftWorkSerchModel = new LeftWorkSearchModel + { + WorkshopId = id + }; + var LeftWorkList = _leftWorkApplication.search(LeftWorkSerchModel); + var personnelCodeSearch = new PersonnelCodeSearchModel + { + WorkshopId = id + }; + var pcodes = _personnelCodeApplication.Search(personnelCodeSearch); + if (pcodes.Any(x => x.PersonnelCode > 0)) + { + MaxPersonnelCode = pcodes.Select(x => x.PersonnelCode).Max(); + MaxPersonnelCode += 1; + } + else + { + MaxPersonnelCode = 1; + } + + + if (LeftWorkList.Count > 0) + { + HavingPersonel = true; + var firstStartWork = LeftWorkList.OrderBy(x => x.StartWorkDateGr).FirstOrDefault(); + var personelList = LeftWorkList.GroupBy(x => x.EmployeeId).Select(x => x.First()).ToList(); + //FirstPersonStartWork = firstStartWork.StartWorkDateGr.ToFarsi(); + //End = DateTime.Now.ToFarsi(); + personelList = personelList.OrderBy(x => x.StartWorkDateGr).ToList(); + if (!string.IsNullOrWhiteSpace(selctedWorkshop.Address)) + selctedWorkshop.Address = + $"{selctedWorkshop.State} - {selctedWorkshop.City} - {selctedWorkshop.Address}"; + + WorkshopId = id; + ArchiveCode = selctedWorkshop.ArchiveCode; + WAddress1 = selctedWorkshop.Address; + EmployerId = selctedWorkshop.EmployerIdList.FirstOrDefault(); + EmployeeList = personelList.Select(x => new ContractViweModel + { + EmployeeId = x.EmployeeId, + EmployeeName = x.EmployeeFullName, + ContarctStart = FirstPersonStartWork, + ContractEnd = End, + WorkshopIds = id, + PersonnelCode = pcodes.Any(p => p.EmployeeId == x.EmployeeId) + ? pcodes.FirstOrDefault(p => p.EmployeeId == x.EmployeeId)!.PersonnelCode + : 0, + JobType = x.JobName, + JobTypeId = x.JobId, + EmployerId = employerId, + ArchiveCode = selctedWorkshop.ArchiveCode, + WorkshopAddress1 = selctedWorkshop.Address + }).OrderBy(x => x.PersonnelCode).ToList(); + } + else + { + HavingPersonel = false; + } + } + + public IActionResult OnGetContractStatus(long employeeId, long workshopId, string employeeName, string workshopname) + { + var command = new ContractStatusViewModel(); + var contractSearch = new ContractSearchModel + { + EmployeeId = employeeId, + WorkshopIds = workshopId + }; + var checkoutSearch = new CheckoutSearchModel + { + EmployeeId = employeeId, + WorkshopId = workshopId + }; + var contractResult = _contractApplication.Search(contractSearch); + var checkoutResult = _checkoutApplication.SimpleSearch(checkoutSearch); + + if (contractResult.Count > 0) + { + var divideList = new List(); + var ChekoutDivideList = new List(); + + var groupList = new List(); + + foreach (var item in contractResult) + { + var divide = new ContractStatusDivide + { + ContractStart = item.ContarctStart, + ContractEnd = item.ContractEnd, + Year = item.ContarctStart.Substring(0, 4), + MonthStart = Convert.ToInt32(item.ContarctStart.Substring(5, 2)), + MonthEnd = Convert.ToInt32(item.ContractEnd.Substring(5, 2)), + SignaturStatus = item.Signature + }; + divideList.Add(divide); + } + + foreach (var item in checkoutResult) + { + var CheckoutDivide = new CheckoutStatusDivide + { + CheckoutStart = item.ContractStart, + CheckoutEnd = item.ContractEnd, + Year = item.ContractStart.Substring(0, 4), + MonthStart = Convert.ToInt32(item.ContractStart.Substring(5, 2)), + MonthEnd = Convert.ToInt32(item.ContractEnd.Substring(5, 2)), + SignaturStatus = item.Signature + }; + ChekoutDivideList.Add(CheckoutDivide); + } + + var contractByYear = divideList.GroupBy(x => x.Year).Select(x => x.First()).ToList(); + foreach (var year in contractByYear) + { + var divided = divideList.Where(x => x.Year == year.Year).ToList(); + var chDivided = ChekoutDivideList.Where(x => x.Year == year.Year).ToList(); + if (chDivided.Count < 1) chDivided = new List(); + + var group = new ContractStatusGroup + { + Year = year.Year, + ContractStatusDivideList = divided, + CheckoutStatusDivideList = chDivided + }; + groupList.Add(group); + } + + command.EmployeeName = employeeName; + command.WorkshopName = workshopname; + command.HavingContract = true; + command.ContractStatusGroupList = groupList; + } + else + { + command.EmployeeName = employeeName; + command.WorkshopName = workshopname; + command.HavingContract = false; + } + + + return Partial("ContractStatus", command); + } + + public IActionResult OnGetClock(long employeeId, long workshopId, string workshopAddress, long personelCode, + long jobId, string startContract, string endContract, string employeeName) + { + var psCodeZeroCheck = ""; + var jobIdZeroCheck = ""; + var leftWorkCheckExist = ""; + var dateValid = ""; + var getWorkDateHide = ""; + if (personelCode == 0) + psCodeZeroCheck = $"برای {employeeName} در این کارگاه کد پرسنلی مشخص نشده است"; + if (jobId == 0) + jobIdZeroCheck = $" برای {employeeName} در این کارگاه سمت مشخص نشده است"; + + + var leftWorkSerachModel = new LeftWorkSearchModel + { + EmployeeId = employeeId, + WorkshopId = workshopId + }; + var start = startContract.ToGeorgianDateTime(); + var end = endContract.ToGeorgianDateTime(); + var leftWoekSerchResult = _leftWorkApplication.search(leftWorkSerachModel); + if (leftWoekSerchResult.Count > 0) + { + getWorkDateHide = leftWoekSerchResult.OrderBy(x => x.StartWorkDateGr).FirstOrDefault()?.StartWorkDate; + var check = leftWoekSerchResult.FirstOrDefault(x => x.StartWorkDateGr <= start && + x.LeftWorkDateGr > start); + + if (check != null) + { + var leftWorkDate = check.LeftWorkDateGr.ToFarsi(); + + if (leftWorkDate != "1500/01/01") + { + var endOfmonth = leftWorkDate.FindeEndOfMonth(); + var endOfMonthGr = endOfmonth.ToGeorgianDateTime(); + if (end <= endOfMonthGr) + { + } + else + { + leftWorkCheckExist = $" برای {employeeName} در بازه تاریخ وارد شده شروع به کار وجود ندارد"; + } + } + } + else + { + leftWorkCheckExist = $" برای {employeeName} در بازه تاریخ وارد شده شروع به کار وجود ندارد"; + } + } + + var contractExistCheck = _contractRepository.ContractStartCheck(start, end, employeeId, workshopId); + if (start > end) + dateValid = "تاریخ شروع از تاریخ پایان بزرگتر است"; + + if (start == end) + dateValid = "تاریخ شروع و تاریخ پایان برابر وارد شده اند"; + + + if (!string.IsNullOrWhiteSpace(psCodeZeroCheck) || !string.IsNullOrWhiteSpace(jobIdZeroCheck) + || !string.IsNullOrWhiteSpace(leftWorkCheckExist) || + !string.IsNullOrWhiteSpace(contractExistCheck) + || !string.IsNullOrWhiteSpace(dateValid)) + { + var alarm = new AlarmViewModel + { + PersonnelCodeZeroCheck = psCodeZeroCheck, + JobIdZeroCheck = jobIdZeroCheck, + LeftWorkExistCheck = leftWorkCheckExist, + ContractExistCheck = contractExistCheck, + DateValidCheck = dateValid, + EmployeeName = employeeName + }; + return Partial("Alert", alarm); + } + + var result = _workingHoursTempApplication.GetByWorkshopIdAndEmployeeId(workshopId, employeeId); + if (result == null) result = new CreateWorkingHoursTemp(); + //تفکیک ساعات استراحت + + #region RestTimeSplit + + if (result.ShiftWork == "1") + { + ////////تک شیفت + var restTime = result.RestTime; + result.RestTime = restTime.RestTimeSplit(); + result.RestTimeMin = restTime.RestTimeMinSplit(); + var restTimeYekshanbeh = result.RestTimeYekshanbeh; + result.RestTimeYekshanbeh = restTimeYekshanbeh.RestTimeSplit(); + result.RestTimeYekshanbehMin = restTimeYekshanbeh.RestTimeMinSplit(); + var restTimeDoshanbeh = result.RestTimeDoshanbeh; + result.RestTimeDoshanbeh = restTimeDoshanbeh.RestTimeSplit(); + result.RestTimeDoshanbehMin = restTimeDoshanbeh.RestTimeMinSplit(); + var restTimeSeshanbeh = result.RestTimeSeshanbeh; + result.RestTimeSeshanbeh = restTimeSeshanbeh.RestTimeSplit(); + result.RestTimeSeshanbehMin = restTimeSeshanbeh.RestTimeMinSplit(); + var restTimeCheharshanbeh = result.RestTimeCheharshanbeh; + result.RestTimeCheharshanbeh = restTimeCheharshanbeh.RestTimeSplit(); + result.RestTimeCheharshanbehMin = restTimeCheharshanbeh.RestTimeMinSplit(); + var restTimePanjshanbeh = result.RestTimePanjshanbeh; + result.RestTimePanjshanbeh = restTimePanjshanbeh.RestTimeSplit(); + result.RestTimePanjshanbehMin = restTimePanjshanbeh.RestTimeMinSplit(); + var restTimeJomeh = result.RestTimeJomeh; + result.RestTimeJomeh = restTimeJomeh.RestTimeSplit(); + result.RestTimeJomehMin = restTimeJomeh.RestTimeMinSplit(); + } + else if (result.ShiftWork == "4") + { + // هفتگی + + #region Week1 + + var restTimeShanbe1 = result.RestTimeShanbe1; + result.RestTimeShanbe1 = restTimeShanbe1.RestTimeSplit(); + result.RestTimeShanbe1Min = restTimeShanbe1.RestTimeMinSplit(); + var restTimeYekShanbe1 = result.RestTimeYekShanbe1; + result.RestTimeYekShanbe1 = restTimeYekShanbe1.RestTimeSplit(); + result.RestTimeYekShanbe1Min = restTimeYekShanbe1.RestTimeMinSplit(); + var restTimeDoShanbe1 = result.RestTimeDoShanbe1; + result.RestTimeDoShanbe1 = restTimeDoShanbe1.RestTimeSplit(); + result.RestTimeDoShanbe1Min = restTimeDoShanbe1.RestTimeMinSplit(); + var restTimeSeShanbe1 = result.RestTimeSeShanbe1; + result.RestTimeSeShanbe1 = restTimeSeShanbe1.RestTimeSplit(); + result.RestTimeSeShanbe1Min = restTimeSeShanbe1.RestTimeMinSplit(); + var restTimeCheharShanbe1 = result.RestTimeCheharShanbe1; + result.RestTimeCheharShanbe1 = restTimeCheharShanbe1.RestTimeSplit(); + result.RestTimeCheharShanbe1Min = restTimeCheharShanbe1.RestTimeMinSplit(); + var restTimePanjShanbe1 = result.RestTimePanjShanbe1; + result.RestTimePanjShanbe1 = restTimePanjShanbe1.RestTimeSplit(); + result.RestTimePanjShanbe1Min = restTimePanjShanbe1.RestTimeMinSplit(); + var restTimeJome1 = result.RestTimeJome1; + result.RestTimeJome1 = restTimeJome1.RestTimeSplit(); + result.RestTimeJome1Min = restTimeJome1.RestTimeMinSplit(); + + #endregion + + #region week2 + + var restTimeShanbe2 = result.RestTimeShanbe2; + result.RestTimeShanbe2 = restTimeShanbe2.RestTimeSplit(); + result.RestTimeShanbe2Min = restTimeShanbe2.RestTimeMinSplit(); + var restTimeYekShanbe2 = result.RestTimeYekShanbe2; + result.RestTimeYekShanbe2 = restTimeYekShanbe2.RestTimeSplit(); + result.RestTimeYekShanbe2Min = restTimeYekShanbe2.RestTimeMinSplit(); + var restTimeDoShanbe2 = result.RestTimeDoShanbe2; + result.RestTimeDoShanbe2 = restTimeDoShanbe2.RestTimeSplit(); + result.RestTimeDoShanbe2Min = restTimeDoShanbe2.RestTimeMinSplit(); + var restTimeSeShanbe2 = result.RestTimeSeShanbe2; + result.RestTimeSeShanbe2 = restTimeSeShanbe2.RestTimeSplit(); + result.RestTimeSeShanbe2Min = restTimeSeShanbe2.RestTimeMinSplit(); + var restTimeCheharShanbe2 = result.RestTimeCheharShanbe2; + result.RestTimeCheharShanbe2 = restTimeCheharShanbe2.RestTimeSplit(); + result.RestTimeCheharShanbe2Min = restTimeCheharShanbe2.RestTimeMinSplit(); + var restTimePanjShanbe2 = result.RestTimePanjShanbe2; + result.RestTimePanjShanbe2 = restTimePanjShanbe2.RestTimeSplit(); + result.RestTimePanjShanbe2Min = restTimePanjShanbe2.RestTimeMinSplit(); + var restTimeJome2 = result.RestTimeJome2; + result.RestTimeJome2 = restTimeJome2.RestTimeSplit(); + result.RestTimeJome2Min = restTimeJome2.RestTimeMinSplit(); + + #endregion + + #region week3 + + var restTimeShanbe3 = result.RestTimeShanbe3; + result.RestTimeShanbe3 = restTimeShanbe3.RestTimeSplit(); + result.RestTimeShanbe3Min = restTimeShanbe3.RestTimeMinSplit(); + var restTimeYekShanbe3 = result.RestTimeYekShanbe3; + result.RestTimeYekShanbe3 = restTimeYekShanbe3.RestTimeSplit(); + result.RestTimeYekShanbe3Min = restTimeYekShanbe3.RestTimeMinSplit(); + var restTimeDoShanbe3 = result.RestTimeDoShanbe3; + result.RestTimeDoShanbe3 = restTimeDoShanbe3.RestTimeSplit(); + result.RestTimeDoShanbe3Min = restTimeDoShanbe3.RestTimeMinSplit(); + var restTimeSeShanbe3 = result.RestTimeSeShanbe3; + result.RestTimeSeShanbe3 = restTimeSeShanbe3.RestTimeSplit(); + result.RestTimeSeShanbe3Min = restTimeSeShanbe3.RestTimeMinSplit(); + var restTimeCheharShanbe3 = result.RestTimeCheharShanbe3; + result.RestTimeCheharShanbe3 = restTimeCheharShanbe3.RestTimeSplit(); + result.RestTimeCheharShanbe3Min = restTimeCheharShanbe3.RestTimeMinSplit(); + var restTimePanjShanbe3 = result.RestTimePanjShanbe3; + result.RestTimePanjShanbe3 = restTimePanjShanbe3.RestTimeSplit(); + result.RestTimePanjShanbe3Min = restTimePanjShanbe3.RestTimeMinSplit(); + var restTimeJome3 = result.RestTimeJome3; + result.RestTimeJome3 = restTimeJome3.RestTimeSplit(); + result.RestTimeJome3Min = restTimeJome3.RestTimeMinSplit(); + + #endregion + + #region week4 + + var restTimeShanbe4 = result.RestTimeShanbe4; + result.RestTimeShanbe4 = restTimeShanbe4.RestTimeSplit(); + result.RestTimeShanbe4Min = restTimeShanbe4.RestTimeMinSplit(); + var restTimeYekShanbe4 = result.RestTimeYekShanbe4; + result.RestTimeYekShanbe4 = restTimeYekShanbe4.RestTimeSplit(); + result.RestTimeYekShanbe4Min = restTimeYekShanbe4.RestTimeMinSplit(); + var restTimeDoShanbe4 = result.RestTimeDoShanbe4; + result.RestTimeDoShanbe4 = restTimeDoShanbe4.RestTimeSplit(); + result.RestTimeDoShanbe4Min = restTimeDoShanbe4.RestTimeMinSplit(); + var restTimeSeShanbe4 = result.RestTimeSeShanbe4; + result.RestTimeSeShanbe4 = restTimeSeShanbe4.RestTimeSplit(); + result.RestTimeSeShanbe4Min = restTimeSeShanbe4.RestTimeMinSplit(); + var restTimeCheharShanbe4 = result.RestTimeCheharShanbe4; + result.RestTimeCheharShanbe4 = restTimeCheharShanbe4.RestTimeSplit(); + result.RestTimeCheharShanbe4Min = restTimeCheharShanbe4.RestTimeMinSplit(); + var restTimePanjShanbe4 = result.RestTimePanjShanbe4; + result.RestTimePanjShanbe4 = restTimePanjShanbe4.RestTimeSplit(); + result.RestTimePanjShanbe4Min = restTimePanjShanbe4.RestTimeMinSplit(); + var restTimeJome4 = result.RestTimeJome4; + result.RestTimeJome4 = restTimeJome4.RestTimeSplit(); + result.RestTimeJome4Min = restTimeJome4.RestTimeMinSplit(); + + #endregion + } + + #endregion + + result.WorkshopAddress1 = workshopAddress; + //var today = DateTime.Now; + //var start = today.ToFarsi(); + result.StartDate = startContract; + result.EndDate = endContract; + result.GetWorkDateHide = getWorkDateHide; + return Partial("clock", result); + } + + public IActionResult OnPostCreateContract(List createContarctList) + { + var contractCount = createContarctList.Count; + var successProcess = 0; + if (contractCount > 0) + { + var yearlysalaryList = _yearlySalaryRepository.GetYearlySalary(); + var yearlySalarId = yearlysalaryList.FirstOrDefault().Id; + + foreach (var item in createContarctList) + { + item.YearlySalaryId = yearlySalarId; + var createContractResult = _contractApplication.CreateNew(item); + if (createContractResult.IsSuccedded) + successProcess += 1; + } + + if (successProcess == contractCount) + { + return new JsonResult(new + { + isSuccess = true, + contractCount = successProcess + }); + } + + var failds = contractCount - successProcess; + return new JsonResult(new + { + isSuccess = false, + contractCount = failds + }); + } + + return new JsonResult(new + { + isSuccess = false, + contractCount = 0 + }); + } + + public IActionResult OnPostCreateWorkingHoursTemp(CreateWorkingHoursTemp command) + { + var result = _workingHoursTempApplication.Create(command); + var compute = MandatoryHours(command); + return new JsonResult(new + { + isSuccess = result.IsSuccedded, + compute.NumberOfWorkingDays, + compute.NumberOfFriday, + compute.TotalHoursesH, + compute.TotalHoursesM, + OverTimeWorkH = compute.OverNightWorkH, + compute.OverTimeWorkM, + compute.OverNightWorkH, + compute.OverNightWorkM, + WeeklyWorkingTime = $"{compute.weeklyTime}", + compute.SumTime44, + compute.SalaryCompute, + compute.ConsumableItems, + compute.HousingAllowance, + compute.FamilyAllowance + }); + } + + #region TestCompute + + [SuppressMessage("ReSharper.DPA", "DPA0009: High execution time of DB command", MessageId = "time: 1490ms")] + public IActionResult OnPostCompute(CreateWorkingHoursTemp command) + { + var result = MandatoryHours(command); + return new JsonResult(result); + //string leftWorkStartDate = ""; + //bool exsit = false; + //var serachModel = new LeftWorkSearchModel() + //{ + // EmployeeId = command.EmployeeId, + // WorkshopId = command.WorkshopId, + + //}; + //var leftWoekSerchResult = _leftWorkApplication.search(serachModel); + //leftWorkStartDate = leftWoekSerchResult.OrderBy(x => x.StartWorkDateGr).FirstOrDefault()?.StartWorkDate; + //if (leftWoekSerchResult.Count > 0) + //{ + // var start = command.ContarctStart.ToGeorgianDateTime(); + // var end = command.ContractEnd.ToGeorgianDateTime(); + // var check = leftWoekSerchResult.FirstOrDefault(x => x.StartWorkDateGr <= start && + // x.LeftWorkDateGr > start); + // if (check != null) + // { + // var leftWorkDate = check.LeftWorkDateGr.ToFarsi(); + // if (leftWorkDate != "1500/01/01") + // { + // var endOfmonth = leftWorkDate.FindeEndOfMonth(); + // var endOfMonthGr = endOfmonth.ToGeorgianDateTime(); + // if (end <= endOfMonthGr) + // exsit = true; + // } + // else + // { + // exsit = true; + // } + + // } + + + //} + + //if (!string.IsNullOrEmpty(leftWorkStartDate)) + //{ + // if (exsit) + // { + // command.GetWorkDate = leftWorkStartDate; + // command.GetWorkDateHide = leftWorkStartDate; + // var result = MandatoryHours(command); + // return new JsonResult(result); + // } + // else + // { + // return new JsonResult(new + // { + // checkDate = false, + // }); + // } + //} + //else + //{ + // return new JsonResult(new + // { + // checkExist = false, + // }); + //} + } + + #region MandatoryCompute + + public ComputingViewModel MandatoryHours(CreateWorkingHoursTemp command) + { + #region entityes + + var Notholiday = string.Empty; + var Holidays = string.Empty; + var SingleShiftResult = string.Empty; + var shift1Hourse = "0"; + var shift1Minuts = "0"; + var shift1HolidayHours = "0"; + var shift1HolidayMinuts = "0"; + var overMandatoryHours = "0"; + var overMandatoryMinuts = "0"; + var shiftOver22Hours = "0"; + var shiftOver22Minuts = "0"; + var SumWorkeTime = string.Empty; + var weeklyTime = new TimeSpan(); + + var overNight = false; + var overNightTow = false; + var singleOver24 = new TimeSpan(); + var towOver24 = new TimeSpan(); + var panjshanbehOver24 = new TimeSpan(); + var panjshanbehOver24Tow = new TimeSpan(); + var rest = new TimeSpan(); + var Over22 = new TimeSpan(); + + var starTimeSingel1 = new DateTime(); + var endTimeSingel2 = new DateTime(); + var singleShiftOver24 = new DateTime(); + var startTimeTowSh1 = new DateTime(); + var endTimeTowSh2 = new DateTime(); + var nightWork22 = new DateTime(); + var nightWork6 = new DateTime(); + + var rotatingResultList = new List(); + + + singleShiftOver24 = Convert.ToDateTime("00:00"); + nightWork22 = Convert.ToDateTime("22:00"); + nightWork6 = Convert.ToDateTime("06:00"); + + var rest0 = new TimeSpan(); + var rest1 = new TimeSpan(); + var rest2 = new TimeSpan(); + var rest3 = new TimeSpan(); + var rest4 = new TimeSpan(); + var rest5 = new TimeSpan(); + var rest6 = new TimeSpan(); + + var rest0w1 = new TimeSpan(); + var rest1w1 = new TimeSpan(); + var rest2w1 = new TimeSpan(); + var rest3w1 = new TimeSpan(); + var rest4w1 = new TimeSpan(); + var rest5w1 = new TimeSpan(); + var rest6w1 = new TimeSpan(); + + var rest0w2 = new TimeSpan(); + var rest1w2 = new TimeSpan(); + var rest2w2 = new TimeSpan(); + var rest3w2 = new TimeSpan(); + var rest4w2 = new TimeSpan(); + var rest5w2 = new TimeSpan(); + var rest6w2 = new TimeSpan(); + + var rest0w3 = new TimeSpan(); + var rest1w3 = new TimeSpan(); + var rest2w3 = new TimeSpan(); + var rest3w3 = new TimeSpan(); + var rest4w3 = new TimeSpan(); + var rest5w3 = new TimeSpan(); + var rest6w3 = new TimeSpan(); + + var rest0w4 = new TimeSpan(); + var rest1w4 = new TimeSpan(); + var rest2w4 = new TimeSpan(); + var rest3w4 = new TimeSpan(); + var rest4w4 = new TimeSpan(); + var rest5w4 = new TimeSpan(); + var rest6w4 = new TimeSpan(); + + var SumSingle = new TimeSpan(); + var SumTow = new TimeSpan(); + var SumSingleHourses = 0; + var SumTowHourses = 0; + + var sumRest = new TimeSpan(); + var SumComplexDays = 0; + var OfficialHoliday = 0; + + #endregion + + #region SumRestTimesOneShift + + switch (command.ShiftWork) + { + case "1": + case "2": + command.RestTime = command.RestTime == "0" ? "00" : command.RestTime; + command.RestTimeYekshanbeh = command.RestTimeYekshanbeh == "0" ? "00" : command.RestTimeYekshanbeh; + command.RestTimeDoshanbeh = command.RestTimeDoshanbeh == "0" ? "00" : command.RestTimeDoshanbeh; + command.RestTimeSeshanbeh = command.RestTimeSeshanbeh == "0" ? "00" : command.RestTimeSeshanbeh; + command.RestTimeCheharshanbeh = + command.RestTimeCheharshanbeh == "0" ? "00" : command.RestTimeCheharshanbeh; + command.RestTimePanjshanbeh = command.RestTimePanjshanbeh == "0" ? "00" : command.RestTimePanjshanbeh; + command.RestTimeJomeh = command.RestTimeJomeh == "0" ? "00" : command.RestTimeJomeh; + command.RestTimeMin = command.RestTimeMin == "0" ? "00" : command.RestTimeMin; + command.RestTimeYekshanbehMin = + command.RestTimeYekshanbehMin == "0" ? "00" : command.RestTimeYekshanbehMin; + command.RestTimeDoshanbehMin = + command.RestTimeDoshanbehMin == "0" ? "00" : command.RestTimeDoshanbehMin; + command.RestTimeSeshanbehMin = + command.RestTimeSeshanbehMin == "0" ? "00" : command.RestTimeSeshanbehMin; + command.RestTimeCheharshanbehMin = + command.RestTimeCheharshanbehMin == "0" ? "00" : command.RestTimeCheharshanbehMin; + command.RestTimePanjshanbehMin = + command.RestTimePanjshanbehMin == "0" ? "00" : command.RestTimePanjshanbehMin; + command.RestTimeJomehMin = command.RestTimeJomehMin == "0" ? "00" : command.RestTimeJomehMin; + + rest0 = TimeSpan.Parse($"{command.RestTime}:{command.RestTimeMin}"); + sumRest = sumRest.Add(rest0); + rest1 = TimeSpan.Parse($"{command.RestTimeYekshanbeh}:{command.RestTimeYekshanbehMin}"); + sumRest = sumRest.Add(rest1); + rest2 = TimeSpan.Parse($"{command.RestTimeDoshanbeh}:{command.RestTimeDoshanbehMin}"); + sumRest = sumRest.Add(rest2); + rest3 = TimeSpan.Parse($"{command.RestTimeSeshanbeh}:{command.RestTimeSeshanbehMin}"); + sumRest = sumRest.Add(rest3); + rest4 = TimeSpan.Parse($"{command.RestTimeCheharshanbeh}:{command.RestTimeCheharshanbehMin}"); + sumRest = sumRest.Add(rest4); + rest5 = TimeSpan.Parse($"{command.RestTimePanjshanbeh}:{command.RestTimePanjshanbehMin}"); + sumRest = sumRest.Add(rest5); + rest6 = TimeSpan.Parse($"{command.RestTimeJomeh}:{command.RestTimeJomehMin}"); + sumRest = sumRest.Add(rest6); + break; + + case "4": + //week1 + command.RestTimeShanbe1 = command.RestTimeShanbe1 == "0" ? "00" : command.RestTimeShanbe1; + command.RestTimeShanbe1Min = command.RestTimeShanbe1Min == "0" ? "00" : command.RestTimeShanbe1Min; + command.RestTimeYekShanbe1 = command.RestTimeYekShanbe1 == "0" ? "00" : command.RestTimeYekShanbe1; + command.RestTimeYekShanbe1Min = + command.RestTimeYekShanbe1Min == "0" ? "00" : command.RestTimeYekShanbe1Min; + command.RestTimeDoShanbe1 = command.RestTimeDoShanbe1 == "0" ? "00" : command.RestTimeDoShanbe1; + command.RestTimeDoShanbe1Min = + command.RestTimeDoShanbe1Min == "0" ? "00" : command.RestTimeDoShanbe1Min; + command.RestTimeSeShanbe1 = command.RestTimeSeShanbe1 == "0" ? "00" : command.RestTimeSeShanbe1; + command.RestTimeSeShanbe1Min = + command.RestTimeSeShanbe1Min == "0" ? "00" : command.RestTimeSeShanbe1Min; + command.RestTimeCheharShanbe1 = + command.RestTimeCheharShanbe1 == "0" ? "00" : command.RestTimeCheharShanbe1; + command.RestTimeCheharShanbe1Min = + command.RestTimeCheharShanbe1Min == "0" ? "00" : command.RestTimeCheharShanbe1Min; + command.RestTimePanjShanbe1 = command.RestTimePanjShanbe1 == "0" ? "00" : command.RestTimePanjShanbe1; + command.RestTimePanjShanbe1Min = + command.RestTimePanjShanbe1Min == "0" ? "00" : command.RestTimePanjShanbe1Min; + command.RestTimeJome1 = command.RestTimeJome1 == "0" ? "00" : command.RestTimeJome1; + command.RestTimeJome1Min = command.RestTimeJome1Min == "0" ? "00" : command.RestTimeJome1Min; + + //week2 + command.RestTimeShanbe2 = command.RestTimeShanbe2 == "0" ? "00" : command.RestTimeShanbe2; + command.RestTimeShanbe2Min = command.RestTimeShanbe2Min == "0" ? "00" : command.RestTimeShanbe2Min; + command.RestTimeYekShanbe2 = command.RestTimeYekShanbe2 == "0" ? "00" : command.RestTimeYekShanbe2; + command.RestTimeYekShanbe2Min = + command.RestTimeYekShanbe2Min == "0" ? "00" : command.RestTimeYekShanbe2Min; + command.RestTimeDoShanbe2 = command.RestTimeDoShanbe2 == "0" ? "00" : command.RestTimeDoShanbe2; + command.RestTimeDoShanbe2Min = + command.RestTimeDoShanbe2Min == "0" ? "00" : command.RestTimeDoShanbe2Min; + command.RestTimeSeShanbe2 = command.RestTimeSeShanbe2 == "0" ? "00" : command.RestTimeSeShanbe2; + command.RestTimeSeShanbe2Min = + command.RestTimeSeShanbe2Min == "0" ? "00" : command.RestTimeSeShanbe2Min; + command.RestTimeCheharShanbe2 = + command.RestTimeCheharShanbe2 == "0" ? "00" : command.RestTimeCheharShanbe2; + command.RestTimeCheharShanbe2Min = + command.RestTimeCheharShanbe2Min == "0" ? "00" : command.RestTimeCheharShanbe2Min; + command.RestTimePanjShanbe2 = command.RestTimePanjShanbe2 == "0" ? "00" : command.RestTimePanjShanbe2; + command.RestTimePanjShanbe2Min = + command.RestTimePanjShanbe2Min == "0" ? "00" : command.RestTimePanjShanbe2Min; + command.RestTimeJome2 = command.RestTimeJome2 == "0" ? "00" : command.RestTimeJome2; + command.RestTimeJome2Min = command.RestTimeJome2Min == "0" ? "00" : command.RestTimeJome2Min; + + //week3 + command.RestTimeShanbe3 = command.RestTimeShanbe3 == "0" ? "00" : command.RestTimeShanbe3; + command.RestTimeShanbe3Min = command.RestTimeShanbe3Min == "0" ? "00" : command.RestTimeShanbe3Min; + command.RestTimeYekShanbe3 = command.RestTimeYekShanbe3 == "0" ? "00" : command.RestTimeYekShanbe3; + command.RestTimeYekShanbe3Min = + command.RestTimeYekShanbe3Min == "0" ? "00" : command.RestTimeYekShanbe3Min; + command.RestTimeDoShanbe3 = command.RestTimeDoShanbe3 == "0" ? "00" : command.RestTimeDoShanbe3; + command.RestTimeDoShanbe3Min = + command.RestTimeDoShanbe3Min == "0" ? "00" : command.RestTimeDoShanbe3Min; + command.RestTimeSeShanbe3 = command.RestTimeSeShanbe3 == "0" ? "00" : command.RestTimeSeShanbe3; + command.RestTimeSeShanbe3Min = + command.RestTimeSeShanbe3Min == "0" ? "00" : command.RestTimeSeShanbe3Min; + command.RestTimeCheharShanbe3 = + command.RestTimeCheharShanbe3 == "0" ? "00" : command.RestTimeCheharShanbe3; + command.RestTimeCheharShanbe3Min = + command.RestTimeCheharShanbe3Min == "0" ? "00" : command.RestTimeCheharShanbe3Min; + command.RestTimePanjShanbe3 = command.RestTimePanjShanbe3 == "0" ? "00" : command.RestTimePanjShanbe3; + command.RestTimePanjShanbe3Min = + command.RestTimePanjShanbe3Min == "0" ? "00" : command.RestTimePanjShanbe3Min; + command.RestTimeJome3 = command.RestTimeJome3 == "0" ? "00" : command.RestTimeJome3; + command.RestTimeJome3Min = command.RestTimeJome3Min == "0" ? "00" : command.RestTimeJome3Min; + + //week4 + command.RestTimeShanbe4 = command.RestTimeShanbe4 == "0" ? "00" : command.RestTimeShanbe4; + command.RestTimeShanbe4Min = command.RestTimeShanbe4Min == "0" ? "00" : command.RestTimeShanbe4Min; + command.RestTimeYekShanbe4 = command.RestTimeYekShanbe4 == "0" ? "00" : command.RestTimeYekShanbe4; + command.RestTimeYekShanbe4Min = + command.RestTimeYekShanbe4Min == "0" ? "00" : command.RestTimeYekShanbe4Min; + command.RestTimeDoShanbe4 = command.RestTimeDoShanbe4 == "0" ? "00" : command.RestTimeDoShanbe4; + command.RestTimeDoShanbe4Min = + command.RestTimeDoShanbe4Min == "0" ? "00" : command.RestTimeDoShanbe4Min; + command.RestTimeSeShanbe4 = command.RestTimeSeShanbe4 == "0" ? "00" : command.RestTimeSeShanbe4; + command.RestTimeSeShanbe4Min = + command.RestTimeSeShanbe4Min == "0" ? "00" : command.RestTimeSeShanbe4Min; + command.RestTimeCheharShanbe4 = + command.RestTimeCheharShanbe4 == "0" ? "00" : command.RestTimeCheharShanbe4; + command.RestTimeCheharShanbe4Min = + command.RestTimeCheharShanbe4Min == "0" ? "00" : command.RestTimeCheharShanbe4Min; + command.RestTimePanjShanbe4 = command.RestTimePanjShanbe4 == "0" ? "00" : command.RestTimePanjShanbe4; + command.RestTimePanjShanbe4Min = + command.RestTimePanjShanbe4Min == "0" ? "00" : command.RestTimePanjShanbe4Min; + command.RestTimeJome4 = command.RestTimeJome4 == "0" ? "00" : command.RestTimeJome4; + command.RestTimeJome4Min = command.RestTimeJome4Min == "0" ? "00" : command.RestTimeJome4Min; + + // sumrest week1 + rest0w1 = TimeSpan.Parse($"{command.RestTimeShanbe1}:{command.RestTimeShanbe1Min}"); + rest1w1 = TimeSpan.Parse($"{command.RestTimeYekShanbe1}:{command.RestTimeYekShanbe1Min}"); + rest2w1 = TimeSpan.Parse($"{command.RestTimeDoShanbe1}:{command.RestTimeDoShanbe1Min}"); + rest3w1 = TimeSpan.Parse($"{command.RestTimeSeShanbe1}:{command.RestTimeSeShanbe1Min}"); + rest4w1 = TimeSpan.Parse($"{command.RestTimeCheharShanbe1}:{command.RestTimeCheharShanbe1Min}"); + rest5w1 = TimeSpan.Parse($"{command.RestTimePanjShanbe1}:{command.RestTimePanjShanbe1Min}"); + rest6w1 = TimeSpan.Parse($"{command.RestTimeJome1}:{command.RestTimeJome1Min}"); + + // sumrest week2 + rest0w2 = TimeSpan.Parse($"{command.RestTimeShanbe2}:{command.RestTimeShanbe2Min}"); + rest1w2 = TimeSpan.Parse($"{command.RestTimeYekShanbe2}:{command.RestTimeYekShanbe2Min}"); + rest2w2 = TimeSpan.Parse($"{command.RestTimeDoShanbe2}:{command.RestTimeDoShanbe2Min}"); + rest3w2 = TimeSpan.Parse($"{command.RestTimeSeShanbe2}:{command.RestTimeSeShanbe2Min}"); + rest4w2 = TimeSpan.Parse($"{command.RestTimeCheharShanbe2}:{command.RestTimeCheharShanbe2Min}"); + rest5w2 = TimeSpan.Parse($"{command.RestTimePanjShanbe2}:{command.RestTimePanjShanbe2Min}"); + rest6w2 = TimeSpan.Parse($"{command.RestTimeJome2}:{command.RestTimeJome2Min}"); + + // sumrest week3 + rest0w3 = TimeSpan.Parse($"{command.RestTimeShanbe3}:{command.RestTimeShanbe3Min}"); + rest1w3 = TimeSpan.Parse($"{command.RestTimeYekShanbe3}:{command.RestTimeYekShanbe3Min}"); + rest2w3 = TimeSpan.Parse($"{command.RestTimeDoShanbe3}:{command.RestTimeDoShanbe3Min}"); + rest3w3 = TimeSpan.Parse($"{command.RestTimeSeShanbe3}:{command.RestTimeSeShanbe3Min}"); + rest4w3 = TimeSpan.Parse($"{command.RestTimeCheharShanbe3}:{command.RestTimeCheharShanbe3Min}"); + rest5w3 = TimeSpan.Parse($"{command.RestTimePanjShanbe3}:{command.RestTimePanjShanbe3Min}"); + rest6w3 = TimeSpan.Parse($"{command.RestTimeJome3}:{command.RestTimeJome3Min}"); + + // sumrest week4 + rest0w4 = TimeSpan.Parse($"{command.RestTimeShanbe4}:{command.RestTimeShanbe4Min}"); + rest1w4 = TimeSpan.Parse($"{command.RestTimeYekShanbe4}:{command.RestTimeYekShanbe4Min}"); + rest2w4 = TimeSpan.Parse($"{command.RestTimeDoShanbe4}:{command.RestTimeDoShanbe4Min}"); + rest3w4 = TimeSpan.Parse($"{command.RestTimeSeShanbe4}:{command.RestTimeSeShanbe4Min}"); + rest4w4 = TimeSpan.Parse($"{command.RestTimeCheharShanbe4}:{command.RestTimeCheharShanbe4Min}"); + rest5w4 = TimeSpan.Parse($"{command.RestTimePanjShanbe4}:{command.RestTimePanjShanbe4Min}"); + rest6w4 = TimeSpan.Parse($"{command.RestTimeJome4}:{command.RestTimeJome4Min}"); + break; + } + + #endregion + + #region SumSingleAndTowShifts + + var StartShanbehSingle = Convert.ToDateTime(command.SingleShift1); + var EndShanbehSingle = Convert.ToDateTime(command.SingleShift2); + if (StartShanbehSingle > EndShanbehSingle) + EndShanbehSingle = EndShanbehSingle.AddDays(1); + var ShanbehSingle = EndShanbehSingle - StartShanbehSingle; + SumSingle = SumSingle.Add(ShanbehSingle); + + var StartYekShanbehSingle = Convert.ToDateTime(command.SingleShift1Yekshanbeh); + var EndYekShanbehSingle = Convert.ToDateTime(command.SingleShift2Yekshanbeh); + if (StartYekShanbehSingle > EndYekShanbehSingle) + EndYekShanbehSingle = EndYekShanbehSingle.AddDays(1); + var YekShanbehSingle = EndYekShanbehSingle - StartYekShanbehSingle; + SumSingle = SumSingle.Add(YekShanbehSingle); + + var StartDoShanbehSingle = Convert.ToDateTime(command.SingleShift1Doshanbeh); + var EndDoShanbehSingle = Convert.ToDateTime(command.SingleShift2Doshanbeh); + if (StartDoShanbehSingle > EndDoShanbehSingle) + EndDoShanbehSingle = EndDoShanbehSingle.AddDays(1); + var DoShanbehSingle = EndDoShanbehSingle - StartDoShanbehSingle; + SumSingle = SumSingle.Add(DoShanbehSingle); + + + var StartSehShanbehSingle = Convert.ToDateTime(command.SingleShift1Seshanbeh); + var EndSehShanbehSingle = Convert.ToDateTime(command.SingleShift2Seshanbeh); + if (StartSehShanbehSingle > EndSehShanbehSingle) + EndSehShanbehSingle = EndSehShanbehSingle.AddDays(1); + var SeShanbehSingle = EndSehShanbehSingle - StartSehShanbehSingle; + SumSingle = SumSingle.Add(SeShanbehSingle); + + var StartCheharShanbehSingle = Convert.ToDateTime(command.SingleShift1Cheharshanbeh); + var EndCheharShanbehSingle = Convert.ToDateTime(command.SingleShift2Cheharshanbeh); + if (StartCheharShanbehSingle > EndCheharShanbehSingle) + EndCheharShanbehSingle = EndCheharShanbehSingle.AddDays(1); + var CheharShanbehSingle = EndCheharShanbehSingle - StartCheharShanbehSingle; + SumSingle = SumSingle.Add(CheharShanbehSingle); + + var StartPanjShanbehSingle = Convert.ToDateTime(command.SingleShift1Panjshanbeh); + var EndPanjShanbehSingle = Convert.ToDateTime(command.SingleShift2Panjshanbeh); + if (StartPanjShanbehSingle > EndPanjShanbehSingle) + EndPanjShanbehSingle = EndPanjShanbehSingle.AddDays(1); + var PanjShanbehSingle = EndPanjShanbehSingle - StartPanjShanbehSingle; + SumSingle = SumSingle.Add(PanjShanbehSingle); + + var StartJomehSingle = Convert.ToDateTime(command.SingleShift1Jomeh); + var EndjomehSingle = Convert.ToDateTime(command.SingleShift2Jomeh); + if (StartJomehSingle > EndjomehSingle) + EndjomehSingle = EndjomehSingle.AddDays(1); + var JomehSingle = EndjomehSingle - StartJomehSingle; + SumSingle = SumSingle.Add(JomehSingle); + if (command.ShiftWork == "1") SumSingle = SumSingle.Subtract(sumRest); + //SumSingleHourses = (int)SumSingle.TotalHours; + + + var StartShanbehTow = Convert.ToDateTime(command.TowShifts1); + var EndShanbehTow = Convert.ToDateTime(command.TowShifts2); + if (StartShanbehTow > EndShanbehTow) + EndShanbehTow = EndShanbehTow.AddDays(1); + var ShanbehTow = EndShanbehTow - StartShanbehTow; + SumTow = SumTow.Add(ShanbehTow); + + var StartYekShanbehTow = Convert.ToDateTime(command.TowShifts1Yekshanbeh); + var EndYekShanbehTow = Convert.ToDateTime(command.TowShifts2Yekshanbeh); + if (StartYekShanbehTow > EndYekShanbehTow) + EndYekShanbehTow = EndYekShanbehTow.AddDays(1); + var YekShanbehTow = EndYekShanbehTow - StartYekShanbehTow; + SumTow = SumTow.Add(YekShanbehTow); + + var StartDoShanbehTow = Convert.ToDateTime(command.TowShifts1Doshanbeh); + var EndDoShanbehTow = Convert.ToDateTime(command.TowShifts2Doshanbeh); + if (StartDoShanbehTow > EndDoShanbehTow) + EndDoShanbehTow = EndDoShanbehTow.AddDays(1); + var DoShanbehTow = EndDoShanbehTow - StartDoShanbehTow; + SumTow = SumTow.Add(DoShanbehTow); + + + var StartSehShanbehTow = Convert.ToDateTime(command.TowShifts1Seshanbeh); + var EndSehShanbehTow = Convert.ToDateTime(command.TowShifts2Seshanbeh); + if (StartSehShanbehTow > EndSehShanbehTow) + EndSehShanbehTow = EndSehShanbehTow.AddDays(1); + var SeShanbehTow = EndSehShanbehTow - StartSehShanbehTow; + SumTow = SumTow.Add(SeShanbehTow); + + var StartCheharShanbehTow = Convert.ToDateTime(command.TowShifts1Cheharshanbeh); + var EndCheharShanbehTow = Convert.ToDateTime(command.TowShifts2Cheharshanbeh); + if (StartCheharShanbehTow > EndCheharShanbehTow) + EndCheharShanbehTow = EndCheharShanbehTow.AddDays(1); + var CheharShanbehTow = EndCheharShanbehTow - StartCheharShanbehTow; + SumTow = SumTow.Add(CheharShanbehTow); + + var StartPanjShanbehTow = Convert.ToDateTime(command.TowShifts1Panjshanbeh); + var EndPanjShanbehTow = Convert.ToDateTime(command.TowShifts2Panjshanbeh); + if (StartPanjShanbehTow > EndPanjShanbehTow) + EndPanjShanbehTow = EndPanjShanbehTow.AddDays(1); + var PanjShanbehTow = EndPanjShanbehTow - StartPanjShanbehTow; + SumTow = SumTow.Add(PanjShanbehTow); + + var StartJomehTow = Convert.ToDateTime(command.TowShifts1Jomeh); + var EndjomehTow = Convert.ToDateTime(command.TowShifts2Jomeh); + if (StartJomehTow > EndjomehTow) + EndjomehTow = EndjomehTow.AddDays(1); + var jomehTow = EndjomehTow - StartJomehTow; + SumTow = SumTow.Add(jomehTow); + + //SumTowHourses = (int)SumTow.TotalHours; + + #endregion + + #region ComplexSumWorkTime + + if (command.ShiftWork == "5") + SumWorkeTime = "24 - 12"; + else if (command.ShiftWork == "6") + SumWorkeTime = "24 - 24"; + else if (command.ShiftWork == "7") + SumWorkeTime = "36 - 12"; + else if (command.ShiftWork == "8") SumWorkeTime = "48 - 24"; + + #endregion + + #region OneAndTowShiftsCompute + + var dailyFix = TimeSpan.Parse("07:20"); + var notHolidays = new TimeSpan(); + var jomeh = new TimeSpan(); + + var sdate = command.ContarctStart.ToEnglishNumber(); + var edate = command.ContractEnd.ToEnglishNumber(); + var syear = Convert.ToInt32(sdate.Substring(0, 4)); + var smonth = Convert.ToInt32(sdate.Substring(5, 2)); + var sday = Convert.ToInt32(sdate.Substring(8, 2)); + + var eyear = Convert.ToInt32(edate.Substring(0, 4)); + var emonth = Convert.ToInt32(edate.Substring(5, 2)); + var eday = Convert.ToInt32(edate.Substring(8, 2)); + + var d1 = new PersianDateTime(syear, smonth, sday); + var d2 = new PersianDateTime(eyear, emonth, eday); + int i = 0, i1 = 0, i2 = 0, i3 = 0, i4 = 0, i5 = 0, i6 = 0; + var holidayList = _holidayItemRepository.GetHolidayItem(sdate.Substring(0, 4)); + + #region shiftWork 1&2 + + if (command.ShiftWork == "1" || command.ShiftWork == "2") + { + for (var da = d1; da <= d2; da.AddDays(1)) + if (command.ShiftWork == "1" || command.ShiftWork == "2") + { + if (command.shanbeh) + if (da.DayOfWeek == "شنبه") + { + var test = da.ToGregorianDateTime(); + var checkHoliday = _holidayItemRepository.GetHoliday(test); + if (checkHoliday == false) + { + i += 1; + if (command.ShiftWork == "1") + { + starTimeSingel1 = Convert.ToDateTime(command.SingleShift1); + endTimeSingel2 = Convert.ToDateTime(command.SingleShift2); + if (starTimeSingel1 > endTimeSingel2) + { + overNight = true; + endTimeSingel2 = endTimeSingel2.AddDays(1); + } + + var singleSpan1 = endTimeSingel2 - starTimeSingel1; + + singleSpan1 = singleSpan1.Subtract(rest0); + + notHolidays = notHolidays.Add(singleSpan1); + var Over22Compute = Over22Check(starTimeSingel1, endTimeSingel2); + //Over22Compute = Over22Compute.Subtract(rest); + Over22 = Over22.Add(Over22Compute); + } + else if (command.ShiftWork == "2") + { + starTimeSingel1 = Convert.ToDateTime(command.SingleShift1); + endTimeSingel2 = Convert.ToDateTime(command.SingleShift2); + startTimeTowSh1 = Convert.ToDateTime(command.TowShifts1); + endTimeTowSh2 = Convert.ToDateTime(command.TowShifts2); + if (starTimeSingel1 > endTimeSingel2) + { + overNight = true; + endTimeSingel2 = endTimeSingel2.AddDays(1); + } + + if (startTimeTowSh1 > endTimeTowSh2) + { + overNight = true; + endTimeTowSh2 = endTimeTowSh2.AddDays(1); + } + + var singleSpanTow1 = endTimeSingel2 - starTimeSingel1; + var singleSpanTow2 = endTimeTowSh2 - startTimeTowSh1; + notHolidays = notHolidays.Add(singleSpanTow1); + notHolidays = notHolidays.Add(singleSpanTow2); + + var Over22ComputeTow1 = Over22Check(starTimeSingel1, endTimeSingel2); + Over22 = Over22.Add(Over22ComputeTow1); + var Over22ComputeTow2 = Over22Check(startTimeTowSh1, endTimeTowSh2); + Over22 = Over22.Add(Over22ComputeTow2); + } + } + } + + if (command.yekshanbeh) + if (da.DayOfWeek == "یکشنبه") + { + var test = da.ToGregorianDateTime(); + var checkHoliday = _holidayItemRepository.GetHoliday(test); + if (checkHoliday == false) + { + i1 += 1; + + if (command.ShiftWork == "1") + { + starTimeSingel1 = Convert.ToDateTime(command.SingleShift1Yekshanbeh); + endTimeSingel2 = Convert.ToDateTime(command.SingleShift2Yekshanbeh); + if (starTimeSingel1 > endTimeSingel2) + { + overNight = true; + endTimeSingel2 = endTimeSingel2.AddDays(1); + } + + var singleSpan1 = endTimeSingel2 - starTimeSingel1; + + singleSpan1 = singleSpan1.Subtract(rest1); + + notHolidays = notHolidays.Add(singleSpan1); + + var Over22Compute = Over22Check(starTimeSingel1, endTimeSingel2); + //Over22Compute = Over22Compute.Subtract(rest); + Over22 = Over22.Add(Over22Compute); + } + + else if (command.ShiftWork == "2") + { + starTimeSingel1 = Convert.ToDateTime(command.SingleShift1Yekshanbeh); + endTimeSingel2 = Convert.ToDateTime(command.SingleShift2Yekshanbeh); + startTimeTowSh1 = Convert.ToDateTime(command.TowShifts1Yekshanbeh); + endTimeTowSh2 = Convert.ToDateTime(command.TowShifts2Yekshanbeh); + if (starTimeSingel1 > endTimeSingel2) + { + overNight = true; + endTimeSingel2 = endTimeSingel2.AddDays(1); + } + + if (startTimeTowSh1 > endTimeTowSh2) + { + overNight = true; + endTimeTowSh2 = endTimeTowSh2.AddDays(1); + } + + var singleSpanTow1 = endTimeSingel2 - starTimeSingel1; + var singleSpanTow2 = endTimeTowSh2 - startTimeTowSh1; + notHolidays = notHolidays.Add(singleSpanTow1); + notHolidays = notHolidays.Add(singleSpanTow2); + + var Over22ComputeTow1 = Over22Check(starTimeSingel1, endTimeSingel2); + Over22 = Over22.Add(Over22ComputeTow1); + var Over22ComputeTow2 = Over22Check(startTimeTowSh1, endTimeTowSh2); + Over22 = Over22.Add(Over22ComputeTow2); + } + } + } + + if (command.doshanbeh) + if (da.DayOfWeek == "دوشنبه") + { + var test = da.ToGregorianDateTime(); + var checkHoliday = _holidayItemRepository.GetHoliday(test); + if (checkHoliday == false) + { + i2 += 1; + switch (command.ShiftWork) + { + case "1": + + starTimeSingel1 = Convert.ToDateTime(command.SingleShift1Doshanbeh); + endTimeSingel2 = Convert.ToDateTime(command.SingleShift2Doshanbeh); + if (starTimeSingel1 > endTimeSingel2) + { + overNight = true; + endTimeSingel2 = endTimeSingel2.AddDays(1); + } + + var singleSpan1 = endTimeSingel2 - starTimeSingel1; + + singleSpan1 = singleSpan1.Subtract(rest2); + + notHolidays = notHolidays.Add(singleSpan1); + + var Over22Compute = Over22Check(starTimeSingel1, endTimeSingel2); + + Over22 = Over22.Add(Over22Compute); + break; + + case "2": + starTimeSingel1 = Convert.ToDateTime(command.SingleShift1Doshanbeh); + endTimeSingel2 = Convert.ToDateTime(command.SingleShift2Doshanbeh); + startTimeTowSh1 = Convert.ToDateTime(command.TowShifts1Doshanbeh); + endTimeTowSh2 = Convert.ToDateTime(command.TowShifts2Doshanbeh); + if (starTimeSingel1 > endTimeSingel2) + { + overNight = true; + endTimeSingel2 = endTimeSingel2.AddDays(1); + } + + if (startTimeTowSh1 > endTimeTowSh2) + { + overNight = true; + endTimeTowSh2 = endTimeTowSh2.AddDays(1); + } + + var singleSpanTow1 = endTimeSingel2 - starTimeSingel1; + var singleSpanTow2 = endTimeTowSh2 - startTimeTowSh1; + notHolidays = notHolidays.Add(singleSpanTow1); + notHolidays = notHolidays.Add(singleSpanTow2); + + var Over22ComputeTow1 = Over22Check(starTimeSingel1, endTimeSingel2); + Over22 = Over22.Add(Over22ComputeTow1); + var Over22ComputeTow2 = Over22Check(startTimeTowSh1, endTimeTowSh2); + Over22 = Over22.Add(Over22ComputeTow2); + break; + } + } + } + + if (command.seshanbeh) + if (da.DayOfWeek == "سه شنبه") + { + var test = da.ToGregorianDateTime(); + var checkHoliday = _holidayItemRepository.GetHoliday(test); + if (checkHoliday == false) + { + i3 += 1; + switch (command.ShiftWork) + { + case "1": + starTimeSingel1 = Convert.ToDateTime(command.SingleShift1Seshanbeh); + endTimeSingel2 = Convert.ToDateTime(command.SingleShift2Seshanbeh); + if (starTimeSingel1 > endTimeSingel2) + { + overNight = true; + endTimeSingel2 = endTimeSingel2.AddDays(1); + } + + var singleSpan1 = endTimeSingel2 - starTimeSingel1; + + singleSpan1 = singleSpan1.Subtract(rest3); + + notHolidays = notHolidays.Add(singleSpan1); + + var Over22Compute = Over22Check(starTimeSingel1, endTimeSingel2); + Over22 = Over22.Add(Over22Compute); + break; + + case "2": + starTimeSingel1 = Convert.ToDateTime(command.SingleShift1Seshanbeh); + endTimeSingel2 = Convert.ToDateTime(command.SingleShift2Seshanbeh); + startTimeTowSh1 = Convert.ToDateTime(command.TowShifts1Seshanbeh); + endTimeTowSh2 = Convert.ToDateTime(command.TowShifts2Seshanbeh); + if (starTimeSingel1 > endTimeSingel2) + { + overNight = true; + endTimeSingel2 = endTimeSingel2.AddDays(1); + } + + if (startTimeTowSh1 > endTimeTowSh2) + { + overNight = true; + endTimeTowSh2 = endTimeTowSh2.AddDays(1); + } + + var singleSpanTow1 = endTimeSingel2 - starTimeSingel1; + var singleSpanTow2 = endTimeTowSh2 - startTimeTowSh1; + notHolidays = notHolidays.Add(singleSpanTow1); + notHolidays = notHolidays.Add(singleSpanTow2); + + var Over22ComputeTow1 = Over22Check(starTimeSingel1, endTimeSingel2); + Over22 = Over22.Add(Over22ComputeTow1); + var Over22ComputeTow2 = Over22Check(startTimeTowSh1, endTimeTowSh2); + Over22 = Over22.Add(Over22ComputeTow2); + break; + } + } + } + + if (command.cheharshanbeh) + if (da.DayOfWeek == "چهارشنبه") + { + var test = da.ToGregorianDateTime(); + var checkHoliday = _holidayItemRepository.GetHoliday(test); + if (checkHoliday == false) + { + i4 += 1; + switch (command.ShiftWork) + { + case "1": + starTimeSingel1 = Convert.ToDateTime(command.SingleShift1Cheharshanbeh); + endTimeSingel2 = Convert.ToDateTime(command.SingleShift2Cheharshanbeh); + if (starTimeSingel1 > endTimeSingel2) + { + overNight = true; + endTimeSingel2 = endTimeSingel2.AddDays(1); + } + + var singleSpan1 = endTimeSingel2 - starTimeSingel1; + + singleSpan1 = singleSpan1.Subtract(rest4); + + notHolidays = notHolidays.Add(singleSpan1); + + var Over22Compute = Over22Check(starTimeSingel1, endTimeSingel2); + Over22 = Over22.Add(Over22Compute); + break; + + case "2": + starTimeSingel1 = Convert.ToDateTime(command.SingleShift1Cheharshanbeh); + endTimeSingel2 = Convert.ToDateTime(command.SingleShift2Cheharshanbeh); + startTimeTowSh1 = Convert.ToDateTime(command.TowShifts1Cheharshanbeh); + endTimeTowSh2 = Convert.ToDateTime(command.TowShifts2Cheharshanbeh); + if (starTimeSingel1 > endTimeSingel2) + { + overNight = true; + endTimeSingel2 = endTimeSingel2.AddDays(1); + } + + if (startTimeTowSh1 > endTimeTowSh2) + { + overNight = true; + endTimeTowSh2 = endTimeTowSh2.AddDays(1); + } + + var singleSpanTow1 = endTimeSingel2 - starTimeSingel1; + var singleSpanTow2 = endTimeTowSh2 - startTimeTowSh1; + notHolidays = notHolidays.Add(singleSpanTow1); + notHolidays = notHolidays.Add(singleSpanTow2); + + var Over22ComputeTow1 = Over22Check(starTimeSingel1, endTimeSingel2); + Over22 = Over22.Add(Over22ComputeTow1); + var Over22ComputeTow2 = Over22Check(startTimeTowSh1, endTimeTowSh2); + Over22 = Over22.Add(Over22ComputeTow2); + break; + } + } + } + + if (command.pangshanbeh) + if (da.DayOfWeek == "پنج شنبه") + { + var test = da.ToGregorianDateTime(); + var checkHoliday = _holidayItemRepository.GetHoliday(test); + if (checkHoliday == false) + { + i5 += 1; + switch (command.ShiftWork) + { + case "1": + starTimeSingel1 = Convert.ToDateTime(command.SingleShift1Panjshanbeh); + endTimeSingel2 = Convert.ToDateTime(command.SingleShift2Panjshanbeh); + if (starTimeSingel1 > endTimeSingel2) + { + overNight = true; + singleOver24 = endTimeSingel2 - singleShiftOver24; + endTimeSingel2 = endTimeSingel2.AddDays(1); + } + + var singleSpan1 = endTimeSingel2 - starTimeSingel1; + + singleSpan1 = singleSpan1.Subtract(rest5); + + singleSpan1 = singleSpan1.Subtract(singleOver24); + jomeh = jomeh.Add(singleOver24); + notHolidays = notHolidays.Add(singleSpan1); + + var Over22Compute = Over22Check(starTimeSingel1, endTimeSingel2); + Over22 = Over22.Add(Over22Compute); + break; + + case "2": + starTimeSingel1 = Convert.ToDateTime(command.SingleShift1Panjshanbeh); + endTimeSingel2 = Convert.ToDateTime(command.SingleShift2Panjshanbeh); + startTimeTowSh1 = Convert.ToDateTime(command.TowShifts1Panjshanbeh); + endTimeTowSh2 = Convert.ToDateTime(command.TowShifts2Panjshanbeh); + var singleOver24Tow = new TimeSpan(); + if (starTimeSingel1 > endTimeSingel2) + { + overNight = true; + singleOver24 = endTimeSingel2 - singleShiftOver24; + endTimeSingel2 = endTimeSingel2.AddDays(1); + } + + if (startTimeTowSh1 > endTimeTowSh2) + { + overNight = true; + singleOver24Tow = endTimeTowSh2 - singleShiftOver24; + endTimeTowSh2 = endTimeTowSh2.AddDays(1); + } + + var singleSpanTow1 = endTimeSingel2 - starTimeSingel1; + var singleSpanTow2 = endTimeTowSh2 - startTimeTowSh1; + + + singleSpanTow1 = singleSpanTow1.Subtract(singleOver24); + singleSpanTow2 = singleSpanTow2.Subtract(singleOver24Tow); + + jomeh = jomeh.Add(singleOver24); + jomeh = jomeh.Add(singleOver24Tow); + + notHolidays = notHolidays.Add(singleSpanTow1); + notHolidays = notHolidays.Add(singleSpanTow2); + + var Over22ComputeTow1 = Over22Check(starTimeSingel1, endTimeSingel2); + Over22 = Over22.Add(Over22ComputeTow1); + var Over22ComputeTow2 = Over22Check(startTimeTowSh1, endTimeTowSh2); + Over22 = Over22.Add(Over22ComputeTow2); + break; + } + } + } + + if (command.jomeh) + { + if (da.DayOfWeek == "جمعه") + { + i6 += 1; + switch (command.ShiftWork) + { + case "1": + starTimeSingel1 = Convert.ToDateTime(command.SingleShift1Jomeh); + endTimeSingel2 = Convert.ToDateTime(command.SingleShift2Jomeh); + if (starTimeSingel1 > endTimeSingel2) + { + overNight = true; + endTimeSingel2 = endTimeSingel2.AddDays(1); + } + + var singleSpan1 = endTimeSingel2 - starTimeSingel1; + singleSpan1 = singleSpan1.Subtract(rest6); + + jomeh = jomeh.Add(singleSpan1); + + var Over22Compute = Over22Check(starTimeSingel1, endTimeSingel2); + Over22 = Over22.Add(Over22Compute); + break; + + case "2": + starTimeSingel1 = Convert.ToDateTime(command.SingleShift1Jomeh); + endTimeSingel2 = Convert.ToDateTime(command.SingleShift2Jomeh); + startTimeTowSh1 = Convert.ToDateTime(command.TowShifts1Jomeh); + endTimeTowSh2 = Convert.ToDateTime(command.TowShifts2Jomeh); + if (starTimeSingel1 > endTimeSingel2) + { + overNight = true; + endTimeSingel2 = endTimeSingel2.AddDays(1); + } + + if (startTimeTowSh1 > endTimeTowSh2) + { + overNight = true; + endTimeTowSh2 = endTimeTowSh2.AddDays(1); + } + + var singleSpanTow1 = endTimeSingel2 - starTimeSingel1; + var singleSpanTow2 = endTimeTowSh2 - startTimeTowSh1; + jomeh = jomeh.Add(singleSpanTow1); + jomeh = jomeh.Add(singleSpanTow2); + + var Over22ComputeTow1 = Over22Check(starTimeSingel1, endTimeSingel2); + Over22 = Over22.Add(Over22ComputeTow1); + var Over22ComputeTow2 = Over22Check(startTimeTowSh1, endTimeTowSh2); + Over22 = Over22.Add(Over22ComputeTow2); + break; + } + } + } + else + { + i6 = 0; + } + } + } + + #endregion + + #endregion + + #region Rotating + + else if (command.ShiftWork == "4") + { + for (var da = d1; da <= d2; da.AddDays(1)) + { + var FirstDayOfMonth = new PersianDateTime(da.Year, da.Month, 1); + var w1 = 0; + var w2 = 0; + var w3 = 0; + var w4 = 0; + var w5 = 0; + var w6 = 0; + + switch (FirstDayOfMonth.DayOfWeek) + { + case "شنبه": + w1 = 7; + w2 = 14; + w3 = 28; + w4 = 31; + break; + case "یکشنبه": + w1 = 6; + w2 = 13; + w3 = 20; + w4 = 27; + w5 = 31; + break; + case "دوشنبه": + w1 = 5; + w2 = 12; + w3 = 19; + w4 = 26; + w5 = 31; + break; + case "سه شنبه": + w1 = 4; + w2 = 11; + w3 = 18; + w4 = 25; + w5 = 31; + break; + case "چهارشنبه": + w1 = 3; + w2 = 10; + w3 = 17; + w4 = 24; + w5 = 31; + break; + case "پنج شنبه": + w1 = 2; + w2 = 9; + w3 = 16; + w4 = 23; + w5 = 30; + w6 = 31; + break; + case "جمعه": + w1 = 1; + w2 = 8; + w3 = 15; + w4 = 22; + w5 = 29; + w6 = 31; + break; + } + + switch (da.DayOfWeek) + { + case "شنبه": + if (da.Day <= w1) + { + if (command.Shanbe1) + { + var test = $"{da}"; + var checkHoliday = holidayList.Any(x => x == test); + if (checkHoliday == false) + { + i += 1; + SumComplexDays += 1; + starTimeSingel1 = Convert.ToDateTime(command.SingleShift1Shanbe1); + endTimeSingel2 = Convert.ToDateTime(command.SingleShift2Shanbe1); + startTimeTowSh1 = Convert.ToDateTime(command.TowShifts1Shanbe1); + endTimeTowSh2 = Convert.ToDateTime(command.TowShifts2Shanbe1); + if (string.IsNullOrWhiteSpace(command.TowShifts1Shanbe1)) + endTimeSingel2 = endTimeSingel2.Subtract(rest0w1); + sumRest = sumRest.Add(rest0w1); + + var rotatingCheck = RotatingShiftCheck(starTimeSingel1, endTimeSingel2, + startTimeTowSh1, endTimeTowSh2); + rotatingCheck.RotatingDate = test; + rotatingResultList.Add(rotatingCheck); + notHolidays = notHolidays.Add(rotatingCheck.TotalWorkingTime); + Over22 = Over22.Add(rotatingCheck.NightWorkSpan); + } + } + } + else if (da.Day > w1 && da.Day <= w2) + { + if (command.Shanbe2) + { + var test = $"{da}"; + var checkHoliday = holidayList.Any(x => x == test); + if (checkHoliday == false) + { + i += 1; + SumComplexDays += 1; + starTimeSingel1 = Convert.ToDateTime(command.SingleShift1Shanbe2); + endTimeSingel2 = Convert.ToDateTime(command.SingleShift2Shanbe2); + startTimeTowSh1 = Convert.ToDateTime(command.TowShifts1Shanbe2); + endTimeTowSh2 = Convert.ToDateTime(command.TowShifts2Shanbe2); + if (string.IsNullOrWhiteSpace(command.TowShifts1Shanbe2)) + endTimeSingel2 = endTimeSingel2.Subtract(rest0w2); + sumRest = sumRest.Add(rest0w2); + + var rotatingCheck = RotatingShiftCheck(starTimeSingel1, endTimeSingel2, + startTimeTowSh1, endTimeTowSh2); + rotatingCheck.RotatingDate = test; + rotatingResultList.Add(rotatingCheck); + notHolidays = notHolidays.Add(rotatingCheck.TotalWorkingTime); + Over22 = Over22.Add(rotatingCheck.NightWorkSpan); + } + } + } + else if (da.Day > w2 && da.Day <= w3) + { + if (command.Shanbe3) + { + var test = $"{da}"; + var checkHoliday = holidayList.Any(x => x == test); + if (checkHoliday == false) + { + i += 1; + SumComplexDays += 1; + starTimeSingel1 = Convert.ToDateTime(command.SingleShift1Shanbe3); + endTimeSingel2 = Convert.ToDateTime(command.SingleShift2Shanbe3); + startTimeTowSh1 = Convert.ToDateTime(command.TowShifts1Shanbe3); + endTimeTowSh2 = Convert.ToDateTime(command.TowShifts2Shanbe3); + if (string.IsNullOrWhiteSpace(command.TowShifts1Shanbe3)) + endTimeSingel2 = endTimeSingel2.Subtract(rest0w3); + sumRest = sumRest.Add(rest0w3); + + var rotatingCheck = RotatingShiftCheck(starTimeSingel1, endTimeSingel2, + startTimeTowSh1, endTimeTowSh2); + rotatingCheck.RotatingDate = test; + rotatingResultList.Add(rotatingCheck); + notHolidays = notHolidays.Add(rotatingCheck.TotalWorkingTime); + Over22 = Over22.Add(rotatingCheck.NightWorkSpan); + } + } + } + else if (da.Day > w3 && da.Day <= w4) + { + if (command.Shanbe4) + { + var test = $"{da}"; + var checkHoliday = holidayList.Any(x => x == test); + if (checkHoliday == false) + { + i += 1; + SumComplexDays += 1; + starTimeSingel1 = Convert.ToDateTime(command.SingleShift1Shanbe4); + endTimeSingel2 = Convert.ToDateTime(command.SingleShift2Shanbe4); + startTimeTowSh1 = Convert.ToDateTime(command.TowShifts1Shanbe4); + endTimeTowSh2 = Convert.ToDateTime(command.TowShifts2Shanbe4); + if (string.IsNullOrWhiteSpace(command.TowShifts1Shanbe4)) + endTimeSingel2 = endTimeSingel2.Subtract(rest0w4); + sumRest = sumRest.Add(rest0w4); + + var rotatingCheck = RotatingShiftCheck(starTimeSingel1, endTimeSingel2, + startTimeTowSh1, endTimeTowSh2); + rotatingCheck.RotatingDate = test; + rotatingResultList.Add(rotatingCheck); + notHolidays = notHolidays.Add(rotatingCheck.TotalWorkingTime); + Over22 = Over22.Add(rotatingCheck.NightWorkSpan); + } + } + } + else if (da.Day > w4 && da.Day <= w5) + { + if (command.Shanbe1) + { + var test = $"{da}"; + var checkHoliday = holidayList.Any(x => x == test); + if (checkHoliday == false) + { + i += 1; + SumComplexDays += 1; + starTimeSingel1 = Convert.ToDateTime(command.SingleShift1Shanbe1); + endTimeSingel2 = Convert.ToDateTime(command.SingleShift2Shanbe1); + startTimeTowSh1 = Convert.ToDateTime(command.TowShifts1Shanbe1); + endTimeTowSh2 = Convert.ToDateTime(command.TowShifts2Shanbe1); + if (string.IsNullOrWhiteSpace(command.TowShifts1Shanbe1)) + endTimeSingel2 = endTimeSingel2.Subtract(rest0w1); + sumRest = sumRest.Add(rest0w1); + + var rotatingCheck = RotatingShiftCheck(starTimeSingel1, endTimeSingel2, + startTimeTowSh1, endTimeTowSh2); + rotatingCheck.RotatingDate = test; + rotatingResultList.Add(rotatingCheck); + notHolidays = notHolidays.Add(rotatingCheck.TotalWorkingTime); + Over22 = Over22.Add(rotatingCheck.NightWorkSpan); + } + } + } + else if (da.Day > w5 && da.Day <= w6) + { + if (command.Shanbe2) + { + var test = $"{da}"; + var checkHoliday = holidayList.Any(x => x == test); + if (checkHoliday == false) + { + i += 1; + SumComplexDays += 1; + starTimeSingel1 = Convert.ToDateTime(command.SingleShift1Shanbe2); + endTimeSingel2 = Convert.ToDateTime(command.SingleShift2Shanbe2); + startTimeTowSh1 = Convert.ToDateTime(command.TowShifts1Shanbe2); + endTimeTowSh2 = Convert.ToDateTime(command.TowShifts2Shanbe2); + if (string.IsNullOrWhiteSpace(command.TowShifts1Shanbe2)) + endTimeSingel2 = endTimeSingel2.Subtract(rest0w2); + sumRest = sumRest.Add(rest0w2); + + var rotatingCheck = RotatingShiftCheck(starTimeSingel1, endTimeSingel2, + startTimeTowSh1, endTimeTowSh2); + rotatingCheck.RotatingDate = test; + rotatingResultList.Add(rotatingCheck); + notHolidays = notHolidays.Add(rotatingCheck.TotalWorkingTime); + Over22 = Over22.Add(rotatingCheck.NightWorkSpan); + } + } + } + + break; + case "یکشنبه": + if (da.Day <= w1) + { + if (command.YekShanbe1) + { + var test = $"{da}"; + var checkHoliday = holidayList.Any(x => x == test); + if (checkHoliday == false) + { + i += 1; + SumComplexDays += 1; + starTimeSingel1 = Convert.ToDateTime(command.SingleShift1YekShanbe1); + endTimeSingel2 = Convert.ToDateTime(command.SingleShift2YekShanbe1); + startTimeTowSh1 = Convert.ToDateTime(command.TowShifts1YekShanbe1); + endTimeTowSh2 = Convert.ToDateTime(command.TowShifts2YekShanbe1); + if (string.IsNullOrWhiteSpace(command.TowShifts1YekShanbe1)) + endTimeSingel2 = endTimeSingel2.Subtract(rest1w1); + sumRest = sumRest.Add(rest1w1); + + var rotatingCheck = RotatingShiftCheck(starTimeSingel1, endTimeSingel2, + startTimeTowSh1, endTimeTowSh2); + rotatingCheck.RotatingDate = test; + rotatingResultList.Add(rotatingCheck); + notHolidays = notHolidays.Add(rotatingCheck.TotalWorkingTime); + Over22 = Over22.Add(rotatingCheck.NightWorkSpan); + } + } + } + else if (da.Day > w1 && da.Day <= w2) + { + if (command.YekShanbe2) + { + var test = $"{da}"; + var checkHoliday = holidayList.Any(x => x == test); + if (checkHoliday == false) + { + i += 1; + SumComplexDays += 1; + starTimeSingel1 = Convert.ToDateTime(command.SingleShift1YekShanbe2); + endTimeSingel2 = Convert.ToDateTime(command.SingleShift2YekShanbe2); + startTimeTowSh1 = Convert.ToDateTime(command.TowShifts1YekShanbe2); + endTimeTowSh2 = Convert.ToDateTime(command.TowShifts2YekShanbe2); + if (string.IsNullOrWhiteSpace(command.TowShifts1YekShanbe2)) + endTimeSingel2 = endTimeSingel2.Subtract(rest1w2); + sumRest = sumRest.Add(rest1w2); + + var rotatingCheck = RotatingShiftCheck(starTimeSingel1, endTimeSingel2, + startTimeTowSh1, endTimeTowSh2); + rotatingCheck.RotatingDate = test; + rotatingResultList.Add(rotatingCheck); + notHolidays = notHolidays.Add(rotatingCheck.TotalWorkingTime); + Over22 = Over22.Add(rotatingCheck.NightWorkSpan); + } + } + } + else if (da.Day > w2 && da.Day <= w3) + { + if (command.YekShanbe3) + { + var test = $"{da}"; + var checkHoliday = holidayList.Any(x => x == test); + if (checkHoliday == false) + { + i += 1; + SumComplexDays += 1; + starTimeSingel1 = Convert.ToDateTime(command.SingleShift1YekShanbe3); + endTimeSingel2 = Convert.ToDateTime(command.SingleShift2YekShanbe3); + startTimeTowSh1 = Convert.ToDateTime(command.TowShifts1YekShanbe3); + endTimeTowSh2 = Convert.ToDateTime(command.TowShifts2YekShanbe3); + if (string.IsNullOrWhiteSpace(command.TowShifts1YekShanbe3)) + endTimeSingel2 = endTimeSingel2.Subtract(rest1w3); + sumRest = sumRest.Add(rest1w3); + + var rotatingCheck = RotatingShiftCheck(starTimeSingel1, endTimeSingel2, + startTimeTowSh1, endTimeTowSh2); + rotatingCheck.RotatingDate = test; + rotatingResultList.Add(rotatingCheck); + notHolidays = notHolidays.Add(rotatingCheck.TotalWorkingTime); + Over22 = Over22.Add(rotatingCheck.NightWorkSpan); + } + } + } + else if (da.Day > w3 && da.Day <= w4) + { + if (command.YekShanbe4) + { + var test = $"{da}"; + var checkHoliday = holidayList.Any(x => x == test); + if (checkHoliday == false) + { + i += 1; + SumComplexDays += 1; + starTimeSingel1 = Convert.ToDateTime(command.SingleShift1YekShanbe4); + endTimeSingel2 = Convert.ToDateTime(command.SingleShift2YekShanbe4); + startTimeTowSh1 = Convert.ToDateTime(command.TowShifts1YekShanbe4); + endTimeTowSh2 = Convert.ToDateTime(command.TowShifts2YekShanbe4); + if (string.IsNullOrWhiteSpace(command.TowShifts1YekShanbe4)) + endTimeSingel2 = endTimeSingel2.Subtract(rest1w4); + sumRest = sumRest.Add(rest1w4); + + var rotatingCheck = RotatingShiftCheck(starTimeSingel1, endTimeSingel2, + startTimeTowSh1, endTimeTowSh2); + rotatingCheck.RotatingDate = test; + rotatingResultList.Add(rotatingCheck); + notHolidays = notHolidays.Add(rotatingCheck.TotalWorkingTime); + Over22 = Over22.Add(rotatingCheck.NightWorkSpan); + } + } + } + else if (da.Day > w4 && da.Day <= w5) + { + if (command.YekShanbe1) + { + var test = $"{da}"; + var checkHoliday = holidayList.Any(x => x == test); + if (checkHoliday == false) + { + i += 1; + SumComplexDays += 1; + starTimeSingel1 = Convert.ToDateTime(command.SingleShift1YekShanbe1); + endTimeSingel2 = Convert.ToDateTime(command.SingleShift2YekShanbe1); + startTimeTowSh1 = Convert.ToDateTime(command.TowShifts1YekShanbe1); + endTimeTowSh2 = Convert.ToDateTime(command.TowShifts2YekShanbe1); + if (string.IsNullOrWhiteSpace(command.TowShifts1YekShanbe1)) + endTimeSingel2 = endTimeSingel2.Subtract(rest1w1); + sumRest = sumRest.Add(rest1w1); + + var rotatingCheck = RotatingShiftCheck(starTimeSingel1, endTimeSingel2, + startTimeTowSh1, endTimeTowSh2); + rotatingCheck.RotatingDate = test; + rotatingResultList.Add(rotatingCheck); + notHolidays = notHolidays.Add(rotatingCheck.TotalWorkingTime); + Over22 = Over22.Add(rotatingCheck.NightWorkSpan); + } + } + } + else if (da.Day > w5 && da.Day <= w6) + { + if (command.YekShanbe2) + { + var test = $"{da}"; + var checkHoliday = holidayList.Any(x => x == test); + if (checkHoliday == false) + { + i += 1; + SumComplexDays += 1; + starTimeSingel1 = Convert.ToDateTime(command.SingleShift1YekShanbe2); + endTimeSingel2 = Convert.ToDateTime(command.SingleShift2YekShanbe2); + startTimeTowSh1 = Convert.ToDateTime(command.TowShifts1YekShanbe2); + endTimeTowSh2 = Convert.ToDateTime(command.TowShifts2YekShanbe2); + if (string.IsNullOrWhiteSpace(command.TowShifts1YekShanbe2)) + endTimeSingel2 = endTimeSingel2.Subtract(rest1w2); + sumRest = sumRest.Add(rest1w2); + + var rotatingCheck = RotatingShiftCheck(starTimeSingel1, endTimeSingel2, + startTimeTowSh1, endTimeTowSh2); + rotatingCheck.RotatingDate = test; + rotatingResultList.Add(rotatingCheck); + notHolidays = notHolidays.Add(rotatingCheck.TotalWorkingTime); + Over22 = Over22.Add(rotatingCheck.NightWorkSpan); + } + } + } + + break; + case "دوشنبه": + if (da.Day <= w1) + { + if (command.DoShanbe1) + { + var test = $"{da}"; + var checkHoliday = holidayList.Any(x => x == test); + if (checkHoliday == false) + { + i += 1; + SumComplexDays += 1; + starTimeSingel1 = Convert.ToDateTime(command.SingleShift1DoShanbe1); + endTimeSingel2 = Convert.ToDateTime(command.SingleShift2DoShanbe1); + startTimeTowSh1 = Convert.ToDateTime(command.TowShifts1DoShanbe1); + endTimeTowSh2 = Convert.ToDateTime(command.TowShifts2DoShanbe1); + if (string.IsNullOrWhiteSpace(command.TowShifts1DoShanbe1)) + endTimeSingel2 = endTimeSingel2.Subtract(rest2w1); + sumRest = sumRest.Add(rest2w1); + + var rotatingCheck = RotatingShiftCheck(starTimeSingel1, endTimeSingel2, + startTimeTowSh1, endTimeTowSh2); + rotatingCheck.RotatingDate = test; + rotatingResultList.Add(rotatingCheck); + notHolidays = notHolidays.Add(rotatingCheck.TotalWorkingTime); + Over22 = Over22.Add(rotatingCheck.NightWorkSpan); + } + } + } + else if (da.Day > w1 && da.Day <= w2) + { + if (command.DoShanbe2) + { + var test = $"{da}"; + var checkHoliday = holidayList.Any(x => x == test); + if (checkHoliday == false) + { + i += 1; + SumComplexDays += 1; + starTimeSingel1 = Convert.ToDateTime(command.SingleShift1DoShanbe2); + endTimeSingel2 = Convert.ToDateTime(command.SingleShift2DoShanbe2); + startTimeTowSh1 = Convert.ToDateTime(command.TowShifts1DoShanbe2); + endTimeTowSh2 = Convert.ToDateTime(command.TowShifts2DoShanbe2); + if (string.IsNullOrWhiteSpace(command.TowShifts1DoShanbe2)) + endTimeSingel2 = endTimeSingel2.Subtract(rest2w2); + sumRest = sumRest.Add(rest2w2); + + var rotatingCheck = RotatingShiftCheck(starTimeSingel1, endTimeSingel2, + startTimeTowSh1, endTimeTowSh2); + rotatingCheck.RotatingDate = test; + rotatingResultList.Add(rotatingCheck); + notHolidays = notHolidays.Add(rotatingCheck.TotalWorkingTime); + Over22 = Over22.Add(rotatingCheck.NightWorkSpan); + } + } + } + else if (da.Day > w2 && da.Day <= w3) + { + if (command.DoShanbe3) + { + var test = $"{da}"; + var checkHoliday = holidayList.Any(x => x == test); + if (checkHoliday == false) + { + i += 1; + SumComplexDays += 1; + starTimeSingel1 = Convert.ToDateTime(command.SingleShift1DoShanbe3); + endTimeSingel2 = Convert.ToDateTime(command.SingleShift2DoShanbe3); + startTimeTowSh1 = Convert.ToDateTime(command.TowShifts1DoShanbe3); + endTimeTowSh2 = Convert.ToDateTime(command.TowShifts2DoShanbe3); + if (string.IsNullOrWhiteSpace(command.TowShifts1DoShanbe3)) + endTimeSingel2 = endTimeSingel2.Subtract(rest2w3); + sumRest = sumRest.Add(rest2w3); + + var rotatingCheck = RotatingShiftCheck(starTimeSingel1, endTimeSingel2, + startTimeTowSh1, endTimeTowSh2); + rotatingCheck.RotatingDate = test; + rotatingResultList.Add(rotatingCheck); + notHolidays = notHolidays.Add(rotatingCheck.TotalWorkingTime); + Over22 = Over22.Add(rotatingCheck.NightWorkSpan); + } + } + } + else if (da.Day > w3 && da.Day <= w4) + { + if (command.DoShanbe4) + { + var test = $"{da}"; + var checkHoliday = holidayList.Any(x => x == test); + if (checkHoliday == false) + { + i += 1; + SumComplexDays += 1; + starTimeSingel1 = Convert.ToDateTime(command.SingleShift1DoShanbe4); + endTimeSingel2 = Convert.ToDateTime(command.SingleShift2DoShanbe4); + startTimeTowSh1 = Convert.ToDateTime(command.TowShifts1DoShanbe4); + endTimeTowSh2 = Convert.ToDateTime(command.TowShifts2DoShanbe4); + if (string.IsNullOrWhiteSpace(command.TowShifts1DoShanbe4)) + endTimeSingel2 = endTimeSingel2.Subtract(rest2w4); + sumRest = sumRest.Add(rest2w4); + + var rotatingCheck = RotatingShiftCheck(starTimeSingel1, endTimeSingel2, + startTimeTowSh1, endTimeTowSh2); + rotatingCheck.RotatingDate = test; + rotatingResultList.Add(rotatingCheck); + notHolidays = notHolidays.Add(rotatingCheck.TotalWorkingTime); + Over22 = Over22.Add(rotatingCheck.NightWorkSpan); + } + } + } + else if (da.Day > w4 && da.Day <= w5) + { + if (command.DoShanbe1) + { + var test = $"{da}"; + var checkHoliday = holidayList.Any(x => x == test); + if (checkHoliday == false) + { + i += 1; + SumComplexDays += 1; + starTimeSingel1 = Convert.ToDateTime(command.SingleShift1DoShanbe1); + endTimeSingel2 = Convert.ToDateTime(command.SingleShift2DoShanbe1); + startTimeTowSh1 = Convert.ToDateTime(command.TowShifts1DoShanbe1); + endTimeTowSh2 = Convert.ToDateTime(command.TowShifts2DoShanbe1); + if (string.IsNullOrWhiteSpace(command.TowShifts1DoShanbe1)) + endTimeSingel2 = endTimeSingel2.Subtract(rest2w1); + sumRest = sumRest.Add(rest2w1); + + var rotatingCheck = RotatingShiftCheck(starTimeSingel1, endTimeSingel2, + startTimeTowSh1, endTimeTowSh2); + rotatingCheck.RotatingDate = test; + rotatingResultList.Add(rotatingCheck); + notHolidays = notHolidays.Add(rotatingCheck.TotalWorkingTime); + Over22 = Over22.Add(rotatingCheck.NightWorkSpan); + } + } + } + else if (da.Day > w5 && da.Day <= w6) + { + if (command.DoShanbe2) + { + var test = $"{da}"; + var checkHoliday = holidayList.Any(x => x == test); + if (checkHoliday == false) + { + i += 1; + SumComplexDays += 1; + starTimeSingel1 = Convert.ToDateTime(command.SingleShift1DoShanbe2); + endTimeSingel2 = Convert.ToDateTime(command.SingleShift2DoShanbe2); + startTimeTowSh1 = Convert.ToDateTime(command.TowShifts1DoShanbe2); + endTimeTowSh2 = Convert.ToDateTime(command.TowShifts2DoShanbe2); + if (string.IsNullOrWhiteSpace(command.TowShifts1DoShanbe2)) + endTimeSingel2 = endTimeSingel2.Subtract(rest2w2); + sumRest = sumRest.Add(rest2w2); + + var rotatingCheck = RotatingShiftCheck(starTimeSingel1, endTimeSingel2, + startTimeTowSh1, endTimeTowSh2); + rotatingCheck.RotatingDate = test; + rotatingResultList.Add(rotatingCheck); + notHolidays = notHolidays.Add(rotatingCheck.TotalWorkingTime); + Over22 = Over22.Add(rotatingCheck.NightWorkSpan); + } + } + } + + break; + case "سه شنبه": + if (da.Day <= w1) + { + if (command.SeShanbe1) + { + var test = $"{da}"; + var checkHoliday = holidayList.Any(x => x == test); + if (checkHoliday == false) + { + i += 1; + SumComplexDays += 1; + starTimeSingel1 = Convert.ToDateTime(command.SingleShift1SeShanbe1); + endTimeSingel2 = Convert.ToDateTime(command.SingleShift2SeShanbe1); + startTimeTowSh1 = Convert.ToDateTime(command.TowShifts1SeShanbe1); + endTimeTowSh2 = Convert.ToDateTime(command.TowShifts2SeShanbe1); + if (string.IsNullOrWhiteSpace(command.TowShifts1SeShanbe1)) + endTimeSingel2 = endTimeSingel2.Subtract(rest3w1); + sumRest = sumRest.Add(rest3w1); + + var rotatingCheck = RotatingShiftCheck(starTimeSingel1, endTimeSingel2, + startTimeTowSh1, endTimeTowSh2); + rotatingCheck.RotatingDate = test; + rotatingResultList.Add(rotatingCheck); + notHolidays = notHolidays.Add(rotatingCheck.TotalWorkingTime); + Over22 = Over22.Add(rotatingCheck.NightWorkSpan); + } + } + } + else if (da.Day > w1 && da.Day <= w2) + { + if (command.SeShanbe2) + { + var test = $"{da}"; + var checkHoliday = holidayList.Any(x => x == test); + if (checkHoliday == false) + { + i += 1; + SumComplexDays += 1; + starTimeSingel1 = Convert.ToDateTime(command.SingleShift1SeShanbe2); + endTimeSingel2 = Convert.ToDateTime(command.SingleShift2SeShanbe2); + startTimeTowSh1 = Convert.ToDateTime(command.TowShifts1SeShanbe2); + endTimeTowSh2 = Convert.ToDateTime(command.TowShifts2SeShanbe2); + if (string.IsNullOrWhiteSpace(command.TowShifts1SeShanbe2)) + endTimeSingel2 = endTimeSingel2.Subtract(rest3w2); + sumRest = sumRest.Add(rest3w2); + + var rotatingCheck = RotatingShiftCheck(starTimeSingel1, endTimeSingel2, + startTimeTowSh1, endTimeTowSh2); + rotatingCheck.RotatingDate = test; + rotatingResultList.Add(rotatingCheck); + notHolidays = notHolidays.Add(rotatingCheck.TotalWorkingTime); + Over22 = Over22.Add(rotatingCheck.NightWorkSpan); + } + } + } + else if (da.Day > w2 && da.Day <= w3) + { + if (command.SeShanbe3) + { + var test = $"{da}"; + var checkHoliday = holidayList.Any(x => x == test); + if (checkHoliday == false) + { + i += 1; + SumComplexDays += 1; + starTimeSingel1 = Convert.ToDateTime(command.SingleShift1SeShanbe3); + endTimeSingel2 = Convert.ToDateTime(command.SingleShift2SeShanbe3); + startTimeTowSh1 = Convert.ToDateTime(command.TowShifts1SeShanbe3); + endTimeTowSh2 = Convert.ToDateTime(command.TowShifts2SeShanbe3); + if (string.IsNullOrWhiteSpace(command.TowShifts1SeShanbe3)) + endTimeSingel2 = endTimeSingel2.Subtract(rest3w3); + sumRest = sumRest.Add(rest3w3); + + var rotatingCheck = RotatingShiftCheck(starTimeSingel1, endTimeSingel2, + startTimeTowSh1, endTimeTowSh2); + rotatingCheck.RotatingDate = test; + rotatingResultList.Add(rotatingCheck); + notHolidays = notHolidays.Add(rotatingCheck.TotalWorkingTime); + Over22 = Over22.Add(rotatingCheck.NightWorkSpan); + } + } + } + else if (da.Day > w3 && da.Day <= w4) + { + if (command.SeShanbe4) + { + var test = $"{da}"; + var checkHoliday = holidayList.Any(x => x == test); + if (checkHoliday == false) + { + i += 1; + SumComplexDays += 1; + starTimeSingel1 = Convert.ToDateTime(command.SingleShift1SeShanbe4); + endTimeSingel2 = Convert.ToDateTime(command.SingleShift2SeShanbe4); + startTimeTowSh1 = Convert.ToDateTime(command.TowShifts1SeShanbe4); + endTimeTowSh2 = Convert.ToDateTime(command.TowShifts2SeShanbe4); + if (string.IsNullOrWhiteSpace(command.TowShifts1SeShanbe4)) + endTimeSingel2 = endTimeSingel2.Subtract(rest3w4); + sumRest = sumRest.Add(rest3w4); + + var rotatingCheck = RotatingShiftCheck(starTimeSingel1, endTimeSingel2, + startTimeTowSh1, endTimeTowSh2); + rotatingCheck.RotatingDate = test; + rotatingResultList.Add(rotatingCheck); + notHolidays = notHolidays.Add(rotatingCheck.TotalWorkingTime); + Over22 = Over22.Add(rotatingCheck.NightWorkSpan); + } + } + } + else if (da.Day > w4 && da.Day <= w5) + { + if (command.SeShanbe1) + { + var test = $"{da}"; + var checkHoliday = holidayList.Any(x => x == test); + if (checkHoliday == false) + { + i += 1; + SumComplexDays += 1; + starTimeSingel1 = Convert.ToDateTime(command.SingleShift1SeShanbe1); + endTimeSingel2 = Convert.ToDateTime(command.SingleShift2SeShanbe1); + startTimeTowSh1 = Convert.ToDateTime(command.TowShifts1SeShanbe1); + endTimeTowSh2 = Convert.ToDateTime(command.TowShifts2SeShanbe1); + if (string.IsNullOrWhiteSpace(command.TowShifts1SeShanbe1)) + endTimeSingel2 = endTimeSingel2.Subtract(rest3w1); + sumRest = sumRest.Add(rest3w1); + + var rotatingCheck = RotatingShiftCheck(starTimeSingel1, endTimeSingel2, + startTimeTowSh1, endTimeTowSh2); + rotatingCheck.RotatingDate = test; + rotatingResultList.Add(rotatingCheck); + notHolidays = notHolidays.Add(rotatingCheck.TotalWorkingTime); + Over22 = Over22.Add(rotatingCheck.NightWorkSpan); + } + } + } + else if (da.Day > w5 && da.Day <= w6) + { + if (command.SeShanbe2) + { + var test = $"{da}"; + var checkHoliday = holidayList.Any(x => x == test); + if (checkHoliday == false) + { + i += 1; + SumComplexDays += 1; + starTimeSingel1 = Convert.ToDateTime(command.SingleShift1SeShanbe2); + endTimeSingel2 = Convert.ToDateTime(command.SingleShift2SeShanbe2); + startTimeTowSh1 = Convert.ToDateTime(command.TowShifts1SeShanbe2); + endTimeTowSh2 = Convert.ToDateTime(command.TowShifts2SeShanbe2); + if (string.IsNullOrWhiteSpace(command.TowShifts1SeShanbe2)) + endTimeSingel2 = endTimeSingel2.Subtract(rest3w2); + sumRest = sumRest.Add(rest3w2); + + var rotatingCheck = RotatingShiftCheck(starTimeSingel1, endTimeSingel2, + startTimeTowSh1, endTimeTowSh2); + rotatingCheck.RotatingDate = test; + rotatingResultList.Add(rotatingCheck); + notHolidays = notHolidays.Add(rotatingCheck.TotalWorkingTime); + Over22 = Over22.Add(rotatingCheck.NightWorkSpan); + } + } + } + + break; + case "چهارشنبه": + if (da.Day <= w1) + { + if (command.CheharShanbe1) + { + var test = $"{da}"; + var checkHoliday = holidayList.Any(x => x == test); + if (checkHoliday == false) + { + i += 1; + SumComplexDays += 1; + starTimeSingel1 = Convert.ToDateTime(command.SingleShift1CheharShanbe1); + endTimeSingel2 = Convert.ToDateTime(command.SingleShift2CheharShanbe1); + startTimeTowSh1 = Convert.ToDateTime(command.TowShifts1CheharShanbe1); + endTimeTowSh2 = Convert.ToDateTime(command.TowShifts2CheharShanbe1); + if (string.IsNullOrWhiteSpace(command.TowShifts1CheharShanbe1)) + endTimeSingel2 = endTimeSingel2.Subtract(rest4w1); + sumRest = sumRest.Add(rest4w1); + + var rotatingCheck = RotatingShiftCheck(starTimeSingel1, endTimeSingel2, + startTimeTowSh1, endTimeTowSh2); + rotatingCheck.RotatingDate = test; + rotatingResultList.Add(rotatingCheck); + notHolidays = notHolidays.Add(rotatingCheck.TotalWorkingTime); + Over22 = Over22.Add(rotatingCheck.NightWorkSpan); + } + } + } + else if (da.Day > w1 && da.Day <= w2) + { + if (command.CheharShanbe2) + { + var test = $"{da}"; + var checkHoliday = holidayList.Any(x => x == test); + if (checkHoliday == false) + { + i += 1; + SumComplexDays += 1; + starTimeSingel1 = Convert.ToDateTime(command.SingleShift1CheharShanbe2); + endTimeSingel2 = Convert.ToDateTime(command.SingleShift2CheharShanbe2); + startTimeTowSh1 = Convert.ToDateTime(command.TowShifts1CheharShanbe2); + endTimeTowSh2 = Convert.ToDateTime(command.TowShifts2CheharShanbe2); + if (string.IsNullOrWhiteSpace(command.TowShifts1CheharShanbe2)) + endTimeSingel2 = endTimeSingel2.Subtract(rest4w2); + sumRest = sumRest.Add(rest4w2); + + var rotatingCheck = RotatingShiftCheck(starTimeSingel1, endTimeSingel2, + startTimeTowSh1, endTimeTowSh2); + rotatingCheck.RotatingDate = test; + rotatingResultList.Add(rotatingCheck); + notHolidays = notHolidays.Add(rotatingCheck.TotalWorkingTime); + Over22 = Over22.Add(rotatingCheck.NightWorkSpan); + } + } + } + else if (da.Day > w2 && da.Day <= w3) + { + if (command.CheharShanbe3) + { + var test = $"{da}"; + var checkHoliday = holidayList.Any(x => x == test); + if (checkHoliday == false) + { + i += 1; + SumComplexDays += 1; + starTimeSingel1 = Convert.ToDateTime(command.SingleShift1CheharShanbe3); + endTimeSingel2 = Convert.ToDateTime(command.SingleShift2CheharShanbe3); + startTimeTowSh1 = Convert.ToDateTime(command.TowShifts1CheharShanbe3); + endTimeTowSh2 = Convert.ToDateTime(command.TowShifts2CheharShanbe3); + if (string.IsNullOrWhiteSpace(command.TowShifts1CheharShanbe3)) + endTimeSingel2 = endTimeSingel2.Subtract(rest4w3); + sumRest = sumRest.Add(rest4w3); + + var rotatingCheck = RotatingShiftCheck(starTimeSingel1, endTimeSingel2, + startTimeTowSh1, endTimeTowSh2); + rotatingCheck.RotatingDate = test; + rotatingResultList.Add(rotatingCheck); + notHolidays = notHolidays.Add(rotatingCheck.TotalWorkingTime); + Over22 = Over22.Add(rotatingCheck.NightWorkSpan); + } + } + } + else if (da.Day > w3 && da.Day <= w4) + { + if (command.CheharShanbe4) + { + var test = $"{da}"; + var checkHoliday = holidayList.Any(x => x == test); + if (checkHoliday == false) + { + i += 1; + SumComplexDays += 1; + starTimeSingel1 = Convert.ToDateTime(command.SingleShift1CheharShanbe4); + endTimeSingel2 = Convert.ToDateTime(command.SingleShift2CheharShanbe4); + startTimeTowSh1 = Convert.ToDateTime(command.TowShifts1CheharShanbe4); + endTimeTowSh2 = Convert.ToDateTime(command.TowShifts2CheharShanbe4); + if (string.IsNullOrWhiteSpace(command.TowShifts1CheharShanbe4)) + endTimeSingel2 = endTimeSingel2.Subtract(rest4w4); + sumRest = sumRest.Add(rest4w4); + + var rotatingCheck = RotatingShiftCheck(starTimeSingel1, endTimeSingel2, + startTimeTowSh1, endTimeTowSh2); + rotatingCheck.RotatingDate = test; + rotatingResultList.Add(rotatingCheck); + notHolidays = notHolidays.Add(rotatingCheck.TotalWorkingTime); + Over22 = Over22.Add(rotatingCheck.NightWorkSpan); + } + } + } + else if (da.Day > w4 && da.Day <= w5) + { + if (command.CheharShanbe1) + { + var test = $"{da}"; + var checkHoliday = holidayList.Any(x => x == test); + if (checkHoliday == false) + { + i += 1; + SumComplexDays += 1; + starTimeSingel1 = Convert.ToDateTime(command.SingleShift1CheharShanbe1); + endTimeSingel2 = Convert.ToDateTime(command.SingleShift2CheharShanbe1); + startTimeTowSh1 = Convert.ToDateTime(command.TowShifts1CheharShanbe1); + endTimeTowSh2 = Convert.ToDateTime(command.TowShifts2CheharShanbe1); + if (string.IsNullOrWhiteSpace(command.TowShifts1CheharShanbe1)) + endTimeSingel2 = endTimeSingel2.Subtract(rest4w1); + sumRest = sumRest.Add(rest4w1); + + var rotatingCheck = RotatingShiftCheck(starTimeSingel1, endTimeSingel2, + startTimeTowSh1, endTimeTowSh2); + rotatingCheck.RotatingDate = test; + rotatingResultList.Add(rotatingCheck); + notHolidays = notHolidays.Add(rotatingCheck.TotalWorkingTime); + Over22 = Over22.Add(rotatingCheck.NightWorkSpan); + } + } + } + else if (da.Day > w5 && da.Day <= w6) + { + if (command.CheharShanbe2) + { + var test = $"{da}"; + var checkHoliday = holidayList.Any(x => x == test); + if (checkHoliday == false) + { + i += 1; + SumComplexDays += 1; + starTimeSingel1 = Convert.ToDateTime(command.SingleShift1CheharShanbe2); + endTimeSingel2 = Convert.ToDateTime(command.SingleShift2CheharShanbe2); + startTimeTowSh1 = Convert.ToDateTime(command.TowShifts1CheharShanbe2); + endTimeTowSh2 = Convert.ToDateTime(command.TowShifts2CheharShanbe2); + if (string.IsNullOrWhiteSpace(command.TowShifts1CheharShanbe2)) + endTimeSingel2 = endTimeSingel2.Subtract(rest4w2); + sumRest = sumRest.Add(rest4w2); + + var rotatingCheck = RotatingShiftCheck(starTimeSingel1, endTimeSingel2, + startTimeTowSh1, endTimeTowSh2); + rotatingCheck.RotatingDate = test; + rotatingResultList.Add(rotatingCheck); + notHolidays = notHolidays.Add(rotatingCheck.TotalWorkingTime); + Over22 = Over22.Add(rotatingCheck.NightWorkSpan); + } + } + } + + break; + case "پنج شنبه": + if (da.Day <= w1) + { + if (command.PanjShanbe1) + { + var test = $"{da}"; + var checkHoliday = holidayList.Any(x => x == test); + if (checkHoliday == false) + { + i += 1; + SumComplexDays += 1; + starTimeSingel1 = Convert.ToDateTime(command.SingleShift1PanjShanbe1); + endTimeSingel2 = Convert.ToDateTime(command.SingleShift2PanjShanbe1); + startTimeTowSh1 = Convert.ToDateTime(command.TowShifts1PanjShanbe1); + endTimeTowSh2 = Convert.ToDateTime(command.TowShifts2PanjShanbe1); + if (string.IsNullOrWhiteSpace(command.TowShifts1PanjShanbe1)) + endTimeSingel2 = endTimeSingel2.Subtract(rest5w1); + sumRest = sumRest.Add(rest5w1); + + var rotatingCheck = RotatingShiftCheck(starTimeSingel1, endTimeSingel2, + startTimeTowSh1, endTimeTowSh2); + rotatingCheck.RotatingDate = test; + rotatingResultList.Add(rotatingCheck); + notHolidays = notHolidays.Add(rotatingCheck.TotalWorkingTime); + Over22 = Over22.Add(rotatingCheck.NightWorkSpan); + } + } + } + else if (da.Day > w1 && da.Day <= w2) + { + if (command.PanjShanbe2) + { + var test = $"{da}"; + var checkHoliday = holidayList.Any(x => x == test); + if (checkHoliday == false) + { + i += 1; + SumComplexDays += 1; + starTimeSingel1 = Convert.ToDateTime(command.SingleShift1PanjShanbe2); + endTimeSingel2 = Convert.ToDateTime(command.SingleShift2PanjShanbe2); + startTimeTowSh1 = Convert.ToDateTime(command.TowShifts1PanjShanbe2); + endTimeTowSh2 = Convert.ToDateTime(command.TowShifts2PanjShanbe2); + if (string.IsNullOrWhiteSpace(command.TowShifts1PanjShanbe2)) + endTimeSingel2 = endTimeSingel2.Subtract(rest5w2); + sumRest = sumRest.Add(rest5w2); + + var rotatingCheck = RotatingShiftCheck(starTimeSingel1, endTimeSingel2, + startTimeTowSh1, endTimeTowSh2); + rotatingCheck.RotatingDate = test; + rotatingResultList.Add(rotatingCheck); + notHolidays = notHolidays.Add(rotatingCheck.TotalWorkingTime); + Over22 = Over22.Add(rotatingCheck.NightWorkSpan); + } + } + } + else if (da.Day > w2 && da.Day <= w3) + { + if (command.PanjShanbe3) + { + var test = $"{da}"; + var checkHoliday = holidayList.Any(x => x == test); + if (checkHoliday == false) + { + i += 1; + SumComplexDays += 1; + starTimeSingel1 = Convert.ToDateTime(command.SingleShift1PanjShanbe3); + endTimeSingel2 = Convert.ToDateTime(command.SingleShift2PanjShanbe3); + startTimeTowSh1 = Convert.ToDateTime(command.TowShifts1PanjShanbe3); + endTimeTowSh2 = Convert.ToDateTime(command.TowShifts2PanjShanbe3); + if (string.IsNullOrWhiteSpace(command.TowShifts1PanjShanbe3)) + endTimeSingel2 = endTimeSingel2.Subtract(rest5w3); + sumRest = sumRest.Add(rest5w3); + + var rotatingCheck = RotatingShiftCheck(starTimeSingel1, endTimeSingel2, + startTimeTowSh1, endTimeTowSh2); + rotatingCheck.RotatingDate = test; + rotatingResultList.Add(rotatingCheck); + notHolidays = notHolidays.Add(rotatingCheck.TotalWorkingTime); + Over22 = Over22.Add(rotatingCheck.NightWorkSpan); + } + } + } + else if (da.Day > w3 && da.Day <= w4) + { + if (command.PanjShanbe4) + { + var test = $"{da}"; + var checkHoliday = holidayList.Any(x => x == test); + if (checkHoliday == false) + { + i += 1; + SumComplexDays += 1; + starTimeSingel1 = Convert.ToDateTime(command.SingleShift1PanjShanbe4); + endTimeSingel2 = Convert.ToDateTime(command.SingleShift2PanjShanbe4); + startTimeTowSh1 = Convert.ToDateTime(command.TowShifts1PanjShanbe4); + endTimeTowSh2 = Convert.ToDateTime(command.TowShifts2PanjShanbe4); + if (string.IsNullOrWhiteSpace(command.TowShifts1PanjShanbe4)) + endTimeSingel2 = endTimeSingel2.Subtract(rest5w4); + sumRest = sumRest.Add(rest5w4); + + var rotatingCheck = RotatingShiftCheck(starTimeSingel1, endTimeSingel2, + startTimeTowSh1, endTimeTowSh2); + rotatingCheck.RotatingDate = test; + rotatingResultList.Add(rotatingCheck); + notHolidays = notHolidays.Add(rotatingCheck.TotalWorkingTime); + Over22 = Over22.Add(rotatingCheck.NightWorkSpan); + } + } + } + else if (da.Day > w4 && da.Day <= w5) + { + if (command.PanjShanbe1) + { + var test = $"{da}"; + var checkHoliday = holidayList.Any(x => x == test); + if (checkHoliday == false) + { + i += 1; + SumComplexDays += 1; + starTimeSingel1 = Convert.ToDateTime(command.SingleShift1PanjShanbe1); + endTimeSingel2 = Convert.ToDateTime(command.SingleShift2PanjShanbe1); + startTimeTowSh1 = Convert.ToDateTime(command.TowShifts1PanjShanbe1); + endTimeTowSh2 = Convert.ToDateTime(command.TowShifts2PanjShanbe1); + if (string.IsNullOrWhiteSpace(command.TowShifts1PanjShanbe1)) + endTimeSingel2 = endTimeSingel2.Subtract(rest5w1); + sumRest = sumRest.Add(rest5w1); + + var rotatingCheck = RotatingShiftCheck(starTimeSingel1, endTimeSingel2, + startTimeTowSh1, endTimeTowSh2); + rotatingCheck.RotatingDate = test; + rotatingResultList.Add(rotatingCheck); + notHolidays = notHolidays.Add(rotatingCheck.TotalWorkingTime); + Over22 = Over22.Add(rotatingCheck.NightWorkSpan); + } + } + } + else if (da.Day > w5 && da.Day <= w6) + { + if (command.PanjShanbe2) + { + var test = $"{da}"; + var checkHoliday = holidayList.Any(x => x == test); + if (checkHoliday == false) + { + i += 1; + SumComplexDays += 1; + starTimeSingel1 = Convert.ToDateTime(command.SingleShift1PanjShanbe2); + endTimeSingel2 = Convert.ToDateTime(command.SingleShift2PanjShanbe2); + startTimeTowSh1 = Convert.ToDateTime(command.TowShifts1PanjShanbe2); + endTimeTowSh2 = Convert.ToDateTime(command.TowShifts2PanjShanbe2); + if (string.IsNullOrWhiteSpace(command.TowShifts1PanjShanbe2)) + endTimeSingel2 = endTimeSingel2.Subtract(rest5w2); + sumRest = sumRest.Add(rest5w2); + + var rotatingCheck = RotatingShiftCheck(starTimeSingel1, endTimeSingel2, + startTimeTowSh1, endTimeTowSh2); + rotatingCheck.RotatingDate = test; + rotatingResultList.Add(rotatingCheck); + notHolidays = notHolidays.Add(rotatingCheck.TotalWorkingTime); + Over22 = Over22.Add(rotatingCheck.NightWorkSpan); + } + } + } + + break; + case "جمعه": + if (da.Day <= w1) + { + if (command.Jome1) + { + var test = $"{da}"; + var checkHoliday = holidayList.Any(x => x == test); + if (checkHoliday == false) + { + i6 += 1; + SumComplexDays += 1; + starTimeSingel1 = Convert.ToDateTime(command.SingleShift1Jome1); + endTimeSingel2 = Convert.ToDateTime(command.SingleShift2Jome1); + startTimeTowSh1 = Convert.ToDateTime(command.TowShifts1Jome1); + endTimeTowSh2 = Convert.ToDateTime(command.TowShifts2Jome1); + if (string.IsNullOrWhiteSpace(command.TowShifts1Jome1)) + endTimeSingel2 = endTimeSingel2.Subtract(rest6w1); + sumRest = sumRest.Add(rest6w1); + + var rotatingCheck = RotatingShiftCheck(starTimeSingel1, endTimeSingel2, + startTimeTowSh1, endTimeTowSh2); + rotatingCheck.RotatingDate = test; + rotatingResultList.Add(rotatingCheck); + jomeh = jomeh.Add(rotatingCheck.TotalWorkingTime); + Over22 = Over22.Add(rotatingCheck.NightWorkSpan); + } + } + } + else if (da.Day > w1 && da.Day <= w2) + { + if (command.Jome2) + { + var test = $"{da}"; + var checkHoliday = holidayList.Any(x => x == test); + if (checkHoliday == false) + { + i6 += 1; + SumComplexDays += 1; + starTimeSingel1 = Convert.ToDateTime(command.SingleShift1Jome2); + endTimeSingel2 = Convert.ToDateTime(command.SingleShift2Jome2); + startTimeTowSh1 = Convert.ToDateTime(command.TowShifts1Jome2); + endTimeTowSh2 = Convert.ToDateTime(command.TowShifts2Jome2); + if (string.IsNullOrWhiteSpace(command.TowShifts1Jome2)) + endTimeSingel2 = endTimeSingel2.Subtract(rest6w2); + sumRest = sumRest.Add(rest6w2); + + var rotatingCheck = RotatingShiftCheck(starTimeSingel1, endTimeSingel2, + startTimeTowSh1, endTimeTowSh2); + rotatingCheck.RotatingDate = test; + rotatingResultList.Add(rotatingCheck); + jomeh = jomeh.Add(rotatingCheck.TotalWorkingTime); + Over22 = Over22.Add(rotatingCheck.NightWorkSpan); + } + } + } + else if (da.Day > w2 && da.Day <= w3) + { + if (command.Jome3) + { + var test = $"{da}"; + var checkHoliday = holidayList.Any(x => x == test); + if (checkHoliday == false) + { + i6 += 1; + SumComplexDays += 1; + starTimeSingel1 = Convert.ToDateTime(command.SingleShift1Jome3); + endTimeSingel2 = Convert.ToDateTime(command.SingleShift2Jome3); + startTimeTowSh1 = Convert.ToDateTime(command.TowShifts1Jome3); + endTimeTowSh2 = Convert.ToDateTime(command.TowShifts2Jome3); + if (string.IsNullOrWhiteSpace(command.TowShifts1Jome3)) + endTimeSingel2 = endTimeSingel2.Subtract(rest6w3); + sumRest = sumRest.Add(rest6w3); + + var rotatingCheck = RotatingShiftCheck(starTimeSingel1, endTimeSingel2, + startTimeTowSh1, endTimeTowSh2); + rotatingCheck.RotatingDate = test; + rotatingResultList.Add(rotatingCheck); + jomeh = jomeh.Add(rotatingCheck.TotalWorkingTime); + Over22 = Over22.Add(rotatingCheck.NightWorkSpan); + } + } + } + else if (da.Day > w3 && da.Day <= w4) + { + if (command.Jome4) + { + var test = $"{da}"; + var checkHoliday = holidayList.Any(x => x == test); + if (checkHoliday == false) + { + i6 += 1; + SumComplexDays += 1; + starTimeSingel1 = Convert.ToDateTime(command.SingleShift1Jome4); + endTimeSingel2 = Convert.ToDateTime(command.SingleShift2Jome4); + startTimeTowSh1 = Convert.ToDateTime(command.TowShifts1Jome4); + endTimeTowSh2 = Convert.ToDateTime(command.TowShifts2Jome4); + if (string.IsNullOrWhiteSpace(command.TowShifts1Jome4)) + endTimeSingel2 = endTimeSingel2.Subtract(rest6w4); + sumRest = sumRest.Add(rest6w4); + + var rotatingCheck = RotatingShiftCheck(starTimeSingel1, endTimeSingel2, + startTimeTowSh1, endTimeTowSh2); + rotatingCheck.RotatingDate = test; + rotatingResultList.Add(rotatingCheck); + jomeh = jomeh.Add(rotatingCheck.TotalWorkingTime); + Over22 = Over22.Add(rotatingCheck.NightWorkSpan); + } + } + } + else if (da.Day > w4 && da.Day <= w5) + { + if (command.Jome1) + { + var test = $"{da}"; + var checkHoliday = holidayList.Any(x => x == test); + if (checkHoliday == false) + { + i6 += 1; + SumComplexDays += 1; + starTimeSingel1 = Convert.ToDateTime(command.SingleShift1Jome1); + endTimeSingel2 = Convert.ToDateTime(command.SingleShift2Jome1); + startTimeTowSh1 = Convert.ToDateTime(command.TowShifts1Jome1); + endTimeTowSh2 = Convert.ToDateTime(command.TowShifts2Jome1); + if (string.IsNullOrWhiteSpace(command.TowShifts1Jome1)) + endTimeSingel2 = endTimeSingel2.Subtract(rest6w1); + sumRest = sumRest.Add(rest6w1); + + var rotatingCheck = RotatingShiftCheck(starTimeSingel1, endTimeSingel2, + startTimeTowSh1, endTimeTowSh2); + rotatingCheck.RotatingDate = test; + rotatingResultList.Add(rotatingCheck); + jomeh = jomeh.Add(rotatingCheck.TotalWorkingTime); + Over22 = Over22.Add(rotatingCheck.NightWorkSpan); + } + } + } + else if (da.Day > w5 && da.Day <= w6) + { + if (command.Jome2) + { + var test = $"{da}"; + var checkHoliday = holidayList.Any(x => x == test); + if (checkHoliday == false) + { + i6 += 1; + SumComplexDays += 1; + starTimeSingel1 = Convert.ToDateTime(command.SingleShift1Jome2); + endTimeSingel2 = Convert.ToDateTime(command.SingleShift2Jome2); + startTimeTowSh1 = Convert.ToDateTime(command.TowShifts1Jome2); + endTimeTowSh2 = Convert.ToDateTime(command.TowShifts2Jome2); + if (string.IsNullOrWhiteSpace(command.TowShifts1Jome2)) + endTimeSingel2 = endTimeSingel2.Subtract(rest6w2); + sumRest = sumRest.Add(rest6w2); + + var rotatingCheck = RotatingShiftCheck(starTimeSingel1, endTimeSingel2, + startTimeTowSh1, endTimeTowSh2); + rotatingCheck.RotatingDate = test; + rotatingResultList.Add(rotatingCheck); + jomeh = jomeh.Add(rotatingCheck.TotalWorkingTime); + Over22 = Over22.Add(rotatingCheck.NightWorkSpan); + } + } + } + + break; + } + } + + rotatingResultList = rotatingResultList.Where(x => + x.IsMorningShift || x.IsEveningShift || x.IsNightShift).ToList(); + } + + #endregion + + #region ComplexCompute + + else if (command.ShiftWork == "5") + { + var sdate2 = command.ContarctStart.ToEnglishNumber(); + var edate2 = command.ContractEnd.ToEnglishNumber(); + var syear2 = Convert.ToInt32(sdate.Substring(0, 4)); + var smonth2 = Convert.ToInt32(sdate.Substring(5, 2)); + var sday2 = Convert.ToInt32(sdate.Substring(8, 2)); + + var eyear2 = Convert.ToInt32(edate.Substring(0, 4)); + var emonth2 = Convert.ToInt32(edate.Substring(5, 2)); + var eday2 = Convert.ToInt32(edate.Substring(8, 2)); + + var d1b = new PersianDateTime(syear2, smonth2, sday2); + var d2b = new PersianDateTime(eyear2, emonth2, eday2, 23, 59); + + var start = Convert.ToDateTime(command.Start1224); + var end = Convert.ToDateTime(command.End1224); + + + var sh = start.Hour; + var sm = start.Minute; + var eh = end.Hour; + var em = end.Minute; + var startDateAndTime = new PersianDateTime(syear2, smonth2, sday2, sh, sm); + var endDateTime = new PersianDateTime(syear2, smonth2, sday2, eh, em); + + end = endDateTime.ToGregorianDateTime(); + + + for (var da2 = startDateAndTime; da2 <= d2b; da2.AddHours(36)) + if (da2.DayOfWeek == "جمعه") + { + start = da2.ToGregorianDateTime(); + if (start.Date == end.Date && start.TimeOfDay > end.TimeOfDay) + end = end.AddDays(1); + + var singleSpanTow1 = new TimeSpan(); + + i6 += 1; + if (start.Date < end.Date) + { + overNight = true; + var over24 = new DateTime(end.Year, end.Month, end.Day, 0, 0, 0); + singleOver24 = end - over24; + + singleSpanTow1 = end - start; + singleSpanTow1 = singleSpanTow1.Subtract(singleOver24); + notHolidays = notHolidays.Add(singleOver24); + jomeh = jomeh.Add(singleSpanTow1); + i += 1; + } + else + { + singleSpanTow1 = end - start; + jomeh = jomeh.Add(singleSpanTow1); + } + + var Over22Computer = Over22Complex(start, end); + Over22 = Over22.Add(Over22Computer); + + var endCal = end - start; + var NextStart = start.AddHours(36); + end = NextStart.Add(endCal); + } + else if (da2.DayOfWeek == "پنج شنبه") + { + start = da2.ToGregorianDateTime(); + if (start.Date == end.Date && start.TimeOfDay > end.TimeOfDay) + end = end.AddDays(1); + var singleSpan1 = new TimeSpan(); + i5 += 1; + if (start.Date < end.Date && start.Day != end.Day) + { + overNight = true; + var over24 = new DateTime(end.Year, end.Month, end.Day, 0, 0, 0); + singleOver24 = end - over24; + + + jomeh = jomeh.Add(singleOver24); + + i6 += 1; + + singleSpan1 = end - start; + singleSpan1 = singleSpan1.Subtract(singleOver24); + notHolidays = notHolidays.Add(singleSpan1); + } + else + { + singleSpan1 = end - start; + notHolidays = notHolidays.Add(singleSpan1); + } + + + var Over22Computer2 = Over22Complex(start, end); + + + Over22 = Over22.Add(Over22Computer2); + + + var endCal = end - start; + var NextStart = start.AddHours(36); + end = NextStart.Add(endCal); + } + else if (da2.DayOfWeek == "شنبه") + { + start = da2.ToGregorianDateTime(); + if (start.Date == end.Date && start.TimeOfDay > end.TimeOfDay) + end = end.AddDays(1); + + var singleSpan1 = end - start; + notHolidays = notHolidays.Add(singleSpan1); + var Over22Computing = Over22Complex(start, end); + Over22 = Over22.Add(Over22Computing); + + + i += 1; + var NextStart = start.AddHours(36); + end = NextStart.Add(singleSpan1); + } + else if (da2.DayOfWeek == "یکشنبه") + { + start = da2.ToGregorianDateTime(); + if (start.Date == end.Date && start.TimeOfDay > end.TimeOfDay) + end = end.AddDays(1); + var singleSpan1 = end - start; + notHolidays = notHolidays.Add(singleSpan1); + var Over22Computing = Over22Complex(start, end); + Over22 = Over22.Add(Over22Computing); + + + i1 += 1; + + var NextStart = start.AddHours(36); + end = NextStart.Add(singleSpan1); + } + else if (da2.DayOfWeek == "دوشنبه") + { + start = da2.ToGregorianDateTime(); + if (start.Date == end.Date && start.TimeOfDay > end.TimeOfDay) + end = end.AddDays(1); + var singleSpan1 = end - start; + notHolidays = notHolidays.Add(singleSpan1); + var Over22Computing = Over22Complex(start, end); + Over22 = Over22.Add(Over22Computing); + + + i2 += 1; + + var NextStart = start.AddHours(36); + end = NextStart.Add(singleSpan1); + } + else if (da2.DayOfWeek == "سه شنبه") + { + start = da2.ToGregorianDateTime(); + if (start.Date == end.Date && start.TimeOfDay > end.TimeOfDay) + end = end.AddDays(1); + var singleSpan1 = end - start; + notHolidays = notHolidays.Add(singleSpan1); + var Over22Computing = Over22Complex(start, end); + Over22 = Over22.Add(Over22Computing); + + i3 += 1; + var NextStart = start.AddHours(36); + end = NextStart.Add(singleSpan1); + } + else if (da2.DayOfWeek == "چهارشنبه") + { + start = da2.ToGregorianDateTime(); + + var singleSpan1 = end - start; + notHolidays = notHolidays.Add(singleSpan1); + var Over22Computing = Over22Complex(start, end); + Over22 = Over22.Add(Over22Computing); + + + i4 += 1; + var NextStart = start.AddHours(36); + end = NextStart.Add(singleSpan1); + } + + + for (var daa = d1b; daa <= d2b; daa.AddDays(1)) + if (daa.DayOfWeek != "جمعه") + { + var test = daa.ToGregorianDateTime(); + var checkHoliday = _holidayItemRepository.GetHoliday(test); + if (checkHoliday == false) + SumComplexDays += 1; + else + OfficialHoliday += 1; + } + } + else if (command.ShiftWork == "6") + { + var sdate2 = command.ContarctStart.ToEnglishNumber(); + var edate2 = command.ContractEnd.ToEnglishNumber(); + var syear2 = Convert.ToInt32(sdate.Substring(0, 4)); + var smonth2 = Convert.ToInt32(sdate.Substring(5, 2)); + var sday2 = Convert.ToInt32(sdate.Substring(8, 2)); + + var eyear2 = Convert.ToInt32(edate.Substring(0, 4)); + var emonth2 = Convert.ToInt32(edate.Substring(5, 2)); + var eday2 = Convert.ToInt32(edate.Substring(8, 2)); + + var d1b = new PersianDateTime(syear2, smonth2, sday2); + var d2b = new PersianDateTime(eyear2, emonth2, eday2, 23, 59); + + var start = Convert.ToDateTime(command.Start2424); + var end = Convert.ToDateTime(command.End2424); + + + var sh = start.Hour; + var sm = start.Minute; + var eh = end.Hour; + var em = end.Minute; + var startDateAndTime = new PersianDateTime(syear2, smonth2, sday2, sh, sm); + var endDateTime = new PersianDateTime(syear2, smonth2, sday2, eh, em); + //if (start > end) + //{ + + // endDateTime.AddDays(1); + //} + + endDateTime.AddDays(1); + end = endDateTime.ToGregorianDateTime(); + + + for (var da2 = startDateAndTime; da2 <= d2b; da2.AddHours(48)) + if (da2.DayOfWeek == "جمعه") + { + start = da2.ToGregorianDateTime(); + + var singleSpanTow1 = new TimeSpan(); + var WorkHours = end - start; + i6 += 1; + if (start.Date < end.Date) + { + overNight = true; + var over24 = new DateTime(end.Year, end.Month, end.Day, 0, 0, 0); + singleOver24 = end - over24; + + singleSpanTow1 = end - start; + singleSpanTow1 = singleSpanTow1.Subtract(singleOver24); + notHolidays = notHolidays.Add(singleOver24); + jomeh = jomeh.Add(singleSpanTow1); + i += 1; + } + else + { + singleSpanTow1 = end - start; + jomeh = jomeh.Add(singleSpanTow1); + } + + var Over22Computer = Over22Complex2424(start, end); + Over22 = Over22.Add(Over22Computer); + + var NextStart = start.AddHours(48); + end = NextStart.Add(WorkHours); + } + else if (da2.DayOfWeek == "پنج شنبه") + { + start = da2.ToGregorianDateTime(); + var singleSpan1 = new TimeSpan(); + var WorkHours = end - start; + i5 += 1; + if (start.Date < end.Date && start.Day != end.Day) + { + overNight = true; + var over24 = new DateTime(end.Year, end.Month, end.Day, 0, 0, 0); + singleOver24 = end - over24; + + + jomeh = jomeh.Add(singleOver24); + + i6 += 1; + + singleSpan1 = end - start; + singleSpan1 = singleSpan1.Subtract(singleOver24); + notHolidays = notHolidays.Add(singleSpan1); + } + else + { + singleSpan1 = end - start; + notHolidays = notHolidays.Add(singleSpan1); + } + + + var Over22Computer2 = Over22Complex2424(start, end); + + + Over22 = Over22.Add(Over22Computer2); + + + var NextStart = start.AddHours(48); + end = NextStart.Add(WorkHours); + } + else if (da2.DayOfWeek == "شنبه") + { + start = da2.ToGregorianDateTime(); + + + var singleSpan1 = end - start; + notHolidays = notHolidays.Add(singleSpan1); + var Over22Computing = Over22Complex2424(start, end); + Over22 = Over22.Add(Over22Computing); + + + i += 1; + var NextStart = start.AddHours(48); + end = NextStart.Add(singleSpan1); + } + else if (da2.DayOfWeek == "یکشنبه") + { + start = da2.ToGregorianDateTime(); + + var singleSpan1 = end - start; + notHolidays = notHolidays.Add(singleSpan1); + var Over22Computing = Over22Complex2424(start, end); + Over22 = Over22.Add(Over22Computing); + + + i1 += 1; + + var NextStart = start.AddHours(48); + end = NextStart.Add(singleSpan1); + } + else if (da2.DayOfWeek == "دوشنبه") + { + start = da2.ToGregorianDateTime(); + + var singleSpan1 = end - start; + notHolidays = notHolidays.Add(singleSpan1); + var Over22Computing = Over22Complex2424(start, end); + Over22 = Over22.Add(Over22Computing); + + + i2 += 1; + + var NextStart = start.AddHours(48); + end = NextStart.Add(singleSpan1); + } + else if (da2.DayOfWeek == "سه شنبه") + { + start = da2.ToGregorianDateTime(); + var singleSpan1 = end - start; + notHolidays = notHolidays.Add(singleSpan1); + var Over22Computing = Over22Complex2424(start, end); + Over22 = Over22.Add(Over22Computing); + + i3 += 1; + var NextStart = start.AddHours(48); + end = NextStart.Add(singleSpan1); + } + else if (da2.DayOfWeek == "چهارشنبه") + { + start = da2.ToGregorianDateTime(); + + var singleSpan1 = end - start; + notHolidays = notHolidays.Add(singleSpan1); + var Over22Computing = Over22Complex2424(start, end); + Over22 = Over22.Add(Over22Computing); + + + i4 += 1; + var NextStart = start.AddHours(48); + end = NextStart.Add(singleSpan1); + } + + + for (var daa = d1b; daa <= d2b; daa.AddDays(1)) + if (daa.DayOfWeek != "جمعه") + { + var test = daa.ToGregorianDateTime(); + var checkHoliday = _holidayItemRepository.GetHoliday(test); + if (checkHoliday == false) + SumComplexDays += 1; + else + OfficialHoliday += 1; + } + } + else if (command.ShiftWork == "7") + { + var sdate2 = command.ContarctStart.ToEnglishNumber(); + var edate2 = command.ContractEnd.ToEnglishNumber(); + var syear2 = Convert.ToInt32(sdate.Substring(0, 4)); + var smonth2 = Convert.ToInt32(sdate.Substring(5, 2)); + var sday2 = Convert.ToInt32(sdate.Substring(8, 2)); + + var eyear2 = Convert.ToInt32(edate.Substring(0, 4)); + var emonth2 = Convert.ToInt32(edate.Substring(5, 2)); + var eday2 = Convert.ToInt32(edate.Substring(8, 2)); + + var d1b = new PersianDateTime(syear2, smonth2, sday2); + var d2b = new PersianDateTime(eyear2, emonth2, eday2, 23, 59); + + var start = Convert.ToDateTime(command.Start1236); + var end = Convert.ToDateTime(command.End1236); + + + var sh = start.Hour; + var sm = start.Minute; + var eh = end.Hour; + var em = end.Minute; + var startDateAndTime = new PersianDateTime(syear2, smonth2, sday2, sh, sm); + var endDateTime = new PersianDateTime(syear2, smonth2, sday2, eh, em); + //if (start > end) + //{ + + // endDateTime.AddDays(1); + //} + + //endDateTime.AddDays(1); + end = endDateTime.ToGregorianDateTime(); + + + for (var da2 = startDateAndTime; da2 <= d2b; da2.AddHours(48)) + if (da2.DayOfWeek == "جمعه") + { + start = da2.ToGregorianDateTime(); + if (start.Date == end.Date && start.TimeOfDay > end.TimeOfDay) + end = end.AddDays(1); + + var singleSpanTow1 = new TimeSpan(); + + i6 += 1; + if (start.Date < end.Date) + { + overNight = true; + var over24 = new DateTime(end.Year, end.Month, end.Day, 0, 0, 0); + singleOver24 = end - over24; + + singleSpanTow1 = end - start; + singleSpanTow1 = singleSpanTow1.Subtract(singleOver24); + notHolidays = notHolidays.Add(singleOver24); + jomeh = jomeh.Add(singleSpanTow1); + i += 1; + } + else + { + singleSpanTow1 = end - start; + jomeh = jomeh.Add(singleSpanTow1); + } + + var Over22Computer = Over22Complex(start, end); + Over22 = Over22.Add(Over22Computer); + + var WorkHours = end - start; + var NextStart = start.AddHours(48); + end = NextStart.Add(WorkHours); + } + else if (da2.DayOfWeek == "پنج شنبه") + { + start = da2.ToGregorianDateTime(); + if (start.Date == end.Date && start.TimeOfDay > end.TimeOfDay) + end = end.AddDays(1); + var singleSpan1 = new TimeSpan(); + + i5 += 1; + if (start.Date < end.Date && start.Day != end.Day) + { + overNight = true; + var over24 = new DateTime(end.Year, end.Month, end.Day, 0, 0, 0); + singleOver24 = end - over24; + + + jomeh = jomeh.Add(singleOver24); + + i6 += 1; + + singleSpan1 = end - start; + singleSpan1 = singleSpan1.Subtract(singleOver24); + notHolidays = notHolidays.Add(singleSpan1); + } + else + { + singleSpan1 = end - start; + notHolidays = notHolidays.Add(singleSpan1); + } + + + var Over22Computer2 = Over22Complex(start, end); + + + Over22 = Over22.Add(Over22Computer2); + + + var WorkHours = end - start; + var NextStart = start.AddHours(48); + end = NextStart.Add(WorkHours); + } + else if (da2.DayOfWeek == "شنبه") + { + start = da2.ToGregorianDateTime(); + if (start.Date == end.Date && start.TimeOfDay > end.TimeOfDay) + end = end.AddDays(1); + + var singleSpan1 = end - start; + notHolidays = notHolidays.Add(singleSpan1); + var Over22Computing = Over22Complex(start, end); + Over22 = Over22.Add(Over22Computing); + + + i += 1; + var NextStart = start.AddHours(48); + end = NextStart.Add(singleSpan1); + } + else if (da2.DayOfWeek == "یکشنبه") + { + start = da2.ToGregorianDateTime(); + if (start.Date == end.Date && start.TimeOfDay > end.TimeOfDay) + end = end.AddDays(1); + var singleSpan1 = end - start; + notHolidays = notHolidays.Add(singleSpan1); + var Over22Computing = Over22Complex(start, end); + Over22 = Over22.Add(Over22Computing); + + + i1 += 1; + + var NextStart = start.AddHours(48); + end = NextStart.Add(singleSpan1); + } + else if (da2.DayOfWeek == "دوشنبه") + { + start = da2.ToGregorianDateTime(); + if (start.Date == end.Date && start.TimeOfDay > end.TimeOfDay) + end = end.AddDays(1); + var singleSpan1 = end - start; + notHolidays = notHolidays.Add(singleSpan1); + var Over22Computing = Over22Complex(start, end); + Over22 = Over22.Add(Over22Computing); + + + i2 += 1; + + var NextStart = start.AddHours(48); + end = NextStart.Add(singleSpan1); + } + else if (da2.DayOfWeek == "سه شنبه") + { + start = da2.ToGregorianDateTime(); + if (start.Date == end.Date && start.TimeOfDay > end.TimeOfDay) + end = end.AddDays(1); + var singleSpan1 = end - start; + notHolidays = notHolidays.Add(singleSpan1); + var Over22Computing = Over22Complex(start, end); + Over22 = Over22.Add(Over22Computing); + + i3 += 1; + var NextStart = start.AddHours(48); + end = NextStart.Add(singleSpan1); + } + else if (da2.DayOfWeek == "چهارشنبه") + { + start = da2.ToGregorianDateTime(); + if (start.Date == end.Date && start.TimeOfDay > end.TimeOfDay) + end = end.AddDays(1); + var singleSpan1 = end - start; + notHolidays = notHolidays.Add(singleSpan1); + var Over22Computing = Over22Complex(start, end); + Over22 = Over22.Add(Over22Computing); + + + i4 += 1; + var NextStart = start.AddHours(48); + end = NextStart.Add(singleSpan1); + } + + + for (var daa = d1b; daa <= d2b; daa.AddDays(1)) + if (daa.DayOfWeek != "جمعه") + { + var test = daa.ToGregorianDateTime(); + var checkHoliday = _holidayItemRepository.GetHoliday(test); + if (checkHoliday == false) + SumComplexDays += 1; + else + OfficialHoliday += 1; + } + } + else if (command.ShiftWork == "8") + { + var sdate2 = command.ContarctStart.ToEnglishNumber(); + var edate2 = command.ContractEnd.ToEnglishNumber(); + var syear2 = Convert.ToInt32(sdate.Substring(0, 4)); + var smonth2 = Convert.ToInt32(sdate.Substring(5, 2)); + var sday2 = Convert.ToInt32(sdate.Substring(8, 2)); + + var eyear2 = Convert.ToInt32(edate.Substring(0, 4)); + var emonth2 = Convert.ToInt32(edate.Substring(5, 2)); + var eday2 = Convert.ToInt32(edate.Substring(8, 2)); + + var d1b = new PersianDateTime(syear2, smonth2, sday2); + var d2b = new PersianDateTime(eyear2, emonth2, eday2, 23, 59); + + var start = Convert.ToDateTime(command.Start2448); + var end = Convert.ToDateTime(command.End2448); + + + var sh = start.Hour; + var sm = start.Minute; + var eh = end.Hour; + var em = end.Minute; + var startDateAndTime = new PersianDateTime(syear2, smonth2, sday2, sh, sm); + var endDateTime = new PersianDateTime(syear2, smonth2, sday2, eh, em); + //if (start > end) + //{ + + // endDateTime.AddDays(1); + //} + + + end = endDateTime.ToGregorianDateTime(); + end = end.AddDays(1); + + + for (var da2 = startDateAndTime; da2 <= d2b; da2.AddHours(72)) + if (da2.DayOfWeek == "جمعه") + { + start = da2.ToGregorianDateTime(); + + var singleSpanTow1 = new TimeSpan(); + + i6 += 1; + if (start.Date < end.Date) + { + overNight = true; + var over24 = new DateTime(end.Year, end.Month, end.Day, 0, 0, 0); + singleOver24 = end - over24; + + singleSpanTow1 = end - start; + singleSpanTow1 = singleSpanTow1.Subtract(singleOver24); + notHolidays = notHolidays.Add(singleOver24); + jomeh = jomeh.Add(singleSpanTow1); + i += 1; + } + else + { + singleSpanTow1 = end - start; + jomeh = jomeh.Add(singleSpanTow1); + } + + var Over22Computer = Over22Complex2424(start, end); + Over22 = Over22.Add(Over22Computer); + + var WorkHours = end - start; + var NextStart = start.AddHours(72); + end = NextStart.Add(WorkHours); + } + else if (da2.DayOfWeek == "پنج شنبه") + { + start = da2.ToGregorianDateTime(); + var singleSpan1 = new TimeSpan(); + + i5 += 1; + if (start.Date < end.Date && start.Day != end.Day) + { + overNight = true; + var over24 = new DateTime(end.Year, end.Month, end.Day, 0, 0, 0); + singleOver24 = end - over24; + + + jomeh = jomeh.Add(singleOver24); + + i6 += 1; + + singleSpan1 = end - start; + singleSpan1 = singleSpan1.Subtract(singleOver24); + notHolidays = notHolidays.Add(singleSpan1); + } + else + { + singleSpan1 = end - start; + notHolidays = notHolidays.Add(singleSpan1); + } + + + var Over22Computer2 = Over22Complex2424(start, end); + + + Over22 = Over22.Add(Over22Computer2); + + + var WorkHours = end - start; + var NextStart = start.AddHours(72); + end = NextStart.Add(WorkHours); + } + else if (da2.DayOfWeek == "شنبه") + { + start = da2.ToGregorianDateTime(); + + + var singleSpan1 = end - start; + notHolidays = notHolidays.Add(singleSpan1); + var Over22Computing = Over22Complex2424(start, end); + Over22 = Over22.Add(Over22Computing); + + + i += 1; + var NextStart = start.AddHours(72); + end = NextStart.Add(singleSpan1); + } + else if (da2.DayOfWeek == "یکشنبه") + { + start = da2.ToGregorianDateTime(); + + var singleSpan1 = end - start; + notHolidays = notHolidays.Add(singleSpan1); + var Over22Computing = Over22Complex2424(start, end); + Over22 = Over22.Add(Over22Computing); + + + i1 += 1; + + var NextStart = start.AddHours(72); + end = NextStart.Add(singleSpan1); + } + else if (da2.DayOfWeek == "دوشنبه") + { + start = da2.ToGregorianDateTime(); + + var singleSpan1 = end - start; + notHolidays = notHolidays.Add(singleSpan1); + var Over22Computing = Over22Complex2424(start, end); + Over22 = Over22.Add(Over22Computing); + - overNight = true; - var over24 = new DateTime(end.Year, end.Month, end.Day, 0, 0, 0); - singleOver24 = (end - over24); - - singleSpanTow1 = (end - start); - singleSpanTow1 = singleSpanTow1.Subtract(singleOver24); - notHolidays = notHolidays.Add(singleOver24); - jomeh = jomeh.Add(singleSpanTow1); - i += 1; + i2 += 1; + var NextStart = start.AddHours(72); + end = NextStart.Add(singleSpan1); + } + else if (da2.DayOfWeek == "سه شنبه") + { + start = da2.ToGregorianDateTime(); + var singleSpan1 = end - start; + notHolidays = notHolidays.Add(singleSpan1); + var Over22Computing = Over22Complex2424(start, end); + Over22 = Over22.Add(Over22Computing); - } - else - { - singleSpanTow1 = (end - start); - jomeh = jomeh.Add(singleSpanTow1); + i3 += 1; + var NextStart = start.AddHours(72); + end = NextStart.Add(singleSpan1); + } + else if (da2.DayOfWeek == "چهارشنبه") + { + start = da2.ToGregorianDateTime(); - } - var Over22Computer = Over22Complex(start, end); - Over22 = Over22.Add(Over22Computer); + var singleSpan1 = end - start; + notHolidays = notHolidays.Add(singleSpan1); + var Over22Computing = Over22Complex2424(start, end); + Over22 = Over22.Add(Over22Computing); - var endCal = (end - start); - var NextStart = start.AddHours(36); - end = NextStart.Add(endCal); - } - else if (da2.DayOfWeek == "پنج شنبه") - { - start = da2.ToGregorianDateTime(); - if (start.Date == end.Date && start.TimeOfDay > end.TimeOfDay) - end = end.AddDays(1); - var singleSpan1 = new TimeSpan(); - i5 += 1; - if (start.Date < end.Date && start.Day != end.Day) - { - overNight = true; - var over24 = new DateTime(end.Year, end.Month, end.Day, 0, 0, 0); - singleOver24 = (end - over24); + i4 += 1; + var NextStart = start.AddHours(72); + end = NextStart.Add(singleSpan1); + } - jomeh = jomeh.Add(singleOver24); + for (var daa = d1b; daa <= d2b; daa.AddDays(1)) + if (daa.DayOfWeek != "جمعه") + { + var test = daa.ToGregorianDateTime(); + var checkHoliday = _holidayItemRepository.GetHoliday(test); + if (checkHoliday == false) + SumComplexDays += 1; + else + OfficialHoliday += 1; + } + } - i6 += 1; + #endregion - singleSpan1 = (end - start); - singleSpan1 = singleSpan1.Subtract(singleOver24); - notHolidays = notHolidays.Add(singleSpan1); + #region DayCounterAndDailyFix - } - else - { - singleSpan1 = (end - start); - notHolidays = notHolidays.Add(singleSpan1); - } + var sumDays = i + i1 + i2 + i3 + i4 + i5 + i6; + var holidaysCount = i6; + var notHolidaysCount = i + i1 + i2 + i3 + i4 + i5; + // ساعات موظفی + var ComplexFix = dailyFix.Multiply(SumComplexDays); + dailyFix = dailyFix.Multiply(notHolidaysCount); + Notholiday = notHolidaysCount.ToString(); + Holidays = holidaysCount.ToString(); + var searchModel = new LeftWorkSearchModel + { + EmployeeId = command.EmployeeId, + WorkshopId = command.WorkshopId + }; - var Over22Computer2 = Over22Complex(start, end); + var leftworkList = _leftWorkApplication.search(searchModel); + var lastLeftWork = leftworkList.FirstOrDefault(); + var conStart = command.ContarctStart.ToGeorgianDateTime(); + var EndOfM = Convert.ToInt32(command.ContractEnd.Substring(8, 2)); + var conEnd = command.ContractEnd.ToGeorgianDateTime(); + if (lastLeftWork.LeftWorkDate != "1500/01/01" && lastLeftWork.LeftWorkDateGr < conEnd) + { + conEnd = lastLeftWork.LeftWorkDateGr.AddDays(-1); + } + else + { + if (EndOfM == 31) conEnd = conEnd.AddDays(-1); + } - Over22 = Over22.Add(Over22Computer2); + var AllDaysCount = (conEnd - conStart).TotalDays + 1; + var endContract = command.ContractEnd.ToGeorgianDateTime(); + var allDays = (endContract - conStart).TotalDays + 1; - var endCal = (end - start); - var NextStart = start.AddHours(36); - end = NextStart.Add(endCal); - } - else if (da2.DayOfWeek == "شنبه") - { - start = da2.ToGregorianDateTime(); - if (start.Date == end.Date && start.TimeOfDay > end.TimeOfDay) - end = end.AddDays(1); - var singleSpan1 = (end - start); - notHolidays = notHolidays.Add(singleSpan1); - var Over22Computing = Over22Complex(start, end); - Over22 = Over22.Add(Over22Computing); + var jomeh2 = new TimeSpan(); + var notHolidays2 = new TimeSpan(); + var Mandatory = new TimeSpan(); - i += 1; - var NextStart = start.AddHours(36); - end = NextStart.Add(singleSpan1); - } - else if (da2.DayOfWeek == "یکشنبه") - { - start = da2.ToGregorianDateTime(); - if (start.Date == end.Date && start.TimeOfDay > end.TimeOfDay) - end = end.AddDays(1); - var singleSpan1 = (end - start); - notHolidays = notHolidays.Add(singleSpan1); - var Over22Computing = Over22Complex(start, end); - Over22 = Over22.Add(Over22Computing); + notHolidays = notHolidays.Add(jomeh); - i1 += 1; - - var NextStart = start.AddHours(36); - end = NextStart.Add(singleSpan1); - } - else if (da2.DayOfWeek == "دوشنبه") - { - start = da2.ToGregorianDateTime(); - if (start.Date == end.Date && start.TimeOfDay > end.TimeOfDay) - end = end.AddDays(1); - var singleSpan1 = (end - start); - notHolidays = notHolidays.Add(singleSpan1); - var Over22Computing = Over22Complex(start, end); - Over22 = Over22.Add(Over22Computing); - + var workingDaysH = (int)notHolidays.TotalHours; + var workingDaysM = notHolidays.TotalMinutes % 60; - i2 += 1; - - var NextStart = start.AddHours(36); - end = NextStart.Add(singleSpan1); + notHolidays2 = notHolidays2.Add(jomeh2); - } - else if (da2.DayOfWeek == "سه شنبه") - { - start = da2.ToGregorianDateTime(); - if (start.Date == end.Date && start.TimeOfDay > end.TimeOfDay) - end = end.AddDays(1); - var singleSpan1 = (end - start); - notHolidays = notHolidays.Add(singleSpan1); - var Over22Computing = Over22Complex(start, end); - Over22 = Over22.Add(Over22Computing); - i3 += 1; - var NextStart = start.AddHours(36); - end = NextStart.Add(singleSpan1); + var SumNotHolidays = notHolidays.Add(notHolidays2); + var SumNotHolidaysHours = (int)SumNotHolidays.TotalHours; + var SumNotHolidaysMinuts = SumNotHolidays.Minutes % 60; + + var SumHolidays = jomeh.Add(jomeh2); + var SumHolidaysHours = (int)SumHolidays.TotalHours; + var SumHolidaysMinuts = SumHolidays.Minutes % 60; + + var totalHoursShift1 = notHolidays; + var totalHoursShift1And2 = SumNotHolidays; - } - else if (da2.DayOfWeek == "چهارشنبه") - { - start = da2.ToGregorianDateTime(); + #endregion - var singleSpan1 = (end - start); - notHolidays = notHolidays.Add(singleSpan1); - var Over22Computing = Over22Complex(start, end); - Over22 = Over22.Add(Over22Computing); + #region DailyFeeCompute + var basic = "0"; + var GetWorkStartDate = command.GetWorkDateHide.ToEnglishNumber(); + var GetWorkEndDate = command.ContractEnd.ToEnglishNumber(); + var styear = Convert.ToInt32(GetWorkStartDate.Substring(0, 4)); + var stmonth = Convert.ToInt32(GetWorkStartDate.Substring(5, 2)); + var stday = Convert.ToInt32(GetWorkStartDate.Substring(8, 2)); - i4 += 1; - var NextStart = start.AddHours(36); - end = NextStart.Add(singleSpan1); - } - - - - - } - - - for (var daa = d1b; daa <= d2b; daa.AddDays(1)) - { - if (daa.DayOfWeek != "جمعه") - { - var test = daa.ToGregorianDateTime(); - var checkHoliday = _holidayItemRepository.GetHoliday(test); - if (checkHoliday == false) - { - SumComplexDays += 1; - } - else - { - OfficialHoliday += 1; - } - - } - } - - } - else if (command.ShiftWork == "6") - { - var sdate2 = command.ContarctStart.ToEnglishNumber(); - var edate2 = command.ContractEnd.ToEnglishNumber(); - var syear2 = Convert.ToInt32(sdate.Substring(0, 4)); - var smonth2 = Convert.ToInt32(sdate.Substring(5, 2)); - var sday2 = Convert.ToInt32(sdate.Substring(8, 2)); + var edyear = Convert.ToInt32(GetWorkEndDate.Substring(0, 4)); + var edmonth = Convert.ToInt32(GetWorkEndDate.Substring(5, 2)); + var edday = Convert.ToInt32(GetWorkEndDate.Substring(8, 2)); + var startDate = command.GetWorkDateHide.ToGeorgianDateTime(); + var endDate = command.ContractEnd.ToGeorgianDateTime(); + var dayliFee = "خطای تاریخ"; - var eyear2 = Convert.ToInt32(edate.Substring(0, 4)); - var emonth2 = Convert.ToInt32(edate.Substring(5, 2)); - var eday2 = Convert.ToInt32(edate.Substring(8, 2)); + if (styear >= 1370) + { + if (leftworkList == null) + leftworkList = new List(); + var ContractStart = command.ContarctStart.ToGeorgianDateTime(); + var dayliFeeResult = _yearlySalaryRepository.DayliFeeComputing(startDate, ContractStart, endDate, + command.EmployeeId, command.WorkshopId, leftworkList); + dayliFee = dayliFeeResult.DayliFee; + basic = dayliFeeResult.Basic; + } - var d1b = new PersianDateTime(syear2, smonth2, sday2); - var d2b = new PersianDateTime(eyear2, emonth2, eday2, 23, 59); + #endregion - var start = Convert.ToDateTime(command.Start2424); - var end = Convert.ToDateTime(command.End2424); + #region ConsumableItemsAndHousingAndFamily + var ConsumableItems = _yearlySalaryRepository.ConsumableItems(endDate); + var HousingAllowance = _yearlySalaryRepository.HousingAllowance(endDate); - var sh = start.Hour; - var sm = start.Minute; - var eh = end.Hour; - var em = end.Minute; - var startDateAndTime = new PersianDateTime(syear2, smonth2, sday2, sh, sm); - var endDateTime = new PersianDateTime(syear2, smonth2, sday2, eh, em); - //if (start > end) - //{ + var familyAllowance = _yearlySalaryRepository.FamilyAllowance(command.EmployeeId, endDate); - // endDateTime.AddDays(1); - //} + #endregion - endDateTime.AddDays(1); - end = endDateTime.ToGregorianDateTime(); + #region Fix44Compute + var dailyFixx = TimeSpan.Parse("07:20"); + var fix44 = dailyFixx.Multiply(6); - for (var da2 = startDateAndTime; da2 <= d2b; da2.AddHours(48)) - { + var divideNum = TimeSpan.Parse("06:00"); - if (da2.DayOfWeek == "جمعه") - { - start = da2.ToGregorianDateTime(); - var singleSpanTow1 = new TimeSpan(); - var WorkHours = (end - start); - i6 += 1; - if (start.Date < end.Date) - { - - overNight = true; - var over24 = new DateTime(end.Year, end.Month, end.Day, 0, 0, 0); - singleOver24 = (end - over24); - - singleSpanTow1 = (end - start); - singleSpanTow1 = singleSpanTow1.Subtract(singleOver24); - notHolidays = notHolidays.Add(singleOver24); - jomeh = jomeh.Add(singleSpanTow1); - i += 1; - - - } - else - { - singleSpanTow1 = (end - start); - jomeh = jomeh.Add(singleSpanTow1); - - } - var Over22Computer = Over22Complex2424(start, end); - Over22 = Over22.Add(Over22Computer); - - var NextStart = start.AddHours(48); - end = NextStart.Add(WorkHours); - } - else if (da2.DayOfWeek == "پنج شنبه") - { - start = da2.ToGregorianDateTime(); - var singleSpan1 = new TimeSpan(); - var WorkHours = (end - start); - i5 += 1; - if (start.Date < end.Date && start.Day != end.Day) - { - - overNight = true; - var over24 = new DateTime(end.Year, end.Month, end.Day, 0, 0, 0); - singleOver24 = (end - over24); - - - jomeh = jomeh.Add(singleOver24); - - i6 += 1; - - singleSpan1 = (end - start); - singleSpan1 = singleSpan1.Subtract(singleOver24); - notHolidays = notHolidays.Add(singleSpan1); - - } - else - { - singleSpan1 = (end - start); - notHolidays = notHolidays.Add(singleSpan1); - } - - - - - var Over22Computer2 = Over22Complex2424(start, end); - - - Over22 = Over22.Add(Over22Computer2); - - - - var NextStart = start.AddHours(48); - end = NextStart.Add(WorkHours); - } - else if (da2.DayOfWeek == "شنبه") - { - start = da2.ToGregorianDateTime(); - - - var singleSpan1 = (end - start); - notHolidays = notHolidays.Add(singleSpan1); - var Over22Computing = Over22Complex2424(start, end); - Over22 = Over22.Add(Over22Computing); - - - i += 1; - var NextStart = start.AddHours(48); - end = NextStart.Add(singleSpan1); - } - else if (da2.DayOfWeek == "یکشنبه") - { - start = da2.ToGregorianDateTime(); - - var singleSpan1 = (end - start); - notHolidays = notHolidays.Add(singleSpan1); - var Over22Computing = Over22Complex2424(start, end); - Over22 = Over22.Add(Over22Computing); - - - i1 += 1; - - var NextStart = start.AddHours(48); - end = NextStart.Add(singleSpan1); - } - else if (da2.DayOfWeek == "دوشنبه") - { - start = da2.ToGregorianDateTime(); - - var singleSpan1 = (end - start); - notHolidays = notHolidays.Add(singleSpan1); - var Over22Computing = Over22Complex2424(start, end); - Over22 = Over22.Add(Over22Computing); - - - i2 += 1; - - var NextStart = start.AddHours(48); - end = NextStart.Add(singleSpan1); - - } - else if (da2.DayOfWeek == "سه شنبه") - { - start = da2.ToGregorianDateTime(); - var singleSpan1 = (end - start); - notHolidays = notHolidays.Add(singleSpan1); - var Over22Computing = Over22Complex2424(start, end); - Over22 = Over22.Add(Over22Computing); - - i3 += 1; - var NextStart = start.AddHours(48); - end = NextStart.Add(singleSpan1); - - } - else if (da2.DayOfWeek == "چهارشنبه") - { - start = da2.ToGregorianDateTime(); - - var singleSpan1 = (end - start); - notHolidays = notHolidays.Add(singleSpan1); - var Over22Computing = Over22Complex2424(start, end); - Over22 = Over22.Add(Over22Computing); - - - i4 += 1; - var NextStart = start.AddHours(48); - end = NextStart.Add(singleSpan1); - } - - - - - } - - - for (var daa = d1b; daa <= d2b; daa.AddDays(1)) - { - - if (daa.DayOfWeek != "جمعه") - { - var test = daa.ToGregorianDateTime(); - var checkHoliday = _holidayItemRepository.GetHoliday(test); - if (checkHoliday == false) - { - SumComplexDays += 1; - } - else - { - OfficialHoliday += 1; - } - - } - - } - - } - else if (command.ShiftWork == "7") - { - var sdate2 = command.ContarctStart.ToEnglishNumber(); - var edate2 = command.ContractEnd.ToEnglishNumber(); - var syear2 = Convert.ToInt32(sdate.Substring(0, 4)); - var smonth2 = Convert.ToInt32(sdate.Substring(5, 2)); - var sday2 = Convert.ToInt32(sdate.Substring(8, 2)); - - var eyear2 = Convert.ToInt32(edate.Substring(0, 4)); - var emonth2 = Convert.ToInt32(edate.Substring(5, 2)); - var eday2 = Convert.ToInt32(edate.Substring(8, 2)); - - var d1b = new PersianDateTime(syear2, smonth2, sday2); - var d2b = new PersianDateTime(eyear2, emonth2, eday2, 23, 59); - - var start = Convert.ToDateTime(command.Start1236); - var end = Convert.ToDateTime(command.End1236); - - - var sh = start.Hour; - var sm = start.Minute; - var eh = end.Hour; - var em = end.Minute; - var startDateAndTime = new PersianDateTime(syear2, smonth2, sday2, sh, sm); - var endDateTime = new PersianDateTime(syear2, smonth2, sday2, eh, em); - //if (start > end) - //{ - - // endDateTime.AddDays(1); - //} - - //endDateTime.AddDays(1); - end = endDateTime.ToGregorianDateTime(); - - - for (var da2 = startDateAndTime; da2 <= d2b; da2.AddHours(48)) - { - - if (da2.DayOfWeek == "جمعه") - { - start = da2.ToGregorianDateTime(); - if (start.Date == end.Date && start.TimeOfDay > end.TimeOfDay) - end = end.AddDays(1); - - var singleSpanTow1 = new TimeSpan(); - - i6 += 1; - if (start.Date < end.Date) - { - - overNight = true; - var over24 = new DateTime(end.Year, end.Month, end.Day, 0, 0, 0); - singleOver24 = (end - over24); - - singleSpanTow1 = (end - start); - singleSpanTow1 = singleSpanTow1.Subtract(singleOver24); - notHolidays = notHolidays.Add(singleOver24); - jomeh = jomeh.Add(singleSpanTow1); - i += 1; - - - } - else - { - singleSpanTow1 = (end - start); - jomeh = jomeh.Add(singleSpanTow1); - - } - var Over22Computer = Over22Complex(start, end); - Over22 = Over22.Add(Over22Computer); - - var WorkHours = (end - start); - var NextStart = start.AddHours(48); - end = NextStart.Add(WorkHours); - } - else if (da2.DayOfWeek == "پنج شنبه") - { - start = da2.ToGregorianDateTime(); - if (start.Date == end.Date && start.TimeOfDay > end.TimeOfDay) - end = end.AddDays(1); - var singleSpan1 = new TimeSpan(); - - i5 += 1; - if (start.Date < end.Date && start.Day != end.Day) - { - - overNight = true; - var over24 = new DateTime(end.Year, end.Month, end.Day, 0, 0, 0); - singleOver24 = (end - over24); - - - jomeh = jomeh.Add(singleOver24); - - i6 += 1; - - singleSpan1 = (end - start); - singleSpan1 = singleSpan1.Subtract(singleOver24); - notHolidays = notHolidays.Add(singleSpan1); - - } - else - { - singleSpan1 = (end - start); - notHolidays = notHolidays.Add(singleSpan1); - } - - - - - var Over22Computer2 = Over22Complex(start, end); - - - Over22 = Over22.Add(Over22Computer2); - - - var WorkHours = (end - start); - var NextStart = start.AddHours(48); - end = NextStart.Add(WorkHours); - } - else if (da2.DayOfWeek == "شنبه") - { - start = da2.ToGregorianDateTime(); - if (start.Date == end.Date && start.TimeOfDay > end.TimeOfDay) - end = end.AddDays(1); - - var singleSpan1 = (end - start); - notHolidays = notHolidays.Add(singleSpan1); - var Over22Computing = Over22Complex(start, end); - Over22 = Over22.Add(Over22Computing); - - - i += 1; - var NextStart = start.AddHours(48); - end = NextStart.Add(singleSpan1); - } - else if (da2.DayOfWeek == "یکشنبه") - { - start = da2.ToGregorianDateTime(); - if (start.Date == end.Date && start.TimeOfDay > end.TimeOfDay) - end = end.AddDays(1); - var singleSpan1 = (end - start); - notHolidays = notHolidays.Add(singleSpan1); - var Over22Computing = Over22Complex(start, end); - Over22 = Over22.Add(Over22Computing); - - - i1 += 1; - - var NextStart = start.AddHours(48); - end = NextStart.Add(singleSpan1); - } - else if (da2.DayOfWeek == "دوشنبه") - { - start = da2.ToGregorianDateTime(); - if (start.Date == end.Date && start.TimeOfDay > end.TimeOfDay) - end = end.AddDays(1); - var singleSpan1 = (end - start); - notHolidays = notHolidays.Add(singleSpan1); - var Over22Computing = Over22Complex(start, end); - Over22 = Over22.Add(Over22Computing); - - - i2 += 1; - - var NextStart = start.AddHours(48); - end = NextStart.Add(singleSpan1); - - } - else if (da2.DayOfWeek == "سه شنبه") - { - start = da2.ToGregorianDateTime(); - if (start.Date == end.Date && start.TimeOfDay > end.TimeOfDay) - end = end.AddDays(1); - var singleSpan1 = (end - start); - notHolidays = notHolidays.Add(singleSpan1); - var Over22Computing = Over22Complex(start, end); - Over22 = Over22.Add(Over22Computing); - - i3 += 1; - var NextStart = start.AddHours(48); - end = NextStart.Add(singleSpan1); - - } - else if (da2.DayOfWeek == "چهارشنبه") - { - start = da2.ToGregorianDateTime(); - if (start.Date == end.Date && start.TimeOfDay > end.TimeOfDay) - end = end.AddDays(1); - var singleSpan1 = (end - start); - notHolidays = notHolidays.Add(singleSpan1); - var Over22Computing = Over22Complex(start, end); - Over22 = Over22.Add(Over22Computing); - - - i4 += 1; - var NextStart = start.AddHours(48); - end = NextStart.Add(singleSpan1); - } - - - - - } - - - for (var daa = d1b; daa <= d2b; daa.AddDays(1)) - { - if (daa.DayOfWeek != "جمعه") - { - var test = daa.ToGregorianDateTime(); - var checkHoliday = _holidayItemRepository.GetHoliday(test); - if (checkHoliday == false) - { - SumComplexDays += 1; - } - else - { - OfficialHoliday += 1; - } - - } - } - - } - else if (command.ShiftWork == "8") - { - var sdate2 = command.ContarctStart.ToEnglishNumber(); - var edate2 = command.ContractEnd.ToEnglishNumber(); - var syear2 = Convert.ToInt32(sdate.Substring(0, 4)); - var smonth2 = Convert.ToInt32(sdate.Substring(5, 2)); - var sday2 = Convert.ToInt32(sdate.Substring(8, 2)); - - var eyear2 = Convert.ToInt32(edate.Substring(0, 4)); - var emonth2 = Convert.ToInt32(edate.Substring(5, 2)); - var eday2 = Convert.ToInt32(edate.Substring(8, 2)); - - var d1b = new PersianDateTime(syear2, smonth2, sday2); - var d2b = new PersianDateTime(eyear2, emonth2, eday2, 23, 59); - - var start = Convert.ToDateTime(command.Start2448); - var end = Convert.ToDateTime(command.End2448); - - - var sh = start.Hour; - var sm = start.Minute; - var eh = end.Hour; - var em = end.Minute; - var startDateAndTime = new PersianDateTime(syear2, smonth2, sday2, sh, sm); - var endDateTime = new PersianDateTime(syear2, smonth2, sday2, eh, em); - //if (start > end) - //{ - - // endDateTime.AddDays(1); - //} - - - end = endDateTime.ToGregorianDateTime(); - end = end.AddDays(1); - - - for (var da2 = startDateAndTime; da2 <= d2b; da2.AddHours(72)) - { - - if (da2.DayOfWeek == "جمعه") - { - start = da2.ToGregorianDateTime(); - - var singleSpanTow1 = new TimeSpan(); - - i6 += 1; - if (start.Date < end.Date) - { - - overNight = true; - var over24 = new DateTime(end.Year, end.Month, end.Day, 0, 0, 0); - singleOver24 = (end - over24); - - singleSpanTow1 = (end - start); - singleSpanTow1 = singleSpanTow1.Subtract(singleOver24); - notHolidays = notHolidays.Add(singleOver24); - jomeh = jomeh.Add(singleSpanTow1); - i += 1; - - - } - else - { - singleSpanTow1 = (end - start); - jomeh = jomeh.Add(singleSpanTow1); - - } - var Over22Computer = Over22Complex2424(start, end); - Over22 = Over22.Add(Over22Computer); - - var WorkHours = (end - start); - var NextStart = start.AddHours(72); - end = NextStart.Add(WorkHours); - } - else if (da2.DayOfWeek == "پنج شنبه") - { - start = da2.ToGregorianDateTime(); - var singleSpan1 = new TimeSpan(); - - i5 += 1; - if (start.Date < end.Date && start.Day != end.Day) - { - - overNight = true; - var over24 = new DateTime(end.Year, end.Month, end.Day, 0, 0, 0); - singleOver24 = (end - over24); - - - jomeh = jomeh.Add(singleOver24); - - i6 += 1; - - singleSpan1 = (end - start); - singleSpan1 = singleSpan1.Subtract(singleOver24); - notHolidays = notHolidays.Add(singleSpan1); - - } - else - { - singleSpan1 = (end - start); - notHolidays = notHolidays.Add(singleSpan1); - } - - - - - var Over22Computer2 = Over22Complex2424(start, end); - - - Over22 = Over22.Add(Over22Computer2); - - - var WorkHours = (end - start); - var NextStart = start.AddHours(72); - end = NextStart.Add(WorkHours); - } - else if (da2.DayOfWeek == "شنبه") - { - start = da2.ToGregorianDateTime(); - - - var singleSpan1 = (end - start); - notHolidays = notHolidays.Add(singleSpan1); - var Over22Computing = Over22Complex2424(start, end); - Over22 = Over22.Add(Over22Computing); - - - i += 1; - var NextStart = start.AddHours(72); - end = NextStart.Add(singleSpan1); - } - else if (da2.DayOfWeek == "یکشنبه") - { - start = da2.ToGregorianDateTime(); - - var singleSpan1 = (end - start); - notHolidays = notHolidays.Add(singleSpan1); - var Over22Computing = Over22Complex2424(start, end); - Over22 = Over22.Add(Over22Computing); - - - i1 += 1; - - var NextStart = start.AddHours(72); - end = NextStart.Add(singleSpan1); - } - else if (da2.DayOfWeek == "دوشنبه") - { - start = da2.ToGregorianDateTime(); - - var singleSpan1 = (end - start); - notHolidays = notHolidays.Add(singleSpan1); - var Over22Computing = Over22Complex2424(start, end); - Over22 = Over22.Add(Over22Computing); - - - i2 += 1; - - var NextStart = start.AddHours(72); - end = NextStart.Add(singleSpan1); - - } - else if (da2.DayOfWeek == "سه شنبه") - { - start = da2.ToGregorianDateTime(); - var singleSpan1 = (end - start); - notHolidays = notHolidays.Add(singleSpan1); - var Over22Computing = Over22Complex2424(start, end); - Over22 = Over22.Add(Over22Computing); - - i3 += 1; - var NextStart = start.AddHours(72); - end = NextStart.Add(singleSpan1); - - } - else if (da2.DayOfWeek == "چهارشنبه") - { - start = da2.ToGregorianDateTime(); - - var singleSpan1 = (end - start); - notHolidays = notHolidays.Add(singleSpan1); - var Over22Computing = Over22Complex2424(start, end); - Over22 = Over22.Add(Over22Computing); - - - i4 += 1; - var NextStart = start.AddHours(72); - end = NextStart.Add(singleSpan1); - } - - - - - } - - - for (var daa = d1b; daa <= d2b; daa.AddDays(1)) - { - if (daa.DayOfWeek != "جمعه") - { - var test = daa.ToGregorianDateTime(); - var checkHoliday = _holidayItemRepository.GetHoliday(test); - if (checkHoliday == false) - { - SumComplexDays += 1; - } - else - { - OfficialHoliday += 1; - } - - } - } - - } - - - #endregion - - #region DayCounterAndDailyFix - - var sumDays = i + i1 + i2 + i3 + i4 + i5 + i6; - var holidaysCount = i6; - var notHolidaysCount = i + i1 + i2 + i3 + i4 + i5; - // ساعات موظفی - var ComplexFix = dailyFix.Multiply(SumComplexDays); - - dailyFix = dailyFix.Multiply(notHolidaysCount); - - Notholiday = notHolidaysCount.ToString(); - Holidays = holidaysCount.ToString(); - - var searchModel = new LeftWorkSearchModel() - { - EmployeeId = command.EmployeeId, - WorkshopId = command.WorkshopId, - - }; - - var leftworkList = _leftWorkApplication.search(searchModel); - var lastLeftWork = leftworkList.FirstOrDefault(); - - var conStart = command.ContarctStart.ToGeorgianDateTime(); - var EndOfM = Convert.ToInt32(command.ContractEnd.Substring(8, 2)); - var conEnd = command.ContractEnd.ToGeorgianDateTime(); - if (lastLeftWork.LeftWorkDate != "1500/01/01" && lastLeftWork.LeftWorkDateGr < conEnd) - { - conEnd = lastLeftWork.LeftWorkDateGr.AddDays(-1); - } - else - { - if (EndOfM == 31) - { - conEnd = conEnd.AddDays(-1); - } - - } - - - - - var AllDaysCount = (conEnd - conStart).TotalDays + 1; - var endContract = command.ContractEnd.ToGeorgianDateTime(); - var allDays = (endContract - conStart).TotalDays + 1; - - - var jomeh2 = new TimeSpan(); - - var notHolidays2 = new TimeSpan(); - var Mandatory = new TimeSpan(); - - - - - notHolidays = notHolidays.Add(jomeh); - - var workingDaysH = (int)notHolidays.TotalHours; - var workingDaysM = notHolidays.TotalMinutes % 60; - - notHolidays2 = notHolidays2.Add(jomeh2); - - - var SumNotHolidays = notHolidays.Add(notHolidays2); - var SumNotHolidaysHours = (int)SumNotHolidays.TotalHours; - var SumNotHolidaysMinuts = SumNotHolidays.Minutes % 60; - - var SumHolidays = jomeh.Add(jomeh2); - var SumHolidaysHours = (int)SumHolidays.TotalHours; - var SumHolidaysMinuts = SumHolidays.Minutes % 60; - - var totalHoursShift1 = notHolidays; - var totalHoursShift1And2 = SumNotHolidays; - - #endregion - - #region DailyFeeCompute - - var basic = "0"; - var GetWorkStartDate = command.GetWorkDateHide.ToEnglishNumber(); - var GetWorkEndDate = command.ContractEnd.ToEnglishNumber(); - var styear = Convert.ToInt32(GetWorkStartDate.Substring(0, 4)); - var stmonth = Convert.ToInt32(GetWorkStartDate.Substring(5, 2)); - var stday = Convert.ToInt32(GetWorkStartDate.Substring(8, 2)); - - var edyear = Convert.ToInt32(GetWorkEndDate.Substring(0, 4)); - var edmonth = Convert.ToInt32(GetWorkEndDate.Substring(5, 2)); - var edday = Convert.ToInt32(GetWorkEndDate.Substring(8, 2)); - var startDate = command.GetWorkDateHide.ToGeorgianDateTime(); - var endDate = command.ContractEnd.ToGeorgianDateTime(); - var dayliFee = "خطای تاریخ"; - - if (styear >= 1370) - { - - if (leftworkList == null) - leftworkList = new List(); - var ContractStart = command.ContarctStart.ToGeorgianDateTime(); - var dayliFeeResult = _yearlySalaryRepository.DayliFeeComputing(startDate, ContractStart, endDate, command.EmployeeId, command.WorkshopId, leftworkList); - dayliFee = dayliFeeResult.DayliFee; - basic = dayliFeeResult.Basic; - } - #endregion - - #region ConsumableItemsAndHousingAndFamily - - var ConsumableItems = _yearlySalaryRepository.ConsumableItems(endDate); - var HousingAllowance = _yearlySalaryRepository.HousingAllowance(endDate); - - var familyAllowance = _yearlySalaryRepository.FamilyAllowance(command.EmployeeId, endDate); - - #endregion - - #region Fix44Compute - - var dailyFixx = TimeSpan.Parse("07:20"); - var fix44 = dailyFixx.Multiply(6); - - var divideNum = TimeSpan.Parse("06:00"); - - - - - if (command.ShiftWork == "1") - { - - if (SumSingle < fix44) - { - // مجموع ساعت کار هفته تقسیم بر 6 ساعت - var dividTo6Days = SumSingle.Divide(divideNum); - - var HousingAllowonceNumberType = HousingAllowance.MoneyToDouble(); - var ConsumableItemsNumberType = ConsumableItems.MoneyToDouble(); - var familyAllowanceNumberType = familyAllowance.MoneyToDouble(); - var DailyFeeNumberType = dayliFee.MoneyToDouble(); - - //مزد روزانه تقسیم بر 7/33 - var dailyStep1 = DailyFeeNumberType / 7.33; - //نتیجه ضربدر جواب مجموع ساعت تقسیم بر 6 روز هفته - var dailyStep2 = dailyStep1 * dividTo6Days; - - dayliFee = dailyStep2.ToMoney(); - - var HousingStep1 = HousingAllowonceNumberType / 30; - var HousingStep2 = HousingStep1 / 7.33; - var HousingStep3 = HousingStep2 * dividTo6Days; - var HousingStep4 = HousingStep3 * AllDaysCount; - HousingAllowance = HousingStep4.ToMoney(); - - var consumableItemsStep1 = ConsumableItemsNumberType / 30; - var consumableItemsStep2 = consumableItemsStep1 / 7.33; - var consumableItemsStep3 = consumableItemsStep2 * dividTo6Days; - var consumableItemsStep4 = consumableItemsStep3 * AllDaysCount; - ConsumableItems = consumableItemsStep4.ToMoney(); - - if (familyAllowance != "0") - { - var familyAllowanceStep1 = familyAllowanceNumberType / 30; - var familyAllowanceStep2 = familyAllowanceStep1 / 7.33; - var familyAllowanceStep3 = familyAllowanceStep2 * dividTo6Days; - var familyAllowanceStep4 = familyAllowanceStep3 * AllDaysCount; - familyAllowance = familyAllowanceStep4.ToMoney(); - } - - var sumSingleRound = Math.Round(SumSingle.TotalHours, 2); - weeklyTime = SumSingle; - SumWorkeTime = $"{sumSingleRound}"; - } - else - { - - - - var HousingAllowonceNumberType = HousingAllowance.MoneyToDouble(); - var ConsumableItemsNumberType = ConsumableItems.MoneyToDouble(); - var familyAllowanceNumberType = familyAllowance.MoneyToDouble(); - - var HousingStep1 = HousingAllowonceNumberType / 30; - var HousingStep4 = HousingStep1 * AllDaysCount; - HousingAllowance = HousingStep4.ToMoney(); - - - var consumableItemsStep1 = ConsumableItemsNumberType / 30; - var consumableItemsStep4 = consumableItemsStep1 * AllDaysCount; - ConsumableItems = consumableItemsStep4.ToMoney(); - - if (familyAllowance != "0") - { - var familyAllowanceStep1 = familyAllowanceNumberType / 30; - var familyAllowanceStep4 = familyAllowanceStep1 * AllDaysCount; - familyAllowance = familyAllowanceStep4.ToMoney(); - } - - SumWorkeTime = $"{44}"; - } - - } - else if (command.ShiftWork == "2") - { - var totalShift = SumSingle + SumTow; - if (totalShift < fix44) - { - var dividTo6Days = totalShift.Divide(divideNum); - var DailyFeeNumberType = dayliFee.MoneyToDouble(); - - var HousingAllowonceNumberType = HousingAllowance.MoneyToDouble(); - var ConsumableItemsNumberType = ConsumableItems.MoneyToDouble(); - var familyAllowanceNumberType = familyAllowance.MoneyToDouble(); - - var step1 = DailyFeeNumberType / 7.33; - var step2 = step1 * dividTo6Days; - - dayliFee = step2.ToMoney(); - - - - var HousingStep1 = HousingAllowonceNumberType / 30; - var HousingStep2 = HousingStep1 / 7.33; - var HousingStep3 = HousingStep2 * dividTo6Days; - var HousingStep4 = HousingStep3 * AllDaysCount; - HousingAllowance = HousingStep4.ToMoney(); - - var consumableItemsStep1 = ConsumableItemsNumberType / 30; - var consumableItemsStep2 = consumableItemsStep1 / 7.33; - var consumableItemsStep3 = consumableItemsStep2 * dividTo6Days; - var consumableItemsStep4 = consumableItemsStep3 * AllDaysCount; - ConsumableItems = consumableItemsStep4.ToMoney(); - - if (familyAllowance != "0") - { - var familyAllowanceStep1 = familyAllowanceNumberType / 30; - var familyAllowanceStep2 = familyAllowanceStep1 / 7.33; - var familyAllowanceStep3 = familyAllowanceStep2 * dividTo6Days; - var familyAllowanceStep4 = familyAllowanceStep3 * AllDaysCount; - familyAllowance = familyAllowanceStep4.ToMoney(); - } - var totalShiftRound = Math.Round(totalShift.TotalHours, 2); - SumWorkeTime = $"{totalShiftRound}"; - weeklyTime = totalShift; - } - else - { - - var HousingAllowonceNumberType = HousingAllowance.MoneyToDouble(); - var ConsumableItemsNumberType = ConsumableItems.MoneyToDouble(); - var familyAllowanceNumberType = familyAllowance.MoneyToDouble(); - - var consumableItemsStep1 = ConsumableItemsNumberType / 30; - var consumableItemsStep4 = consumableItemsStep1 * AllDaysCount; - ConsumableItems = consumableItemsStep4.ToMoney(); - - var HousingStep1 = HousingAllowonceNumberType / 30; - var HousingStep4 = HousingStep1 * AllDaysCount; - HousingAllowance = HousingStep4.ToMoney(); - - if (familyAllowance != "0") - { - var familyAllowanceStep1 = familyAllowanceNumberType / 30; - var familyAllowanceStep4 = familyAllowanceStep1 * AllDaysCount; - familyAllowance = familyAllowanceStep4.ToMoney(); - } - SumWorkeTime = $"{44}"; - } - - - } - else if (command.ShiftWork == "4") - { - var totalHourses = (totalHoursShift1.TotalMinutes) / 60; - var dividedForOneDay = totalHourses / notHolidaysCount; - if (totalHoursShift1 < dailyFix) - { - - var DailyFeeNumberType = dayliFee.MoneyToDouble(); - var dailyStep1 = DailyFeeNumberType / 7.33; - var dailyStep2 = totalHourses / notHolidaysCount; - var result = dailyStep2 * dailyStep1; - - dayliFee = result.ToMoney(); - - - var HousingAllowonceNumberType = HousingAllowance.MoneyToDouble(); - var HousingStep1 = HousingAllowonceNumberType / 30; - var HousingStep2 = HousingStep1 / 7.33; - var HousingStep3 = HousingStep2 * dividedForOneDay; - var HousingStep4 = HousingStep3 * AllDaysCount; - HousingAllowance = HousingStep4.ToMoney(); - - var ConsumableItemsNumberType = ConsumableItems.MoneyToDouble(); - var consumableItemsStep1 = ConsumableItemsNumberType / 30; - var consumableItemsStep2 = consumableItemsStep1 / 7.33; - var consumableItemsStep3 = consumableItemsStep2 * dividedForOneDay; - var consumableItemsStep4 = consumableItemsStep3 * AllDaysCount; - ConsumableItems = consumableItemsStep4.ToMoney(); - - if (familyAllowance != "0") - { - - var familyAllowanceNumberType = familyAllowance.MoneyToDouble(); - var familyAllowanceStep1 = familyAllowanceNumberType / 30; - var familyAllowanceStep2 = familyAllowanceStep1 / 7.33; - var familyAllowanceStep3 = familyAllowanceStep2 * dividedForOneDay; - var familyAllowanceStep4 = familyAllowanceStep3 * AllDaysCount; - familyAllowance = familyAllowanceStep4.ToMoney(); - } - - if (notHolidaysCount >= 6) - { - var oneday = dividedForOneDay * 6; - var totalShiftRound = Math.Round(oneday, 2); - SumWorkeTime = $"{totalShiftRound}"; - - } - else - { - var totalShiftRound = Math.Round(dividedForOneDay, 2); - SumWorkeTime = $"{totalShiftRound}"; - } - weeklyTime = totalHoursShift1; - } - else - { - var HousingAllowonceNumberType = HousingAllowance.MoneyToDouble(); - var ConsumableItemsNumberType = ConsumableItems.MoneyToDouble(); - var familyAllowanceNumberType = familyAllowance.MoneyToDouble(); - - var HousingStep1 = HousingAllowonceNumberType / 30; - var HousingStep4 = HousingStep1 * AllDaysCount; - HousingAllowance = HousingStep4.ToMoney(); - - - var consumableItemsStep1 = ConsumableItemsNumberType / 30; - var consumableItemsStep4 = consumableItemsStep1 * AllDaysCount; - ConsumableItems = consumableItemsStep4.ToMoney(); - - if (familyAllowance != "0") - { - var familyAllowanceStep1 = familyAllowanceNumberType / 30; - var familyAllowanceStep4 = familyAllowanceStep1 * AllDaysCount; - familyAllowance = familyAllowanceStep4.ToMoney(); - } - - SumWorkeTime = $"{44}"; - } - - - } - - #endregion - - #region MandatoryTimeCompute - - if (command.ShiftWork == "1" && totalHoursShift1 > dailyFix) - { - Mandatory = totalHoursShift1.Subtract(dailyFix); - } - - if (command.ShiftWork == "2" && totalHoursShift1And2 > dailyFix) - { - Mandatory = totalHoursShift1And2.Subtract(dailyFix); - } - - if (command.ShiftWork == "4" && totalHoursShift1 > dailyFix) - { - Mandatory = totalHoursShift1.Subtract(dailyFix); - } - if ((command.ShiftWork == "5" && totalHoursShift1 > ComplexFix) - || (command.ShiftWork == "6" && totalHoursShift1 > ComplexFix) - || (command.ShiftWork == "7" && totalHoursShift1 > ComplexFix) - || (command.ShiftWork == "8" && totalHoursShift1 > ComplexFix)) - { - Mandatory = totalHoursShift1.Subtract(ComplexFix); - } - var mandatoryHours = (int)Mandatory.TotalHours; - var mandatoryminuts = Mandatory.Minutes % 60; - - //Over22 = Over22.Multiply(sumDays); - var Over22hours = (int)Over22.TotalHours; - var Over22Minuts = Over22.TotalMinutes % 60; - - if (command.ShiftWork == "1" || command.ShiftWork == "4") - { - shift1Hourse = workingDaysH.ToString(); - shift1Minuts = workingDaysM.ToString(); - - - - if (totalHoursShift1 > dailyFix) - { - overMandatoryHours = mandatoryHours.ToString(); - overMandatoryMinuts = mandatoryminuts.ToString(); - //line3 = "مجموع ساعات اضافه کاری " + " : " + $" {mandatoryHours} " + "ساعت و " + $" {mandatoryminuts} " + "دقیقه"; - } - - - shiftOver22Hours = Over22hours.ToString(); - shiftOver22Minuts = Over22Minuts.ToString(); - - - } - - if (command.ShiftWork == "2") - { - shift1Hourse = SumNotHolidaysHours.ToString(); - shift1Minuts = SumNotHolidaysMinuts.ToString(); - - - if (totalHoursShift1And2 > dailyFix) - { - overMandatoryHours = mandatoryHours.ToString(); - overMandatoryMinuts = mandatoryminuts.ToString(); - - } - shiftOver22Hours = Over22hours.ToString(); - shiftOver22Minuts = Over22Minuts.ToString(); - - } - - if (command.ShiftWork == "5" || command.ShiftWork == "6" || command.ShiftWork == "7" || command.ShiftWork == "8") - { - shift1Hourse = workingDaysH.ToString(); - shift1Minuts = workingDaysM.ToString(); - - - // اضافه کاری - if (totalHoursShift1 > ComplexFix) - { - overMandatoryHours = mandatoryHours.ToString(); - overMandatoryMinuts = mandatoryminuts.ToString(); - //line3 = "مجموع ساعات اضافه کاری " + " : " + $" {mandatoryHours} " + "ساعت و " + $" {mandatoryminuts} " + "دقیقه"; - } - - - shiftOver22Hours = Over22hours.ToString(); - shiftOver22Minuts = Over22Minuts.ToString(); - } - - var ComplexNotHolidays = string.Empty; - if (command.ShiftWork == "5" || command.ShiftWork == "6" || command.ShiftWork == "7" || command.ShiftWork == "8") - { - ComplexNotHolidays = Notholiday; - Notholiday = "0"; - } - - #endregion - - #region RtatingStatus - - var moriningCount = rotatingResultList.Count(x => x.IsMorningShift == true); - var eveningCount = rotatingResultList.Count(x => x.IsEveningShift == true); - var nightCount = rotatingResultList.Count(x => x.IsNightShift == true); - - var RotatingfaName = new List(); - if (moriningCount > 0) - RotatingfaName.Add("صبح"); - if (eveningCount > 0) - RotatingfaName.Add("عصر"); - if (nightCount > 0) - RotatingfaName.Add("شب"); - var rotatingFaResult = ""; - if (RotatingfaName.Count > 1) - { - shiftOver22Hours = "0"; - shiftOver22Minuts = "0"; - for (int rotateNumber = 0; rotateNumber < RotatingfaName.Count; rotateNumber++) - { - if (rotateNumber == 0) - rotatingFaResult = $"{RotatingfaName[rotateNumber]}"; - if (rotateNumber == 1) - rotatingFaResult += $" و {RotatingfaName[rotateNumber]}"; - if (rotateNumber == 2) - rotatingFaResult += $" و {RotatingfaName[rotateNumber]}"; - - - } - } - else if (RotatingfaName.Count <= 1) - { - rotatingFaResult = "نوبت کاری ندارد"; - } - - - - #endregion - - #region sendResult - - rotatingResultList = rotatingResultList.Take(28).ToList(); - var ress = new ComputingViewModel() - { - - NumberOfWorkingDays = Notholiday=="0"? ComplexNotHolidays: Notholiday, - NumberOfFriday = Holidays, - TotalHoursesH = shift1Hourse, - TotalHoursesM = shift1Minuts, - E = shift1HolidayHours, - F = shift1HolidayMinuts, - Interference = InterferenceMessage, - OverTimeWorkH = overMandatoryHours, - OverTimeWorkM = overMandatoryMinuts, - OverNightWorkH = shiftOver22Hours, - OverNightWorkM = shiftOver22Minuts, - ComplexNumberOfWorkingDays = ComplexNotHolidays, - SalaryCompute = dayliFee, - SumTime44 = SumWorkeTime, - ConsumableItems = ConsumableItems, - HousingAllowance = HousingAllowance, - FamilyAllowance = familyAllowance, - OfficialHoliday = OfficialHoliday, - weeklyTime = weeklyTime, - RotatingResultList = rotatingResultList, - RotatingStatus = rotatingFaResult, - Basic = basic, - }; - - - return ress; - - #endregion - - - } - - #endregion - - #region MandatoryDependingMetods - - public RotatingShiftViewModel RotatingShiftCheck(DateTime? singleShift1, DateTime? singleShift2, DateTime? towShift1, DateTime? towShift2) - { - - - #region Entityes - - var nullDateTme = new DateTime(0001, 01, 01); - var midNight24 = Convert.ToDateTime("00:00"); - TimeSpan morningWorkingTime1 = new TimeSpan(); - TimeSpan eveningWorkingTime1 = new TimeSpan(); - TimeSpan nightWorkingTime1 = new TimeSpan(); - TimeSpan morningWorkingTime2 = new TimeSpan(); - TimeSpan eveningWorkingTime2 = new TimeSpan(); - TimeSpan nightWorkingTime2 = new TimeSpan(); - var morningStart = Convert.ToDateTime("06:00"); - var morningEnd = Convert.ToDateTime("14:00"); - var eveningStart = Convert.ToDateTime("14:00"); - var eveningEnd = Convert.ToDateTime("22:00"); - var nightStart = Convert.ToDateTime("22:00"); - var nightEnd = Convert.ToDateTime("6:00"); - var nightEndNextday = nightEnd.AddDays(1); - var morningEndNextday = morningEnd.AddDays(1); - - #endregion - - #region shift1 - - if (singleShift1 != nullDateTme && singleShift2 != nullDateTme) - { - if (singleShift2 < singleShift1) - { - singleShift2 = singleShift2?.AddDays(1); - } - - if (singleShift1 == singleShift2) // example 22<---22 - { - nightWorkingTime1 = new TimeSpan(8, 0, 0); - morningWorkingTime1 = new TimeSpan(8, 0, 0); - eveningWorkingTime1 = new TimeSpan(8, 0, 0); - } - else - { - #region morning enter 14 <- 6 - if (singleShift1 >= morningStart // 14<---<6 - && singleShift1 < morningEnd - && singleShift2 > morningStart - && singleShift2 <= morningEnd) - { - morningWorkingTime1 = (TimeSpan)(singleShift2 - singleShift1); - } - else if (singleShift1 >= morningStart // <---14---6 - && singleShift1 < morningEnd - && singleShift2 > morningStart - && singleShift2 <= nightEndNextday) - { - if (singleShift2 <= eveningEnd) // 22<---14---6 - { - morningWorkingTime1 = (TimeSpan)(morningEnd - singleShift1); - eveningWorkingTime1 = (TimeSpan)(singleShift2 - eveningStart); - } - else if (singleShift2 > eveningEnd) // 6<---22---14---6 - { - morningWorkingTime1 = (TimeSpan)(morningEnd - singleShift1); - eveningWorkingTime1 = new TimeSpan(8, 0, 0); - nightWorkingTime1 = (TimeSpan)(singleShift2 - eveningEnd); - } - - } - else if (singleShift1 >= morningStart // 14<---<6 - && singleShift1 < morningEnd - && singleShift2 > morningStart - && singleShift2 > nightEndNextday) - { - eveningWorkingTime1 = new TimeSpan(8, 0, 0); - nightWorkingTime1 = new TimeSpan(8, 0, 0); - morningWorkingTime1 = (TimeSpan)(morningEnd - singleShift1); - morningWorkingTime1 += (TimeSpan)(singleShift2 - nightEndNextday); - } - - - #endregion - - #region evening enter 22 <- 14 - - if (singleShift1 >= eveningStart // 22<---<14 - && singleShift1 < eveningEnd - && singleShift2 > eveningStart - && singleShift2 <= eveningEnd) - { - eveningWorkingTime1 = (TimeSpan)(singleShift2 - singleShift1); - } - else if (singleShift1 >= eveningStart // <14---6---22---14 - && singleShift1 < eveningEnd - && singleShift2 > eveningStart - && singleShift2 <= morningEndNextday) - { - if (singleShift2 <= nightEndNextday) // 6<---22---14 - { - eveningWorkingTime1 = (TimeSpan)(eveningEnd - singleShift1); - nightWorkingTime1 = (TimeSpan)(singleShift2 - eveningEnd); - } - else if (singleShift2 > nightEndNextday) // 14<---6---22---14 - { - eveningWorkingTime1 = (TimeSpan)(eveningEnd - singleShift1); - nightWorkingTime1 = new TimeSpan(8, 0, 0); - morningWorkingTime1 = (TimeSpan)(singleShift2 - nightEndNextday); - } - - } - else if (singleShift1 >= eveningStart // <22---14---6---22---14 - && singleShift1 < eveningEnd - && singleShift2 > eveningStart - && singleShift2 > morningEndNextday) - { - nightWorkingTime1 = new TimeSpan(8, 0, 0); - morningWorkingTime1 = new TimeSpan(8, 0, 0); - eveningWorkingTime1 = (TimeSpan)(eveningEnd - singleShift1); - eveningWorkingTime1 += (TimeSpan)(singleShift2 - morningEndNextday); - } - - #endregion - - #region night enter 6 <- 22 - - if ((singleShift1 >= nightStart // 6<---<22 - && singleShift1 < nightEndNextday - && singleShift2 > nightStart - && singleShift2 <= nightEndNextday) - || (singleShift1 >= midNight24 - && singleShift1 < nightEnd - && singleShift2 > midNight24 - && singleShift2 <= nightEnd)) - { - nightWorkingTime1 = (TimeSpan)(singleShift2 - singleShift1); - } - else if (singleShift1 >= nightStart // <---6---22 - && singleShift1 < nightEndNextday - && singleShift2 > nightStart - && singleShift2 > nightEndNextday) - { - if (singleShift2 <= morningEndNextday) // 14<---6---22 - { - nightWorkingTime1 = (TimeSpan)(nightEndNextday - singleShift1); - morningWorkingTime1 = (TimeSpan)(singleShift2 - nightEndNextday); - } - else if (singleShift2 > morningEndNextday) // 22<---14---6---22 - { - nightWorkingTime1 = (TimeSpan)(nightEndNextday - singleShift1); - morningWorkingTime1 = new TimeSpan(8, 0, 0); - eveningWorkingTime1 = (TimeSpan)(singleShift2 - morningEndNextday); - } - - - - } - else if ((singleShift1 >= midNight24 // <---6---00 - && singleShift1 < nightEnd - && singleShift2 > midNight24 - && singleShift2 > nightEnd)) - - { - if (singleShift2 <= morningEnd) // 14<---6---00 - { - nightWorkingTime1 = (TimeSpan)(nightEnd - singleShift1); - morningWorkingTime1 = (TimeSpan)(singleShift2 - nightEnd); - } - - else if (singleShift2 > morningEnd && singleShift1 >= midNight24) // 22<---14---6--00 - { - nightWorkingTime1 = (TimeSpan)(nightEnd - singleShift1); - morningWorkingTime1 = new TimeSpan(8, 0, 0); - eveningWorkingTime1 = (TimeSpan)(singleShift2 - morningEnd); - } - } - - #endregion - - } - - } - - #endregion - - #region shift2 - - if (towShift1 != nullDateTme && towShift2 != nullDateTme) - { - if (towShift2 < towShift1) - { - towShift2 = towShift2?.AddDays(1); - } - - if (towShift1 == towShift2) // example 22<---22 - { - nightWorkingTime2 = new TimeSpan(8, 0, 0); - morningWorkingTime2 = new TimeSpan(8, 0, 0); - eveningWorkingTime2 = new TimeSpan(8, 0, 0); - } - else - { - #region morning enter 14 <- 6 - if (towShift1 >= morningStart // 14<---<6 - && towShift1 < morningEnd - && towShift2 > morningStart - && towShift2 <= morningEnd) - { - morningWorkingTime2 = (TimeSpan)(towShift2 - towShift1); - } - else if (towShift1 >= morningStart // <---14---6 - && towShift1 < morningEnd - && towShift2 > morningStart - && towShift2 <= nightEndNextday) - { - if (towShift2 <= eveningEnd) // 22<---14---6 - { - morningWorkingTime2 = (TimeSpan)(morningEnd - towShift1); - eveningWorkingTime2 = (TimeSpan)(towShift2 - eveningStart); - } - else if (towShift2 > eveningEnd) // 6<---22---14---6 - { - morningWorkingTime2 = (TimeSpan)(morningEnd - towShift1); - eveningWorkingTime2 = new TimeSpan(8, 0, 0); - nightWorkingTime2 = (TimeSpan)(towShift2 - eveningEnd); - } - - } - else if (towShift1 >= morningStart // 14<---<6 - && towShift1 < morningEnd - && towShift2 > morningStart - && towShift2 > nightEndNextday) - { - eveningWorkingTime2 = new TimeSpan(8, 0, 0); - nightWorkingTime2 = new TimeSpan(8, 0, 0); - morningWorkingTime2 = (TimeSpan)(morningEnd - towShift1); - morningWorkingTime2 += (TimeSpan)(towShift2 - nightEndNextday); - } - - - #endregion - - #region evening enter 22 <- 14 - - if (towShift1 >= eveningStart // 22<---<14 - && towShift1 < eveningEnd - && towShift2 > eveningStart - && towShift2 <= eveningEnd) - { - eveningWorkingTime2 = (TimeSpan)(towShift2 - towShift1); - } - else if (towShift1 >= eveningStart // <14---6---22---14 - && towShift1 < eveningEnd - && towShift2 > eveningStart - && towShift2 <= morningEndNextday) - { - if (towShift2 <= nightEndNextday) // 6<---22---14 - { - eveningWorkingTime2 = (TimeSpan)(eveningEnd - towShift1); - nightWorkingTime2 = (TimeSpan)(towShift2 - eveningEnd); - } - else if (towShift2 > nightEndNextday) // 14<---6---22---14 - { - eveningWorkingTime2 = (TimeSpan)(eveningEnd - towShift1); - nightWorkingTime2 = new TimeSpan(8, 0, 0); - morningWorkingTime2 = (TimeSpan)(towShift2 - nightEndNextday); - } - - } - else if (towShift1 >= eveningStart // <22---14---6---22---14 - && towShift1 < eveningEnd - && towShift2 > eveningStart - && towShift2 > morningEndNextday) - { - nightWorkingTime2 = new TimeSpan(8, 0, 0); - morningWorkingTime2 = new TimeSpan(8, 0, 0); - eveningWorkingTime2 = (TimeSpan)(eveningEnd - towShift1); - eveningWorkingTime2 += (TimeSpan)(towShift2 - morningEndNextday); - } - - #endregion - - #region night enter 6 <- 22 - - if ((towShift1 >= nightStart // 6<---<22 - && towShift1 < nightEndNextday - && towShift2 > nightStart - && towShift2 <= nightEndNextday) - || (towShift1 >= midNight24 - && towShift1 < nightEnd - && towShift2 > midNight24 - && towShift2 <= nightEnd)) - { - nightWorkingTime2 = (TimeSpan)(towShift2 - towShift1); - } - else if (towShift1 >= nightStart // <---6---22 - && towShift1 < nightEndNextday - && towShift2 > nightStart - && towShift2 > nightEndNextday) - { - if (towShift2 <= morningEndNextday) // 14<---6---22 - { - nightWorkingTime2 = (TimeSpan)(nightEndNextday - towShift1); - morningWorkingTime2 = (TimeSpan)(towShift2 - nightEndNextday); - } - else if (towShift2 > morningEndNextday) // 22<---14---6---22 - { - nightWorkingTime2 = (TimeSpan)(nightEndNextday - towShift1); - morningWorkingTime2 = new TimeSpan(8, 0, 0); - eveningWorkingTime2 = (TimeSpan)(towShift2 - morningEndNextday); - } - - - - } - else if ((towShift1 >= midNight24 // <---6---00 - && towShift1 < nightEnd - && towShift2 > midNight24 - && towShift2 > nightEnd)) - - { - if (towShift2 <= morningEnd) // 14<---6---00 - { - nightWorkingTime2 = (TimeSpan)(nightEnd - towShift1); - morningWorkingTime2 = (TimeSpan)(towShift2 - nightEnd); - } - - else if (towShift2 > morningEnd && towShift1 >= midNight24) // 22<---14---6--00 - { - nightWorkingTime2 = (TimeSpan)(nightEnd - towShift1); - morningWorkingTime2 = new TimeSpan(8, 0, 0); - eveningWorkingTime2 = (TimeSpan)(towShift2 - morningEnd); - } - } - - #endregion - - } - - } - - #endregion - - #region FinalResult - - var result = new RotatingShiftViewModel(); - result.MorningWorkSpan = morningWorkingTime1.Add(morningWorkingTime2); - result.EveningWorkSpan = eveningWorkingTime1.Add(eveningWorkingTime2); - result.NightWorkSpan = nightWorkingTime1.Add(nightWorkingTime2); - var nullWorkspan = new TimeSpan(0, 0, 0); - var totalTime = result.TotalWorkingTime.Add(result.MorningWorkSpan); - totalTime = totalTime.Add(result.EveningWorkSpan); - totalTime = totalTime.Add(result.NightWorkSpan); - - result.TotalWorkingTime = totalTime; - - var morningH = (int)result.MorningWorkSpan.TotalHours; - var morningM = result.MorningWorkSpan.Minutes % 60; - var morningMS = "00"; - if (morningM < 10 && morningM > 0) - morningMS = $"0{morningM}"; - if (morningM > 10) - morningMS = $"{morningM}"; - result.MorningString = $"0{morningH}:{morningMS}"; - - var eveningH = (int)result.EveningWorkSpan.TotalHours; - var eveningM = result.EveningWorkSpan.Minutes % 60; - var eveningMS = "00"; - if (eveningM < 10 && eveningM > 0) - eveningMS = $"0{eveningM}"; - if (eveningM > 10) - eveningMS = $"{eveningM}"; - result.EveningString = $"0{eveningH}:{eveningMS}"; - - var nightH = (int)result.NightWorkSpan.TotalHours; - var nightM = result.NightWorkSpan.Minutes % 60; - var nightMS = "00"; - if (nightM < 10 && nightM > 0) - nightMS = $"0{nightM}"; - if (nightM > 10) - nightMS = $"{nightM}"; - result.NightString = $"0{nightH}:{nightMS}"; - - if (result.MorningWorkSpan > result.EveningWorkSpan - || result.MorningWorkSpan == result.EveningWorkSpan)// if morning bigerThan evening or equal - { - if (result.MorningWorkSpan != nullWorkspan) - { - result.IsMorningShift = true; - result.IsNightShift = false; - result.IsEveningShift = false; - result.RotatingShiftStatus = "صبح"; - } - - if (result.MorningWorkSpan < result.NightWorkSpan - || result.MorningWorkSpan == result.NightWorkSpan)// if night bigerThan morning or equal - { - if (result.NightWorkSpan != nullWorkspan) - { - result.IsMorningShift = false; - result.IsNightShift = true; - result.IsEveningShift = false; - result.RotatingShiftStatus = "شب"; - } - - } - } - else if (result.MorningWorkSpan < result.EveningWorkSpan)// if evening bigerThan morning - { - if (result.EveningWorkSpan != nullWorkspan) - { - result.IsEveningShift = true; - result.IsMorningShift = false; - result.IsNightShift = false; - result.RotatingShiftStatus = "عصر"; - } - - if (result.EveningWorkSpan < result.NightWorkSpan - || result.EveningWorkSpan == result.NightWorkSpan)// if night bigerThan evening or equal - { - if (result.NightWorkSpan != nullWorkspan) - { - result.IsMorningShift = false; - result.IsEveningShift = false; - result.IsNightShift = true; - result.RotatingShiftStatus = "شب"; - } - } - } - - #endregion - - - - return result; - } - public TimeSpan Over22Check(DateTime date1, DateTime date2) - { - TimeSpan Over22 = new TimeSpan(); - DateTime singleShiftOver24 = Convert.ToDateTime("00:00"); - DateTime nightWork22 = Convert.ToDateTime("22:00"); - DateTime nightWork6 = Convert.ToDateTime("06:00"); - DateTime starTimeSingel1 = date1; - DateTime endTimeSingel2 = date2; - bool check = false; - if ((endTimeSingel2 > nightWork22 || endTimeSingel2 == singleShiftOver24) && (starTimeSingel1 < nightWork22 && starTimeSingel1 > nightWork6)) - { - var nightWork6NextDay = new DateTime(); - if (endTimeSingel2.Date > starTimeSingel1.Date) - { // 15:00 - 00:00 - nightWork6NextDay = nightWork6.AddDays(1); - } - check = true; - if (endTimeSingel2 <= nightWork6NextDay) - { - check = true; - Over22 = (endTimeSingel2 - nightWork22); - } - else - { - - check = true; - Over22 = (nightWork6NextDay - nightWork22); - } - - - - } - if ((date2 > singleShiftOver24 && endTimeSingel2 <= nightWork6) && (starTimeSingel1 < nightWork22 && starTimeSingel1 > nightWork6)) - { - check = true; - endTimeSingel2 = endTimeSingel2.AddDays(1); - Over22 = (endTimeSingel2 - nightWork22); - } - if ((endTimeSingel2 > singleShiftOver24 && endTimeSingel2 <= nightWork6) && (starTimeSingel1 >= nightWork22)) - { - check = true; - endTimeSingel2 = endTimeSingel2.AddDays(1); - Over22 = (endTimeSingel2 - starTimeSingel1); - } - if ((endTimeSingel2 > singleShiftOver24 && endTimeSingel2 <= nightWork6) && (starTimeSingel1 >= singleShiftOver24 && starTimeSingel1 <= nightWork6)) - { - check = true; - Over22 = (endTimeSingel2 - starTimeSingel1); - } - if (starTimeSingel1 >= nightWork22 && endTimeSingel2 > nightWork22) - { - check = true; - - var nightWork6NextDay = new DateTime(); - if (endTimeSingel2.Date > starTimeSingel1.Date) - { - nightWork6NextDay = nightWork6.AddDays(1); - if (endTimeSingel2 <= nightWork6NextDay) - { - check = true; - Over22 = (endTimeSingel2 - starTimeSingel1); - } - else - { - - check = true; - Over22 = (nightWork6NextDay - starTimeSingel1); - } - } - - - } - if (endTimeSingel2.Date == starTimeSingel1.Date) - { - if (endTimeSingel2 <= nightWork6 && starTimeSingel1 >= singleShiftOver24) - { - check = true; - Over22 = (endTimeSingel2 - starTimeSingel1); - } - else if (endTimeSingel2 >= nightWork6 && starTimeSingel1 >= singleShiftOver24 && endTimeSingel2 <= nightWork22) - - { - - if (starTimeSingel1 >= nightWork6 && endTimeSingel2 <= nightWork22) - { - Over22 = TimeSpan.Zero; - } - else - { - Over22 = (nightWork6 - starTimeSingel1); - } - - - - } - else if (starTimeSingel1 >= singleShiftOver24 && endTimeSingel2 > nightWork22) - { - if (starTimeSingel1 >= nightWork22) - { - Over22 = (endTimeSingel2 - starTimeSingel1); - } - else if (starTimeSingel1 < nightWork22 && endTimeSingel2 > nightWork22) - { - if (starTimeSingel1 < nightWork6) - { - var step1 = (nightWork6 - starTimeSingel1); - var step2 = (endTimeSingel2 - nightWork22); - var step3 = step1 + step2; - Over22 = step3; - } - else - { - Over22 = (endTimeSingel2 - nightWork22); - } - - } - - - } - else if (starTimeSingel1 > nightWork22 && endTimeSingel2 > nightWork22) - { - Over22 = (endTimeSingel2 - starTimeSingel1); - } - } - return Over22; - } - - public TimeSpan Over22Complex(DateTime date1, DateTime date2) - { - TimeSpan Over22Result = new TimeSpan(); - DateTime Over24 = new DateTime(date2.Year, date2.Month, date2.Day, 0, 0, 0); - DateTime nightWork22 = new DateTime(date1.Year, date1.Month, date1.Day, 22, 0, 0); - DateTime nightWork22b = new DateTime(date2.Year, date2.Month, date2.Day, 22, 0, 0); - DateTime nightWork6 = new DateTime(date2.Year, date2.Month, date2.Day, 6, 0, 0); - DateTime nightWork6a = new DateTime(date1.Year, date1.Month, date1.Day, 6, 0, 0); - DateTime starTime = date1; - DateTime endTime = date2; - if (endTime > nightWork22 && starTime < nightWork22) - { - if (starTime.Date == endTime.Date) - { - nightWork6 = nightWork6.AddDays(1); - } - - if (endTime <= nightWork6) - { - Over22Result = (endTime - nightWork22); - - } - else if (endTime > nightWork6) - { - Over22Result = (nightWork6 - nightWork22); - } - } - - if (endTime > nightWork22 && starTime >= nightWork22) - { - if (endTime <= nightWork6) - { - Over22Result = (endTime - starTime); - } - else if (endTime > nightWork6) - { - Over22Result = (nightWork6 - starTime); - } - - } - - if ((starTime.Hour >= 0 && starTime.Minute >= 0) && (starTime < nightWork6 && starTime.Date == nightWork6.Date)) - { - if (endTime > nightWork6) - { - Over22Result = (nightWork6 - starTime); - } - else if (endTime <= nightWork6) - { - Over22Result = (endTime - starTime); - } - //nightWork22 = nightWork22.Subtract(new TimeSpan(1, 0, 0, 0)); - } - - return Over22Result; - } - - public TimeSpan Over22Complex2424(DateTime date1, DateTime date2) - { - TimeSpan Over22Result = new TimeSpan(); - DateTime Over24a = new DateTime(date1.Year, date1.Month, date1.Day, 0, 0, 0); - DateTime Over24b = new DateTime(date2.Year, date2.Month, date2.Day, 0, 0, 0); - DateTime nightWork22a = new DateTime(date1.Year, date1.Month, date1.Day, 22, 0, 0); - DateTime nightWork22b = new DateTime(date2.Year, date2.Month, date2.Day, 22, 0, 0); - - DateTime nightWork6a = new DateTime(date1.Year, date1.Month, date1.Day, 6, 0, 0); - DateTime nightWork6b = new DateTime(date2.Year, date2.Month, date2.Day, 6, 0, 0); - DateTime starTime = date1; - DateTime endTime = date2; - - if (starTime >= Over24a && starTime <= nightWork6a) - { - if (endTime > nightWork22a && endTime <= nightWork6b) - { - TimeSpan night1 = (nightWork6a - starTime); - TimeSpan night2 = (endTime - nightWork22a); - Over22Result = night1.Add(night2); - } - - if (endTime > nightWork6a && endTime < nightWork22a) - { - Over22Result = (nightWork6a - starTime); - } - } - - if (starTime >= nightWork6a && starTime < nightWork22a) - { - if (endTime > nightWork22a && endTime <= nightWork6b) - { - Over22Result = (endTime - nightWork22a); - } - - if (endTime > nightWork6b) - { - Over22Result = (nightWork6b - nightWork22a); - } - } - - if (starTime >= nightWork22a && starTime < Over24b) - { - - if (endTime <= nightWork22b) - { - Over22Result = (nightWork6b - starTime); - } - - - if (endTime > nightWork22b) - { - TimeSpan night1 = (nightWork6b - starTime); - TimeSpan night2 = (endTime - nightWork22b); - Over22Result = night1.Add(night2); - } - } - - - - return Over22Result; - } - - - #endregion - - #endregion - - } -} + if (command.ShiftWork == "1") + { + if (SumSingle < fix44) + { + // مجموع ساعت کار هفته تقسیم بر 6 ساعت + var dividTo6Days = SumSingle.Divide(divideNum); + + var HousingAllowonceNumberType = HousingAllowance.MoneyToDouble(); + var ConsumableItemsNumberType = ConsumableItems.MoneyToDouble(); + var familyAllowanceNumberType = familyAllowance.MoneyToDouble(); + var DailyFeeNumberType = dayliFee.MoneyToDouble(); + + //مزد روزانه تقسیم بر 7/33 + var dailyStep1 = DailyFeeNumberType / 7.33; + //نتیجه ضربدر جواب مجموع ساعت تقسیم بر 6 روز هفته + var dailyStep2 = dailyStep1 * dividTo6Days; + + dayliFee = dailyStep2.ToMoney(); + + var HousingStep1 = HousingAllowonceNumberType / 30; + var HousingStep2 = HousingStep1 / 7.33; + var HousingStep3 = HousingStep2 * dividTo6Days; + var HousingStep4 = HousingStep3 * AllDaysCount; + HousingAllowance = HousingStep4.ToMoney(); + + var consumableItemsStep1 = ConsumableItemsNumberType / 30; + var consumableItemsStep2 = consumableItemsStep1 / 7.33; + var consumableItemsStep3 = consumableItemsStep2 * dividTo6Days; + var consumableItemsStep4 = consumableItemsStep3 * AllDaysCount; + ConsumableItems = consumableItemsStep4.ToMoney(); + + if (familyAllowance != "0") + { + var familyAllowanceStep1 = familyAllowanceNumberType / 30; + var familyAllowanceStep2 = familyAllowanceStep1 / 7.33; + var familyAllowanceStep3 = familyAllowanceStep2 * dividTo6Days; + var familyAllowanceStep4 = familyAllowanceStep3 * AllDaysCount; + familyAllowance = familyAllowanceStep4.ToMoney(); + } + + var sumSingleRound = Math.Round(SumSingle.TotalHours, 2); + weeklyTime = SumSingle; + SumWorkeTime = $"{sumSingleRound}"; + } + else + { + var HousingAllowonceNumberType = HousingAllowance.MoneyToDouble(); + var ConsumableItemsNumberType = ConsumableItems.MoneyToDouble(); + var familyAllowanceNumberType = familyAllowance.MoneyToDouble(); + + var HousingStep1 = HousingAllowonceNumberType / 30; + var HousingStep4 = HousingStep1 * AllDaysCount; + HousingAllowance = HousingStep4.ToMoney(); + + + var consumableItemsStep1 = ConsumableItemsNumberType / 30; + var consumableItemsStep4 = consumableItemsStep1 * AllDaysCount; + ConsumableItems = consumableItemsStep4.ToMoney(); + + if (familyAllowance != "0") + { + var familyAllowanceStep1 = familyAllowanceNumberType / 30; + var familyAllowanceStep4 = familyAllowanceStep1 * AllDaysCount; + familyAllowance = familyAllowanceStep4.ToMoney(); + } + + SumWorkeTime = $"{44}"; + } + } + else if (command.ShiftWork == "2") + { + var totalShift = SumSingle + SumTow; + if (totalShift < fix44) + { + var dividTo6Days = totalShift.Divide(divideNum); + var DailyFeeNumberType = dayliFee.MoneyToDouble(); + + var HousingAllowonceNumberType = HousingAllowance.MoneyToDouble(); + var ConsumableItemsNumberType = ConsumableItems.MoneyToDouble(); + var familyAllowanceNumberType = familyAllowance.MoneyToDouble(); + + var step1 = DailyFeeNumberType / 7.33; + var step2 = step1 * dividTo6Days; + + dayliFee = step2.ToMoney(); + + + var HousingStep1 = HousingAllowonceNumberType / 30; + var HousingStep2 = HousingStep1 / 7.33; + var HousingStep3 = HousingStep2 * dividTo6Days; + var HousingStep4 = HousingStep3 * AllDaysCount; + HousingAllowance = HousingStep4.ToMoney(); + + var consumableItemsStep1 = ConsumableItemsNumberType / 30; + var consumableItemsStep2 = consumableItemsStep1 / 7.33; + var consumableItemsStep3 = consumableItemsStep2 * dividTo6Days; + var consumableItemsStep4 = consumableItemsStep3 * AllDaysCount; + ConsumableItems = consumableItemsStep4.ToMoney(); + + if (familyAllowance != "0") + { + var familyAllowanceStep1 = familyAllowanceNumberType / 30; + var familyAllowanceStep2 = familyAllowanceStep1 / 7.33; + var familyAllowanceStep3 = familyAllowanceStep2 * dividTo6Days; + var familyAllowanceStep4 = familyAllowanceStep3 * AllDaysCount; + familyAllowance = familyAllowanceStep4.ToMoney(); + } + + var totalShiftRound = Math.Round(totalShift.TotalHours, 2); + SumWorkeTime = $"{totalShiftRound}"; + weeklyTime = totalShift; + } + else + { + var HousingAllowonceNumberType = HousingAllowance.MoneyToDouble(); + var ConsumableItemsNumberType = ConsumableItems.MoneyToDouble(); + var familyAllowanceNumberType = familyAllowance.MoneyToDouble(); + + var consumableItemsStep1 = ConsumableItemsNumberType / 30; + var consumableItemsStep4 = consumableItemsStep1 * AllDaysCount; + ConsumableItems = consumableItemsStep4.ToMoney(); + + var HousingStep1 = HousingAllowonceNumberType / 30; + var HousingStep4 = HousingStep1 * AllDaysCount; + HousingAllowance = HousingStep4.ToMoney(); + + if (familyAllowance != "0") + { + var familyAllowanceStep1 = familyAllowanceNumberType / 30; + var familyAllowanceStep4 = familyAllowanceStep1 * AllDaysCount; + familyAllowance = familyAllowanceStep4.ToMoney(); + } + + SumWorkeTime = $"{44}"; + } + } + else if (command.ShiftWork == "4") + { + var totalHourses = totalHoursShift1.TotalMinutes / 60; + var dividedForOneDay = totalHourses / notHolidaysCount; + if (totalHoursShift1 < dailyFix) + { + var DailyFeeNumberType = dayliFee.MoneyToDouble(); + var dailyStep1 = DailyFeeNumberType / 7.33; + var dailyStep2 = totalHourses / notHolidaysCount; + var result = dailyStep2 * dailyStep1; + + dayliFee = result.ToMoney(); + + + var HousingAllowonceNumberType = HousingAllowance.MoneyToDouble(); + var HousingStep1 = HousingAllowonceNumberType / 30; + var HousingStep2 = HousingStep1 / 7.33; + var HousingStep3 = HousingStep2 * dividedForOneDay; + var HousingStep4 = HousingStep3 * AllDaysCount; + HousingAllowance = HousingStep4.ToMoney(); + + var ConsumableItemsNumberType = ConsumableItems.MoneyToDouble(); + var consumableItemsStep1 = ConsumableItemsNumberType / 30; + var consumableItemsStep2 = consumableItemsStep1 / 7.33; + var consumableItemsStep3 = consumableItemsStep2 * dividedForOneDay; + var consumableItemsStep4 = consumableItemsStep3 * AllDaysCount; + ConsumableItems = consumableItemsStep4.ToMoney(); + + if (familyAllowance != "0") + { + var familyAllowanceNumberType = familyAllowance.MoneyToDouble(); + var familyAllowanceStep1 = familyAllowanceNumberType / 30; + var familyAllowanceStep2 = familyAllowanceStep1 / 7.33; + var familyAllowanceStep3 = familyAllowanceStep2 * dividedForOneDay; + var familyAllowanceStep4 = familyAllowanceStep3 * AllDaysCount; + familyAllowance = familyAllowanceStep4.ToMoney(); + } + + if (notHolidaysCount >= 6) + { + var oneday = dividedForOneDay * 6; + var totalShiftRound = Math.Round(oneday, 2); + SumWorkeTime = $"{totalShiftRound}"; + } + else + { + var totalShiftRound = Math.Round(dividedForOneDay, 2); + SumWorkeTime = $"{totalShiftRound}"; + } + + weeklyTime = totalHoursShift1; + } + else + { + var HousingAllowonceNumberType = HousingAllowance.MoneyToDouble(); + var ConsumableItemsNumberType = ConsumableItems.MoneyToDouble(); + var familyAllowanceNumberType = familyAllowance.MoneyToDouble(); + + var HousingStep1 = HousingAllowonceNumberType / 30; + var HousingStep4 = HousingStep1 * AllDaysCount; + HousingAllowance = HousingStep4.ToMoney(); + + + var consumableItemsStep1 = ConsumableItemsNumberType / 30; + var consumableItemsStep4 = consumableItemsStep1 * AllDaysCount; + ConsumableItems = consumableItemsStep4.ToMoney(); + + if (familyAllowance != "0") + { + var familyAllowanceStep1 = familyAllowanceNumberType / 30; + var familyAllowanceStep4 = familyAllowanceStep1 * AllDaysCount; + familyAllowance = familyAllowanceStep4.ToMoney(); + } + + SumWorkeTime = $"{44}"; + } + } + + #endregion + + #region MandatoryTimeCompute + + if (command.ShiftWork == "1" && totalHoursShift1 > dailyFix) Mandatory = totalHoursShift1.Subtract(dailyFix); + + if (command.ShiftWork == "2" && totalHoursShift1And2 > dailyFix) + Mandatory = totalHoursShift1And2.Subtract(dailyFix); + + if (command.ShiftWork == "4" && totalHoursShift1 > dailyFix) Mandatory = totalHoursShift1.Subtract(dailyFix); + if ((command.ShiftWork == "5" && totalHoursShift1 > ComplexFix) + || (command.ShiftWork == "6" && totalHoursShift1 > ComplexFix) + || (command.ShiftWork == "7" && totalHoursShift1 > ComplexFix) + || (command.ShiftWork == "8" && totalHoursShift1 > ComplexFix)) + Mandatory = totalHoursShift1.Subtract(ComplexFix); + var mandatoryHours = (int)Mandatory.TotalHours; + var mandatoryminuts = Mandatory.Minutes % 60; + + //Over22 = Over22.Multiply(sumDays); + var Over22hours = (int)Over22.TotalHours; + var Over22Minuts = Over22.TotalMinutes % 60; + + if (command.ShiftWork == "1" || command.ShiftWork == "4") + { + shift1Hourse = workingDaysH.ToString(); + shift1Minuts = workingDaysM.ToString(); + + + if (totalHoursShift1 > dailyFix) + { + overMandatoryHours = mandatoryHours.ToString(); + overMandatoryMinuts = mandatoryminuts.ToString(); + //line3 = "مجموع ساعات اضافه کاری " + " : " + $" {mandatoryHours} " + "ساعت و " + $" {mandatoryminuts} " + "دقیقه"; + } + + + shiftOver22Hours = Over22hours.ToString(); + shiftOver22Minuts = Over22Minuts.ToString(); + } + + if (command.ShiftWork == "2") + { + shift1Hourse = SumNotHolidaysHours.ToString(); + shift1Minuts = SumNotHolidaysMinuts.ToString(); + + + if (totalHoursShift1And2 > dailyFix) + { + overMandatoryHours = mandatoryHours.ToString(); + overMandatoryMinuts = mandatoryminuts.ToString(); + } + + shiftOver22Hours = Over22hours.ToString(); + shiftOver22Minuts = Over22Minuts.ToString(); + } + + if (command.ShiftWork == "5" || command.ShiftWork == "6" || command.ShiftWork == "7" || + command.ShiftWork == "8") + { + shift1Hourse = workingDaysH.ToString(); + shift1Minuts = workingDaysM.ToString(); + + + // اضافه کاری + if (totalHoursShift1 > ComplexFix) + { + overMandatoryHours = mandatoryHours.ToString(); + overMandatoryMinuts = mandatoryminuts.ToString(); + //line3 = "مجموع ساعات اضافه کاری " + " : " + $" {mandatoryHours} " + "ساعت و " + $" {mandatoryminuts} " + "دقیقه"; + } + + + shiftOver22Hours = Over22hours.ToString(); + shiftOver22Minuts = Over22Minuts.ToString(); + } + + var ComplexNotHolidays = string.Empty; + if (command.ShiftWork == "5" || command.ShiftWork == "6" || command.ShiftWork == "7" || + command.ShiftWork == "8") + { + ComplexNotHolidays = Notholiday; + Notholiday = "0"; + } + + #endregion + + #region RtatingStatus + + var moriningCount = rotatingResultList.Count(x => x.IsMorningShift); + var eveningCount = rotatingResultList.Count(x => x.IsEveningShift); + var nightCount = rotatingResultList.Count(x => x.IsNightShift); + + var RotatingfaName = new List(); + if (moriningCount > 0) + RotatingfaName.Add("صبح"); + if (eveningCount > 0) + RotatingfaName.Add("عصر"); + if (nightCount > 0) + RotatingfaName.Add("شب"); + var rotatingFaResult = ""; + if (RotatingfaName.Count > 1) + { + shiftOver22Hours = "0"; + shiftOver22Minuts = "0"; + for (var rotateNumber = 0; rotateNumber < RotatingfaName.Count; rotateNumber++) + { + if (rotateNumber == 0) + rotatingFaResult = $"{RotatingfaName[rotateNumber]}"; + if (rotateNumber == 1) + rotatingFaResult += $" و {RotatingfaName[rotateNumber]}"; + if (rotateNumber == 2) + rotatingFaResult += $" و {RotatingfaName[rotateNumber]}"; + } + } + else if (RotatingfaName.Count <= 1) + { + rotatingFaResult = "نوبت کاری ندارد"; + } + + #endregion + + #region sendResult + + rotatingResultList = rotatingResultList.Take(28).ToList(); + var ress = new ComputingViewModel + { + NumberOfWorkingDays = Notholiday == "0" ? ComplexNotHolidays : Notholiday, + NumberOfFriday = Holidays, + TotalHoursesH = shift1Hourse, + TotalHoursesM = shift1Minuts, + E = shift1HolidayHours, + F = shift1HolidayMinuts, + Interference = InterferenceMessage, + OverTimeWorkH = overMandatoryHours, + OverTimeWorkM = overMandatoryMinuts, + OverNightWorkH = shiftOver22Hours, + OverNightWorkM = shiftOver22Minuts, + ComplexNumberOfWorkingDays = ComplexNotHolidays, + SalaryCompute = dayliFee, + SumTime44 = SumWorkeTime, + ConsumableItems = ConsumableItems, + HousingAllowance = HousingAllowance, + FamilyAllowance = familyAllowance, + OfficialHoliday = OfficialHoliday, + weeklyTime = weeklyTime, + RotatingResultList = rotatingResultList, + RotatingStatus = rotatingFaResult, + Basic = basic + }; + + + return ress; + + #endregion + } + + #endregion + + #region MandatoryDependingMetods + + public RotatingShiftViewModel RotatingShiftCheck(DateTime? singleShift1, DateTime? singleShift2, + DateTime? towShift1, DateTime? towShift2) + { + #region Entityes + + var nullDateTme = new DateTime(0001, 01, 01); + var midNight24 = Convert.ToDateTime("00:00"); + var morningWorkingTime1 = new TimeSpan(); + var eveningWorkingTime1 = new TimeSpan(); + var nightWorkingTime1 = new TimeSpan(); + var morningWorkingTime2 = new TimeSpan(); + var eveningWorkingTime2 = new TimeSpan(); + var nightWorkingTime2 = new TimeSpan(); + var morningStart = Convert.ToDateTime("06:00"); + var morningEnd = Convert.ToDateTime("14:00"); + var eveningStart = Convert.ToDateTime("14:00"); + var eveningEnd = Convert.ToDateTime("22:00"); + var nightStart = Convert.ToDateTime("22:00"); + var nightEnd = Convert.ToDateTime("6:00"); + var nightEndNextday = nightEnd.AddDays(1); + var morningEndNextday = morningEnd.AddDays(1); + + #endregion + + #region shift1 + + if (singleShift1 != nullDateTme && singleShift2 != nullDateTme) + { + if (singleShift2 < singleShift1) singleShift2 = singleShift2?.AddDays(1); + + if (singleShift1 == singleShift2) // example 22<---22 + { + nightWorkingTime1 = new TimeSpan(8, 0, 0); + morningWorkingTime1 = new TimeSpan(8, 0, 0); + eveningWorkingTime1 = new TimeSpan(8, 0, 0); + } + else + { + #region morning enter 14 <- 6 + + if (singleShift1 >= morningStart // 14<---<6 + && singleShift1 < morningEnd + && singleShift2 > morningStart + && singleShift2 <= morningEnd) + { + morningWorkingTime1 = (TimeSpan)(singleShift2 - singleShift1); + } + else if (singleShift1 >= morningStart // <---14---6 + && singleShift1 < morningEnd + && singleShift2 > morningStart + && singleShift2 <= nightEndNextday) + { + if (singleShift2 <= eveningEnd) // 22<---14---6 + { + morningWorkingTime1 = (TimeSpan)(morningEnd - singleShift1); + eveningWorkingTime1 = (TimeSpan)(singleShift2 - eveningStart); + } + else if (singleShift2 > eveningEnd) // 6<---22---14---6 + { + morningWorkingTime1 = (TimeSpan)(morningEnd - singleShift1); + eveningWorkingTime1 = new TimeSpan(8, 0, 0); + nightWorkingTime1 = (TimeSpan)(singleShift2 - eveningEnd); + } + } + else if (singleShift1 >= morningStart // 14<---<6 + && singleShift1 < morningEnd + && singleShift2 > morningStart + && singleShift2 > nightEndNextday) + { + eveningWorkingTime1 = new TimeSpan(8, 0, 0); + nightWorkingTime1 = new TimeSpan(8, 0, 0); + morningWorkingTime1 = (TimeSpan)(morningEnd - singleShift1); + morningWorkingTime1 += (TimeSpan)(singleShift2 - nightEndNextday); + } + + #endregion + + #region evening enter 22 <- 14 + + if (singleShift1 >= eveningStart // 22<---<14 + && singleShift1 < eveningEnd + && singleShift2 > eveningStart + && singleShift2 <= eveningEnd) + { + eveningWorkingTime1 = (TimeSpan)(singleShift2 - singleShift1); + } + else if (singleShift1 >= eveningStart // <14---6---22---14 + && singleShift1 < eveningEnd + && singleShift2 > eveningStart + && singleShift2 <= morningEndNextday) + { + if (singleShift2 <= nightEndNextday) // 6<---22---14 + { + eveningWorkingTime1 = (TimeSpan)(eveningEnd - singleShift1); + nightWorkingTime1 = (TimeSpan)(singleShift2 - eveningEnd); + } + else if (singleShift2 > nightEndNextday) // 14<---6---22---14 + { + eveningWorkingTime1 = (TimeSpan)(eveningEnd - singleShift1); + nightWorkingTime1 = new TimeSpan(8, 0, 0); + morningWorkingTime1 = (TimeSpan)(singleShift2 - nightEndNextday); + } + } + else if (singleShift1 >= eveningStart // <22---14---6---22---14 + && singleShift1 < eveningEnd + && singleShift2 > eveningStart + && singleShift2 > morningEndNextday) + { + nightWorkingTime1 = new TimeSpan(8, 0, 0); + morningWorkingTime1 = new TimeSpan(8, 0, 0); + eveningWorkingTime1 = (TimeSpan)(eveningEnd - singleShift1); + eveningWorkingTime1 += (TimeSpan)(singleShift2 - morningEndNextday); + } + + #endregion + + #region night enter 6 <- 22 + + if ((singleShift1 >= nightStart // 6<---<22 + && singleShift1 < nightEndNextday + && singleShift2 > nightStart + && singleShift2 <= nightEndNextday) + || (singleShift1 >= midNight24 + && singleShift1 < nightEnd + && singleShift2 > midNight24 + && singleShift2 <= nightEnd)) + { + nightWorkingTime1 = (TimeSpan)(singleShift2 - singleShift1); + } + else if (singleShift1 >= nightStart // <---6---22 + && singleShift1 < nightEndNextday + && singleShift2 > nightStart + && singleShift2 > nightEndNextday) + { + if (singleShift2 <= morningEndNextday) // 14<---6---22 + { + nightWorkingTime1 = (TimeSpan)(nightEndNextday - singleShift1); + morningWorkingTime1 = (TimeSpan)(singleShift2 - nightEndNextday); + } + else if (singleShift2 > morningEndNextday) // 22<---14---6---22 + { + nightWorkingTime1 = (TimeSpan)(nightEndNextday - singleShift1); + morningWorkingTime1 = new TimeSpan(8, 0, 0); + eveningWorkingTime1 = (TimeSpan)(singleShift2 - morningEndNextday); + } + } + else if (singleShift1 >= midNight24 // <---6---00 + && singleShift1 < nightEnd + && singleShift2 > midNight24 + && singleShift2 > nightEnd) + + { + if (singleShift2 <= morningEnd) // 14<---6---00 + { + nightWorkingTime1 = (TimeSpan)(nightEnd - singleShift1); + morningWorkingTime1 = (TimeSpan)(singleShift2 - nightEnd); + } + + else if (singleShift2 > morningEnd && singleShift1 >= midNight24) // 22<---14---6--00 + { + nightWorkingTime1 = (TimeSpan)(nightEnd - singleShift1); + morningWorkingTime1 = new TimeSpan(8, 0, 0); + eveningWorkingTime1 = (TimeSpan)(singleShift2 - morningEnd); + } + } + + #endregion + } + } + + #endregion + + #region shift2 + + if (towShift1 != nullDateTme && towShift2 != nullDateTme) + { + if (towShift2 < towShift1) towShift2 = towShift2?.AddDays(1); + + if (towShift1 == towShift2) // example 22<---22 + { + nightWorkingTime2 = new TimeSpan(8, 0, 0); + morningWorkingTime2 = new TimeSpan(8, 0, 0); + eveningWorkingTime2 = new TimeSpan(8, 0, 0); + } + else + { + #region morning enter 14 <- 6 + + if (towShift1 >= morningStart // 14<---<6 + && towShift1 < morningEnd + && towShift2 > morningStart + && towShift2 <= morningEnd) + { + morningWorkingTime2 = (TimeSpan)(towShift2 - towShift1); + } + else if (towShift1 >= morningStart // <---14---6 + && towShift1 < morningEnd + && towShift2 > morningStart + && towShift2 <= nightEndNextday) + { + if (towShift2 <= eveningEnd) // 22<---14---6 + { + morningWorkingTime2 = (TimeSpan)(morningEnd - towShift1); + eveningWorkingTime2 = (TimeSpan)(towShift2 - eveningStart); + } + else if (towShift2 > eveningEnd) // 6<---22---14---6 + { + morningWorkingTime2 = (TimeSpan)(morningEnd - towShift1); + eveningWorkingTime2 = new TimeSpan(8, 0, 0); + nightWorkingTime2 = (TimeSpan)(towShift2 - eveningEnd); + } + } + else if (towShift1 >= morningStart // 14<---<6 + && towShift1 < morningEnd + && towShift2 > morningStart + && towShift2 > nightEndNextday) + { + eveningWorkingTime2 = new TimeSpan(8, 0, 0); + nightWorkingTime2 = new TimeSpan(8, 0, 0); + morningWorkingTime2 = (TimeSpan)(morningEnd - towShift1); + morningWorkingTime2 += (TimeSpan)(towShift2 - nightEndNextday); + } + + #endregion + + #region evening enter 22 <- 14 + + if (towShift1 >= eveningStart // 22<---<14 + && towShift1 < eveningEnd + && towShift2 > eveningStart + && towShift2 <= eveningEnd) + { + eveningWorkingTime2 = (TimeSpan)(towShift2 - towShift1); + } + else if (towShift1 >= eveningStart // <14---6---22---14 + && towShift1 < eveningEnd + && towShift2 > eveningStart + && towShift2 <= morningEndNextday) + { + if (towShift2 <= nightEndNextday) // 6<---22---14 + { + eveningWorkingTime2 = (TimeSpan)(eveningEnd - towShift1); + nightWorkingTime2 = (TimeSpan)(towShift2 - eveningEnd); + } + else if (towShift2 > nightEndNextday) // 14<---6---22---14 + { + eveningWorkingTime2 = (TimeSpan)(eveningEnd - towShift1); + nightWorkingTime2 = new TimeSpan(8, 0, 0); + morningWorkingTime2 = (TimeSpan)(towShift2 - nightEndNextday); + } + } + else if (towShift1 >= eveningStart // <22---14---6---22---14 + && towShift1 < eveningEnd + && towShift2 > eveningStart + && towShift2 > morningEndNextday) + { + nightWorkingTime2 = new TimeSpan(8, 0, 0); + morningWorkingTime2 = new TimeSpan(8, 0, 0); + eveningWorkingTime2 = (TimeSpan)(eveningEnd - towShift1); + eveningWorkingTime2 += (TimeSpan)(towShift2 - morningEndNextday); + } + + #endregion + + #region night enter 6 <- 22 + + if ((towShift1 >= nightStart // 6<---<22 + && towShift1 < nightEndNextday + && towShift2 > nightStart + && towShift2 <= nightEndNextday) + || (towShift1 >= midNight24 + && towShift1 < nightEnd + && towShift2 > midNight24 + && towShift2 <= nightEnd)) + { + nightWorkingTime2 = (TimeSpan)(towShift2 - towShift1); + } + else if (towShift1 >= nightStart // <---6---22 + && towShift1 < nightEndNextday + && towShift2 > nightStart + && towShift2 > nightEndNextday) + { + if (towShift2 <= morningEndNextday) // 14<---6---22 + { + nightWorkingTime2 = (TimeSpan)(nightEndNextday - towShift1); + morningWorkingTime2 = (TimeSpan)(towShift2 - nightEndNextday); + } + else if (towShift2 > morningEndNextday) // 22<---14---6---22 + { + nightWorkingTime2 = (TimeSpan)(nightEndNextday - towShift1); + morningWorkingTime2 = new TimeSpan(8, 0, 0); + eveningWorkingTime2 = (TimeSpan)(towShift2 - morningEndNextday); + } + } + else if (towShift1 >= midNight24 // <---6---00 + && towShift1 < nightEnd + && towShift2 > midNight24 + && towShift2 > nightEnd) + + { + if (towShift2 <= morningEnd) // 14<---6---00 + { + nightWorkingTime2 = (TimeSpan)(nightEnd - towShift1); + morningWorkingTime2 = (TimeSpan)(towShift2 - nightEnd); + } + + else if (towShift2 > morningEnd && towShift1 >= midNight24) // 22<---14---6--00 + { + nightWorkingTime2 = (TimeSpan)(nightEnd - towShift1); + morningWorkingTime2 = new TimeSpan(8, 0, 0); + eveningWorkingTime2 = (TimeSpan)(towShift2 - morningEnd); + } + } + + #endregion + } + } + + #endregion + + #region FinalResult + + var result = new RotatingShiftViewModel(); + result.MorningWorkSpan = morningWorkingTime1.Add(morningWorkingTime2); + result.EveningWorkSpan = eveningWorkingTime1.Add(eveningWorkingTime2); + result.NightWorkSpan = nightWorkingTime1.Add(nightWorkingTime2); + var nullWorkspan = new TimeSpan(0, 0, 0); + var totalTime = result.TotalWorkingTime.Add(result.MorningWorkSpan); + totalTime = totalTime.Add(result.EveningWorkSpan); + totalTime = totalTime.Add(result.NightWorkSpan); + + result.TotalWorkingTime = totalTime; + + var morningH = (int)result.MorningWorkSpan.TotalHours; + var morningM = result.MorningWorkSpan.Minutes % 60; + var morningMS = "00"; + if (morningM < 10 && morningM > 0) + morningMS = $"0{morningM}"; + if (morningM > 10) + morningMS = $"{morningM}"; + result.MorningString = $"0{morningH}:{morningMS}"; + + var eveningH = (int)result.EveningWorkSpan.TotalHours; + var eveningM = result.EveningWorkSpan.Minutes % 60; + var eveningMS = "00"; + if (eveningM < 10 && eveningM > 0) + eveningMS = $"0{eveningM}"; + if (eveningM > 10) + eveningMS = $"{eveningM}"; + result.EveningString = $"0{eveningH}:{eveningMS}"; + + var nightH = (int)result.NightWorkSpan.TotalHours; + var nightM = result.NightWorkSpan.Minutes % 60; + var nightMS = "00"; + if (nightM < 10 && nightM > 0) + nightMS = $"0{nightM}"; + if (nightM > 10) + nightMS = $"{nightM}"; + result.NightString = $"0{nightH}:{nightMS}"; + + if (result.MorningWorkSpan > result.EveningWorkSpan + || result.MorningWorkSpan == result.EveningWorkSpan) // if morning bigerThan evening or equal + { + if (result.MorningWorkSpan != nullWorkspan) + { + result.IsMorningShift = true; + result.IsNightShift = false; + result.IsEveningShift = false; + result.RotatingShiftStatus = "صبح"; + } + + if (result.MorningWorkSpan < result.NightWorkSpan + || result.MorningWorkSpan == result.NightWorkSpan) // if night bigerThan morning or equal + if (result.NightWorkSpan != nullWorkspan) + { + result.IsMorningShift = false; + result.IsNightShift = true; + result.IsEveningShift = false; + result.RotatingShiftStatus = "شب"; + } + } + else if (result.MorningWorkSpan < result.EveningWorkSpan) // if evening bigerThan morning + { + if (result.EveningWorkSpan != nullWorkspan) + { + result.IsEveningShift = true; + result.IsMorningShift = false; + result.IsNightShift = false; + result.RotatingShiftStatus = "عصر"; + } + + if (result.EveningWorkSpan < result.NightWorkSpan + || result.EveningWorkSpan == result.NightWorkSpan) // if night bigerThan evening or equal + if (result.NightWorkSpan != nullWorkspan) + { + result.IsMorningShift = false; + result.IsEveningShift = false; + result.IsNightShift = true; + result.RotatingShiftStatus = "شب"; + } + } + + #endregion + + + return result; + } + + public TimeSpan Over22Check(DateTime date1, DateTime date2) + { + var Over22 = new TimeSpan(); + var singleShiftOver24 = Convert.ToDateTime("00:00"); + var nightWork22 = Convert.ToDateTime("22:00"); + var nightWork6 = Convert.ToDateTime("06:00"); + var starTimeSingel1 = date1; + var endTimeSingel2 = date2; + var check = false; + if ((endTimeSingel2 > nightWork22 || endTimeSingel2 == singleShiftOver24) && starTimeSingel1 < nightWork22 && + starTimeSingel1 > nightWork6) + { + var nightWork6NextDay = new DateTime(); + if (endTimeSingel2.Date > starTimeSingel1.Date) + // 15:00 - 00:00 + nightWork6NextDay = nightWork6.AddDays(1); + check = true; + if (endTimeSingel2 <= nightWork6NextDay) + { + check = true; + Over22 = endTimeSingel2 - nightWork22; + } + else + { + check = true; + Over22 = nightWork6NextDay - nightWork22; + } + } + + if (date2 > singleShiftOver24 && endTimeSingel2 <= nightWork6 && starTimeSingel1 < nightWork22 && + starTimeSingel1 > nightWork6) + { + check = true; + endTimeSingel2 = endTimeSingel2.AddDays(1); + Over22 = endTimeSingel2 - nightWork22; + } + + if (endTimeSingel2 > singleShiftOver24 && endTimeSingel2 <= nightWork6 && starTimeSingel1 >= nightWork22) + { + check = true; + endTimeSingel2 = endTimeSingel2.AddDays(1); + Over22 = endTimeSingel2 - starTimeSingel1; + } + + if (endTimeSingel2 > singleShiftOver24 && endTimeSingel2 <= nightWork6 && + starTimeSingel1 >= singleShiftOver24 && starTimeSingel1 <= nightWork6) + { + check = true; + Over22 = endTimeSingel2 - starTimeSingel1; + } + + if (starTimeSingel1 >= nightWork22 && endTimeSingel2 > nightWork22) + { + check = true; + + var nightWork6NextDay = new DateTime(); + if (endTimeSingel2.Date > starTimeSingel1.Date) + { + nightWork6NextDay = nightWork6.AddDays(1); + if (endTimeSingel2 <= nightWork6NextDay) + { + check = true; + Over22 = endTimeSingel2 - starTimeSingel1; + } + else + { + check = true; + Over22 = nightWork6NextDay - starTimeSingel1; + } + } + } + + if (endTimeSingel2.Date == starTimeSingel1.Date) + { + if (endTimeSingel2 <= nightWork6 && starTimeSingel1 >= singleShiftOver24) + { + check = true; + Over22 = endTimeSingel2 - starTimeSingel1; + } + else if (endTimeSingel2 >= nightWork6 && starTimeSingel1 >= singleShiftOver24 && + endTimeSingel2 <= nightWork22) + + { + if (starTimeSingel1 >= nightWork6 && endTimeSingel2 <= nightWork22) + Over22 = TimeSpan.Zero; + else + Over22 = nightWork6 - starTimeSingel1; + } + else if (starTimeSingel1 >= singleShiftOver24 && endTimeSingel2 > nightWork22) + { + if (starTimeSingel1 >= nightWork22) + { + Over22 = endTimeSingel2 - starTimeSingel1; + } + else if (starTimeSingel1 < nightWork22 && endTimeSingel2 > nightWork22) + { + if (starTimeSingel1 < nightWork6) + { + var step1 = nightWork6 - starTimeSingel1; + var step2 = endTimeSingel2 - nightWork22; + var step3 = step1 + step2; + Over22 = step3; + } + else + { + Over22 = endTimeSingel2 - nightWork22; + } + } + } + else if (starTimeSingel1 > nightWork22 && endTimeSingel2 > nightWork22) + { + Over22 = endTimeSingel2 - starTimeSingel1; + } + } + + return Over22; + } + + public TimeSpan Over22Complex(DateTime date1, DateTime date2) + { + var Over22Result = new TimeSpan(); + var Over24 = new DateTime(date2.Year, date2.Month, date2.Day, 0, 0, 0); + var nightWork22 = new DateTime(date1.Year, date1.Month, date1.Day, 22, 0, 0); + var nightWork22b = new DateTime(date2.Year, date2.Month, date2.Day, 22, 0, 0); + var nightWork6 = new DateTime(date2.Year, date2.Month, date2.Day, 6, 0, 0); + var nightWork6a = new DateTime(date1.Year, date1.Month, date1.Day, 6, 0, 0); + var starTime = date1; + var endTime = date2; + if (endTime > nightWork22 && starTime < nightWork22) + { + if (starTime.Date == endTime.Date) nightWork6 = nightWork6.AddDays(1); + + if (endTime <= nightWork6) + Over22Result = endTime - nightWork22; + else if (endTime > nightWork6) Over22Result = nightWork6 - nightWork22; + } + + if (endTime > nightWork22 && starTime >= nightWork22) + { + if (endTime <= nightWork6) + Over22Result = endTime - starTime; + else if (endTime > nightWork6) Over22Result = nightWork6 - starTime; + } + + if (starTime.Hour >= 0 && starTime.Minute >= 0 && starTime < nightWork6 && starTime.Date == nightWork6.Date) + { + if (endTime > nightWork6) + Over22Result = nightWork6 - starTime; + else if (endTime <= nightWork6) Over22Result = endTime - starTime; + //nightWork22 = nightWork22.Subtract(new TimeSpan(1, 0, 0, 0)); + } + + return Over22Result; + } + + public TimeSpan Over22Complex2424(DateTime date1, DateTime date2) + { + var Over22Result = new TimeSpan(); + var Over24a = new DateTime(date1.Year, date1.Month, date1.Day, 0, 0, 0); + var Over24b = new DateTime(date2.Year, date2.Month, date2.Day, 0, 0, 0); + var nightWork22a = new DateTime(date1.Year, date1.Month, date1.Day, 22, 0, 0); + var nightWork22b = new DateTime(date2.Year, date2.Month, date2.Day, 22, 0, 0); + + var nightWork6a = new DateTime(date1.Year, date1.Month, date1.Day, 6, 0, 0); + var nightWork6b = new DateTime(date2.Year, date2.Month, date2.Day, 6, 0, 0); + var starTime = date1; + var endTime = date2; + + if (starTime >= Over24a && starTime <= nightWork6a) + { + if (endTime > nightWork22a && endTime <= nightWork6b) + { + var night1 = nightWork6a - starTime; + var night2 = endTime - nightWork22a; + Over22Result = night1.Add(night2); + } + + if (endTime > nightWork6a && endTime < nightWork22a) Over22Result = nightWork6a - starTime; + } + + if (starTime >= nightWork6a && starTime < nightWork22a) + { + if (endTime > nightWork22a && endTime <= nightWork6b) Over22Result = endTime - nightWork22a; + + if (endTime > nightWork6b) Over22Result = nightWork6b - nightWork22a; + } + + if (starTime >= nightWork22a && starTime < Over24b) + { + if (endTime <= nightWork22b) Over22Result = nightWork6b - starTime; + + + if (endTime > nightWork22b) + { + var night1 = nightWork6b - starTime; + var night2 = endTime - nightWork22b; + Over22Result = night1.Add(night2); + } + } + + + return Over22Result; + } + + #endregion + + #endregion +} \ No newline at end of file diff --git a/ServiceHost/Areas/Client/Pages/Company/Contracts/ContractList.cshtml b/ServiceHost/Areas/Client/Pages/Company/Contracts/ContractList.cshtml index 065e36f9..cbba5dd4 100644 --- a/ServiceHost/Areas/Client/Pages/Company/Contracts/ContractList.cshtml +++ b/ServiceHost/Areas/Client/Pages/Company/Contracts/ContractList.cshtml @@ -1,574 +1,581 @@ - -@using Microsoft.AspNetCore.Mvc.TagHelpers +@using Microsoft.AspNetCore.Mvc.TagHelpers @model List @{ - var i = 0; + var i = 0; } -@if (Model != null && Model.Count > 0) { - -
-
- +
+
+ - -
-
-
+ +
+
+
- -
-
- -
-
- + +
+
+ +
+
+ -
-
- - -
- -
+
+
+ + +
+ +
-
-
-
- - - - -
-
شماره پرنسل
-
شماره قرارداد
-
نام کارگاه
-
نام پرسنل
-
آغاز قرارداد
-
پایان قرارداد
-
امضا
-
عملیات
-
+
+
+
+ + + + +
+
شماره پرنسل
+
شماره قرارداد
+
نام کارگاه
+
نام پرسنل
+
آغاز قرارداد
+
پایان قرارداد
+
امضا
+
عملیات
+
- @if (Model != null && Model.Count > 0) - { - @foreach (var item in Model) - { -
-
-
- ردیف -
-
- - - @(i = i+1) - -
-
-
-
شماره پرنسل
-
@item.PersonnelCode
-
-
-
شماره قرارداد
-
@item.ContractNo
-
-
-
نام کارگاه
-
@item.WorkshopName
-
-
-
نام پرسنل
-
@item.EmployeeName
-
-
-
آغاز قرارداد
-
@item.ContarctStart
-
-
-
پایان قرارداد
-
@item.ContractEnd
-
-
-
امضا
-
- @if (item.Signature == "1") - { - - - - - } - else - { - - - - } -
-
+ @if (Model != null && Model.Count > 0) + { + @foreach (var item in Model) + { +
+
+
+ ردیف +
+
+ + + @(i = i + 1) + +
+
+
+
شماره پرنسل
+
@item.PersonnelCode
+
+
+
شماره قرارداد
+
@item.ContractNo
+
+
+
نام کارگاه
+
@item.WorkshopName
+
+
+
نام پرسنل
+
@item.EmployeeName
+
+
+
آغاز قرارداد
+
@item.ContarctStart
+
+
+
پایان قرارداد
+
@item.ContractEnd
+
+
+
امضا
+
+ @if (item.Signature == "1") + { + + + + + } + else + { + + + + } +
+
-
+
-
-
- - @(i) -
+
+
+ + @(i) +
-
- - @item.EmployeeName - -
-
+
+ + @item.EmployeeName + +
+
-
+
-
- آغاز قرارداد - @item.ContarctStart -
-
- پایان قرارداد - @item.ContractEnd -
-
- -
-
-
+
+ آغاز قرارداد + @item.ContarctStart +
+
+ پایان قرارداد + @item.ContractEnd +
+
+ +
+
+
-
-
- -
-
-
- } - } -
-
-
-
- +
+
+ +
+
+
+ } + } +
+
+
+
+ } else { -
-
-
-
- -
اطلاعاتی وجود ندارد.
-
-
-
-
+
+
+
+
+ +
اطلاعاتی وجود ندارد.
+
+
+
+
} \ No newline at end of file diff --git a/ServiceHost/Areas/Client/Pages/Company/Contracts/ContractPrintAll.cshtml b/ServiceHost/Areas/Client/Pages/Company/Contracts/ContractPrintAll.cshtml index efe71250..5881f869 100644 --- a/ServiceHost/Areas/Client/Pages/Company/Contracts/ContractPrintAll.cshtml +++ b/ServiceHost/Areas/Client/Pages/Company/Contracts/ContractPrintAll.cshtml @@ -1,11 +1,11 @@ @page -@model ServiceHost.Areas.Client.Pages.Company.Contracts.ContractPrintAll +@model ContractPrintAll @* @section Styles { } *@ @{ - - + } -
- ساعت کار -
-
-
- کارکرد عادی +
-
-
-
- کارکرد چرخشی + بستن + محاسبه +
+
+
+ ساعت کار +
+
+
+ کارکرد عادی - @*
+
+
+
+ کارکرد چرخشی + + @* *@ - - - -
-
-
-
- کارکرد مختلط -
- - - - -
-
- - - - - -
- - -
-
-
- - - -
- -
- -
-
-
-
- - - - - - - - - - -
-
-
-
-

دادمهرگستر


-

DadmehrGostar

-
- -
- -
- - - -
- @*Header*@ -
- - - - - - مقطع اول کار - - - - - - مدت استراحت - - - - - - - مقطع دوم کار - - - - - - - - - -
-
- - @*شنبه*@ -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - @*یکشنبه*@ -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- @*دوشنبه*@ -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - @*سه شنبه*@ -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- @*چهارشنبه*@ -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- @*پنجشنبه*@ -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- @*جمعه*@ -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
-
- @*شنبه*@ -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - @*یکشنبه*@ -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- @*دوشنبه*@ -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - @*سه شنبه*@ -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- @*چهارشنبه*@ -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- @*پنجشنبه*@ -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- @*جمعه*@ -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
-
- @*شنبه*@ -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - @*یکشنبه*@ -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- @*دوشنبه*@ -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - @*سه شنبه*@ -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- @*چهارشنبه*@ -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- @*پنجشنبه*@ -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- @*جمعه*@ -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
-
- @*شنبه*@ -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - @*یکشنبه*@ -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- @*دوشنبه*@ -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - @*سه شنبه*@ -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- @*چهارشنبه*@ -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- @*پنجشنبه*@ -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- @*جمعه*@ -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- -
-
- - - - -
- - -
- @*Header*@ -
- - - - - - مقطع اول کار - - - - - - مدت استراحت - - - - - - - - - مقطع دوم کار - - - - - - - - - - - -
- - @*شنبه*@ -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - @*یکشنبه*@ -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- @*دوشنبه*@ -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - @*سه شنبه*@ -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- @*چهارشنبه*@ -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- @*پنجشنبه*@ -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- @*جمعه*@ -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- -
-
-
- @*آدرس*@ -
-
-
-
- محل انجام کار 1 - -
-
- محل انجام کار 2 - -
-
-
-
- تست محاسبه -
- - ذخیره - ذخیره - -
- -
- + + + +
+
+
+
+ کارکرد مختلط +
+ + + + +
+
+ + + + + +
+ + +
+
+
+ + +
+ +
+ +
+
+
+
+ + + + + + + + + + +
+
+
+
+

دادمهرگستر


+

DadmehrGostar

+
+ +
+ +
+ + + +
+@*Header*@ +
+ + + + + + مقطع اول کار + + + + + + مدت استراحت + + + + + + + مقطع دوم کار + + + + + + + + + +
+
+ +@*شنبه*@ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+@*یکشنبه*@ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+@*دوشنبه*@ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +@*سه شنبه*@ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+@*چهارشنبه*@ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+@*پنجشنبه*@ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+@*جمعه*@ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+@*شنبه*@ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +@*یکشنبه*@ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+@*دوشنبه*@ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +@*سه شنبه*@ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+@*چهارشنبه*@ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+@*پنجشنبه*@ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+@*جمعه*@ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+@*شنبه*@ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +@*یکشنبه*@ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+@*دوشنبه*@ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +@*سه شنبه*@ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+@*چهارشنبه*@ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+@*پنجشنبه*@ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+@*جمعه*@ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+@*شنبه*@ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +@*یکشنبه*@ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+@*دوشنبه*@ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +@*سه شنبه*@ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+@*چهارشنبه*@ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+@*پنجشنبه*@ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+@*جمعه*@ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+
+ + +
+ + +
+@*Header*@ +
+ + + + + + مقطع اول کار + + + + + + مدت استراحت + + + + + + + + مقطع دوم کار + + + + + + + + + + +
+ +@*شنبه*@ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +@*یکشنبه*@ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+@*دوشنبه*@ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +@*سه شنبه*@ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+@*چهارشنبه*@ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+@*پنجشنبه*@ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+@*جمعه*@ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+
+
+@*آدرس*@ +
+
+
+
+ محل انجام کار 1 + +
+
+ محل انجام کار 2 + +
+
+
+
+ تست محاسبه +
+ + ذخیره + ذخیره + +
+ +
+ + + - - - + + + @**@ + $(window).on("load", part2()); + + function part2() { + $(".dateMask").mask("0000/00/00"); + var shiftnumber = $('#shiftWork').val(); + var tow = $('.tow'); + ///////////////////////////// Shift Control Database value///////////////////// + //حالات شیفت بالا بر اساس ولیو + if (shiftnumber === "1") { + $('#Sh1').addClass("shiftActive"); + $('#NormalShift').addClass("shiftCateoryActive"); + towDeactive(); + + } + if (shiftnumber === "2") { + $('#Sh2').addClass("shiftActive"); + $('#NormalShift').addClass("shiftCateoryActive"); + restDeactive(); + } + if (shiftnumber === "4") { + $('#Sh4').addClass("shiftActive"); + $('#RotatingShift').addClass("shiftCateoryActive"); + $('#OneAndTowFildset').addClass("shiftDisplayNone"); + $('#ComplexFildset').addClass("shiftDisplayNone"); + $('#WeeklyFildset').removeClass("shiftDisplayNone"); + towActive(); + restActive(); + + + } + if (shiftnumber === "5") { + $('#Sh5').addClass("shiftActive"); + $('#ComplexShift').addClass("shiftCateoryActive"); + $('#OneAndTowFildset').addClass("shiftDisplayNone"); + $('#ComplexFildset').removeClass("shiftDisplayNone"); + } + if (shiftnumber === "6") { + $('#Sh6').addClass("shiftActive"); + $('#ComplexShift').addClass("shiftCateoryActive"); + $('#OneAndTowFildset').addClass("shiftDisplayNone"); + $('#ComplexFildset').removeClass("shiftDisplayNone"); + } + if (shiftnumber === "7") { + $('#Sh7').addClass("shiftActive"); + $('#ComplexShift').addClass("shiftCateoryActive"); + $('#OneAndTowFildset').addClass("shiftDisplayNone"); + $('#ComplexFildset').removeClass("shiftDisplayNone"); + } + if (shiftnumber === "8") { + $('#Sh8').addClass("shiftActive"); + $('#ComplexShift').addClass("shiftCateoryActive"); + $('#OneAndTowFildset').addClass("shiftDisplayNone"); + $('#ComplexFildset').removeClass("shiftDisplayNone"); + } + ////////////////////////////default ///////////////////// + if (shiftnumber === "") { + + $('.dayNumber').addClass("btn-active"); + $('#Sh1').addClass("shiftActive"); + $('#NormalShift').addClass("shiftCateoryActive"); + //دیسبل کردن سطر جمعه + $('#jomehRow3 input').each(function() { + $(this).attr("disabled", "disabled"); + $(this).addClass("input-deactive"); + + }); + $('#jomehRow3w1 input').each(function() { + $(this).attr("disabled", "disabled"); + $(this).addClass("input-deactive"); + + }); + $('#jomehRow3w2 input').each(function() { + $(this).attr("disabled", "disabled"); + $(this).addClass("input-deactive"); + + }); + $('#jomehRow3w3 input').each(function() { + $(this).attr("disabled", "disabled"); + $(this).addClass("input-deactive"); + + }); + $('#jomehRow3w4 input').each(function() { + $(this).attr("disabled", "disabled"); + $(this).addClass("input-deactive"); + + }); + $('#jomehRow3 .rest').each(function() { + $(this).attr("disabled", "disabled"); + $(this).addClass("input-deactive"); + + }); + $('#shiftWork').val("1"); + $('#f').prop('checked', true); + $('#f1').prop('checked', true); + $('#f2').prop('checked', true); + $('#f3').prop('checked', true); + $('#f4').prop('checked', true); + $('#f5').prop('checked', true); + $('#f6').prop('checked', false); + + weeklyBtnDefault(); + //دیسیبل کردن اینپوت ساعت های شیفت دو + towDeactive(); + + ///////////////////////////day of week on database value///////////// + } else { // روشن کردن روزهای هفته بر اساس ولیو + if (shiftnumber === "1" || shiftnumber === "2") { + if ($('#f').is(":checked")) { //شنبه + $('#shanbeh').addClass("btn-active"); + } else { + $('#shanbehRow3 input').each(function() { + $(this).attr("disabled", "disabled"); + $(this).addClass("input-deactive"); + }); + $('#shanbehRow3 .rest').each(function() { + $(this).attr("disabled", "disabled"); + $(this).addClass("input-deactive"); + }); + } + if ($('#f1').is(":checked")) { //یکشنبه + $('#yekshanbeh').addClass("btn-active"); + } else { + $('#yekshanbehRow3 input').each(function() { + $(this).attr("disabled", "disabled"); + $(this).addClass("input-deactive"); + }); + $('#yekshanbehRow3 .rest').each(function() { + $(this).attr("disabled", "disabled"); + $(this).addClass("input-deactive"); + }); + } + if ($('#f2').is(":checked")) { //دوشنبه + $('#doshanbeh').addClass("btn-active"); + } else { + $('#doshanbehRow3 input').each(function() { + $(this).attr("disabled", "disabled"); + $(this).addClass("input-deactive"); + }); + $('#doshanbehRow3 .rest').each(function() { + $(this).attr("disabled", "disabled"); + $(this).addClass("input-deactive"); + }); + + } + if ($('#f3').is(":checked")) { //سه شنبه + $('#seshanbeh').addClass("btn-active"); + } else { + $('#seshanbehRow3 input').each(function() { + $(this).attr("disabled", "disabled"); + $(this).addClass("input-deactive"); + }); + $('#seshanbehRow3 .rest').each(function() { + $(this).attr("disabled", "disabled"); + $(this).addClass("input-deactive"); + }); + } + if ($('#f4').is(":checked")) { //چهارشنبه + $('#cheharshanbeh').addClass("btn-active"); + } else { + $('#cheharshanbehRow3 input').each(function() { + $(this).attr("disabled", "disabled"); + $(this).addClass("input-deactive"); + }); + $('#cheharshanbehRow3 .rest').each(function() { + $(this).attr("disabled", "disabled"); + $(this).addClass("input-deactive"); + }); + } + if ($('#f5').is(":checked")) { //پنجشنبه + $('#panjshanbeh').addClass("btn-active"); + + } else { + $('#panjshanbehRow3 input').each(function() { + $(this).attr("disabled", "disabled"); + $(this).addClass("input-deactive"); + }); + $('#panjshanbehRow3 .rest').each(function() { + $(this).attr("disabled", "disabled"); + $(this).addClass("input-deactive"); + }); + } + if ($('#f6').is(":checked")) { //جمعه + $('#jomeh').addClass("btn-active"); + } else { + $('#jomehRow3 input').each(function() { + $(this).attr("disabled", "disabled"); + $(this).addClass("input-deactive"); + }); + $('#jomehRow3 .rest').each(function() { + $(this).attr("disabled", "disabled"); + $(this).addClass("input-deactive"); + }); + + } + } else if (shiftnumber === "4") { + // روشن کردن روزها بر اساس ولیو + //week1 days by value + if ($('#fw1').is(":checked")) { //شنبه + $('#shanbehw1').addClass("btn-active"); + } else { + $('#shanbehw1').removeClass("btn-active"); + $('#shanbehRow3w1 input').each(function() { + $(this).attr("disabled", "disabled"); + $(this).addClass("input-deactive"); + }); + $('#shanbehRow3w1 .rest').each(function() { + $(this).prop('selectedIndex', 0); + }); + } + if ($('#f1w1').is(":checked")) { //یکشنبه + $('#yekshanbehw1').addClass("btn-active"); + } else { + $('#yekshanbehw1').removeClass("btn-active"); + $('#yekshanbehRow3w1 input').each(function() { + $(this).attr("disabled", "disabled"); + $(this).addClass("input-deactive"); + }); + $('#yekshanbehRow3w1 .rest').each(function() { + $(this).prop('selectedIndex', 0); + }); + } + if ($('#f2w1').is(":checked")) { //دوشنبه + $('#doshanbehw1').addClass("btn-active"); + } else { + $('#doshanbehw1').removeClass("btn-active"); + $('#doshanbehRow3w1 input').each(function() { + $(this).attr("disabled", "disabled"); + $(this).addClass("input-deactive"); + }); + $('#doshanbehRow3w1 .rest').each(function() { + $(this).prop('selectedIndex', 0); + }); + + } + if ($('#f3w1').is(":checked")) { //سه شنبه + $('#seshanbehw1').addClass("btn-active"); + } else { + $('#seshanbehw1').removeClass("btn-active"); + $('#seshanbehRow3w1 input').each(function() { + $(this).attr("disabled", "disabled"); + $(this).addClass("input-deactive"); + }); + $('#seshanbehRow3w1 .rest').each(function() { + $(this).prop('selectedIndex', 0); + }); + } + if ($('#f4w1').is(":checked")) { //چهارشنبه + $('#cheharshanbehw1').addClass("btn-active"); + } else { + $('#cheharshanbehw1').removeClass("btn-active"); + $('#cheharshanbehRow3w1 input').each(function() { + $(this).attr("disabled", "disabled"); + $(this).addClass("input-deactive"); + }); + $('#cheharshanbehRow3w1 .rest').each(function() { + $(this).prop('selectedIndex', 0); + }); + } + if ($('#f5w1').is(":checked")) { //پنجشنبه + $('#panjshanbehw1').addClass("btn-active"); + + } else { + $('#panjshanbehw1').removeClass("btn-active"); + $('#panjshanbehRow3w1 input').each(function() { + $(this).attr("disabled", "disabled"); + $(this).addClass("input-deactive"); + }); + $('#panjshanbehRow3w1 .rest').each(function() { + $(this).prop('selectedIndex', 0); + }); + } + if ($('#f6w1').is(":checked")) { //جمعه + $('#jomehw1').addClass("btn-active"); + } else { + $('#jomehw1').removeClass("btn-active"); + $('#jomehRow3w1 input').each(function() { + $(this).attr("disabled", "disabled"); + $(this).addClass("input-deactive"); + $(this).val(""); + }); + $('#jomehRow3w1 .rest').each(function() { + $(this).prop('selectedIndex', 0); + }); + + } + //week2 days by value + if ($('#fw2').is(":checked")) { //شنبه + $('#shanbehw2').addClass("btn-active"); + } else { + $('#shanbehw2').removeClass("btn-active"); + $('#shanbehRow3w2 input').each(function() { + $(this).attr("disabled", "disabled"); + $(this).addClass("input-deactive"); + }); + $('#shanbehRow3w2 .rest').each(function() { + $(this).prop('selectedIndex', 0); + }); + } + if ($('#f1w2').is(":checked")) { //یکشنبه + $('#yekshanbehw2').addClass("btn-active"); + } else { + $('#yekshanbehw2').removeClass("btn-active"); + $('#yekshanbehRow3w2 input').each(function() { + $(this).attr("disabled", "disabled"); + $(this).addClass("input-deactive"); + }); + $('#yekshanbehRow3w2 .rest').each(function() { + $(this).prop('selectedIndex', 0); + }); + } + if ($('#f2w2').is(":checked")) { //دوشنبه + $('#doshanbehw2').addClass("btn-active"); + } else { + $('#doshanbehw2').removeClass("btn-active"); + $('#doshanbehRow3w2 input').each(function() { + $(this).attr("disabled", "disabled"); + $(this).addClass("input-deactive"); + }); + $('#doshanbehRow3w2 .rest').each(function() { + $(this).prop('selectedIndex', 0); + }); + + } + if ($('#f3w2').is(":checked")) { //سه شنبه + $('#seshanbehw2').addClass("btn-active"); + } else { + $('#seshanbehw2').removeClass("btn-active"); + $('#seshanbehRow3w2 input').each(function() { + $(this).attr("disabled", "disabled"); + $(this).addClass("input-deactive"); + }); + $('#seshanbehRow3w2 .rest').each(function() { + $(this).prop('selectedIndex', 0); + }); + } + if ($('#f4w2').is(":checked")) { //چهارشنبه + $('#cheharshanbehw2').addClass("btn-active"); + } else { + $('#cheharshanbehw2').removeClass("btn-active"); + $('#cheharshanbehRow3w2 input').each(function() { + $(this).attr("disabled", "disabled"); + $(this).addClass("input-deactive"); + }); + $('#cheharshanbehRow3w2 .rest').each(function() { + $(this).prop('selectedIndex', 0); + }); + } + if ($('#f5w2').is(":checked")) { //پنجشنبه + $('#panjshanbehw2').addClass("btn-active"); + + } else { + $('#panjshanbehw2').removeClass("btn-active"); + $('#panjshanbehRow3w2 input').each(function() { + $(this).attr("disabled", "disabled"); + $(this).addClass("input-deactive"); + }); + $('#panjshanbehRow3w2 .rest').each(function() { + $(this).prop('selectedIndex', 0); + }); + } + if ($('#f6w2').is(":checked")) { //جمعه + $('#jomehw2').addClass("btn-active"); + } else { + $('#jomehw2').removeClass("btn-active"); + $('#jomehRow3w2 input').each(function() { + $(this).attr("disabled", "disabled"); + $(this).addClass("input-deactive"); + $(this).val(""); + }); + $('#jomehRow3w2 .rest').each(function() { + $(this).prop('selectedIndex', 0); + }); + + } + + //week3 days by value + if ($('#fw3').is(":checked")) { //شنبه + $('#shanbehw3').addClass("btn-active"); + } else { + $('#shanbehw3').removeClass("btn-active"); + $('#shanbehRow3w3 input').each(function() { + $(this).attr("disabled", "disabled"); + $(this).addClass("input-deactive"); + }); + $('#shanbehRow3w3 .rest').each(function() { + $(this).prop('selectedIndex', 0); + }); + } + if ($('#f1w3').is(":checked")) { //یکشنبه + $('#yekshanbehw3').addClass("btn-active"); + } else { + $('#yekshanbehw3').removeClass("btn-active"); + $('#yekshanbehRow3w3 input').each(function() { + $(this).attr("disabled", "disabled"); + $(this).addClass("input-deactive"); + }); + $('#yekshanbehRow3w3 .rest').each(function() { + $(this).prop('selectedIndex', 0); + }); + } + if ($('#f2w3').is(":checked")) { //دوشنبه + $('#doshanbehw3').addClass("btn-active"); + } else { + $('#doshanbehw3').removeClass("btn-active"); + $('#doshanbehRow3w3 input').each(function() { + $(this).attr("disabled", "disabled"); + $(this).addClass("input-deactive"); + }); + $('#doshanbehRow3w3 .rest').each(function() { + $(this).prop('selectedIndex', 0); + }); + + } + if ($('#f3w3').is(":checked")) { //سه شنبه + $('#seshanbehw3').addClass("btn-active"); + } else { + $('#seshanbehw3').removeClass("btn-active"); + $('#seshanbehRow3w3 input').each(function() { + $(this).attr("disabled", "disabled"); + $(this).addClass("input-deactive"); + }); + $('#seshanbehRow3w3 .rest').each(function() { + $(this).prop('selectedIndex', 0); + }); + } + if ($('#f4w3').is(":checked")) { //چهارشنبه + $('#cheharshanbehw3').addClass("btn-active"); + } else { + $('#cheharshanbehw3').removeClass("btn-active"); + $('#cheharshanbehRow3w3 input').each(function() { + $(this).attr("disabled", "disabled"); + $(this).addClass("input-deactive"); + }); + $('#cheharshanbehRow3w3 .rest').each(function() { + $(this).prop('selectedIndex', 0); + }); + } + if ($('#f5w3').is(":checked")) { //پنجشنبه + $('#panjshanbehw3').addClass("btn-active"); + + } else { + $('#panjshanbehw3').removeClass("btn-active"); + $('#panjshanbehRow3w3 input').each(function() { + $(this).attr("disabled", "disabled"); + $(this).addClass("input-deactive"); + }); + $('#panjshanbehRow3w3 .rest').each(function() { + $(this).prop('selectedIndex', 0); + }); + } + if ($('#f6w3').is(":checked")) { //جمعه + $('#jomehw3').addClass("btn-active"); + } else { + $('#jomehw3').removeClass("btn-active"); + $('#jomehRow3w3 input').each(function() { + $(this).attr("disabled", "disabled"); + $(this).addClass("input-deactive"); + $(this).val(""); + }); + $('#jomehRow3w3 .rest').each(function() { + $(this).prop('selectedIndex', 0); + }); + + } + + //week4 days by value + if ($('#fw4').is(":checked")) { //شنبه + $('#shanbehw4').addClass("btn-active"); + } else { + $('#shanbehw4').removeClass("btn-active"); + $('#shanbehRow3w4 input').each(function() { + $(this).attr("disabled", "disabled"); + $(this).addClass("input-deactive"); + }); + $('#shanbehRow3w4 .rest').each(function() { + $(this).prop('selectedIndex', 0); + }); + } + if ($('#f1w4').is(":checked")) { //یکشنبه + $('#yekshanbehw4').addClass("btn-active"); + } else { + $('#yekshanbehw4').removeClass("btn-active"); + $('#yekshanbehRow3w4 input').each(function() { + $(this).attr("disabled", "disabled"); + $(this).addClass("input-deactive"); + }); + $('#yekshanbehRow3w4 .rest').each(function() { + $(this).prop('selectedIndex', 0); + }); + } + if ($('#f2w4').is(":checked")) { //دوشنبه + $('#doshanbehw4').addClass("btn-active"); + } else { + $('#doshanbehw4').removeClass("btn-active"); + $('#doshanbehRow3w4 input').each(function() { + $(this).attr("disabled", "disabled"); + $(this).addClass("input-deactive"); + }); + $('#doshanbehRow3w4 .rest').each(function() { + $(this).prop('selectedIndex', 0); + }); + + } + if ($('#f3w4').is(":checked")) { //سه شنبه + $('#seshanbehw4').addClass("btn-active"); + } else { + $('#seshanbehw4').removeClass("btn-active"); + $('#seshanbehRow3w4 input').each(function() { + $(this).attr("disabled", "disabled"); + $(this).addClass("input-deactive"); + }); + $('#seshanbehRow3w4 .rest').each(function() { + $(this).prop('selectedIndex', 0); + }); + } + if ($('#f4w4').is(":checked")) { //چهارشنبه + $('#cheharshanbehw4').addClass("btn-active"); + } else { + $('#cheharshanbehw4').removeClass("btn-active"); + $('#cheharshanbehRow3w4 input').each(function() { + $(this).attr("disabled", "disabled"); + $(this).addClass("input-deactive"); + }); + $('#cheharshanbehRow3w4 .rest').each(function() { + $(this).prop('selectedIndex', 0); + }); + } + if ($('#f5w4').is(":checked")) { //پنجشنبه + $('#panjshanbehw4').addClass("btn-active"); + + } else { + + $('#panjshanbehw4').removeClass("btn-active"); + $('#panjshanbehRow3w4 input').each(function() { + $(this).attr("disabled", "disabled"); + $(this).addClass("input-deactive"); + }); + $('#panjshanbehRow3w4 .rest').each(function() { + $(this).prop('selectedIndex', 0); + }); + } + if ($('#f6w4').is(":checked")) { //جمعه + $('#jomehw4').addClass("btn-active"); + } else { + $('#jomehw4').removeClass("btn-active"); + $('#jomehRow3w4 input').each(function() { + $(this).attr("disabled", "disabled"); + $(this).addClass("input-deactive"); + $(this).val(""); + }); + $('#jomehRow3w4 .rest').each(function() { + $(this).prop('selectedIndex', 0); + }); + + } + } + + + } + + /////////////////// OnClick yelow-textts /////////// + ////رویداد کلیک بر روی شیفت ها ////// + $('#RadioSh1').on('click', + function() { + $('#Sh1').addClass("shiftActive"); + $('#Sh2').removeClass("shiftActive"); + $('#Sh4').removeClass("shiftActive"); + $('#Sh5').removeClass("shiftActive"); + $('#Sh6').removeClass("shiftActive"); + $('#Sh7').removeClass("shiftActive"); + $('#Sh8').removeClass("shiftActive"); + + $('#NormalShift').addClass("shiftCateoryActive"); + $('#RotatingShift').removeClass("shiftCateoryActive"); + $('#ComplexShift').removeClass("shiftCateoryActive"); + + $('#OneAndTowFildset').removeClass("shiftDisplayNone"); + $('#ComplexFildset').addClass("shiftDisplayNone"); + $('#WeeklyFildset').addClass("shiftDisplayNone"); + towDeactive(); + restActive(); + $('#shiftWork').val("1"); + $('#f6').prop('checked', false); + $('#jomehRow3 input').each(function() { + $(this).attr("disabled", "disabled"); + $(this).addClass("input-deactive"); + $(this).val(""); + }); + $('#jomehRow3 .rest').each(function() { + $(this).attr("disabled", "disabled"); + $(this).addClass("input-deactive"); + $(this).prop('selectedIndex', 0); + }); + $('#jomeh').removeClass('btn-active'); + $('.time').val(""); + restReset(); + $('#f').prop("checked", true); + $('#f1').prop("checked", true); + $('#f2').prop("checked", true); + $('#f3').prop("checked", true); + $('#f4').prop("checked", true); + $('#f5').prop("checked", true); + $('#f6').prop("checked", false); + if (!$('#shanbeh').hasClass('btn-active')) { + $('#shanbeh').addClass('btn-active'); + }; + if (!$('#yekshanbeh').hasClass('btn-active')) { + $('#yekshanbeh').addClass('btn-active'); + }; + if (!$('#doshanbeh').hasClass('btn-active')) { + $('#doshanbeh').addClass('btn-active'); + }; + if (!$('#seshanbeh').hasClass('btn-active')) { + $('#seshanbeh').addClass('btn-active'); + }; + if (!$('#cheharshanbeh').hasClass('btn-active')) { + $('#cheharshanbeh').addClass('btn-active'); + }; + if (!$('#panjshanbeh').hasClass('btn-active')) { + $('#panjshanbeh').addClass('btn-active'); + }; + }); + $('#RadioSh2').on('click', + function() { + $('#Sh1').removeClass("shiftActive"); + $('#Sh2').addClass("shiftActive"); + $('#Sh4').removeClass("shiftActive"); + $('#Sh5').removeClass("shiftActive"); + $('#Sh6').removeClass("shiftActive"); + $('#Sh7').removeClass("shiftActive"); + $('#Sh8').removeClass("shiftActive"); + + + $('#NormalShift').addClass("shiftCateoryActive"); + $('#RotatingShift').removeClass("shiftCateoryActive"); + $('#ComplexShift').removeClass("shiftCateoryActive"); + + $('#OneAndTowFildset').removeClass("shiftDisplayNone"); + $('#ComplexFildset').addClass("shiftDisplayNone"); + $('#WeeklyFildset').addClass("shiftDisplayNone"); + + towActive(); + restDeactive(); + $('#shiftWork').val("2"); + $('#jomehRow3 input').each(function() { + $(this).attr("disabled", "disabled"); + $(this).addClass("input-deactive"); + $(this).val(""); + }); + $('#jomehRow3 .rest').each(function() { + $(this).attr("disabled", "disabled"); + $(this).addClass("input-deactive"); + $(this).prop('selectedIndex', 0); + }); + $('#jomeh').removeClass('btn-active'); + $('.time').val(""); + $('#f').prop("checked", true); + $('#f1').prop("checked", true); + $('#f2').prop("checked", true); + $('#f3').prop("checked", true); + $('#f4').prop("checked", true); + $('#f5').prop("checked", true); + $('#f6').prop("checked", false); + if (!$('#shanbeh').hasClass('btn-active')) { + $('#shanbeh').addClass('btn-active'); + }; + if (!$('#yekshanbeh').hasClass('btn-active')) { + $('#yekshanbeh').addClass('btn-active'); + }; + if (!$('#doshanbeh').hasClass('btn-active')) { + $('#doshanbeh').addClass('btn-active'); + }; + if (!$('#seshanbeh').hasClass('btn-active')) { + $('#seshanbeh').addClass('btn-active'); + }; + if (!$('#cheharshanbeh').hasClass('btn-active')) { + $('#cheharshanbeh').addClass('btn-active'); + }; + if (!$('#panjshanbeh').hasClass('btn-active')) { + $('#panjshanbeh').addClass('btn-active'); + }; + + }); + + $('#RadioSh4').on('click', + function() { + $('#Sh1').removeClass("shiftActive"); + $('#Sh2').removeClass("shiftActive"); + $('#Sh4').addClass("shiftActive"); + $('#Sh5').removeClass("shiftActive"); + $('#Sh6').removeClass("shiftActive"); + $('#Sh7').removeClass("shiftActive"); + $('#Sh8').removeClass("shiftActive"); + + + $('#NormalShift').removeClass("shiftCateoryActive"); + $('#RotatingShift').addClass("shiftCateoryActive"); + $('#ComplexShift').removeClass("shiftCateoryActive"); + + $('#OneAndTowFildset').addClass("shiftDisplayNone"); + $('#ComplexFildset').addClass("shiftDisplayNone"); + $('#WeeklyFildset').removeClass("shiftDisplayNone"); + $('#shiftWork').val("4"); + towActive(); + $('#jomehRow3w1 input').each(function() { + $(this).attr("disabled", "disabled"); + $(this).addClass("input-deactive"); + }); + $('#jomehRow3w2 input').each(function() { + $(this).attr("disabled", "disabled"); + $(this).addClass("input-deactive"); + }); + $('#jomehRow3w3 input').each(function() { + $(this).attr("disabled", "disabled"); + $(this).addClass("input-deactive"); + }); + $('#jomehRow3w4 input').each(function() { + $(this).attr("disabled", "disabled"); + $(this).addClass("input-deactive"); + }); + $('#jomehRow3w1 .rest').each(function() { + $(this).attr("disabled", "disabled"); + $(this).addClass("input-deactive"); + $(this).prop('selectedIndex', 0); + }); + $('#jomehRow3w2 .rest').each(function() { + $(this).attr("disabled", "disabled"); + $(this).addClass("input-deactive"); + $(this).prop('selectedIndex', 0); + }); + $('#jomehRow3w3 .rest').each(function() { + $(this).attr("disabled", "disabled"); + $(this).addClass("input-deactive"); + $(this).prop('selectedIndex', 0); + }); + $('#jomehRow3w4 .rest').each(function() { + $(this).attr("disabled", "disabled"); + $(this).addClass("input-deactive"); + $(this).prop('selectedIndex', 0); + }); + weeklyBtnDefault(); + $('.dayNumber').addClass("btn-active"); + restActive(); + restReset(); + $('#fw1').prop("checked", true); + $('#f1w1').prop("checked", true); + $('#f2w1').prop("checked", true); + $('#f3w1').prop("checked", true); + $('#f4w1').prop("checked", true); + $('#f5w1').prop("checked", true); + $('#f6w1').prop("checked", false); + $('#fw2').prop("checked", true); + $('#f1w2').prop("checked", true); + $('#f2w2').prop("checked", true); + $('#f3w2').prop("checked", true); + $('#f4w2').prop("checked", true); + $('#f5w2').prop("checked", true); + $('#f6w2').prop("checked", false); + $('#fw3').prop("checked", true); + $('#f1w3').prop("checked", true); + $('#f2w3').prop("checked", true); + $('#f3w3').prop("checked", true); + $('#f4w3').prop("checked", true); + $('#f5w3').prop("checked", true); + $('#f6w3').prop("checked", false); + $('#fw4').prop("checked", true); + $('#f1w4').prop("checked", true); + $('#f2w4').prop("checked", true); + $('#f3w4').prop("checked", true); + $('#f4w4').prop("checked", true); + $('#f5w4').prop("checked", true); + $('#f6w4').prop("checked", false); + oneActive(); + }); + $('#RadioSh5').on('click', + function() { + $('#Sh1').removeClass("shiftActive"); + $('#Sh2').removeClass("shiftActive"); + $('#Sh4').removeClass("shiftActive"); + $('#Sh5').addClass("shiftActive"); + $('#Sh6').removeClass("shiftActive"); + $('#Sh7').removeClass("shiftActive"); + $('#Sh8').removeClass("shiftActive"); + + + $('#NormalShift').removeClass("shiftCateoryActive"); + $('#RotatingShift').removeClass("shiftCateoryActive"); + $('#ComplexShift').addClass("shiftCateoryActive"); + + $('#OneAndTowFildset').addClass("shiftDisplayNone"); + $('#ComplexFildset').removeClass("shiftDisplayNone"); + $('#WeeklyFildset').addClass("shiftDisplayNone"); + + $('#shiftWork').val("5"); + + }); + $('#RadioSh6').on('click', + function() { + $('#Sh1').removeClass("shiftActive"); + $('#Sh2').removeClass("shiftActive"); + $('#Sh4').removeClass("shiftActive"); + $('#Sh5').removeClass("shiftActive"); + $('#Sh6').addClass("shiftActive"); + $('#Sh7').removeClass("shiftActive"); + $('#Sh8').removeClass("shiftActive"); + + + $('#NormalShift').removeClass("shiftCateoryActive"); + $('#RotatingShift').removeClass("shiftCateoryActive"); + $('#ComplexShift').addClass("shiftCateoryActive"); + + $('#OneAndTowFildset').addClass("shiftDisplayNone"); + $('#ComplexFildset').removeClass("shiftDisplayNone"); + $('#shiftWork').val("6"); + }); + $('#RadioSh7').on('click', + function() { + $('#Sh1').removeClass("shiftActive"); + $('#Sh2').removeClass("shiftActive"); + $('#Sh4').removeClass("shiftActive"); + $('#Sh5').removeClass("shiftActive"); + $('#Sh6').removeClass("shiftActive"); + $('#Sh7').addClass("shiftActive"); + $('#Sh8').removeClass("shiftActive"); + + + $('#NormalShift').removeClass("shiftCateoryActive"); + $('#RotatingShift').removeClass("shiftCateoryActive"); + $('#ComplexShift').addClass("shiftCateoryActive"); + + $('#OneAndTowFildset').addClass("shiftDisplayNone"); + $('#ComplexFildset').removeClass("shiftDisplayNone"); + $('#WeeklyFildset').addClass("shiftDisplayNone"); + $('#shiftWork').val("7"); + }); + $('#RadioSh8').on('click', + function() { + $('#Sh1').removeClass("shiftActive"); + $('#Sh2').removeClass("shiftActive"); + $('#Sh4').removeClass("shiftActive"); + $('#Sh5').removeClass("shiftActive"); + $('#Sh6').removeClass("shiftActive"); + $('#Sh7').removeClass("shiftActive"); + $('#Sh8').addClass("shiftActive"); + + + $('#NormalShift').removeClass("shiftCateoryActive"); + $('#RotatingShift').removeClass("shiftCateoryActive"); + $('#ComplexShift').addClass("shiftCateoryActive"); + + $('#OneAndTowFildset').addClass("shiftDisplayNone"); + $('#ComplexFildset').removeClass("shiftDisplayNone"); + $('#WeeklyFildset').addClass("shiftDisplayNone"); + $('#shiftWork').val("8"); + }); + //////////day btn Click yelow-textts////////////// + // رویداد کلیک بر روی روزها + $('#f').on('change', + function() { + const shift = $('#shiftWork').val(); + if ($(this).is(":checked")) { //شنبه + $('#shanbeh').addClass("btn-active"); + if (shift === "1") { + + $('#shanbehRow1 input').each(function() { + $(this).removeAttr("disabled"); + $(this).removeClass("input-deactive"); + + }); + $('#shanbehRow3 .rest').each(function() { + $(this).removeAttr("disabled"); + $(this).removeClass("input-deactive"); + }); + + } else if (shift === "2") { + $('#shanbehRow3 input').each(function() { + $(this).removeAttr("disabled"); + $(this).removeClass("input-deactive"); + }); + $('#shanbehRow3 .rest').each(function() { + $(this).attr("disabled", "disabled"); + $(this).addClass("input-deactive"); + $(this).prop('selectedIndex', 0); + }); + } + } else { + $('#shanbeh').removeClass("btn-active"); + $('#shanbehRow3 input').each(function() { + $(this).attr("disabled", "disabled"); + $(this).addClass("input-deactive"); + $(this).val(""); + }); + $('#shanbehRow3 .rest').each(function() { + $(this).attr("disabled", "disabled"); + $(this).addClass("input-deactive"); + $(this).prop('selectedIndex', 0); + }); + } + }); + + + $('#f1').on('change', + function() { + const shift = $('#shiftWork').val(); + if ($(this).is(":checked")) { //یکشنبه + $('#yekshanbeh').addClass("btn-active"); + if (shift === "1") { + + $('#yekshanbehRow1 input').each(function() { + $(this).removeAttr("disabled"); + $(this).removeClass("input-deactive"); + + }); + $('#yekshanbehRow3 .rest').each(function() { + $(this).removeAttr("disabled"); + $(this).removeClass("input-deactive"); + + }); + + } else if (shift === "2") { + $('#yekshanbehRow3 input').each(function() { + $(this).removeAttr("disabled"); + $(this).removeClass("input-deactive"); + }); + $('#yekshanbehRow3 .rest').each(function() { + $(this).attr("disabled", "disabled"); + $(this).addClass("input-deactive"); + $(this).prop('selectedIndex', 0); + }); + } + } else { + $('#yekshanbeh').removeClass("btn-active"); + $('#yekshanbehRow3 input').each(function() { + $(this).attr("disabled", "disabled"); + $(this).addClass("input-deactive"); + $(this).val(""); + }); + $('#yekshanbehRow3 .rest').each(function() { + $(this).attr("disabled", "disabled"); + $(this).addClass("input-deactive"); + $(this).prop('selectedIndex', 0); + }); + } + }); + + $('#f2').on('change', + function() { + const shift = $('#shiftWork').val(); + if ($(this).is(":checked")) { //یکشنبه + $('#doshanbeh').addClass("btn-active"); + if (shift === "1") { + + $('#doshanbehRow1 input').each(function() { + $(this).removeAttr("disabled"); + $(this).removeClass("input-deactive"); + + }); + $('#doshanbehRow3 .rest').each(function() { + $(this).removeAttr("disabled"); + $(this).removeClass("input-deactive"); + }); + + } else if (shift === "2") { + $('#doshanbehRow3 input').each(function() { + $(this).removeAttr("disabled"); + $(this).removeClass("input-deactive"); + }); + $('#doshanbehRow3 .rest').each(function() { + $(this).attr("disabled", "disabled"); + $(this).addClass("input-deactive"); + $(this).prop('selectedIndex', 0); + }); + } + } else { + $('#doshanbeh').removeClass("btn-active"); + $('#doshanbehRow3 input').each(function() { + $(this).attr("disabled", "disabled"); + $(this).addClass("input-deactive"); + $(this).val(""); + }); + $('#doshanbehRow3 .rest').each(function() { + $(this).attr("disabled", "disabled"); + $(this).addClass("input-deactive"); + $(this).prop('selectedIndex', 0); + }); + } + }); + + $('#f3').on('change', + function() { + const shift = $('#shiftWork').val(); + if ($(this).is(":checked")) { //یکشنبه + $('#seshanbeh').addClass("btn-active"); + if (shift === "1") { + + $('#seshanbehRow1 input').each(function() { + $(this).removeAttr("disabled"); + $(this).removeClass("input-deactive"); + + }); + $('#seshanbehRow3 .rest').each(function() { + $(this).removeAttr("disabled"); + $(this).removeClass("input-deactive"); + }); + + } else if (shift === "2") { + $('#seshanbehRow3 input').each(function() { + $(this).removeAttr("disabled"); + $(this).removeClass("input-deactive"); + }); + $('#seshanbehRow3 .rest').each(function() { + $(this).attr("disabled", "disabled"); + $(this).addClass("input-deactive"); + $(this).prop('selectedIndex', 0); + }); + } + } else { + $('#seshanbeh').removeClass("btn-active"); + $('#seshanbehRow3 input').each(function() { + $(this).attr("disabled", "disabled"); + $(this).addClass("input-deactive"); + $(this).val(""); + }); + $('#seshanbehRow3 .rest').each(function() { + $(this).attr("disabled", "disabled"); + $(this).addClass("input-deactive"); + $(this).prop('selectedIndex', 0); + }); + } + }); + $('#f4').on('change', + function() { + const shift = $('#shiftWork').val(); + if ($(this).is(":checked")) { //یکشنبه + $('#cheharshanbeh').addClass("btn-active"); + if (shift === "1") { + + $('#cheharshanbehRow1 input').each(function() { + $(this).removeAttr("disabled"); + $(this).removeClass("input-deactive"); + + }); + $('#cheharshanbehRow3 .rest').each(function() { + $(this).removeAttr("disabled"); + $(this).removeClass("input-deactive"); + }); + + } else if (shift === "2") { + $('#cheharshanbehRow3 input').each(function() { + $(this).removeAttr("disabled"); + $(this).removeClass("input-deactive"); + }); + $('#cheharshanbehRow3 .rest').each(function() { + $(this).attr("disabled", "disabled"); + $(this).addClass("input-deactive"); + $(this).prop('selectedIndex', 0); + }); + } + } else { + $('#cheharshanbeh').removeClass("btn-active"); + $('#cheharshanbehRow3 input').each(function() { + $(this).attr("disabled", "disabled"); + $(this).addClass("input-deactive"); + $(this).val(""); + }); + $('#cheharshanbehRow3 .rest').each(function() { + $(this).attr("disabled", "disabled"); + $(this).addClass("input-deactive"); + $(this).prop('selectedIndex', 0); + }); + } + }); + $('#f5').on('change', + function() { + const shift = $('#shiftWork').val(); + if ($(this).is(":checked")) { //یکشنبه + $('#panjshanbeh').addClass("btn-active"); + if (shift === "1") { + + $('#panjshanbehRow1 input').each(function() { + $(this).removeAttr("disabled"); + $(this).removeClass("input-deactive"); + + }); + $('#panjshanbehRow3 .rest').each(function() { + $(this).removeAttr("disabled"); + $(this).removeClass("input-deactive"); + }); + + } else if (shift === "2") { + $('#panjshanbehRow3 input').each(function() { + $(this).removeAttr("disabled"); + $(this).removeClass("input-deactive"); + $(this).val(""); + }); + $('#panjshanbehRow3 .rest').each(function() { + $(this).attr("disabled", "disabled"); + $(this).addClass("input-deactive"); + $(this).prop('selectedIndex', 0); + }); + } + } else { + $('#panjshanbeh').removeClass("btn-active"); + $('#panjshanbehRow3 input').each(function() { + $(this).attr("disabled", "disabled"); + $(this).addClass("input-deactive"); + $(this).val(""); + }); + $('#panjshanbehRow3 .rest').each(function() { + $(this).attr("disabled", "disabled"); + $(this).addClass("input-deactive"); + $(this).prop('selectedIndex', 0); + }); + } + }); + $('#f6').on('change', + function() { + const shift = $('#shiftWork').val(); + if ($(this).is(":checked")) { //یکشنبه + $('#jomeh').addClass("btn-active"); + if (shift === "1") { + + $('#jomehRow1 input').each(function() { + $(this).removeAttr("disabled"); + $(this).removeClass("input-deactive"); + + }); + $('#jomehRow3 .rest').each(function() { + $(this).removeAttr("disabled"); + $(this).removeClass("input-deactive"); + }); + + } else if (shift === "2") { + $('#jomehRow3 input').each(function() { + $(this).removeAttr("disabled"); + $(this).removeClass("input-deactive"); + }); + $('#jomehRow3 .rest').each(function() { + $(this).attr("disabled", "disabled"); + $(this).addClass("input-deactive"); + $(this).prop('selectedIndex', 0); + }); + } + } else { + $('#jomeh').removeClass("btn-active"); + $('#jomehRow3 input').each(function() { + $(this).attr("disabled", "disabled"); + $(this).addClass("input-deactive"); + $(this).val(""); + }); + $('#jomehRow3 .rest').each(function() { + $(this).attr("disabled", "disabled"); + $(this).addClass("input-deactive"); + $(this).prop('selectedIndex', 0); + }); + } + }); + + // کلیک بر روی روز های چهار هفته ای + //week 1 + $('#fw1').on('change', + function() { + + if ($(this).is(":checked")) { + $('#shanbehw1').addClass("btn-active"); + + $('#shanbehRow3w1 input').each(function() { + $(this).removeAttr("disabled"); + $(this).removeClass("input-deactive"); + }); + } else { + $('#shanbehw1').removeClass("btn-active"); + $('#shanbehRow3w1 input').each(function() { + $(this).attr("disabled", "disabled"); + $(this).addClass("input-deactive"); + $(this).val(""); + }); + $('#shanbehRow3w1 .rest').each(function() { + + $(this).prop('selectedIndex', 0); + }); + } + }); + $('#f1w1').on('change', + function() { + + if ($(this).is(":checked")) { + $('#yekshanbehw1').addClass("btn-active"); + + $('#yekshanbehRow3w1 input').each(function() { + $(this).removeAttr("disabled"); + $(this).removeClass("input-deactive"); + + }); + } else { + $('#yekshanbehw1').removeClass("btn-active"); + $('#yekshanbehRow3w1 input').each(function() { + $(this).attr("disabled", "disabled"); + $(this).addClass("input-deactive"); + $(this).val(""); + }); + $('#yekshanbehRow3w1 .rest').each(function() { + + $(this).prop('selectedIndex', 0); + }); + } + }); + $('#f2w1').on('change', + function() { + + if ($(this).is(":checked")) { + $('#doshanbehw1').addClass("btn-active"); + + $('#doshanbehRow3w1 input').each(function() { + $(this).removeAttr("disabled"); + $(this).removeClass("input-deactive"); + + }); + + } else { + $('#doshanbehw1').removeClass("btn-active"); + $('#doshanbehRow3w1 input').each(function() { + $(this).attr("disabled", "disabled"); + $(this).addClass("input-deactive"); + $(this).val(""); + }); + $('#doshanbehRow3w1 .rest').each(function() { + + $(this).prop('selectedIndex', 0); + }); + } + }); + $('#f3w1').on('change', + function() { + + if ($(this).is(":checked")) { + $('#seshanbehw1').addClass("btn-active"); + + $('#seshanbehRow3w1 input').each(function() { + $(this).removeAttr("disabled"); + $(this).removeClass("input-deactive"); + + }); + + } else { + $('#seshanbehw1').removeClass("btn-active"); + $('#seshanbehRow3w1 input').each(function() { + $(this).attr("disabled", "disabled"); + $(this).addClass("input-deactive"); + $(this).val(""); + }); + $('#seshanbehRow3w1 .rest').each(function() { + $(this).prop('selectedIndex', 0); + }); + } + }); + $('#f4w1').on('change', + function() { + + if ($(this).is(":checked")) { + $('#cheharshanbehw1').addClass("btn-active"); + + $('#cheharshanbehRow3w1 input').each(function() { + $(this).removeAttr("disabled"); + $(this).removeClass("input-deactive"); + + }); + + } else { + $('#cheharshanbehw1').removeClass("btn-active"); + $('#cheharshanbehRow3w1 input').each(function() { + $(this).attr("disabled", "disabled"); + $(this).addClass("input-deactive"); + $(this).val(""); + }); + $('#cheharshanbehRow3w1 .rest').each(function() { + $(this).prop('selectedIndex', 0); + }); + } + }); + $('#f5w1').on('change', + function() { + + if ($(this).is(":checked")) { + $('#panjshanbehw1').addClass("btn-active"); + + $('#panjshanbehRow3w1 input').each(function() { + $(this).removeAttr("disabled"); + $(this).removeClass("input-deactive"); + $(this).val(""); + }); + + } else { + $('#panjshanbehw1').removeClass("btn-active"); + $('#panjshanbehRow3w1 input').each(function() { + $(this).attr("disabled", "disabled"); + $(this).addClass("input-deactive"); + $(this).val(""); + }); + $('#panjshanbehRow3w1 .rest').each(function() { + $(this).prop('selectedIndex', 0); + }); + } + }); + $('#f6w1').on('change', + function() { + + if ($(this).is(":checked")) { + $('#jomehw1').addClass("btn-active"); + + $('#jomehRow3w1 input').each(function() { + $(this).removeAttr("disabled"); + $(this).removeClass("input-deactive"); + }); + $('#jomehRow3w1 .rest').each(function() { + $(this).removeAttr("disabled"); + $(this).removeClass("input-deactive"); + }); + + } else { + $('#jomehw1').removeClass("btn-active"); + $('#jomehRow3w1 input').each(function() { + $(this).attr("disabled", "disabled"); + $(this).addClass("input-deactive"); + $(this).val(""); + }); + $('#jomehRow3w1 .rest').each(function() { + $(this).prop('selectedIndex', 0); + }); + } + }); + + ////week 2 + $('#fw2').on('change', + function() { + + if ($(this).is(":checked")) { + $('#shanbehw2').addClass("btn-active"); + + $('#shanbehRow3w2 input').each(function() { + $(this).removeAttr("disabled"); + $(this).removeClass("input-deactive"); + }); + + } else { + $('#shanbehw2').removeClass("btn-active"); + $('#shanbehRow3w2 input').each(function() { + $(this).attr("disabled", "disabled"); + $(this).addClass("input-deactive"); + $(this).val(""); + }); + $('#shanbehRow3w2 .rest').each(function() { + + $(this).prop('selectedIndex', 0); + }); + } + }); + $('#f1w2').on('change', + function() { + + if ($(this).is(":checked")) { + $('#yekshanbehw2').addClass("btn-active"); + + $('#yekshanbehRow3w2 input').each(function() { + $(this).removeAttr("disabled"); + $(this).removeClass("input-deactive"); + + }); + } else { + $('#yekshanbehw2').removeClass("btn-active"); + $('#yekshanbehRow3w2 input').each(function() { + $(this).attr("disabled", "disabled"); + $(this).addClass("input-deactive"); + $(this).val(""); + }); + $('#yekshanbehRow3w2 .rest').each(function() { + + $(this).prop('selectedIndex', 0); + }); + } + }); + $('#f2w2').on('change', + function() { + + if ($(this).is(":checked")) { + $('#doshanbehw2').addClass("btn-active"); + + $('#doshanbehRow3w2 input').each(function() { + $(this).removeAttr("disabled"); + $(this).removeClass("input-deactive"); + + }); + + } else { + $('#doshanbehw2').removeClass("btn-active"); + $('#doshanbehRow3w2 input').each(function() { + $(this).attr("disabled", "disabled"); + $(this).addClass("input-deactive"); + $(this).val(""); + }); + $('#doshanbehRow3w2 .rest').each(function() { + + $(this).prop('selectedIndex', 0); + }); + } + }); + $('#f3w2').on('change', + function() { + + if ($(this).is(":checked")) { + $('#seshanbehw2').addClass("btn-active"); + + $('#seshanbehRow3w2 input').each(function() { + $(this).removeAttr("disabled"); + $(this).removeClass("input-deactive"); + + }); + + } else { + $('#seshanbehw2').removeClass("btn-active"); + $('#seshanbehRow3w2 input').each(function() { + $(this).attr("disabled", "disabled"); + $(this).addClass("input-deactive"); + $(this).val(""); + }); + $('#seshanbehRow3w2 .rest').each(function() { + $(this).prop('selectedIndex', 0); + }); + } + }); + $('#f4w2').on('change', + function() { + + if ($(this).is(":checked")) { + $('#cheharshanbehw2').addClass("btn-active"); + + $('#cheharshanbehRow3w2 input').each(function() { + $(this).removeAttr("disabled"); + $(this).removeClass("input-deactive"); + + }); + + } else { + $('#cheharshanbehw2').removeClass("btn-active"); + $('#cheharshanbehRow3w2 input').each(function() { + $(this).attr("disabled", "disabled"); + $(this).addClass("input-deactive"); + $(this).val(""); + }); + $('#cheharshanbehRow3w2 .rest').each(function() { + $(this).prop('selectedIndex', 0); + }); + } + }); + $('#f5w2').on('change', + function() { + + if ($(this).is(":checked")) { + $('#panjshanbehw2').addClass("btn-active"); + + $('#panjshanbehRow3w2 input').each(function() { + $(this).removeAttr("disabled"); + $(this).removeClass("input-deactive"); + $(this).val(""); + }); + + } else { + $('#panjshanbehw2').removeClass("btn-active"); + $('#panjshanbehRow3w2 input').each(function() { + $(this).attr("disabled", "disabled"); + $(this).addClass("input-deactive"); + $(this).val(""); + }); + $('#panjshanbehRow3w2 .rest').each(function() { + $(this).prop('selectedIndex', 0); + }); + } + }); + $('#f6w2').on('change', + function() { + + if ($(this).is(":checked")) { + $('#jomehw2').addClass("btn-active"); + + $('#jomehRow3w2 input').each(function() { + $(this).removeAttr("disabled"); + $(this).removeClass("input-deactive"); + }); + $('#jomehRow3w2 .rest').each(function() { + $(this).removeAttr("disabled"); + $(this).removeClass("input-deactive"); + }); + + } else { + $('#jomehw2').removeClass("btn-active"); + $('#jomehRow3w2 input').each(function() { + $(this).attr("disabled", "disabled"); + $(this).addClass("input-deactive"); + $(this).val(""); + }); + $('#jomehRow3w2 .rest').each(function() { + $(this).prop('selectedIndex', 0); + }); + } + }); + + ////week 3 + $('#fw3').on('change', + function() { + + if ($(this).is(":checked")) { + $('#shanbehw3').addClass("btn-active"); + + $('#shanbehRow3w3 input').each(function() { + $(this).removeAttr("disabled"); + $(this).removeClass("input-deactive"); + }); + } else { + $('#shanbehw3').removeClass("btn-active"); + $('#shanbehRow3w3 input').each(function() { + $(this).attr("disabled", "disabled"); + $(this).addClass("input-deactive"); + $(this).val(""); + }); + $('#shanbehRow3w3 .rest').each(function() { + + $(this).prop('selectedIndex', 0); + }); + } + }); + $('#f1w3').on('change', + function() { + + if ($(this).is(":checked")) { + $('#yekshanbehw3').addClass("btn-active"); + + $('#yekshanbehRow3w3 input').each(function() { + $(this).removeAttr("disabled"); + $(this).removeClass("input-deactive"); + + }); + } else { + $('#yekshanbehw3').removeClass("btn-active"); + $('#yekshanbehRow3w3 input').each(function() { + $(this).attr("disabled", "disabled"); + $(this).addClass("input-deactive"); + $(this).val(""); + }); + $('#yekshanbehRow3w3 .rest').each(function() { + + $(this).prop('selectedIndex', 0); + }); + } + }); + $('#f2w3').on('change', + function() { + + if ($(this).is(":checked")) { + $('#doshanbehw3').addClass("btn-active"); + + $('#doshanbehRow3w3 input').each(function() { + $(this).removeAttr("disabled"); + $(this).removeClass("input-deactive"); + + }); + + } else { + $('#doshanbehw3').removeClass("btn-active"); + $('#doshanbehRow3w3 input').each(function() { + $(this).attr("disabled", "disabled"); + $(this).addClass("input-deactive"); + $(this).val(""); + }); + $('#doshanbehRow3w3 .rest').each(function() { + + $(this).prop('selectedIndex', 0); + }); + } + }); + $('#f3w3').on('change', + function() { + + if ($(this).is(":checked")) { + $('#seshanbehw3').addClass("btn-active"); + + $('#seshanbehRow3w3 input').each(function() { + $(this).removeAttr("disabled"); + $(this).removeClass("input-deactive"); + + }); + + } else { + $('#seshanbehw3').removeClass("btn-active"); + $('#seshanbehRow3w3 input').each(function() { + $(this).attr("disabled", "disabled"); + $(this).addClass("input-deactive"); + $(this).val(""); + }); + $('#seshanbehRow3w3 .rest').each(function() { + $(this).prop('selectedIndex', 0); + }); + } + }); + $('#f4w3').on('change', + function() { + + if ($(this).is(":checked")) { + $('#cheharshanbehw3').addClass("btn-active"); + + $('#cheharshanbehRow3w3 input').each(function() { + $(this).removeAttr("disabled"); + $(this).removeClass("input-deactive"); + + }); + + } else { + $('#cheharshanbehw3').removeClass("btn-active"); + $('#cheharshanbehRow3w3 input').each(function() { + $(this).attr("disabled", "disabled"); + $(this).addClass("input-deactive"); + $(this).val(""); + }); + $('#cheharshanbehRow3w3 .rest').each(function() { + $(this).prop('selectedIndex', 0); + }); + } + }); + $('#f5w3').on('change', + function() { + + if ($(this).is(":checked")) { + $('#panjshanbehw3').addClass("btn-active"); + + $('#panjshanbehRow3w3 input').each(function() { + $(this).removeAttr("disabled"); + $(this).removeClass("input-deactive"); + $(this).val(""); + }); + + } else { + $('#panjshanbehw3').removeClass("btn-active"); + $('#panjshanbehRow3w3 input').each(function() { + $(this).attr("disabled", "disabled"); + $(this).addClass("input-deactive"); + $(this).val(""); + }); + $('#panjshanbehRow3w3 .rest').each(function() { + $(this).prop('selectedIndex', 0); + }); + } + }); + $('#f6w3').on('change', + function() { + + if ($(this).is(":checked")) { + $('#jomehw3').addClass("btn-active"); + + $('#jomehRow3w3 input').each(function() { + $(this).removeAttr("disabled"); + $(this).removeClass("input-deactive"); + }); + $('#jomehRow3w3 .rest').each(function() { + $(this).removeAttr("disabled"); + $(this).removeClass("input-deactive"); + }); + + } else { + $('#jomehw3').removeClass("btn-active"); + $('#jomehRow3w3 input').each(function() { + $(this).attr("disabled", "disabled"); + $(this).addClass("input-deactive"); + $(this).val(""); + }); + $('#jomehRow3w3 .rest').each(function() { + $(this).prop('selectedIndex', 0); + }); + } + }); + + ////week 4 + $('#fw4').on('change', + function() { + + if ($(this).is(":checked")) { + $('#shanbehw4').addClass("btn-active"); + + $('#shanbehRow3w4 input').each(function() { + $(this).removeAttr("disabled"); + $(this).removeClass("input-deactive"); + }); + } else { + $('#shanbehw4').removeClass("btn-active"); + $('#shanbehRow3w4 input').each(function() { + $(this).attr("disabled", "disabled"); + $(this).addClass("input-deactive"); + $(this).val(""); + }); + $('#shanbehRow3w4 .rest').each(function() { + + $(this).prop('selectedIndex', 0); + }); + } + }); + $('#f1w4').on('change', + function() { + + if ($(this).is(":checked")) { + $('#yekshanbehw4').addClass("btn-active"); + + $('#yekshanbehRow3w4 input').each(function() { + $(this).removeAttr("disabled"); + $(this).removeClass("input-deactive"); + + }); + } else { + $('#yekshanbehw4').removeClass("btn-active"); + $('#yekshanbehRow3w4 input').each(function() { + $(this).attr("disabled", "disabled"); + $(this).addClass("input-deactive"); + $(this).val(""); + }); + $('#yekshanbehRow3w4 .rest').each(function() { + + $(this).prop('selectedIndex', 0); + }); + } + }); + $('#f2w4').on('change', + function() { + + if ($(this).is(":checked")) { + $('#doshanbehw4').addClass("btn-active"); + + $('#doshanbehRow3w4 input').each(function() { + $(this).removeAttr("disabled"); + $(this).removeClass("input-deactive"); + + }); + + } else { + $('#doshanbehw4').removeClass("btn-active"); + $('#doshanbehRow3w4 input').each(function() { + $(this).attr("disabled", "disabled"); + $(this).addClass("input-deactive"); + $(this).val(""); + }); + $('#doshanbehRow3w4 .rest').each(function() { + + $(this).prop('selectedIndex', 0); + }); + } + }); + $('#f3w4').on('change', + function() { + + if ($(this).is(":checked")) { + $('#seshanbehw4').addClass("btn-active"); + + $('#seshanbehRow3w4 input').each(function() { + $(this).removeAttr("disabled"); + $(this).removeClass("input-deactive"); + + }); + + } else { + $('#seshanbehw4').removeClass("btn-active"); + $('#seshanbehRow3w4 input').each(function() { + $(this).attr("disabled", "disabled"); + $(this).addClass("input-deactive"); + $(this).val(""); + }); + $('#seshanbehRow3w4 .rest').each(function() { + $(this).prop('selectedIndex', 0); + }); + } + }); + $('#f4w4').on('change', + function() { + + if ($(this).is(":checked")) { + $('#cheharshanbehw4').addClass("btn-active"); + + $('#cheharshanbehRow3w4 input').each(function() { + $(this).removeAttr("disabled"); + $(this).removeClass("input-deactive"); + + }); + + } else { + $('#cheharshanbehw4').removeClass("btn-active"); + $('#cheharshanbehRow3w4 input').each(function() { + $(this).attr("disabled", "disabled"); + $(this).addClass("input-deactive"); + $(this).val(""); + }); + $('#cheharshanbehRow3w4 .rest').each(function() { + $(this).prop('selectedIndex', 0); + }); + } + }); + $('#f5w4').on('change', + function() { + + if ($(this).is(":checked")) { + $('#panjshanbehw4').addClass("btn-active"); + + $('#panjshanbehRow3w4 input').each(function() { + $(this).removeAttr("disabled"); + $(this).removeClass("input-deactive"); + $(this).val(""); + }); + + } else { + $('#panjshanbehw4').removeClass("btn-active"); + $('#panjshanbehRow3w4 input').each(function() { + $(this).attr("disabled", "disabled"); + $(this).addClass("input-deactive"); + $(this).val(""); + }); + $('#panjshanbehRow3w4 .rest').each(function() { + $(this).prop('selectedIndex', 0); + }); + } + }); + $('#f6w4').on('change', + function() { + + if ($(this).is(":checked")) { + $('#jomehw4').addClass("btn-active"); + + $('#jomehRow3w4 input').each(function() { + $(this).removeAttr("disabled"); + $(this).removeClass("input-deactive"); + }); + $('#jomehRow3w4 .rest').each(function() { + $(this).removeAttr("disabled"); + $(this).removeClass("input-deactive"); + }); + + } else { + $('#jomehw4').removeClass("btn-active"); + $('#jomehRow3w4 input').each(function() { + $(this).attr("disabled", "disabled"); + $(this).addClass("input-deactive"); + $(this).val(""); + }); + $('#jomehRow3w4 .rest').each(function() { + $(this).prop('selectedIndex', 0); + }); + } + }); + ////////////////////Copy and valid Check time inputs///////////////////// + + var timeValid = true; + + //اینپوت ساعت شروع شیفت یک + $('#SingleShift1').on('change', + function() { + const timeInput = $(this).val(); + const isValid = /^([2][0-3]|[1][0-9]|[0-9]|[0][0-9])([:][0-5][0-9])$/.test(timeInput); + + if (isValid || timeInput == "") { + if (timeInput != "") { + $(this).css("background-color", "#a6e9a6"); + } else { + $(this).css("background-color", "#fff"); + } + + timeValid = true; + if ($('#f1').is(":checked")) { + $("#SingleShift1Yekshanbeh").val(timeInput); + } + if ($('#f2').is(":checked")) { + $("#SingleShift1Doshanbeh").val(timeInput); + } + if ($('#f3').is(":checked")) { + $("#SingleShift1Seshanbeh").val(timeInput); + } + if ($('#f4').is(":checked")) { + $("#SingleShift1Cheharshanbeh").val(timeInput); + } + if ($('#f5').is(":checked")) { + $("#SingleShift1Panjshanbeh").val(timeInput); + } + if ($('#f6').is(":checked")) { + $("#SingleShift1Jomeh").val(timeInput); + } + + } else { + $(this).css("background-color", "#f94c4c"); + $.Notification.autoHideNotify('error', 'top center', 'پیام سیستم ', "لطفا ساعت را بصورت صحیح وارد کنید"); + timeValid = false; + } + return isValid; + }); + //اینپوت پایان شیفت یک + $('#SingleShift2').on('change', + function() { + const timeInput = $(this).val(); + const isValid = /^([2][0-3]|[1][0-9]|[0-9]|[0][0-9])([:][0-5][0-9])$/.test(timeInput); + + if (isValid || timeInput == "") { + if (timeInput != "") { + $(this).css("background-color", "#a6e9a6"); + } else { + $(this).css("background-color", "#fff"); + } + timeValid = true; + if ($('#f1').is(":checked")) { + $("#SingleShift2Yekshanbeh").val(timeInput); + } + if ($('#f2').is(":checked")) { + $("#SingleShift2Doshanbeh").val(timeInput); + } + if ($('#f3').is(":checked")) { + $("#SingleShift2Seshanbeh").val(timeInput); + } + if ($('#f4').is(":checked")) { + $("#SingleShift2Cheharshanbeh").val(timeInput); + } + if ($('#f5').is(":checked")) { + $("#SingleShift2Panjshanbeh").val(timeInput); + } + if ($('#f6').is(":checked")) { + $("#SingleShift2Jomeh").val(timeInput); + } + + } else { + $(this).css("background-color", "#f94c4c"); + $.Notification.autoHideNotify('error', 'top center', 'پیام سیستم ', "لطفا ساعت را بصورت صحیح وارد کنید"); + timeValid = false; + } + return isValid; + }); + //اینپوت ساعت شروع شیفت دو + $('#TowShifts1').on('change', + function() { + const timeInput = $(this).val(); + const isValid = /^([2][0-3]|[1][0-9]|[0-9]|[0][0-9])([:][0-5][0-9])$/.test(timeInput); + + if (isValid || timeInput == "") { + if (timeInput != "") { + $(this).css("background-color", "#a6e9a6"); + } else { + $(this).css("background-color", "#fff"); + } + timeValid = true; + if ($('#f1').is(":checked")) { + $("#TowShifts1Yekshanbeh").val(timeInput); + } + if ($('#f2').is(":checked")) { + $("#TowShifts1Doshanbeh").val(timeInput); + } + if ($('#f3').is(":checked")) { + $("#TowShifts1Seshanbeh").val(timeInput); + } + if ($('#f4').is(":checked")) { + $("#TowShifts1Cheharshanbeh").val(timeInput); + } + if ($('#f5').is(":checked")) { + $("#TowShifts1Panjshanbeh").val(timeInput); + } + if ($('#f6').is(":checked")) { + $("#TowShifts1Jomeh").val(timeInput); + } + + } else { + $(this).css("background-color", "#f94c4c"); + $.Notification.autoHideNotify('error', 'top center', 'پیام سیستم ', "لطفا ساعت را بصورت صحیح وارد کنید"); + timeValid = false; + } + return isValid; + }); + //اینپوت پایان شیفت دو + $('#TowShifts2').on('change', + function() { + const timeInput = $(this).val(); + const isValid = /^([2][0-3]|[1][0-9]|[0-9]|[0][0-9])([:][0-5][0-9])$/.test(timeInput); + + if (isValid || timeInput == "") { + if (timeInput != "") { + $(this).css("background-color", "#a6e9a6"); + } else { + $(this).css("background-color", "#fff"); + } + timeValid = true; + if ($('#f1').is(":checked")) { + $("#TowShifts2Yekshanbeh").val(timeInput); + } + if ($('#f2').is(":checked")) { + $("#TowShifts2Doshanbeh").val(timeInput); + } + if ($('#f3').is(":checked")) { + $("#TowShifts2Seshanbeh").val(timeInput); + } + if ($('#f4').is(":checked")) { + $("#TowShifts2Cheharshanbeh").val(timeInput); + } + if ($('#f5').is(":checked")) { + $("#TowShifts2Panjshanbeh").val(timeInput); + } + if ($('#f6').is(":checked")) { + $("#TowShifts2Jomeh").val(timeInput); + } + + } else { + $(this).css("background-color", "#f94c4c"); + $.Notification.autoHideNotify('error', 'top center', 'پیام سیستم ', "لطفا ساعت را بصورت صحیح وارد کنید"); + timeValid = false; + } + return isValid; + }); + ///// copy and ValidCheck Weekly time input////////////////// + //هفته اول + //اینپوت ساعت شروع شیفت یک week1 + $('#SingleShift1w1').on('change', + function() { + const timeInput = $(this).val(); + const isValid = /^([2][0-3]|[1][0-9]|[0-9]|[0][0-9])([:][0-5][0-9])$/.test(timeInput); + + if (isValid || timeInput == "") { + if (timeInput != "") { + $(this).css("background-color", "#a6e9a6"); + } else { + $(this).css("background-color", "#fff"); + } + + timeValid = true; + if ($('#f1w1').is(":checked")) { + $("#SingleShift1Yekshanbehw1").val(timeInput); + } + if ($('#f2w1').is(":checked")) { + $("#SingleShift1Doshanbehw1").val(timeInput); + } + if ($('#f3w1').is(":checked")) { + $("#SingleShift1Seshanbehw1").val(timeInput); + } + if ($('#f4w1').is(":checked")) { + $("#SingleShift1Cheharshanbehw1").val(timeInput); + } + if ($('#f5w1').is(":checked")) { + $("#SingleShift1Panjshanbehw1").val(timeInput); + } + if ($('#f6w1').is(":checked")) { + $("#SingleShift1Jomehw1").val(timeInput); + } + + } else { + $(this).css("background-color", "#f94c4c"); + $.Notification.autoHideNotify('error', 'top center', 'پیام سیستم ', "لطفا ساعت را بصورت صحیح وارد کنید"); + timeValid = false; + } + return isValid; + }); + //اینپوت ساعت پایان شیفت یک week1 + $('#SingleShift2w1').on('change', + function() { + const timeInput = $(this).val(); + const isValid = /^([2][0-3]|[1][0-9]|[0-9]|[0][0-9])([:][0-5][0-9])$/.test(timeInput); + + if (isValid || timeInput == "") { + if (timeInput != "") { + $(this).css("background-color", "#a6e9a6"); + } else { + $(this).css("background-color", "#fff"); + } + + timeValid = true; + if ($('#f1w1').is(":checked")) { + $("#SingleShift2Yekshanbehw1").val(timeInput); + } + if ($('#f2w1').is(":checked")) { + $("#SingleShift2Doshanbehw1").val(timeInput); + } + if ($('#f3w1').is(":checked")) { + $("#SingleShift2Seshanbehw1").val(timeInput); + } + if ($('#f4w1').is(":checked")) { + $("#SingleShift2Cheharshanbehw1").val(timeInput); + } + if ($('#f5w1').is(":checked")) { + $("#SingleShift2Panjshanbehw1").val(timeInput); + } + if ($('#f6w1').is(":checked")) { + $("#SingleShift2Jomehw1").val(timeInput); + } + + } else { + $(this).css("background-color", "#f94c4c"); + $.Notification.autoHideNotify('error', 'top center', 'پیام سیستم ', "لطفا ساعت را بصورت صحیح وارد کنید"); + timeValid = false; + } + return isValid; + }); + //اینپوت ساعت شروع شیفت دو week1 + $('#TowShifts1w1').on('change', + function() { + const timeInput = $(this).val(); + const isValid = /^([2][0-3]|[1][0-9]|[0-9]|[0][0-9])([:][0-5][0-9])$/.test(timeInput); + + if (isValid || timeInput == "") { + if (timeInput != "") { + $(this).css("background-color", "#a6e9a6"); + } else { + $(this).css("background-color", "#fff"); + } + + timeValid = true; + if ($('#f1w1').is(":checked")) { + $("#TowShifts1Yekshanbehw1").val(timeInput); + } + if ($('#f2w1').is(":checked")) { + $("#TowShifts1Doshanbehw1").val(timeInput); + } + if ($('#f3w1').is(":checked")) { + $("#TowShifts1Seshanbehw1").val(timeInput); + } + if ($('#f4w1').is(":checked")) { + $("#TowShifts1Cheharshanbehw1").val(timeInput); + } + if ($('#f5w1').is(":checked")) { + $("#TowShifts1Panjshanbehw1").val(timeInput); + } + if ($('#f6w1').is(":checked")) { + $("#TowShifts1Jomehw1").val(timeInput); + } + + } else { + $(this).css("background-color", "#f94c4c"); + $.Notification.autoHideNotify('error', 'top center', 'پیام سیستم ', "لطفا ساعت را بصورت صحیح وارد کنید"); + timeValid = false; + } + return isValid; + }); + //اینپوت ساعت پایان شیفت دو week1 + $('#TowShifts2w1').on('change', + function() { + const timeInput = $(this).val(); + const isValid = /^([2][0-3]|[1][0-9]|[0-9]|[0][0-9])([:][0-5][0-9])$/.test(timeInput); + + if (isValid || timeInput == "") { + if (timeInput != "") { + $(this).css("background-color", "#a6e9a6"); + } else { + $(this).css("background-color", "#fff"); + } + + timeValid = true; + if ($('#f1w1').is(":checked")) { + $("#TowShifts2Yekshanbehw1").val(timeInput); + } + if ($('#f2w1').is(":checked")) { + $("#TowShifts2Doshanbehw1").val(timeInput); + } + if ($('#f3w1').is(":checked")) { + $("#TowShifts2Seshanbehw1").val(timeInput); + } + if ($('#f4w1').is(":checked")) { + $("#TowShifts2Cheharshanbehw1").val(timeInput); + } + if ($('#f5w1').is(":checked")) { + $("#TowShifts2Panjshanbehw1").val(timeInput); + } + if ($('#f6w1').is(":checked")) { + $("#TowShifts2Jomehw1").val(timeInput); + } + + } else { + $(this).css("background-color", "#f94c4c"); + $.Notification.autoHideNotify('error', 'top center', 'پیام سیستم ', "لطفا ساعت را بصورت صحیح وارد کنید"); + timeValid = false; + } + return isValid; + }); + + //هفته دوم + //اینپوت ساعت شروع شیفت یک week2 + $('#SingleShift1w2').on('change', + function() { + const timeInput = $(this).val(); + const isValid = /^([2][0-3]|[1][0-9]|[0-9]|[0][0-9])([:][0-5][0-9])$/.test(timeInput); + + if (isValid || timeInput == "") { + if (timeInput != "") { + $(this).css("background-color", "#a6e9a6"); + } else { + $(this).css("background-color", "#fff"); + } + + timeValid = true; + if ($('#f1w2').is(":checked")) { + $("#SingleShift1Yekshanbehw2").val(timeInput); + } + if ($('#f2w2').is(":checked")) { + $("#SingleShift1Doshanbehw2").val(timeInput); + } + if ($('#f3w2').is(":checked")) { + $("#SingleShift1Seshanbehw2").val(timeInput); + } + if ($('#f4w2').is(":checked")) { + $("#SingleShift1Cheharshanbehw2").val(timeInput); + } + if ($('#f5w2').is(":checked")) { + $("#SingleShift1Panjshanbehw2").val(timeInput); + } + if ($('#f6w2').is(":checked")) { + $("#SingleShift1Jomehw2").val(timeInput); + } + + } else { + $(this).css("background-color", "#f94c4c"); + $.Notification.autoHideNotify('error', 'top center', 'پیام سیستم ', "لطفا ساعت را بصورت صحیح وارد کنید"); + timeValid = false; + } + return isValid; + }); + //اینپوت ساعت پایان شیفت یک week2 + $('#SingleShift2w2').on('change', + function() { + const timeInput = $(this).val(); + const isValid = /^([2][0-3]|[1][0-9]|[0-9]|[0][0-9])([:][0-5][0-9])$/.test(timeInput); + + if (isValid || timeInput == "") { + if (timeInput != "") { + $(this).css("background-color", "#a6e9a6"); + } else { + $(this).css("background-color", "#fff"); + } + + timeValid = true; + if ($('#f1w2').is(":checked")) { + $("#SingleShift2Yekshanbehw2").val(timeInput); + } + if ($('#f2w2').is(":checked")) { + $("#SingleShift2Doshanbehw2").val(timeInput); + } + if ($('#f3w2').is(":checked")) { + $("#SingleShift2Seshanbehw2").val(timeInput); + } + if ($('#f4w2').is(":checked")) { + $("#SingleShift2Cheharshanbehw2").val(timeInput); + } + if ($('#f5w2').is(":checked")) { + $("#SingleShift2Panjshanbehw2").val(timeInput); + } + if ($('#f6w2').is(":checked")) { + $("#SingleShift2Jomehw2").val(timeInput); + } + + } else { + $(this).css("background-color", "#f94c4c"); + $.Notification.autoHideNotify('error', 'top center', 'پیام سیستم ', "لطفا ساعت را بصورت صحیح وارد کنید"); + timeValid = false; + } + return isValid; + }); + //اینپوت ساعت شروع شیفت دو week2 + $('#TowShifts1w2').on('change', + function() { + const timeInput = $(this).val(); + const isValid = /^([2][0-3]|[1][0-9]|[0-9]|[0][0-9])([:][0-5][0-9])$/.test(timeInput); + + if (isValid || timeInput == "") { + if (timeInput != "") { + $(this).css("background-color", "#a6e9a6"); + } else { + $(this).css("background-color", "#fff"); + } + + timeValid = true; + if ($('#f1w2').is(":checked")) { + $("#TowShifts1Yekshanbehw2").val(timeInput); + } + if ($('#f2w2').is(":checked")) { + $("#TowShifts1Doshanbehw2").val(timeInput); + } + if ($('#f3w2').is(":checked")) { + $("#TowShifts1Seshanbehw2").val(timeInput); + } + if ($('#f4w2').is(":checked")) { + $("#TowShifts1Cheharshanbehw2").val(timeInput); + } + if ($('#f5w2').is(":checked")) { + $("#TowShifts1Panjshanbehw2").val(timeInput); + } + if ($('#f6w2').is(":checked")) { + $("#TowShifts1Jomehw2").val(timeInput); + } + + } else { + $(this).css("background-color", "#f94c4c"); + $.Notification.autoHideNotify('error', 'top center', 'پیام سیستم ', "لطفا ساعت را بصورت صحیح وارد کنید"); + timeValid = false; + } + return isValid; + }); + //اینپوت ساعت پایان شیفت دو week2 + $('#TowShifts2w2').on('change', + function() { + const timeInput = $(this).val(); + const isValid = /^([2][0-3]|[1][0-9]|[0-9]|[0][0-9])([:][0-5][0-9])$/.test(timeInput); + + if (isValid || timeInput == "") { + if (timeInput != "") { + $(this).css("background-color", "#a6e9a6"); + } else { + $(this).css("background-color", "#fff"); + } + + timeValid = true; + if ($('#f1w2').is(":checked")) { + $("#TowShifts2Yekshanbehw2").val(timeInput); + } + if ($('#f2w2').is(":checked")) { + $("#TowShifts2Doshanbehw2").val(timeInput); + } + if ($('#f3w2').is(":checked")) { + $("#TowShifts2Seshanbehw2").val(timeInput); + } + if ($('#f4w2').is(":checked")) { + $("#TowShifts2Cheharshanbehw2").val(timeInput); + } + if ($('#f5w2').is(":checked")) { + $("#TowShifts2Panjshanbehw2").val(timeInput); + } + if ($('#f6w2').is(":checked")) { + $("#TowShifts2Jomehw2").val(timeInput); + } + + } else { + $(this).css("background-color", "#f94c4c"); + $.Notification.autoHideNotify('error', 'top center', 'پیام سیستم ', "لطفا ساعت را بصورت صحیح وارد کنید"); + timeValid = false; + } + return isValid; + }); + + //هفته سوم + $('#TowShifts2w3').on('change', + function() { + const timeInput = $(this).val(); + const isValid = /^([2][0-3]|[1][0-9]|[0-9]|[0][0-9])([:][0-5][0-9])$/.test(timeInput); + + if (isValid || timeInput == "") { + if (timeInput != "") { + $(this).css("background-color", "#a6e9a6"); + } else { + $(this).css("background-color", "#fff"); + } + + timeValid = true; + if ($('#f1w3').is(":checked")) { + $("#TowShifts2Yekshanbehw3").val(timeInput); + } + if ($('#f2w3').is(":checked")) { + $("#TowShifts2Doshanbehw3").val(timeInput); + } + if ($('#f3w3').is(":checked")) { + $("#TowShifts2Seshanbehw3").val(timeInput); + } + if ($('#f4w3').is(":checked")) { + $("#TowShifts2Cheharshanbehw3").val(timeInput); + } + if ($('#f5w3').is(":checked")) { + $("#TowShifts2Panjshanbehw3").val(timeInput); + } + if ($('#f6w3').is(":checked")) { + $("#TowShifts2Jomehw3").val(timeInput); + } + + } else { + $(this).css("background-color", "#f94c4c"); + $.Notification.autoHideNotify('error', 'top center', 'پیام سیستم ', "لطفا ساعت را بصورت صحیح وارد کنید"); + timeValid = false; + } + return isValid; + }); + + //هفته دوم + //اینپوت ساعت شروع شیفت یک week3 + $('#SingleShift1w3').on('change', + function() { + const timeInput = $(this).val(); + const isValid = /^([2][0-3]|[1][0-9]|[0-9]|[0][0-9])([:][0-5][0-9])$/.test(timeInput); + + if (isValid || timeInput == "") { + if (timeInput != "") { + $(this).css("background-color", "#a6e9a6"); + } else { + $(this).css("background-color", "#fff"); + } + + timeValid = true; + if ($('#f1w3').is(":checked")) { + $("#SingleShift1Yekshanbehw3").val(timeInput); + } + if ($('#f2w3').is(":checked")) { + $("#SingleShift1Doshanbehw3").val(timeInput); + } + if ($('#f3w3').is(":checked")) { + $("#SingleShift1Seshanbehw3").val(timeInput); + } + if ($('#f4w3').is(":checked")) { + $("#SingleShift1Cheharshanbehw3").val(timeInput); + } + if ($('#f5w3').is(":checked")) { + $("#SingleShift1Panjshanbehw3").val(timeInput); + } + if ($('#f6w3').is(":checked")) { + $("#SingleShift1Jomehw3").val(timeInput); + } + + } else { + $(this).css("background-color", "#f94c4c"); + $.Notification.autoHideNotify('error', 'top center', 'پیام سیستم ', "لطفا ساعت را بصورت صحیح وارد کنید"); + timeValid = false; + } + return isValid; + }); + //اینپوت ساعت پایان شیفت یک week3 + $('#SingleShift2w3').on('change', + function() { + const timeInput = $(this).val(); + const isValid = /^([2][0-3]|[1][0-9]|[0-9]|[0][0-9])([:][0-5][0-9])$/.test(timeInput); + + if (isValid || timeInput == "") { + if (timeInput != "") { + $(this).css("background-color", "#a6e9a6"); + } else { + $(this).css("background-color", "#fff"); + } + + timeValid = true; + if ($('#f1w3').is(":checked")) { + $("#SingleShift2Yekshanbehw3").val(timeInput); + } + if ($('#f2w3').is(":checked")) { + $("#SingleShift2Doshanbehw3").val(timeInput); + } + if ($('#f3w3').is(":checked")) { + $("#SingleShift2Seshanbehw3").val(timeInput); + } + if ($('#f4w3').is(":checked")) { + $("#SingleShift2Cheharshanbehw3").val(timeInput); + } + if ($('#f5w3').is(":checked")) { + $("#SingleShift2Panjshanbehw3").val(timeInput); + } + if ($('#f6w3').is(":checked")) { + $("#SingleShift2Jomehw3").val(timeInput); + } + + } else { + $(this).css("background-color", "#f94c4c"); + $.Notification.autoHideNotify('error', 'top center', 'پیام سیستم ', "لطفا ساعت را بصورت صحیح وارد کنید"); + timeValid = false; + } + return isValid; + }); + //اینپوت ساعت شروع شیفت دو week3 + $('#TowShifts1w3').on('change', + function() { + const timeInput = $(this).val(); + const isValid = /^([2][0-3]|[1][0-9]|[0-9]|[0][0-9])([:][0-5][0-9])$/.test(timeInput); + + if (isValid || timeInput == "") { + if (timeInput != "") { + $(this).css("background-color", "#a6e9a6"); + } else { + $(this).css("background-color", "#fff"); + } + + timeValid = true; + if ($('#f1w3').is(":checked")) { + $("#TowShifts1Yekshanbehw3").val(timeInput); + } + if ($('#f2w3').is(":checked")) { + $("#TowShifts1Doshanbehw3").val(timeInput); + } + if ($('#f3w3').is(":checked")) { + $("#TowShifts1Seshanbehw3").val(timeInput); + } + if ($('#f4w3').is(":checked")) { + $("#TowShifts1Cheharshanbehw3").val(timeInput); + } + if ($('#f5w3').is(":checked")) { + $("#TowShifts1Panjshanbehw3").val(timeInput); + } + if ($('#f6w3').is(":checked")) { + $("#TowShifts1Jomehw3").val(timeInput); + } + + } else { + $(this).css("background-color", "#f94c4c"); + $.Notification.autoHideNotify('error', 'top center', 'پیام سیستم ', "لطفا ساعت را بصورت صحیح وارد کنید"); + timeValid = false; + } + return isValid; + }); + //اینپوت ساعت پایان شیفت دو week3 + $('#TowShifts2w3').on('change', + function() { + const timeInput = $(this).val(); + const isValid = /^([2][0-3]|[1][0-9]|[0-9]|[0][0-9])([:][0-5][0-9])$/.test(timeInput); + + if (isValid || timeInput == "") { + if (timeInput != "") { + $(this).css("background-color", "#a6e9a6"); + } else { + $(this).css("background-color", "#fff"); + } + + timeValid = true; + if ($('#f1w3').is(":checked")) { + $("#TowShifts2Yekshanbehw3").val(timeInput); + } + if ($('#f2w3').is(":checked")) { + $("#TowShifts2Doshanbehw3").val(timeInput); + } + if ($('#f3w3').is(":checked")) { + $("#TowShifts2Seshanbehw3").val(timeInput); + } + if ($('#f4w3').is(":checked")) { + $("#TowShifts2Cheharshanbehw3").val(timeInput); + } + if ($('#f5w3').is(":checked")) { + $("#TowShifts2Panjshanbehw3").val(timeInput); + } + if ($('#f6w3').is(":checked")) { + $("#TowShifts2Jomehw3").val(timeInput); + } + + } else { + $(this).css("background-color", "#f94c4c"); + $.Notification.autoHideNotify('error', 'top center', 'پیام سیستم ', "لطفا ساعت را بصورت صحیح وارد کنید"); + timeValid = false; + } + return isValid; + }); + + + //هفته چهارم + //اینپوت ساعت شروع شیفت یک week4 + $('#SingleShift1w4').on('change', + function() { + const timeInput = $(this).val(); + const isValid = /^([2][0-3]|[1][0-9]|[0-9]|[0][0-9])([:][0-5][0-9])$/.test(timeInput); + + if (isValid || timeInput == "") { + if (timeInput != "") { + $(this).css("background-color", "#a6e9a6"); + } else { + $(this).css("background-color", "#fff"); + } + + timeValid = true; + if ($('#f1w4').is(":checked")) { + $("#SingleShift1Yekshanbehw4").val(timeInput); + } + if ($('#f2w4').is(":checked")) { + $("#SingleShift1Doshanbehw4").val(timeInput); + } + if ($('#f3w4').is(":checked")) { + $("#SingleShift1Seshanbehw4").val(timeInput); + } + if ($('#f4w4').is(":checked")) { + $("#SingleShift1Cheharshanbehw4").val(timeInput); + } + if ($('#f5w4').is(":checked")) { + $("#SingleShift1Panjshanbehw4").val(timeInput); + } + if ($('#f6w4').is(":checked")) { + $("#SingleShift1Jomehw4").val(timeInput); + } + + } else { + $(this).css("background-color", "#f94c4c"); + $.Notification.autoHideNotify('error', 'top center', 'پیام سیستم ', "لطفا ساعت را بصورت صحیح وارد کنید"); + timeValid = false; + } + return isValid; + }); + //اینپوت ساعت پایان شیفت یک week4 + $('#SingleShift2w4').on('change', + function() { + const timeInput = $(this).val(); + const isValid = /^([2][0-3]|[1][0-9]|[0-9]|[0][0-9])([:][0-5][0-9])$/.test(timeInput); + + if (isValid || timeInput == "") { + if (timeInput != "") { + $(this).css("background-color", "#a6e9a6"); + } else { + $(this).css("background-color", "#fff"); + } + + timeValid = true; + if ($('#f1w4').is(":checked")) { + $("#SingleShift2Yekshanbehw4").val(timeInput); + } + if ($('#f2w4').is(":checked")) { + $("#SingleShift2Doshanbehw4").val(timeInput); + } + if ($('#f3w4').is(":checked")) { + $("#SingleShift2Seshanbehw4").val(timeInput); + } + if ($('#f4w4').is(":checked")) { + $("#SingleShift2Cheharshanbehw4").val(timeInput); + } + if ($('#f5w4').is(":checked")) { + $("#SingleShift2Panjshanbehw4").val(timeInput); + } + if ($('#f6w4').is(":checked")) { + $("#SingleShift2Jomehw4").val(timeInput); + } + + } else { + $(this).css("background-color", "#f94c4c"); + $.Notification.autoHideNotify('error', 'top center', 'پیام سیستم ', "لطفا ساعت را بصورت صحیح وارد کنید"); + timeValid = false; + } + return isValid; + }); + //اینپوت ساعت شروع شیفت دو week4 + $('#TowShifts1w4').on('change', + function() { + const timeInput = $(this).val(); + const isValid = /^([2][0-3]|[1][0-9]|[0-9]|[0][0-9])([:][0-5][0-9])$/.test(timeInput); + + if (isValid || timeInput == "") { + if (timeInput != "") { + $(this).css("background-color", "#a6e9a6"); + } else { + $(this).css("background-color", "#fff"); + } + + timeValid = true; + if ($('#f1w4').is(":checked")) { + $("#TowShifts1Yekshanbehw4").val(timeInput); + } + if ($('#f2w4').is(":checked")) { + $("#TowShifts1Doshanbehw4").val(timeInput); + } + if ($('#f3w4').is(":checked")) { + $("#TowShifts1Seshanbehw4").val(timeInput); + } + if ($('#f4w4').is(":checked")) { + $("#TowShifts1Cheharshanbehw4").val(timeInput); + } + if ($('#f5w4').is(":checked")) { + $("#TowShifts1Panjshanbehw4").val(timeInput); + } + if ($('#f6w4').is(":checked")) { + $("#TowShifts1Jomehw4").val(timeInput); + } + + } else { + $(this).css("background-color", "#f94c4c"); + $.Notification.autoHideNotify('error', 'top center', 'پیام سیستم ', "لطفا ساعت را بصورت صحیح وارد کنید"); + timeValid = false; + } + return isValid; + }); + //اینپوت ساعت پایان شیفت دو week4 + $('#TowShifts2w4').on('change', + function() { + const timeInput = $(this).val(); + const isValid = /^([2][0-3]|[1][0-9]|[0-9]|[0][0-9])([:][0-5][0-9])$/.test(timeInput); + + if (isValid || timeInput == "") { + if (timeInput != "") { + $(this).css("background-color", "#a6e9a6"); + } else { + $(this).css("background-color", "#fff"); + } + + timeValid = true; + if ($('#f1w4').is(":checked")) { + $("#TowShifts2Yekshanbehw4").val(timeInput); + } + if ($('#f2w4').is(":checked")) { + $("#TowShifts2Doshanbehw4").val(timeInput); + } + if ($('#f3w4').is(":checked")) { + $("#TowShifts2Seshanbehw4").val(timeInput); + } + if ($('#f4w4').is(":checked")) { + $("#TowShifts2Cheharshanbehw4").val(timeInput); + } + if ($('#f5w4').is(":checked")) { + $("#TowShifts2Panjshanbehw4").val(timeInput); + } + if ($('#f6w4').is(":checked")) { + $("#TowShifts2Jomehw4").val(timeInput); + } + + } else { + $(this).css("background-color", "#f94c4c"); + $.Notification.autoHideNotify('error', 'top center', 'پیام سیستم ', "لطفا ساعت را بصورت صحیح وارد کنید"); + timeValid = false; + } + return isValid; + }); + ////////////////////copy Rest Times/////////RestTimeMin + $('#restTime').on('click', + function() { + const selected = $(this).prop('selectedIndex'); + if ($('#f1').is(":checked")) { + $('#RestTimeYekshanbeh').prop('selectedIndex', selected); + } + if ($('#f2').is(":checked")) { + $('#RestTimeDoshanbeh').prop('selectedIndex', selected); + } + if ($('#f3').is(":checked")) { + $('#RestTimeSeshanbeh').prop('selectedIndex', selected); + } + if ($('#f4').is(":checked")) { + $('#RestTimeCheharshanbeh').prop('selectedIndex', selected); + } + if ($('#f5').is(":checked")) { + $('#RestTimePanjshanbeh').prop('selectedIndex', selected); + } + if ($('#f6').is(":checked")) { + $('#RestTimeJomeh').prop('selectedIndex', selected); + } + }); + + $('#RestTimeMin').on('click', + function() { + const selected = $(this).prop('selectedIndex'); + if ($('#f1').is(":checked")) { + $('#RestTimeYekshanbehMin').prop('selectedIndex', selected); + } + if ($('#f2').is(":checked")) { + $('#RestTimeDoshanbehMin').prop('selectedIndex', selected); + } + if ($('#f3').is(":checked")) { + $('#RestTimeSeshanbehMin').prop('selectedIndex', selected); + } + if ($('#f4').is(":checked")) { + $('#RestTimeCheharshanbehMin').prop('selectedIndex', selected); + } + if ($('#f5').is(":checked")) { + $('#RestTimePanjshanbehMin').prop('selectedIndex', selected); + } + if ($('#f6').is(":checked")) { + $('#RestTimeJomehMin').prop('selectedIndex', selected); + } + }); + + //غیرفعال کردن شیفت دو + function towDeactive() { + $('input.tow').each(function() { + $(this).attr("disabled", "disabled"); + $(this).addClass("input-deactive"); + $(this).val(""); + $(this).removeProp("style"); + + + }); + } + + //فعال کردن شیفت دو + function towActive() { + $('input.tow').each(function() { + $(this).removeAttr("disabled"); + $(this).removeClass("input-deactive"); + + + }); + } + + function oneActive() { + $('input.one').each(function() { + $(this).removeAttr("disabled"); + $(this).removeClass("input-deactive"); + + + }); + } + + //غیرفعال کردن ساعت استراحت + function restDeactive() { + $('.restActive').each(function() { + $(this).attr("disabled", "disabled"); + $(this).addClass("input-deactive"); + $(this).prop('selectedIndex', 0); + + + }); + } + + // خالی کردن ساعت استرحت + function restReset() { + $('.restActive').each(function() { + + $(this).prop('selectedIndex', 0); + + + }); + } + + //فعال کردن ساعت استراحت + function restActive() { + $('.restActive').each(function() { + $(this).removeAttr("disabled"); + $(this).removeClass("input-deactive"); + + + }); + } + + function weeklyBtnDefault() { + $('#fw1').prop('checked', true); + $('#f1w1').prop('checked', true); + $('#f2w1').prop('checked', true); + $('#f3w1').prop('checked', true); + $('#f4w1').prop('checked', true); + $('#f5w1').prop('checked', true); + $('#f6w1').prop('checked', false); + + $('#fw2').prop('checked', true); + $('#f1w2').prop('checked', true); + $('#f2w2').prop('checked', true); + $('#f3w2').prop('checked', true); + $('#f4w2').prop('checked', true); + $('#f5w2').prop('checked', true); + $('#f6w2').prop('checked', false); + + $('#fw3').prop('checked', true); + $('#f1w3').prop('checked', true); + $('#f2w3').prop('checked', true); + $('#f3w3').prop('checked', true); + $('#f4w3').prop('checked', true); + $('#f5w3').prop('checked', true); + $('#f6w3').prop('checked', false); + + $('#fw4').prop('checked', true); + $('#f1w4').prop('checked', true); + $('#f2w4').prop('checked', true); + $('#f3w4').prop('checked', true); + $('#f4w4').prop('checked', true); + $('#f5w4').prop('checked', true); + $('#f6w4').prop('checked', false); + } + }; + + $(window).on("load", part3()); + + function part3() { + $('#copyToOtherWeeks').on("click", + function() { + + // shanbe + if ($('#fw1').is(":checked")) { + $('#fw2').prop("checked", true); + $('#fw3').prop("checked", true); + $('#fw4').prop("checked", true); + //copy shanbe to w2 + $('#restTimew2').val($('#restTimew1').val()); + $('#RestTimeMinw2').val($('#RestTimeMinw1').val()); + $('#SingleShift1w2').val($('#SingleShift1w1').val()); + $('#SingleShift2w2').val($('#SingleShift2w1').val()); + $('#TowShifts1w2').val($('#TowShifts1w1').val()); + $('#TowShifts2w2').val($('#TowShifts2w1').val()); + $('#shanbehw2').addClass("btn-active"); + $('#shanbehRow3w2 input').each(function() { + $(this).removeAttr("disabled", "disabled"); + $(this).removeClass("input-deactive"); + }); + //copy shanbe to w3 + $('#restTimew3').val($('#restTimew1').val()); + $('#RestTimeMinw3').val($('#RestTimeMinw1').val()); + $('#SingleShift1w3').val($('#SingleShift1w1').val()); + $('#SingleShift2w3').val($('#SingleShift2w1').val()); + $('#TowShifts1w3').val($('#TowShifts1w1').val()); + $('#TowShifts2w3').val($('#TowShifts2w1').val()); + $('#shanbehw3').addClass("btn-active"); + $('#shanbehRow3w3 input').each(function() { + $(this).removeAttr("disabled", "disabled"); + $(this).removeClass("input-deactive"); + }); + //copy shanbe to w4 + $('#restTimew4').val($('#restTimew1').val()); + $('#RestTimeMinw4').val($('#RestTimeMinw1').val()); + $('#SingleShift1w4').val($('#SingleShift1w1').val()); + $('#SingleShift2w4').val($('#SingleShift2w1').val()); + $('#TowShifts1w4').val($('#TowShifts1w1').val()); + $('#TowShifts2w4').val($('#TowShifts2w1').val()); + $('#shanbehw4').addClass("btn-active"); + $('#shanbehRow3w4 input').each(function() { + $(this).removeAttr("disabled", "disabled"); + $(this).removeClass("input-deactive"); + }); + + } else { + $('#fw2').prop("checked", false); + $('#fw3').prop("checked", false); + $('#fw4').prop("checked", false); + //copy shanbe to w2 + $('#shanbehw2').removeClass("btn-active"); + $('#shanbehRow3w2 input').each(function() { + $(this).attr("disabled", "disabled"); + $(this).addClass("input-deactive"); + $(this).val(""); + }); + $('#shanbehRow3w2 .rest').each(function() { + + $(this).prop('selectedIndex', 0); + }); + + //copy shanbe to w3 + $('#shanbehw3').removeClass("btn-active"); + $('#shanbehRow3w3 input').each(function() { + $(this).attr("disabled", "disabled"); + $(this).addClass("input-deactive"); + $(this).val(""); + }); + $('#shanbehRow3w3 .rest').each(function() { + + $(this).prop('selectedIndex', 0); + }); + + //copy shanbe to w4 + $('#shanbehw4').removeClass("btn-active"); + $('#shanbehRow3w4 input').each(function() { + $(this).attr("disabled", "disabled"); + $(this).addClass("input-deactive"); + $(this).val(""); + }); + $('#shanbehRow3w4 .rest').each(function() { + + $(this).prop('selectedIndex', 0); + }); + } + + // yekshanbe + if ($('#f1w1').is(":checked")) { + $('#f1w2').prop("checked", true); + $('#f1w3').prop("checked", true); + $('#f1w4').prop("checked", true); + //copy yekshanbe to w2 + $('#RestTimeYekshanbehw2').val($('#RestTimeYekshanbehw1').val()); + $('#RestTimeYekshanbehMinw2').val($('#RestTimeYekshanbehMinw1').val()); + $('#SingleShift1Yekshanbehw2').val($('#SingleShift1Yekshanbehw1').val()); + $('#SingleShift2Yekshanbehw2').val($('#SingleShift2Yekshanbehw1').val()); + $('#TowShifts1Yekshanbehw2').val($('#TowShifts1Yekshanbehw1').val()); + $('#TowShifts2Yekshanbehw2').val($('#TowShifts2Yekshanbehw1').val()); + $('#yekshanbehw2').addClass("btn-active"); + $('#yekshanbehRow3w2 input').each(function() { + $(this).removeAttr("disabled", "disabled"); + $(this).removeClass("input-deactive"); + }); + //copy yekshanbe to w3 + $('#RestTimeYekshanbehw3').val($('#RestTimeYekshanbehw1').val()); + $('#RestTimeYekshanbehMinw3').val($('#RestTimeYekshanbehMinw1').val()); + $('#SingleShift1Yekshanbehw3').val($('#SingleShift1Yekshanbehw1').val()); + $('#SingleShift2Yekshanbehw3').val($('#SingleShift2Yekshanbehw1').val()); + $('#TowShifts1Yekshanbehw3').val($('#TowShifts1Yekshanbehw1').val()); + $('#TowShifts2Yekshanbehw3').val($('#TowShifts2Yekshanbehw1').val()); + $('#yekshanbehw3').addClass("btn-active"); + $('#yekshanbehRow3w3 input').each(function() { + $(this).removeAttr("disabled", "disabled"); + $(this).removeClass("input-deactive"); + }); + //copy yekshanbe to w4 + $('#RestTimeYekshanbehw4').val($('#RestTimeYekshanbehw1').val()); + $('#RestTimeYekshanbehMinw4').val($('#RestTimeYekshanbehMinw1').val()); + $('#SingleShift1Yekshanbehw4').val($('#SingleShift1Yekshanbehw1').val()); + $('#SingleShift2Yekshanbehw4').val($('#SingleShift2Yekshanbehw1').val()); + $('#TowShifts1Yekshanbehw4').val($('#TowShifts1Yekshanbehw1').val()); + $('#TowShifts2Yekshanbehw4').val($('#TowShifts2Yekshanbehw1').val()); + $('#yekshanbehw4').addClass("btn-active"); + $('#yekshanbehRow3w4 input').each(function() { + $(this).removeAttr("disabled", "disabled"); + $(this).removeClass("input-deactive"); + }); + + } else { + $('#f1w2').prop("checked", false); + $('#f1w3').prop("checked", false); + $('#f1w4').prop("checked", false); + //copy yekshanbe to w2 + $('#yekshanbehw2').removeClass("btn-active"); + $('#yekshanbehRow3w2 input').each(function() { + $(this).attr("disabled", "disabled"); + $(this).addClass("input-deactive"); + $(this).val(""); + }); + $('#yekshanbehRow3w2 .rest').each(function() { + + $(this).prop('selectedIndex', 0); + }); + + //copy yekshanbe to w3 + $('#yekshanbehw3').removeClass("btn-active"); + $('#yekshanbehRow3w3 input').each(function() { + $(this).attr("disabled", "disabled"); + $(this).addClass("input-deactive"); + $(this).val(""); + }); + $('#yekshanbehRow3w3 .rest').each(function() { + + $(this).prop('selectedIndex', 0); + }); + + //copy yekshanbe to w4 + $('#yekshanbehw4').removeClass("btn-active"); + $('#yekshanbehRow3w4 input').each(function() { + $(this).attr("disabled", "disabled"); + $(this).addClass("input-deactive"); + $(this).val(""); + }); + $('#yekshanbehRow3w4 .rest').each(function() { + + $(this).prop('selectedIndex', 0); + }); + } + + + // doshanbe + if ($('#f2w1').is(":checked")) { + $('#f2w2').prop("checked", true); + $('#f2w3').prop("checked", true); + $('#f2w4').prop("checked", true); + //copy doshanbe to w2 + $('#RestTimeDoshanbehw2').val($('#RestTimeDoshanbehw1').val()); + $('#RestTimeDoshanbehMinw2').val($('#RestTimeDoshanbehMinw1').val()); + $('#SingleShift1Doshanbehw2').val($('#SingleShift1Doshanbehw1').val()); + $('#SingleShift2Doshanbehw2').val($('#SingleShift2Doshanbehw1').val()); + $('#TowShifts1Doshanbehw2').val($('#TowShifts1Doshanbehw1').val()); + $('#TowShifts2Doshanbehw2').val($('#TowShifts2Doshanbehw1').val()); + $('#doshanbehw2').addClass("btn-active"); + $('#doshanbehRow3w2 input').each(function() { + $(this).removeAttr("disabled", "disabled"); + $(this).removeClass("input-deactive"); + }); + //copy doshanbe to w3 + $('#RestTimeDoshanbehw3').val($('#RestTimeDoshanbehw1').val()); + $('#RestTimeDoshanbehMinw3').val($('#RestTimeDoshanbehMinw1').val()); + $('#SingleShift1Doshanbehw3').val($('#SingleShift1Doshanbehw1').val()); + $('#SingleShift2Doshanbehw3').val($('#SingleShift2Doshanbehw1').val()); + $('#TowShifts1Doshanbehw3').val($('#TowShifts1Doshanbehw1').val()); + $('#TowShifts2Doshanbehw3').val($('#TowShifts2Doshanbehw1').val()); + $('#doshanbehw3').addClass("btn-active"); + $('#doshanbehRow3w3 input').each(function() { + $(this).removeAttr("disabled", "disabled"); + $(this).removeClass("input-deactive"); + }); + //copy doshanbe to w4 + $('#RestTimeDoshanbehw4').val($('#RestTimeDoshanbehw1').val()); + $('#RestTimeDoshanbehMinw4').val($('#RestTimeDoshanbehMinw1').val()); + $('#SingleShift1Doshanbehw4').val($('#SingleShift1Doshanbehw1').val()); + $('#SingleShift2Doshanbehw4').val($('#SingleShift2Doshanbehw1').val()); + $('#TowShifts1Doshanbehw4').val($('#TowShifts1Doshanbehw1').val()); + $('#TowShifts2Doshanbehw4').val($('#TowShifts2Doshanbehw1').val()); + $('#doshanbehw4').addClass("btn-active"); + $('#doshanbehRow3w4 input').each(function() { + $(this).removeAttr("disabled", "disabled"); + $(this).removeClass("input-deactive"); + }); + + } else { + $('#f2w2').prop("checked", false); + $('#f2w3').prop("checked", false); + $('#f2w4').prop("checked", false); + //copy doshanbe to w2 + $('#doshanbehw2').removeClass("btn-active"); + $('#doshanbehRow3w2 input').each(function() { + $(this).attr("disabled", "disabled"); + $(this).addClass("input-deactive"); + $(this).val(""); + }); + $('#doshanbehRow3w2 .rest').each(function() { + + $(this).prop('selectedIndex', 0); + }); + + //copy doshanbe to w3 + $('#doshanbehw3').removeClass("btn-active"); + $('#doshanbehRow3w3 input').each(function() { + $(this).attr("disabled", "disabled"); + $(this).addClass("input-deactive"); + $(this).val(""); + }); + $('#doshanbehRow3w3 .rest').each(function() { + + $(this).prop('selectedIndex', 0); + }); + + //copy doshanbe to w4 + $('#doshanbehw4').removeClass("btn-active"); + $('#doshanbehRow3w4 input').each(function() { + $(this).attr("disabled", "disabled"); + $(this).addClass("input-deactive"); + $(this).val(""); + }); + $('#doshanbehRow3w4 .rest').each(function() { + + $(this).prop('selectedIndex', 0); + }); + } + + // seshanbe + if ($('#f3w1').is(":checked")) { + $('#f3w2').prop("checked", true); + $('#f3w3').prop("checked", true); + $('#f3w4').prop("checked", true); + //copy seshanbe to w2 + $('#RestTimeSeshanbehw2').val($('#RestTimeSeshanbehw1').val()); + $('#RestTimeSeshanbehMinw2').val($('#RestTimeSeshanbehMinw1').val()); + $('#SingleShift1Seshanbehw2').val($('#SingleShift1Seshanbehw1').val()); + $('#SingleShift2Seshanbehw2').val($('#SingleShift2Seshanbehw1').val()); + $('#TowShifts1Seshanbehw2').val($('#TowShifts1Seshanbehw1').val()); + $('#TowShifts2Seshanbehw2').val($('#TowShifts2Seshanbehw1').val()); + $('#seshanbehw2').addClass("btn-active"); + $('#seshanbehRow3w2 input').each(function() { + $(this).removeAttr("disabled", "disabled"); + $(this).removeClass("input-deactive"); + }); + //copy seshanbe to w3 + $('#RestTimeSeshanbehw3').val($('#RestTimeSeshanbehw1').val()); + $('#RestTimeSeshanbehMinw3').val($('#RestTimeSeshanbehMinw1').val()); + $('#SingleShift1Seshanbehw3').val($('#SingleShift1Seshanbehw1').val()); + $('#SingleShift2Seshanbehw3').val($('#SingleShift2Seshanbehw1').val()); + $('#TowShifts1Seshanbehw3').val($('#TowShifts1Seshanbehw1').val()); + $('#TowShifts2Seshanbehw3').val($('#TowShifts2Seshanbehw1').val()); + $('#seshanbehw3').addClass("btn-active"); + $('#seshanbehRow3w3 input').each(function() { + $(this).removeAttr("disabled", "disabled"); + $(this).removeClass("input-deactive"); + }); + //copy seshanbe to w4 + $('#RestTimeSeshanbehw4').val($('#RestTimeSeshanbehw1').val()); + $('#RestTimeSeshanbehMinw4').val($('#RestTimeSeshanbehMinw1').val()); + $('#SingleShift1Seshanbehw4').val($('#SingleShift1Seshanbehw1').val()); + $('#SingleShift2Seshanbehw4').val($('#SingleShift2Seshanbehw1').val()); + $('#TowShifts1Seshanbehw4').val($('#TowShifts1Seshanbehw1').val()); + $('#TowShifts2Seshanbehw4').val($('#TowShifts2Seshanbehw1').val()); + $('#seshanbehw4').addClass("btn-active"); + $('#seshanbehRow3w4 input').each(function() { + $(this).removeAttr("disabled", "disabled"); + $(this).removeClass("input-deactive"); + }); + + } else { + $('#f3w2').prop("checked", false); + $('#f3w3').prop("checked", false); + $('#f3w4').prop("checked", false); + //copy seshanbe to w2 + $('#seshanbehw2').removeClass("btn-active"); + $('#seshanbehRow3w2 input').each(function() { + $(this).attr("disabled", "disabled"); + $(this).addClass("input-deactive"); + $(this).val(""); + }); + $('#seshanbehRow3w2 .rest').each(function() { + + $(this).prop('selectedIndex', 0); + }); + + //copy seshanbe to w3 + $('#seshanbehw3').removeClass("btn-active"); + $('#seshanbehRow3w3 input').each(function() { + $(this).attr("disabled", "disabled"); + $(this).addClass("input-deactive"); + $(this).val(""); + }); + $('#seshanbehRow3w3 .rest').each(function() { + + $(this).prop('selectedIndex', 0); + }); + + //copy seshanbe to w4 + $('#seshanbehw4').removeClass("btn-active"); + $('#seshanbehRow3w4 input').each(function() { + $(this).attr("disabled", "disabled"); + $(this).addClass("input-deactive"); + $(this).val(""); + }); + $('#seshanbehRow3w4 .rest').each(function() { + + $(this).prop('selectedIndex', 0); + }); + } + // CheharShanbe + if ($('#f4w1').is(":checked")) { + $('#f4w2').prop("checked", true); + $('#f4w3').prop("checked", true); + $('#f4w4').prop("checked", true); + //copy CHeharshanbe to w2 + $('#RestTimeCheharshanbehw2').val($('#RestTimeCheharshanbehw1').val()); + $('#RestTimeCheharshanbehMinw2').val($('#RestTimeCheharshanbehMinw1').val()); + $('#SingleShift1Cheharshanbehw2').val($('#SingleShift1Cheharshanbehw1').val()); + $('#SingleShift2Cheharshanbehw2').val($('#SingleShift2Cheharshanbehw1').val()); + $('#TowShifts1Cheharshanbehw2').val($('#TowShifts1Cheharshanbehw1').val()); + $('#TowShifts2Cheharshanbehw2').val($('#TowShifts2Cheharshanbehw1').val()); + $('#cheharshanbehw2').addClass("btn-active"); + $('#cheharshanbehRow3w2 input').each(function() { + $(this).removeAttr("disabled", "disabled"); + $(this).removeClass("input-deactive"); + }); + //copy cheharshanbe to w3 + $('#RestTimeCheharshanbehw3').val($('#RestTimeCheharshanbehw1').val()); + $('#RestTimeCheharshanbehMinw3').val($('#RestTimeCheharshanbehMinw1').val()); + $('#SingleShift1Cheharshanbehw3').val($('#SingleShift1Cheharshanbehw1').val()); + $('#SingleShift2Cheharshanbehw3').val($('#SingleShift2Cheharshanbehw1').val()); + $('#TowShifts1Cheharshanbehw3').val($('#TowShifts1Cheharshanbehw1').val()); + $('#TowShifts2Cheharshanbehw3').val($('#TowShifts2Cheharshanbehw1').val()); + $('#cheharshanbehw3').addClass("btn-active"); + $('#cheharshanbehRow3w3 input').each(function() { + $(this).removeAttr("disabled", "disabled"); + $(this).removeClass("input-deactive"); + }); + //copy cheharshanbe to w4 + $('#RestTimeCheharshanbehw4').val($('#RestTimeCheharshanbehw1').val()); + $('#RestTimeCheharshanbehMinw4').val($('#RestTimeCheharshanbehMinw1').val()); + $('#SingleShift1Cheharshanbehw4').val($('#SingleShift1Cheharshanbehw1').val()); + $('#SingleShift2Cheharshanbehw4').val($('#SingleShift2Cheharshanbehw1').val()); + $('#TowShifts1Cheharshanbehw4').val($('#TowShifts1Cheharshanbehw1').val()); + $('#TowShifts2Cheharshanbehw4').val($('#TowShifts2Cheharshanbehw1').val()); + $('#cheharshanbehw4').addClass("btn-active"); + $('#cheharshanbehRow3w4 input').each(function() { + $(this).removeAttr("disabled", "disabled"); + $(this).removeClass("input-deactive"); + }); + + } else { + $('#f4w2').prop("checked", false); + $('#f4w3').prop("checked", false); + $('#f4w4').prop("checked", false); + //copy cheharshanbe to w2 + $('#cheharshanbehw2').removeClass("btn-active"); + $('#cheharshanbehRow3w2 input').each(function() { + $(this).attr("disabled", "disabled"); + $(this).addClass("input-deactive"); + $(this).val(""); + }); + $('#cheharshanbehRow3w2 .rest').each(function() { + + $(this).prop('selectedIndex', 0); + }); + + //copy cheharshanbe to w3 + $('#cheharshanbehw3').removeClass("btn-active"); + $('#cheharshanbehRow3w3 input').each(function() { + $(this).attr("disabled", "disabled"); + $(this).addClass("input-deactive"); + $(this).val(""); + }); + $('#cheharshanbehRow3w3 .rest').each(function() { + + $(this).prop('selectedIndex', 0); + }); + + //copy cheharshanbe to w4 + $('#cheharshanbehw4').removeClass("btn-active"); + $('#cheharshanbehRow3w4 input').each(function() { + $(this).attr("disabled", "disabled"); + $(this).addClass("input-deactive"); + $(this).val(""); + }); + $('#cheharshanbehRow3w4 .rest').each(function() { + + $(this).prop('selectedIndex', 0); + }); + } + // PanjShanbe + if ($('#f5w1').is(":checked")) { + $('#f5w2').prop("checked", true); + $('#f5w3').prop("checked", true); + $('#f5w4').prop("checked", true); + //copy Panjshanbe to w2 + $('#RestTimePanjshanbehw2').val($('#RestTimePanjshanbehw1').val()); + $('#RestTimePanjshanbehMinw2').val($('#RestTimePanjshanbehMinw1').val()); + $('#SingleShift1Panjshanbehw2').val($('#SingleShift1Panjshanbehw1').val()); + $('#SingleShift2Panjshanbehw2').val($('#SingleShift2Panjshanbehw1').val()); + $('#TowShifts1Panjshanbehw2').val($('#TowShifts1Panjshanbehw1').val()); + $('#TowShifts2Panjshanbehw2').val($('#TowShifts2Panjshanbehw1').val()); + $('#panjshanbehw2').addClass("btn-active"); + $('#panjshanbehRow3w2 input').each(function() { + $(this).removeAttr("disabled", "disabled"); + $(this).removeClass("input-deactive"); + }); + //copy Panjshanbe to w3 + $('#RestTimePanjshanbehw3').val($('#RestTimePanjshanbehw1').val()); + $('#RestTimePanjshanbehMinw3').val($('#RestTimePanjshanbehMinw1').val()); + $('#SingleShift1Panjshanbehw3').val($('#SingleShift1Panjshanbehw1').val()); + $('#SingleShift2Panjshanbehw3').val($('#SingleShift2Panjshanbehw1').val()); + $('#TowShifts1Panjshanbehw3').val($('#TowShifts1Panjshanbehw1').val()); + $('#TowShifts2Panjshanbehw3').val($('#TowShifts2Panjshanbehw1').val()); + $('#panjshanbehw3').addClass("btn-active"); + $('#panjshanbehRow3w3 input').each(function() { + $(this).removeAttr("disabled", "disabled"); + $(this).removeClass("input-deactive"); + }); + //copy Panjshanbe to w4 + $('#RestTimePanjshanbehw4').val($('#RestTimePanjshanbehw1').val()); + $('#RestTimePanjshanbehMinw4').val($('#RestTimePanjshanbehMinw1').val()); + $('#SingleShift1Panjshanbehw4').val($('#SingleShift1Panjshanbehw1').val()); + $('#SingleShift2Panjshanbehw4').val($('#SingleShift2Panjshanbehw1').val()); + $('#TowShifts1Panjshanbehw4').val($('#TowShifts1Panjshanbehw1').val()); + $('#TowShifts2Panjshanbehw4').val($('#TowShifts2Panjshanbehw1').val()); + $('#panjshanbehw4').addClass("btn-active"); + $('#panjshanbehRow3w4 input').each(function() { + $(this).removeAttr("disabled", "disabled"); + $(this).removeClass("input-deactive"); + }); + + } else { + $('#f5w2').prop("checked", false); + $('#f5w3').prop("checked", false); + $('#f5w4').prop("checked", false); + //copy Panjshanbeh to w2 + $('#panjshanbehw2').removeClass("btn-active"); + $('#panjshanbehRow3w2 input').each(function() { + $(this).attr("disabled", "disabled"); + $(this).addClass("input-deactive"); + $(this).val(""); + }); + $('#panjshanbehRow3w2 .rest').each(function() { + + $(this).prop('selectedIndex', 0); + }); + + //copy panjshanbeh to w3 + $('#panjshanbehw3').removeClass("btn-active"); + $('#panjshanbehRow3w3 input').each(function() { + $(this).attr("disabled", "disabled"); + $(this).addClass("input-deactive"); + $(this).val(""); + }); + $('#panjshanbehRow3w3 .rest').each(function() { + + $(this).prop('selectedIndex', 0); + }); + + //copy panjshanbeh to w4 + $('#panjshanbehw4').removeClass("btn-active"); + $('#panjshanbehRow3w4 input').each(function() { + $(this).attr("disabled", "disabled"); + $(this).addClass("input-deactive"); + $(this).val(""); + }); + $('#panjshanbehRow3w4 .rest').each(function() { + + $(this).prop('selectedIndex', 0); + }); + } + + + // jome + if ($('#f6w1').is(":checked")) { + $('#f6w2').prop("checked", true); + $('#f6w3').prop("checked", true); + $('#f6w4').prop("checked", true); + //copy jome to w2 + $('#RestTimeJomehw2').val($('#RestTimeJomehw1').val()); + $('#RestTimeJomehMinw2').val($('#RestTimeJomehMinw1').val()); + $('#SingleShift1Jomehw2').val($('#SingleShift1Jomehw1').val()); + $('#SingleShift2Jomehw2').val($('#SingleShift2Jomehw1').val()); + $('#TowShifts1Jomehw2').val($('#TowShifts1Jomehw1').val()); + $('#TowShifts2Jomehw2').val($('#TowShifts2Jomehw1').val()); + $('#jomehw2').addClass("btn-active"); + $('#jomehRow3w2 input').each(function() { + $(this).removeAttr("disabled", "disabled"); + $(this).removeClass("input-deactive"); + }); + $('#jomehRow3w2 .rest').each(function() { + $(this).removeAttr("disabled", "disabled"); + $(this).removeClass("input-deactive"); + }); + //copy jome to w3 + $('#RestTimeJomehw3').val($('#RestTimeJomehw1').val()); + $('#RestTimeJomehMinw3').val($('#RestTimeJomehMinw1').val()); + $('#SingleShift1Jomehw3').val($('#SingleShift1Jomehw1').val()); + $('#SingleShift2Jomehw3').val($('#SingleShift2Jomehw1').val()); + $('#TowShifts1Jomehw3').val($('#TowShifts1Jomehw1').val()); + $('#TowShifts2Jomehw3').val($('#TowShifts2Jomehw1').val()); + $('#jomehw3').addClass("btn-active"); + $('#jomehRow3w3 input').each(function() { + $(this).removeAttr("disabled", "disabled"); + $(this).removeClass("input-deactive"); + }); + $('#jomehRow3w3 .rest').each(function() { + $(this).removeAttr("disabled", "disabled"); + $(this).removeClass("input-deactive"); + }); + //copy jome to w4 + $('#RestTimeJomehw4').val($('#RestTimeJomehw1').val()); + $('#RestTimeJomehMinw4').val($('#RestTimeJomehMinw1').val()); + $('#SingleShift1Jomehw4').val($('#SingleShift1Jomehw1').val()); + $('#SingleShift2Jomehw4').val($('#SingleShift2Jomehw1').val()); + $('#TowShifts1Jomehw4').val($('#TowShifts1Jomehw1').val()); + $('#TowShifts2Jomehw4').val($('#TowShifts2Jomehw1').val()); + $('#jomehw4').addClass("btn-active"); + $('#jomehRow3w4 input').each(function() { + $(this).removeAttr("disabled", "disabled"); + $(this).removeClass("input-deactive"); + }); + $('#jomehRow3w4 .rest').each(function() { + $(this).removeAttr("disabled", "disabled"); + $(this).removeClass("input-deactive"); + }); + + } else { + $('#f6w2').prop("checked", false); + $('#f6w3').prop("checked", false); + $('#f6w4').prop("checked", false); + //copy jome to w2 + $('#jomehw2').removeClass("btn-active"); + $('#jomehRow3w2 input').each(function() { + $(this).attr("disabled", "disabled"); + $(this).addClass("input-deactive"); + $(this).val(""); + }); + $('#jomehRow3w2 .rest').each(function() { + + $(this).prop('selectedIndex', 0); + }); + + //copy jome to w3 + $('#jomehw3').removeClass("btn-active"); + $('#jomehRow3w3 input').each(function() { + $(this).attr("disabled", "disabled"); + $(this).addClass("input-deactive"); + $(this).val(""); + }); + $('#jomehRow3w3 .rest').each(function() { + + $(this).prop('selectedIndex', 0); + }); + + //copy jome to w4 + $('#jomehw4').removeClass("btn-active"); + $('#jomehRow3w4 input').each(function() { + $(this).attr("disabled", "disabled"); + $(this).addClass("input-deactive"); + $(this).val(""); + }); + $('#jomehRow3w4 .rest').each(function() { + + $(this).prop('selectedIndex', 0); + }); + } + + + }); + } + + ///// کپی ساعت استراحت هفتگی//// + function CopyRestTimeHw1(inputField) { // کپی ساعت week1 + const selected = inputField.selectedIndex; + if ($('#f1w1').is(":checked")) { + $('#RestTimeYekshanbehw1').prop('selectedIndex', selected); + } + if ($('#f2w1').is(":checked")) { + $('#RestTimeDoshanbehw1').prop('selectedIndex', selected); + } + if ($('#f3w1').is(":checked")) { + $('#RestTimeSeshanbehw1').prop('selectedIndex', selected); + } + if ($('#f4w1').is(":checked")) { + $('#RestTimeCheharshanbehw1').prop('selectedIndex', selected); + } + if ($('#f5w1').is(":checked")) { + $('#RestTimePanjshanbehw1').prop('selectedIndex', selected); + } + if ($('#f6w1').is(":checked")) { + $('#RestTimeJomehw1').prop('selectedIndex', selected); + } + } + + function CopyRestTimeMw1(inputField) { // کپی دقیقه week1 + const selected = inputField.selectedIndex; + if ($('#f1w1').is(":checked")) { + $('#RestTimeYekshanbehMinw1').prop('selectedIndex', selected); + } + if ($('#f2w1').is(":checked")) { + $('#RestTimeDoshanbehMinw1').prop('selectedIndex', selected); + } + if ($('#f3w1').is(":checked")) { + $('#RestTimeSeshanbehMinw1').prop('selectedIndex', selected); + } + if ($('#f4w1').is(":checked")) { + $('#RestTimeCheharshanbehMinw1').prop('selectedIndex', selected); + } + if ($('#f5w1').is(":checked")) { + $('#RestTimePanjshanbehMinw1').prop('selectedIndex', selected); + } + if ($('#f6w1').is(":checked")) { + $('#RestTimeJomehMinw1').prop('selectedIndex', selected); + } + + } + + //week 2 + function CopyRestTimeHw2(inputField) { // کپی ساعت week2 + const selected = inputField.selectedIndex; + if ($('#f1w2').is(":checked")) { + $('#RestTimeYekshanbehw2').prop('selectedIndex', selected); + } + if ($('#f2w2').is(":checked")) { + $('#RestTimeDoshanbehw2').prop('selectedIndex', selected); + } + if ($('#f3w2').is(":checked")) { + $('#RestTimeSeshanbehw2').prop('selectedIndex', selected); + } + if ($('#f4w2').is(":checked")) { + $('#RestTimeCheharshanbehw2').prop('selectedIndex', selected); + } + if ($('#f5w2').is(":checked")) { + $('#RestTimePanjshanbehw2').prop('selectedIndex', selected); + } + if ($('#f6w2').is(":checked")) { + $('#RestTimeJomehw2').prop('selectedIndex', selected); + } + } + + function CopyRestTimeMw2(inputField) { // کپی دقیقه week2 + const selected = inputField.selectedIndex; + if ($('#f1w2').is(":checked")) { + $('#RestTimeYekshanbehMinw2').prop('selectedIndex', selected); + } + if ($('#f2w2').is(":checked")) { + $('#RestTimeDoshanbehMinw2').prop('selectedIndex', selected); + } + if ($('#f3w1').is(":checked")) { + $('#RestTimeSeshanbehMinw2').prop('selectedIndex', selected); + } + if ($('#f4w2').is(":checked")) { + $('#RestTimeCheharshanbehMinw2').prop('selectedIndex', selected); + } + if ($('#f5w2').is(":checked")) { + $('#RestTimePanjshanbehMinw2').prop('selectedIndex', selected); + } + if ($('#f6w2').is(":checked")) { + $('#RestTimeJomehMinw2').prop('selectedIndex', selected); + } + + } + + //week 3 + function CopyRestTimeHw3(inputField) { // کپی ساعت week3 + const selected = inputField.selectedIndex; + if ($('#f1w3').is(":checked")) { + $('#RestTimeYekshanbehw3').prop('selectedIndex', selected); + } + if ($('#f2w3').is(":checked")) { + $('#RestTimeDoshanbehw3').prop('selectedIndex', selected); + } + if ($('#f3w3').is(":checked")) { + $('#RestTimeSeshanbehw3').prop('selectedIndex', selected); + } + if ($('#f4w3').is(":checked")) { + $('#RestTimeCheharshanbehw3').prop('selectedIndex', selected); + } + if ($('#f5w3').is(":checked")) { + $('#RestTimePanjshanbehw3').prop('selectedIndex', selected); + } + if ($('#f6w3').is(":checked")) { + $('#RestTimeJomehw3').prop('selectedIndex', selected); + } + } + + function CopyRestTimeMw3(inputField) { // کپی دقیقه week3 + const selected = inputField.selectedIndex; + if ($('#f1w3').is(":checked")) { + $('#RestTimeYekshanbehMinw3').prop('selectedIndex', selected); + } + if ($('#f2w3').is(":checked")) { + $('#RestTimeDoshanbehMinw3').prop('selectedIndex', selected); + } + if ($('#f3w1').is(":checked")) { + $('#RestTimeSeshanbehMinw3').prop('selectedIndex', selected); + } + if ($('#f4w3').is(":checked")) { + $('#RestTimeCheharshanbehMinw3').prop('selectedIndex', selected); + } + if ($('#f5w3').is(":checked")) { + $('#RestTimePanjshanbehMinw3').prop('selectedIndex', selected); + } + if ($('#f6w3').is(":checked")) { + $('#RestTimeJomehMinw3').prop('selectedIndex', selected); + } + + } + + //week 4 + function CopyRestTimeHw4(inputField) { // کپی ساعت week4 + const selected = inputField.selectedIndex; + if ($('#f1w4').is(":checked")) { + $('#RestTimeYekshanbehw4').prop('selectedIndex', selected); + } + if ($('#f2w4').is(":checked")) { + $('#RestTimeDoshanbehw4').prop('selectedIndex', selected); + } + if ($('#f3w4').is(":checked")) { + $('#RestTimeSeshanbehw4').prop('selectedIndex', selected); + } + if ($('#f4w4').is(":checked")) { + $('#RestTimeCheharshanbehw4').prop('selectedIndex', selected); + } + if ($('#f5w4').is(":checked")) { + $('#RestTimePanjshanbehw4').prop('selectedIndex', selected); + } + if ($('#f6w4').is(":checked")) { + $('#RestTimeJomehw4').prop('selectedIndex', selected); + } + } + + function CopyRestTimeMw4(inputField) { // کپی دقیقه week4 + const selected = inputField.selectedIndex; + if ($('#f1w4').is(":checked")) { + $('#RestTimeYekshanbehMinw4').prop('selectedIndex', selected); + } + if ($('#f2w4').is(":checked")) { + $('#RestTimeDoshanbehMinw4').prop('selectedIndex', selected); + } + if ($('#f3w1').is(":checked")) { + $('#RestTimeSeshanbehMinw4').prop('selectedIndex', selected); + } + if ($('#f4w4').is(":checked")) { + $('#RestTimeCheharshanbehMinw4').prop('selectedIndex', selected); + } + if ($('#f5w4').is(":checked")) { + $('#RestTimePanjshanbehMinw4').prop('selectedIndex', selected); + } + if ($('#f6w4').is(":checked")) { + $('#RestTimeJomehMinw4').prop('selectedIndex', selected); + } + + } + + /////////////////Time Input Validate && Complex Copy input///////////////// + function validateHM(inputField) { + /*var isValid = /^\d{1}?\d{1}:\d{1}?\d{1}$/.test(inputField.value);*/ + const isValid = /^([2][0-3]|[1][0-9]|[0-9]|[0][0-9])([:][0-5][0-9])$/.test(inputField.value); + const isEmpty = inputField.value; + + if (isValid || isEmpty == "") { + if (isEmpty != "") { + inputField.style.backgroundColor = '#a6e9a6'; + } else { + inputField.style.backgroundColor = '#fff'; + } + const st = inputField.value; + timeValid = true; + if (document.getElementById("shiftWork").value == "5" || document.getElementById("shiftWork").value == "7") { + const [hour, minute] = st.split(':'); + let hPlus = Number(hour); + + if (hPlus >= 0 && hPlus < 12) { + hPlus += 12; + } else { + hPlus -= 12; + } + document.getElementById("EndComplex").value = hPlus + ':' + minute; + } + if (document.getElementById("shiftWork").value == "6" || document.getElementById("shiftWork").value == "8") { + document.getElementById("EndComplex").value = st; + } + + + } else { + inputField.style.backgroundColor = '#f94c4c'; + $.Notification.autoHideNotify('error', 'top center', 'پیام سیستم ', "لطفا ساعت را بصورت صحیح وارد کنید"); + timeValid = false; + } + return isValid; + + } + + function validateHM2(inputField) { + /*var isValid = /^\d{1}?\d{1}:\d{1}?\d{1}$/.test(inputField.value);*/ + const isValid = /^([2][0-3]|[1][0-9]|[0-9]|[0][0-9])([:][0-5][0-9])$/.test(inputField.value); + const isEmpty = inputField.value; + + if (isValid || isEmpty == "") { + if (isEmpty != "") { + inputField.style.backgroundColor = '#a6e9a6'; + } else { + inputField.style.backgroundColor = '#fff'; + } + + + timeValid = true; + + + } else { + inputField.style.backgroundColor = '#f94c4c'; + $.Notification.autoHideNotify('error', 'top center', 'پیام سیستم ', "لطفا ساعت را بصورت صحیح وارد کنید"); + timeValid = false; + } + return isValid; + + } + + + \ No newline at end of file diff --git a/ServiceHost/Areas/Client/Pages/Company/Employees/ChangeCode.cshtml b/ServiceHost/Areas/Client/Pages/Company/Employees/ChangeCode.cshtml index 75daab98..c5ffe94d 100644 --- a/ServiceHost/Areas/Client/Pages/Company/Employees/ChangeCode.cshtml +++ b/ServiceHost/Areas/Client/Pages/Company/Employees/ChangeCode.cshtml @@ -1,8 +1,6 @@ -@using _0_Framework.Application -@model CompanyManagment.App.Contracts.Checkout.CreateCheckout +@model CompanyManagment.App.Contracts.Checkout.CreateCheckout @{ - - } @{ - - - - - - - - + + + + + + + } + \ No newline at end of file diff --git a/ServiceHost/Areas/Client/Pages/Company/Employees/ContractCheckoutStatus.cshtml b/ServiceHost/Areas/Client/Pages/Company/Employees/ContractCheckoutStatus.cshtml index 82592633..7a67aa75 100644 --- a/ServiceHost/Areas/Client/Pages/Company/Employees/ContractCheckoutStatus.cshtml +++ b/ServiceHost/Areas/Client/Pages/Company/Employees/ContractCheckoutStatus.cshtml @@ -1,19 +1,17 @@ -@model CompanyManagment.App.Contracts.Workshop.ContractStatusViewModel -@using System.Globalization -@using global::Company.Domain.EmployeeAgg -@using Version = _0_Framework.Application.Version +@using Version = _0_Framework.Application.Version +@model CompanyManagment.App.Contracts.Workshop.ContractStatusViewModel @{ - int index = 1; + var index = 1; - - - - + + + + + + + // - - // - } @@ -341,687 +340,681 @@ + } + + $(".listForm1").find(".trash-icon").on("mouseenter", + function() { + $(this).animate({ left: "-10px" }, 50) + .animate({ left: "-4px" }, 50) + .animate({ left: "-7px" }, 50); + }); + $(".listForm1").find(".trash-icon").on("mouseleave", + function() { + $(this).stop(true).animate({ left: "-7px" }, 50); + }); + $(".listForm1").find('.delete').click(function() { + + $(this).closest('tr').fadeOut(200, + function() { + $(this).hide(); + updateRowNumbers(); + handleScroll(); + + }); + const id = $(this).attr('id').replace('delete_', ''); + $(this).append(` `); + }); + + + function addRow() { + const tbody = $(".listForm1 #children tbody"); + const rowCount = tbody.find("tr").length; + + + let newRow = ''; + + const a = $(".trcreate").length; + newRow = `
${rowCount + 1}`; + + tbody.append(newRow); + const dynamicInput = $(".items.childInput.childName"); + dynamicInput.attr("pattern", "[؀-ۿ\\s]*"); + + $('.items').on('keyup', + function() { + if (this.validity.patternMismatch) { + $(this).addClass('errored'); + $(this).addClass('patternMisMatch'); + + } else { + $(this).removeClass('errored'); + $(this).removeClass('patternMisMatch'); + } + }); + $(".persianDateInput").on('keyup', + function() { + if (event.which !== 8 && event.which !== 46) { + let value = $(this).val(); + const lengthValue = value.length; + if (lengthValue === 4) { + value += '/'; + } + if (lengthValue === 7) { + value += '/'; + } + $(this).val(value); + } + }); + + $(".persianDateInput").on('blur', + function() { + const value = $(this).val(); + const lengthValue = value.length; + if (!dateValidCheck(this)) { + $(this).addClass("errored"); + } else { + $(this).removeClass("errored"); + } + }); + } + + + $('.listForm1 input[name=Gender]').on('change', + function() { + $(".listForm1 #divGender").removeClass('errored'); + }); + + $('.listForm1 input[name=MaritalStatus]').on('change', + function() { + $(".listForm1 #divMarried").removeClass('errored'); + }); + + $("#save").click(function() { + //var allInputsFilled = true; + $('#save').hide(); + $('#fakeSave').show(); + if ($(".listForm1 #divGender").find('input[type="radio"]:checked').length === 0) { + // allInputsFilled = false; + $(".listForm1 #divGender").addClass('errored'); + } + + if ($(".listForm1 #divMarried").find('input[type="radio"]:checked').length === 0) { + // allInputsFilled = false; + $(".listForm1 #divMarried").addClass('errored'); + } + //var option1 = document.getElementById("city").options.selectedIndex; + //if (option1 == 0) { + // $("#divCity .select2-selection").addClass('errored'); + //} else { + // $("#divCity .select2-selection").removeClass('errored'); + //} + //var option2 = document.getElementById("State").options.selectedIndex; + //if (option2 == 0) { + // $("#divState .select2-selection").addClass('errored'); + //} else { + // $("#divState .select2-selection").removeClass('errored'); + //} + + $('.listForm1').find('.not-empty').each(function() { + if ($(this).val() === '') { + // allInputsFilled = false; + $(this).addClass('errored'); + } else { + $(this).removeClass('errored'); + } + }); + $(".listForm1").find('input.persianDateInput').each(function() { + const value = $(this).val(); + const lengthValue = value.length; + if (lengthValue < 10 && lengthValue !== 0) { + $(this).addClass('errored'); + } else { + $(this).removeClass('errored'); + } + }); + if ($('.listForm1 input.errored').length > 0 || $('.listForm1 input.patternMisMAtch').length > 0) { + $.Notification.autoHideNotify('error', 'top right', 'پیام سیستم ', "لطفا موارد اجباری را تکمیل کنید."); + $('#fakeSave').hide(); + $('#save').show(); + } else { + $("#saveEmployee").submit(); + setTimeout(function() { + + $(".datepicker-container").hide(); + }, + 500); + setTimeout(function() { + + $('#save').show(); + $('#fakeSave').hide(); + }, + 3000); + } + }); + + $('#saveEmployee').submit(function(e) { + e.preventDefault(); + e.stopImmediatePropagation(); + $.ajax({ + type: "POST", + url: $(this).attr('action'), + data: $(this).serialize(), + success: function(response) { + if (response.isSuccedded == true) { + $.Notification.autoHideNotify('success', 'top right', response.message); + + $("#MainModal").modal('hide'); + getEmployeeList(); + } else { + $.Notification.autoHideNotify('error', 'top right', response.message); + } + } + }); + return false; + }); + + function checkEnValid(fixDate1) { + + let persianNumbers = [/۰/g, /۱/g, /۲/g, /۳/g, /۴/g, /۵/g, /۶/g, /۷/g, /۸/g, /۹/g], + arabicNumbers = [/٠/g, /١/g, /٢/g, /٣/g, /٤/g, /٥/g, /٦/g, /٧/g, /٨/g, /٩/g], + fixNumbers = function(str) { + if (typeof str === 'string') { + for (let i = 0; i < 10; i++) { + str = str.replace(persianNumbers[i], i).replace(arabicNumbers[i], i); + } + } + return str; + }; + let getdate = fixDate1; + + let m1, m2; + let y1, y2, y3, y4; + let d1, d2; + for (let i = 0; i < getdate.length; i++) { + if (i === 0) { + y1 = fixNumbers(getdate[i]); + } + if (i === 1) { + y2 = fixNumbers(getdate[i]); + } + if (i === 2) { + y3 = fixNumbers(getdate[i]); + } + if (i === 3) { + y4 = fixNumbers(getdate[i]); + } + if (i === 5) { + m1 = fixNumbers(getdate[i]); + } + if (i === 6) { + m2 = fixNumbers(getdate[i]); + } + if (i === 8) { + d1 = fixNumbers(getdate[i]); + } + if (i === 9) { + d2 = fixNumbers(getdate[i]); + } + + } + let yRes = y1 + y2 + y3 + y4; + let year = parseInt(yRes); + let mRes = m1 + m2; + let month = parseInt(mRes); + let dRes = d1 + d2; + let day = parseInt(dRes); + let kabiseh = false; + if (month <= 6 && day > 31) { + return false; + } else if (month > 6 && month < 12 && day > 30) { + return false; + } else if (month === 12) { + + switch (year) { + case 1346: + kabiseh = true; + break; + case 1350: + kabiseh = true; + break; + case 1354: + kabiseh = true; + break; + case 1358: + kabiseh = true; + break; + case 1362: + kabiseh = true; + break; + case 1366: + kabiseh = true; + break; + case 1370: + kabiseh = true; + break; + case 1375: + kabiseh = true; + break; + case 1379: + kabiseh = true; + break; + case 1383: + kabiseh = true; + break; + case 1387: + kabiseh = true; + break; + case 1391: + kabiseh = true; + break; + case 1395: + kabiseh = true; + break; + case 1399: + kabiseh = true; + break; + case 1403: + kabiseh = true; + break; + case 1408: + kabiseh = true; + break; + case 1412: + kabiseh = true; + break; + case 1416: + kabiseh = true; + break; + case 1420: + kabiseh = true; + break; + case 1424: + kabiseh = true; + break; + case 1428: + kabiseh = true; + break; + case 1432: + kabiseh = true; + break; + case 1436: + kabiseh = true; + break; + case 1441: + kabiseh = true; + break; + case 1445: + kabiseh = true; + break; + default: + kabiseh = false; + + } + if (kabiseh == true && day > 30) { + return false; + } else if (kabiseh == false && day > 29) { + return false; + } else { + return true; + } + } else { + return true; + } + + } + + function dateValidcheck(inputField1) { + let persianNumbers = [/۰/g, /۱/g, /۲/g, /۳/g, /۴/g, /۵/g, /۶/g, /۷/g, /۸/g, /۹/g], + arabicNumbers = [/٠/g, /١/g, /٢/g, /٣/g, /٤/g, /٥/g, /٦/g, /٧/g, /٨/g, /٩/g], + fixNumbers = function(str) { + if (typeof str === 'string') { + for (let i = 0; i < 10; i++) { + str = str.replace(persianNumbers[i], i).replace(arabicNumbers[i], i); + } + } + return str; + }; + let getdate = inputField1.value; + + let m1, m2; + let y1, y2, y3, y4; + let d1, d2; + let s1, s2; + for (var i = 0; i < getdate.length; i++) { + if (i === 0) { + y1 = fixNumbers(getdate[i]); + } + if (i === 1) { + y2 = fixNumbers(getdate[i]); + } + if (i === 2) { + y3 = fixNumbers(getdate[i]); + } + if (i === 3) { + y4 = fixNumbers(getdate[i]); + } + if (i === 4) { + s1 = fixNumbers(getdate[i]); + } + if (i === 5) { + m1 = fixNumbers(getdate[i]); + } + if (i === 6) { + m2 = fixNumbers(getdate[i]); + } + if (i === 7) { + s2 = fixNumbers(getdate[i]); + } + if (i === 8) { + d1 = fixNumbers(getdate[i]); + } + if (i === 9) { + d2 = fixNumbers(getdate[i]); + } + + } + let yRes = y1 + y2 + y3 + y4; + let year = parseInt(yRes); + let mRes = m1 + m2; + let month = parseInt(mRes); + let dRes = d1 + d2; + let day = parseInt(dRes); + let fixResult = yRes + s1 + mRes + s2 + dRes; + let test1 = checkEnValid(inputField1.value); + + let isValid = /^([1][3-4][0-9][0-9][/])([0][1-9]|[1][0-2])([/])([0][1-9]|[1-2][0-9]|[3][0-1])$/.test(fixResult); + + + if (isValid && test1) { + //inputField1.addClass("errored"); + inputField1.style.boxShadow = 'none'; + inputField1.style.border = '1px solid #c7c7c7'; + start1valid = true; + } else { + if (inputField1.value != "") { + //inputField1.addClass("errored"); + inputField1.style.boxShadow = 'inset 0 0 2px #eb3434, 0 0 5px #eb3434'; + inputField1.style.border = '1px solid #eb3434'; + $.Notification.autoHideNotify('error', 'top center', 'پیام سیستم ', "لطفا تاریخ را بصورت صحیح وارد کنید"); + start1valid = false; + } + } + return start1valid; + } + + + function changecity(element) { + const text = $(element).children("option").filter(":selected").text(); + $("#hide2").val(text); + } + \ No newline at end of file diff --git a/ServiceHost/Areas/Client/Pages/Company/Employees/EditLeave.cshtml b/ServiceHost/Areas/Client/Pages/Company/Employees/EditLeave.cshtml index 745ed00d..5095c0a2 100644 --- a/ServiceHost/Areas/Client/Pages/Company/Employees/EditLeave.cshtml +++ b/ServiceHost/Areas/Client/Pages/Company/Employees/EditLeave.cshtml @@ -1,7 +1,7 @@ @model CompanyManagment.App.Contracts.Leave.EditLeave @{ - + function computeDays() { + $('.resultDays').remove(); + $.ajax({ + /* contentType: 'charset=utf-8',*/ + async: false, + dataType: 'json', + type: 'GET', + url: '@Url.Page("/Company/Employees/Leave", "ComputeLeaveDaily")', + headers: { "RequestVerificationToken": $('input[name="__RequestVerificationToken"]').val() }, + data: { "startDay": $('#StartLeave').val(), "endDay": $('#EndLeave').val() }, + success: function(response) { + if (response.status == false) { + $('.sumDays').addClass("note"); + } else { + $('.sumDays').removeClass("note"); + } + const res = `${response.res}`; + $('.sumDays').append(res); + }, + failure: function(response) { + console.log(5, response); + } + }); + } + }); + \ No newline at end of file diff --git a/ServiceHost/Areas/Client/Pages/Company/Employees/EditPaidLeave.cshtml b/ServiceHost/Areas/Client/Pages/Company/Employees/EditPaidLeave.cshtml index 6728328c..d5dffd88 100644 --- a/ServiceHost/Areas/Client/Pages/Company/Employees/EditPaidLeave.cshtml +++ b/ServiceHost/Areas/Client/Pages/Company/Employees/EditPaidLeave.cshtml @@ -1,12 +1,12 @@ @model CompanyManagment.App.Contracts.Leave.EditLeave @{ -//int i = 1; + //int i = 1; } @{ - - + } - - - @* *@ - - - - - - - - + @@ -134,114 +122,115 @@ + window.location.hash = "##"; + }, + 1000); + }); + \ No newline at end of file diff --git a/ServiceHost/Areas/Client/Pages/Company/Employees/EditSick.cshtml b/ServiceHost/Areas/Client/Pages/Company/Employees/EditSick.cshtml index 0664b0be..c349521f 100644 --- a/ServiceHost/Areas/Client/Pages/Company/Employees/EditSick.cshtml +++ b/ServiceHost/Areas/Client/Pages/Company/Employees/EditSick.cshtml @@ -2,365 +2,365 @@ @{ } - +
- -
-
+ + + @**@ + +
- - - - \ No newline at end of file diff --git a/ServiceHost/Areas/Client/Pages/Company/Employees/EmployeeList.cshtml b/ServiceHost/Areas/Client/Pages/Company/Employees/EmployeeList.cshtml index 3a4bae75..bdc610ab 100644 --- a/ServiceHost/Areas/Client/Pages/Company/Employees/EmployeeList.cshtml +++ b/ServiceHost/Areas/Client/Pages/Company/Employees/EmployeeList.cshtml @@ -2,28 +2,28 @@ @{ } - - - - - - - @**@ - - - - - - - @if (Model != null) - { - int i = 1; - @foreach (var item in Model) - { - - - - @* - - } - } - else - { - - - } - -
#نام و نام خانوادگی نام خانوادگیعملیات
@i + + + + + + + @**@ + + + + + + + @if (Model != null) + { + var i = 1; + @foreach (var item in Model) + { + + + + @* *@ - - - - @{ - i++; - } - + + + @{ + i++; + } + + + } + } + else + { + + + + } + +
#نام و نام خانوادگی نام خانوادگیعملیات
@i

@item.FName @@ -43,27 +43,27 @@

-
-

- @item.EmployeeFullName -

- - @item.EmployeeFullName - -
-
- + + - - @* + @*

@@ -139,7 +138,7 @@
*@ - @* + @*

@@ -165,160 +164,154 @@
}*@ - + + +
اطلاعاتی جهت نمایش موجود نمی باشد
-
اطلاعاتی جهت نمایش موجود نمی باشد
- \ No newline at end of file diff --git a/ServiceHost/Areas/Client/Pages/Company/Employees/EmployeePayment.cshtml b/ServiceHost/Areas/Client/Pages/Company/Employees/EmployeePayment.cshtml index 755bb014..6d67e50f 100644 --- a/ServiceHost/Areas/Client/Pages/Company/Employees/EmployeePayment.cshtml +++ b/ServiceHost/Areas/Client/Pages/Company/Employees/EmployeePayment.cshtml @@ -1,25 +1,25 @@ @page @using Version = _0_Framework.Application.Version -@model ServiceHost.Areas.Client.Pages.Company.Employees.EmployeePaymentModel +@model EmployeePaymentModel @{ - Layout = "Shared/_ClientLayout"; - ViewData["title"] = " - حساب پرداخت به حقوق"; - int index = 1; + Layout = "Shared/_ClientLayout"; + ViewData["title"] = " - حساب پرداخت به حقوق"; + var index = 1; } @section Styles { - - + + - @* This link called grid must be included, unless the table of payment wont work corectly *@ - - @* This link called grid must be included, unless the table of payment wont work corectly *@ - - - + @* This link called grid must be included, unless the table of payment wont work corectly *@ + + @* This link called grid must be included, unless the table of payment wont work corectly *@ + + - - + + }); + } \ No newline at end of file diff --git a/ServiceHost/Areas/Client/Pages/Company/Employees/LeavePrintAll.cshtml.cs b/ServiceHost/Areas/Client/Pages/Company/Employees/LeavePrintAll.cshtml.cs index 174e897f..88183e52 100644 --- a/ServiceHost/Areas/Client/Pages/Company/Employees/LeavePrintAll.cshtml.cs +++ b/ServiceHost/Areas/Client/Pages/Company/Employees/LeavePrintAll.cshtml.cs @@ -1,234 +1,227 @@ +using System.Text.RegularExpressions; using CompanyManagment.App.Contracts.Leave; using Microsoft.AspNetCore.Mvc; using Microsoft.AspNetCore.Mvc.RazorPages; -using System.Text.RegularExpressions; namespace ServiceHost.Areas.Client.Pages.Company.Employees; public class LeavePrintAllModel : PageModel { - private readonly ILeaveApplication _leaveApplication; - public List GroupPrintList; - public LeaveDividPrintViewModel DividList; - public List printIdList; - public GroupLeavePrintViewModel sendIds; - public long workshopId; - public long EmployeeId; + private readonly ILeaveApplication _leaveApplication; + public LeaveDividPrintViewModel DividList; + public long EmployeeId; + public List GroupPrintList; + public List printIdList; + public GroupLeavePrintViewModel sendIds; + public long workshopId; - public LeavePrintAllModel(ILeaveApplication leaveApplication) - { - _leaveApplication = leaveApplication; - } + public LeavePrintAllModel(ILeaveApplication leaveApplication) + { + _leaveApplication = leaveApplication; + } - public void OnGet(string idlist) - { - var ids = ExtractNumbers(idlist); - var resultList = new List(); - var res = _leaveApplication.PrintAll(ids); - workshopId = res.Select(x => x.WorkshopId).FirstOrDefault(); - EmployeeId = res.Select(x => x.EmployeeId).FirstOrDefault(); - var printCounter = res.Count(); - if (printCounter <= 25) - { - GroupPrintList = res; - var addToList = new GroupLeavePrintViewModel() - { - LeaveIdList = res.Select(x => x.Id).ToList(), - StartPrint = 1, - EndPrint = printCounter, - }; + public void OnGet(string idlist) + { + var ids = ExtractNumbers(idlist); + var resultList = new List(); + var res = _leaveApplication.PrintAll(ids); + workshopId = res.Select(x => x.WorkshopId).FirstOrDefault(); + EmployeeId = res.Select(x => x.EmployeeId).FirstOrDefault(); + var printCounter = res.Count(); + if (printCounter <= 25) + { + GroupPrintList = res; + var addToList = new GroupLeavePrintViewModel + { + LeaveIdList = res.Select(x => x.Id).ToList(), + StartPrint = 1, + EndPrint = printCounter + }; - resultList.Add(addToList); - var finalResult = new LeaveDividPrintViewModel() - { - GroupLeavePrintViewModel = resultList, - ButtonConter = resultList.Count, - }; - DividList = finalResult; - } - else - { - var divide20 = printCounter / 20; - var multiple = printCounter - (divide20 * 20); - if (multiple == 0) - { - for (int i = 1; i <= printCounter; i += 20) - { - var start = i; - var end = i + 19; - if (i == 1) - { - GroupPrintList = res.Where(x => x.PrintCounter >= start && x.PrintCounter <= end).ToList(); + resultList.Add(addToList); + var finalResult = new LeaveDividPrintViewModel + { + GroupLeavePrintViewModel = resultList, + ButtonConter = resultList.Count + }; + DividList = finalResult; + } + else + { + var divide20 = printCounter / 20; + var multiple = printCounter - divide20 * 20; + if (multiple == 0) + { + for (var i = 1; i <= printCounter; i += 20) + { + var start = i; + var end = i + 19; + if (i == 1) + { + GroupPrintList = res.Where(x => x.PrintCounter >= start && x.PrintCounter <= end).ToList(); - var addToList = new GroupLeavePrintViewModel() - { - LeaveIdList = res.Where(x => x.PrintCounter >= start && x.PrintCounter <= end).Select(x => x.Id).ToList(), - StartPrint = start, - EndPrint = end, - }; + var addToList = new GroupLeavePrintViewModel + { + LeaveIdList = res.Where(x => x.PrintCounter >= start && x.PrintCounter <= end) + .Select(x => x.Id).ToList(), + StartPrint = start, + EndPrint = end + }; - resultList.Add(addToList); - } - else - { - var addToList = new GroupLeavePrintViewModel() - { - LeaveIdList = res.Where(x => x.PrintCounter >= start && x.PrintCounter <= end).Select(x => x.Id).ToList(), - StartPrint = start, - EndPrint = end, - }; - resultList.Add(addToList); - } + resultList.Add(addToList); + } + else + { + var addToList = new GroupLeavePrintViewModel + { + LeaveIdList = res.Where(x => x.PrintCounter >= start && x.PrintCounter <= end) + .Select(x => x.Id).ToList(), + StartPrint = start, + EndPrint = end + }; + resultList.Add(addToList); + } + } + + var finalResult = new LeaveDividPrintViewModel + { + GroupLeavePrintViewModel = resultList, + ButtonConter = resultList.Count + }; + DividList = finalResult; + } + else if (multiple <= 5) + { + var endOfround = 0; + + for (var i = 1; i <= printCounter - 26; i += 20) + { + var start = i; + var end = i + 19; + + if (i == 1) + { + GroupPrintList = res.Where(x => x.PrintCounter >= start && x.PrintCounter <= end).ToList(); + + endOfround = end; + var addToList = new GroupLeavePrintViewModel + { + LeaveIdList = res.Where(x => x.PrintCounter >= start && x.PrintCounter <= end) + .Select(x => x.Id).ToList(), + StartPrint = start, + EndPrint = end + }; + + resultList.Add(addToList); + } + else + { + var addToList = new GroupLeavePrintViewModel + { + LeaveIdList = res.Where(x => x.PrintCounter >= start && x.PrintCounter <= end) + .Select(x => x.Id).ToList(), + StartPrint = start, + EndPrint = end + }; + endOfround = end; + resultList.Add(addToList); + } + } + + var count = res.Where(x => x.PrintCounter > endOfround).ToList(); + var addLastPart = new GroupLeavePrintViewModel + { + LeaveIdList = res.Where(x => x.PrintCounter > endOfround).Select(x => x.Id).ToList(), + StartPrint = count.Select(x => x.PrintCounter).FirstOrDefault(), + EndPrint = count.Select(x => x.PrintCounter).LastOrDefault() + }; + resultList.Add(addLastPart); + var finalResult = new LeaveDividPrintViewModel + { + GroupLeavePrintViewModel = resultList, + ButtonConter = resultList.Count + }; + DividList = finalResult; + } + else if (multiple > 5) + { + var endOfround = 0; + var pcounter = multiple + 1; + for (var i = 1; i <= printCounter - pcounter; i += 20) + { + var start = i; + var end = i + 19; + + if (i == 1) + { + GroupPrintList = res.Where(x => x.PrintCounter >= start && x.PrintCounter <= end).ToList(); + + endOfround = end; + var addToList = new GroupLeavePrintViewModel + { + LeaveIdList = res.Where(x => x.PrintCounter >= start && x.PrintCounter <= end) + .Select(x => x.Id).ToList(), + StartPrint = start, + EndPrint = end + }; + + resultList.Add(addToList); + } + else + { + var addToList = new GroupLeavePrintViewModel + { + LeaveIdList = res.Where(x => x.PrintCounter >= start && x.PrintCounter <= end) + .Select(x => x.Id).ToList(), + StartPrint = start, + EndPrint = end + }; + endOfround = end; + resultList.Add(addToList); + } + } + + var count = res.Where(x => x.PrintCounter > endOfround).ToList(); + var addLastPart = new GroupLeavePrintViewModel + { + LeaveIdList = res.Where(x => x.PrintCounter > endOfround).Select(x => x.Id).ToList(), + StartPrint = count.Select(x => x.PrintCounter).FirstOrDefault(), + EndPrint = count.Select(x => x.PrintCounter).LastOrDefault() + }; + resultList.Add(addLastPart); + var finalResult = new LeaveDividPrintViewModel + { + GroupLeavePrintViewModel = resultList, + ButtonConter = resultList.Count + }; + DividList = finalResult; + } + } + } - } + public IActionResult OnGetPrintAll(GroupLeavePrintViewModel sendIds) + { + var res = _leaveApplication.PrintAll(sendIds.LeaveIdList); - var finalResult = new LeaveDividPrintViewModel() - { - GroupLeavePrintViewModel = resultList, - ButtonConter = resultList.Count, - }; - DividList = finalResult; + var result = new GroupLeavePrintViewModel + { + LeaveList = res + }; + return Partial("PrintAll", result); + } + private static List ExtractNumbers(string input) + { + var numbers = new List(); + var pattern = @"\d+"; // Matches one or more digits - } - else if (multiple <= 5) - { - int endOfround = 0; + var matches = Regex.Matches(input, pattern); - for (int i = 1; i <= printCounter - 26; i += 20) - { - var start = i; - var end = i + 19; - - if (i == 1) - { - GroupPrintList = res.Where(x => x.PrintCounter >= start && x.PrintCounter <= end).ToList(); - - endOfround = end; - var addToList = new GroupLeavePrintViewModel() - { - LeaveIdList = res.Where(x => x.PrintCounter >= start && x.PrintCounter <= end).Select(x => x.Id).ToList(), - StartPrint = start, - EndPrint = end, - }; - - resultList.Add(addToList); - } - else - { - var addToList = new GroupLeavePrintViewModel() - { - LeaveIdList = res.Where(x => x.PrintCounter >= start && x.PrintCounter <= end).Select(x => x.Id).ToList(), - StartPrint = start, - EndPrint = end, - }; - endOfround = end; - resultList.Add(addToList); - } - - - } - - var count = res.Where(x => x.PrintCounter > endOfround).ToList(); - var addLastPart = new GroupLeavePrintViewModel() - { - LeaveIdList = res.Where(x => x.PrintCounter > endOfround).Select(x => x.Id).ToList(), - StartPrint = count.Select(x => x.PrintCounter).FirstOrDefault(), - EndPrint = count.Select(x => x.PrintCounter).LastOrDefault(), - }; - resultList.Add(addLastPart); - var finalResult = new LeaveDividPrintViewModel() - { - GroupLeavePrintViewModel = resultList, - ButtonConter = resultList.Count, - }; - DividList = finalResult; - } - else if (multiple > 5) - { - int endOfround = 0; - var pcounter = multiple + 1; - for (int i = 1; i <= printCounter - pcounter; i += 20) - { - var start = i; - var end = i + 19; - - if (i == 1) - { - GroupPrintList = res.Where(x => x.PrintCounter >= start && x.PrintCounter <= end).ToList(); - - endOfround = end; - var addToList = new GroupLeavePrintViewModel() - { - LeaveIdList = res.Where(x => x.PrintCounter >= start && x.PrintCounter <= end).Select(x => x.Id).ToList(), - StartPrint = start, - EndPrint = end, - }; - - resultList.Add(addToList); - } - else - { - var addToList = new GroupLeavePrintViewModel() - { - LeaveIdList = res.Where(x => x.PrintCounter >= start && x.PrintCounter <= end).Select(x => x.Id).ToList(), - StartPrint = start, - EndPrint = end, - }; - endOfround = end; - resultList.Add(addToList); - } - - - } - - var count = res.Where(x => x.PrintCounter > endOfround).ToList(); - var addLastPart = new GroupLeavePrintViewModel() - { - LeaveIdList = res.Where(x => x.PrintCounter > endOfround).Select(x => x.Id).ToList(), - StartPrint = count.Select(x => x.PrintCounter).FirstOrDefault(), - EndPrint = count.Select(x => x.PrintCounter).LastOrDefault(), - }; - resultList.Add(addLastPart); - var finalResult = new LeaveDividPrintViewModel() - { - GroupLeavePrintViewModel = resultList, - ButtonConter = resultList.Count, - }; - DividList = finalResult; - } - } - } - - - public IActionResult OnGetPrintAll(GroupLeavePrintViewModel sendIds) - { - var res = _leaveApplication.PrintAll(sendIds.LeaveIdList); - - var result = new GroupLeavePrintViewModel() - { - LeaveList = res, - }; - return Partial("PrintAll", result); - } - - static List ExtractNumbers(string input) - { - List numbers = new List(); - string pattern = @"\d+"; // Matches one or more digits - - MatchCollection matches = Regex.Matches(input, pattern); - - foreach (Match match in matches) - { - if (long.TryParse(match.Value, out long number)) - { - numbers.Add(number); - } - } - - return numbers; - } -} + foreach (Match match in matches) + if (long.TryParse(match.Value, out var number)) + numbers.Add(number); + return numbers; + } +} \ No newline at end of file diff --git a/ServiceHost/Areas/Client/Pages/Company/Employees/LeftWork.cshtml b/ServiceHost/Areas/Client/Pages/Company/Employees/LeftWork.cshtml index 1d9cf14e..539d29af 100644 --- a/ServiceHost/Areas/Client/Pages/Company/Employees/LeftWork.cshtml +++ b/ServiceHost/Areas/Client/Pages/Company/Employees/LeftWork.cshtml @@ -2,383 +2,401 @@ @*adding bime*@ - - - + + + @Html.AntiForgeryToken()
- -
شروع بکار و ترک کار پرسنل در بخش قرارداد
+ +
شروع بکار و ترک کار پرسنل در بخش قرارداد
-
- کارگاه @Model.WorkshopName (@Model.EmployeeName) -
- +
+} -
- + + - - + +
-
- - +
+ + -
+
- @* *@ + @* *@
- + $(document).ready(function() { + handleScroll(); + isActived(); + //handleCompanyScroll(); + saveWorkshop(); + }); + $("#close , .close").on('click', + function() { + $(".datepicker-container").hide(); + }); + + + $(".persianDateInput").on('keyup', + function() { + if (event.which !== 8 && event.which !== 46) { + let value = $(this).val(); + const lengthValue = value.length; + if (lengthValue === 4) { + value += '/'; + } + if (lengthValue === 7) { + value += '/'; + } + $(this).val(value); + } + }); + + $(".persianDateInput").on('blur', + function() { + const value = $(this).val(); + const lengthValue = value.length; + if (!dateValidCheck(this)) { + $(this).addClass("errored"); + } else { + $(this).removeClass("errored"); + } + }); + //$('.activated').prop('checked', true); + $('.activated').click(function() { + if (!$(this).prop('checked')) { + $(this).siblings("div").addClass("actived"); + + } else { + $(this).siblings("div").removeClass("actived"); + } + }); + + + let navTitle = $('.nav-title'); + if (navTitle.text().trim() === 'نام شرکت') { + navTitle.addClass("disactive"); + $('.position-code').prop('disabled', true); + } + $(".select-city").select2({ + allowClear: true + }); + + //adding / between dates + //$(".date").mask("0000/00/00"); + + //this function is for disabling the first tab and adding a new row to the table of the first tab + checkcountRow(); + + //this code adds a new tab(with the content in it)... + function addTab(counter) { + const workshopId = @Model.WorkshopId; + const workshopName = '@Model.WorkshopName'; + + + //the data in each tab... + const newTab = $(`
#تاریخ شروع بکارتاریخ آخرین روز کاریتاریخ ترک کارروزهای کارکرد
1
2
3
4
5
در صورت تمایل به محاسبه ی عناوین ذیل در فیش حقوقی، گزینه های موردنظر را فعال نمایید
سنوات
عیدی و پاداش
مزد و مرخصی
`); + $(".tab-content").prepend(newTab); + isActived(); + $('.activated').click(function() { + if (!$(this).prop('checked')) { + $(this).siblings("div").addClass("actived"); + + } else { + $(this).siblings("div").removeClass("actived"); + } + + }); + + // $('.activated').prop('checked', true); + const endDateInput = newTab.find('.end-date'); + const startDateInput = newTab.find('.start-date'); + + const selectItem = $('.tab-pane.active').find('.select-city'); + selectItem.select2(); + getPersonelCode(workshopId); + + @if (Model.LeftWorkGroups == null) + { + getWorkshopInformation(workshopId); + } + //this code checks the date in keyup function... + $(".date").keyup(function() { + const value = $(this).val(); + const lengthValue = value.length; + const id = $(this).attr('id'); + if (lengthValue == 10) { + if (!dateValidCheck(this)) { + $(this).addClass("errored"); + } else { + $(this).removeClass("errored"); + + if (id == 'last-day-' + counter) { + setDate(value, `last-day-${counter}`, `end-date-${counter}`, true); + } else if (id == 'end-date-' + counter) { + setDate(value, `end-date-${counter}`, `end-date-${counter}`, false); + } + } + } + }); + + //the save button in the new tab... + newTab.find('.save').click(function(e) { + + e.preventDefault(); + const paneNumber = newTab.data('pane'); + const startDate = $(`#start-date-${paneNumber}`).val(); + const lastDay = $(`#last-day-${paneNumber}`).val(); + const endDate = $(`#end-date-${paneNumber}`).val(); + + if (startDate != '' && !checkLength($(`#start-date-${counter}`).val(), 10)) { + if (!dateValidCheckByValue($(`#start-date-${counter}`))) { + $(`#start-date-${counter}`).addClass("errored"); + } else { + $(`#start-date-${counter}`).removeClass("errored"); + } + + } + if (lastDay != '' && !checkLength($(`#last-day-${counter}`).val(), 10)) { + if (!dateValidCheckByValue($(`#start-date-${counter}`))) { + $(`#last-day-${counter}`).addClass("errored"); + } else { + $(`#last-day-${counter}`).removeClass("errored"); + } + + } + if (endDate != '' && !checkLength($(`#end-date-${counter}`).val(), 10)) { + if (!dateValidCheckByValue($(`#end-date-${counter}`))) { + $(`#end-date-${counter}`).addClass("errored"); + } else { + $(`#end-date-${counter}`).removeClass("errored"); + } + } + if (!$('.date').hasClass('errored')) { + addRow2(counter, startDate, lastDay, endDate); + disableInput(); + handleScroll(); + $(`#start-date-${paneNumber}`).val(""); + $(`#last-day-${paneNumber}`).val(""); + $(`#end-date-${paneNumber}`).val(""); + + } + }); + } + + + //this code handles the first button(for adding new tabs) + function saveWorkshop() { + const counter = 1; // start counter from 2 since we already have one tab + // $('#save1').on('click', function (e) { + // e.preventDefault(); + const workshopId = @Model.WorkshopId; + if (workshopId != '0') { + + $("#IsDelete").val('false'); + // var workshopId=$('#input1').val(); + const workshopname = '@Model.WorkshopName'; //$('#input1 option:selected').text(); + + + const navLink = $('.nav-link'); + const navTitle = navLink.find('.nav-title'); + + //if there was only one tab... + + $('#tab-1').attr("data-workshopId", workshopId); + $('#tab-1').attr("data-workshopname", workshopname); + navTitle.text(workshopname); + navTitle.removeClass("disactive"); + navTitle.addClass("active"); + // $('#input1').val('0').trigger('change'); + getPersonelCode(workshopId); + @if (Model.LeftWorkGroups == null) + { + getWorkshopInformation(workshopId); + } + + + } + + handleScroll(); + + $(".workDate-table .trash-icon").on("mouseenter", + function() { + $(this).animate({ left: "-2px" }, 50) + .animate({ left: "2px" }, 50) + .animate({ left: "0px" }, 50); + }); + //}); + + } + + //this code handles the second button(for adding data in the first tabs table) + $(function() { + $('#save').on('click', + function(e) { + e.preventDefault(); + const activeTabPane = $('.tab-pane.active'); + const date1 = $('#startDate1').val(); + const date2 = $('#lastDay1').val(); + const date3 = $('#endDate1').val(); + const positionCode = $('.position-code').val(); + const positionName = $(".position-name").val(); + if (positionCode == "") { + $('.position-code').addClass("errored"); + } else { + $('.position-code').removeClass("errored"); + } + if (positionName == 0) { + $('.position-name').addClass("errored"); + } else { + $('.position-name').addClass("errored"); + } + if (date1 != '' && !checkLength($('#startDate1').val(), 10)) { + if (!dateValidCheckByValue($('#startDate1'))) { + $('#startDate1').addClass("errored"); + } else { + $('#startDate1').removeClass("errored"); + } + + } + if (date2 != '' && !checkLength($('#lastDay1').val(), 10)) { + if (!dateValidCheckByValue($('#lastDay1'))) { + $('#lastDay1').addClass("errored"); + } else { + $('#lastDay1').removeClass("errored"); + } + + } + if (date3 != '' && !checkLength($('#endDate1').val(), 10)) { + if (!dateValidCheckByValue($('#endDate1'))) { + $('#endDate1').addClass("errored"); + } else { + $('#endDate1').removeClass("errored"); + } + + } + + + if (!$('.date').hasClass('errored')) { + addRow(date1, date2, date3); + handleScroll(); + disableInput(); + } + + + }); + }); + + + // Add the click event listener to the new tab link + $('.nav-tabs .nav-link').on('click', + function(e) { + e.preventDefault(); + updateRowNumbers(); + const $tab = $(this); + const target = $tab.attr('href'); + $('.nav-tabs .nav-link, .tab-pane').removeClass('active'); + $tab.addClass('active'); + $(target).addClass('active'); + + const selectItem = $('.tab-pane.active').find('.select-city'); + selectItem.select2(); + handleScroll(); + disableInput(); + }); + //checkPremision(); + + + //handleCompanyScroll(); + //this code checks the rows, if there are empty rows,they will be filled, and if there is none, a new row will be added + let addRow = (date1, date2, date3) => { + const activeTabPane = $('.tab-pane.active'); + const table = activeTabPane.find('.workDate-table'); + let conflictFound = false; + + table.find("tbody tr").each(function() { + let row = $(this); + let rowStartDate = row.find('td:eq(1)').text(); // Get the start date of the row + let rowEndDate = row.find('td:eq(3)').text(); // Get the end date of the row + + + const $existingDate1 = row.find(`td:eq(1):contains("${date1}")`); + + if (date1 != '' && $existingDate1.length > 0) { + $.Notification.autoHideNotify('error', 'top right', 'پیام سیستم ', `تاریخ شروع در ردیف ${row.find('td:eq(0)').text()} وارد شده است.`); + $('#startDate1').addClass("errored"); + conflictFound = true; + return; + } + + const $existingDate2 = row.find(`td:eq(3):contains("${date1}")`); + if (date1 != '' && $existingDate2.length > 0) { + $.Notification.autoHideNotify('error', 'top right', 'پیام سیستم ', `تاریخ شروع با تاریخ پایان در ردیف ${row.find('td:eq(0)').text()} برابر است.`); + $('#startDate1').addClass("errored"); + conflictFound = true; + return; + } + + + const $existingDate3 = row.find(`td:eq(3):contains("${date3}")`); + if (date3 != '' && $existingDate3.length > 0) { + $.Notification.autoHideNotify('error', 'top right', 'پیام سیستم ', `تاریخ پایان در ردیف ${row.find('td:eq(0)').text()} وارد شده است.`); + $('#lastDay1').addClass("errored"); + conflictFound = true; + return; + } + + const $existingDate4 = row.find(`td:eq(1):contains("${date3}")`); + if (date3 != '' && $existingDate4.length > 0) { + $.Notification.autoHideNotify('error', 'top right', 'پیام سیستم ', `تاریخ پایان با تاریخ شروع در ردیف ${row.find('td:eq(0)').text()} برابر است.`); + $('#endDate1').addClass("errored"); + conflictFound = true; + return; + } + const $existingDate5 = row.find(`td:eq(1):contains("${date2}")`); + if (date2 != '' && $existingDate5.length > 0) { + $.Notification.autoHideNotify('error', 'top right', 'پیام سیستم ', `تاریخ آخرین روز کاری با تاریخ شروع در ردیف ${row.find('td:eq(0)').text()} برابر است.`); + $('#lastDay1').addClass("errored"); + conflictFound = true; + return; + } + + if (rowStartDate != '' && date3 != '' && date3 > rowStartDate && date3 < rowEndDate) { + $.Notification.autoHideNotify('error', 'top right', 'پیام سیستم ', `تاریخ پایان با توجه به بازه وارد شده در ردیف ${row.find('td:eq(0)').text()} نادرست می باشد.`); + $('#lastDay1').addClass("errored"); + conflictFound = true; + return false; + } + + if (rowStartDate != '' && date3 != '' && rowEndDate == '' && date3 < rowStartDate) { + $.Notification.autoHideNotify('error', 'top right', 'پیام سیستم ', `تاریخ پایان با توجه به بازه وارد شده در ردیف ${row.find('td:eq(0)').text()} نادرست می باشد.`); + $('#lastDay1').addClass("errored"); + conflictFound = true; + return false; + } + + if (rowStartDate != '' && date1 != '' && date1 > rowStartDate && date1 < rowEndDate) { + $.Notification.autoHideNotify('error', 'top right', 'پیام سیستم ', `تاریخ شروع با توجه به بازه وارد شده در ردیف ${row.find('td:eq(0)').text()} نادرست می باشد.`); + $('#startDate1').addClass("errored"); + conflictFound = true; + return false; + } + + + }); + if (!conflictFound) { + const emptyRow = table.find("tbody tr td:empty:first").closest('tr'); + if (emptyRow.length > 0) { + + if (date1 != '') + emptyRow.children('td:eq(1)').text(date1); + if (date2 != '') + emptyRow.children('td:eq(2)').text(date2); + if (date3 != '') + emptyRow.children('td:eq(3)').text(date3); + emptyRow.children('td:eq(5)').text("_"); + + + } + if (emptyRow.length === 0 && !conflictFound) { + const rowCount = table.find("tbody tr").length; + const newRow = `${rowCount + 1}${date1}${date2}${date3 + }_`; + table.find("tbody").append(newRow); + disableInput(); + + + } + sortDates(); + updateRowNumbers(); + + $('#startDate1').val(""); + $('#lastDay1').val(""); + $('#endDate1').val(""); + } + + }; + + //this code is like addRow for the tabs except the first tab + let addRow2 = (counter, date1, date2, date3) => { + const activeTabPane = $('.tab-pane.active'); + const table = activeTabPane.find('.workDate-table'); + const tableRow = table.find('tbody tr'); + const emptyRow = table.find("tbody tr td:empty:first").closest('tr'); + + const startDate = activeTabPane.find('.input2'); + const lastDay = activeTabPane.find('.input3'); + const endDate = activeTabPane.find('.input4'); + + + let conflictFound = false; + tableRow.each(function() { + let row = $(this); + let rowStartDate = row.find('td:eq(1)').text(); + let rowEndDate = row.find('td:eq(3)').text(); + const $existingDate1 = row.find(`td:eq(1):contains("${date1}")`); + if (date1 != '' && $existingDate1.length > 0) { + $.Notification.autoHideNotify('error', 'top right', 'پیام سیستم ', `تاریخ شروع در ردیف ${row.find('td:eq(0)').text()} وارد شده است.`); + startDate.addClass("errored"); + conflictFound = true; + return; + } + + const $existingDate2 = row.find(`td:eq(3):contains("${date1}")`); + if (date1 != '' && $existingDate2.length > 0) { + $.Notification.autoHideNotify('error', 'top right', 'پیام سیستم ', `تاریخ شروع با تاریخ پایان در ردیف ${row.find('td:eq(0)').text()} برابر است.`); + startDate.addClass("errored"); + conflictFound = true; + return; + } + + + const $existingDate3 = row.find(`td:eq(3):contains("${date2}")`); + if (date2 != '' && $existingDate3.length > 0) { + $.Notification.autoHideNotify('error', 'top right', 'پیام سیستم ', `تاریخ پایان در ردیف ${row.find('td:eq(0)').text()} وارد شده است.`); + lastDay.addClass("errored"); + + conflictFound = true; + return; + } + + const $existingDate4 = row.find(`td:eq(1):contains("${date2}")`); + if (date2 != '' && $existingDate4.length > 0) { + $.Notification.autoHideNotify('error', 'top right', 'پیام سیستم ', `تاریخ آخرین روز کاری با تاریخ شروع در ردیف ${row.find('td:eq(0)').text()} برابر است.`); + lastDay.addClass("errored"); + + conflictFound = true; + return; + } + const $existingDate5 = row.find(`td:eq(1):contains("${date3}")`); + if (date3 != '' && $existingDate5.length > 0) { + $.Notification.autoHideNotify('error', 'top right', 'پیام سیستم ', `تاریخ پایان با تاریخ شروع در ردیف ${row.find('td:eq(0)').text()} برابر است.`); + endDate.addClass("errored"); + + conflictFound = true; + return; + } + + if (rowStartDate != '' && date2 != '' && date2 > rowStartDate && date2 < rowEndDate) { + $.Notification.autoHideNotify('error', 'top right', 'پیام سیستم ', `تاریخ پایان با توجه به بازه وارد شده در ردیف ${row.find('td:eq(0)').text()} نادرست می باشد.`); + lastDay.addClass("errored"); + + conflictFound = true; + return false; + } + + if (rowStartDate != '' && date1 != '' && date1 > rowStartDate && date1 < rowEndDate) { + $.Notification.autoHideNotify('error', 'top right', 'پیام سیستم ', `تاریخ شروع با توجه به بازه وارد شده در ردیف ${row.find('td:eq(0)').text()} نادرست می باشد.`); + startDate.addClass("errored"); + conflictFound = true; + return false; + } + + if (rowStartDate != '' && date2 != '' && rowEndDate == '' && date2 < rowStartDate) { + $.Notification.autoHideNotify('error', 'top right', 'پیام سیستم ', `تاریخ پایان با توجه به بازه وارد شده در ردیف ${row.find('td:eq(0)').text()} نادرست می باشد.`); + lastDay.addClass("errored"); + + conflictFound = true; + return false; + } + + }); + if (!conflictFound) { + const emptyRow = table.find("tbody tr td:empty:first").closest('tr'); + + if (emptyRow.length > 0) { + if (date1 != '') + emptyRow.children('td:eq(1)').text(date1); + if (date2 != '') + emptyRow.children('td:eq(2)').text(date2); + if (date3 != '') + emptyRow.children('td:eq(3)').text(date3); + emptyRow.children('td:eq(5)').text("_"); + + } + if (emptyRow.length === 0) { + const rowCount = table.find("tbody tr").length; + const newRow = `${rowCount + 1}${date1}${date2}${date3 + }_`; + table.find("tbody").append(newRow); + disableInput(); + + } + + sortDates(); + updateRowNumbers(); + } + $('.trash').click(function() { + const activeTabPane = $('.tab-pane.active'); + const rows = activeTabPane.find(".workDate-table tbody").find("tr"); + const rowCount = rows.length; + if (rowCount === 6) { + $('.table-content').addClass('hide-scrollbar'); + } + if (rowCount <= 5) { + const deletedRow = $(this).closest('tr'); + deletedRow.find('td:eq(5)').text(""); + deletedRow.find('td:eq(3)').text(""); + deletedRow.find('td:eq(2)').text(""); + deletedRow.find('td:eq(1)').text(""); + } + if (rowCount > 5) { + $(this).closest('tr').fadeOut(200, + function() { + $(this).remove(); + updateRowNumbers(); + }); + } + + }); + + + }; + + //this code checks the row number + let updateRowNumbers = () => { + + const activeTabPane = $('.tab-pane.active'); + const rows = activeTabPane.find(".workDate-table tbody").find("tr"); + rows.each(function(index) { + $(this).find("td:first-child").text(index + 1); + }); + }; + + //this code sorts the table based on the second date column in descending order + function sortDates() { + const activeTabPane = $('.tab-pane.active'); + const table = activeTabPane.find('.workDate-table'); + const rows = table.find('tr:gt(0)').toArray(); + rows.sort(function(a, b) { + const date1a = new Date($(a).find('td:eq(1)').text().replace(/\//g, '-')); + const date1b = new Date($(b).find('td:eq(1)').text().replace(/\//g, '-')); + return date1b - date1a; + }); + for (let i = 0; i < rows.length; i++) { + table.append(rows[i]); + } + } + + //date keyup for tab-1 + $(".date").keyup(function() { + const value = $(this).val(); + const lengthValue = value.length; + const id = $(this).attr('id'); + + + if (lengthValue == 10) { + if (!dateValidCheck(this)) { + $(this).addClass("errored"); + } else { + $(this).removeClass("errored"); + + if (id == 'lastDay1') { + setDate(value, 'lastDay1', 'endDate1', true); + } else if (id == 'endDate1') { + setDate(value, 'endDate1', 'lastDay1', false); + } + } + } + }); + //date keyup for tab-except1 + $(".date").keyup(function() { + const value = $(this).val(); + const lengthValue = value.length; + const activeTabPane = $('.tab-pane.active'); + const startDate = activeTabPane.find('.input2'); + const lastDay = activeTabPane.find('.input3'); + const endDate = activeTabPane.find('.input4'); + + const endDateId = endDate.attr('id'); + const lastDateId = lastDay.attr('id'); + const id = $(this).attr('id'); + + + if (lengthValue == 10) { + if (!dateValidCheck(this)) { + $(this).addClass("errored"); + } else { + $(this).removeClass("errored"); + + if (id == lastDateId) { + setDate(value, lastDateId, endDateId, true); + } else if (id == endDateId) { + setDate(value, endDateId, lastDateId, false); + } + } + } + }); + + function setDate(value, fieldIdInput, fieldIdResult, islastDay) { + + let urlPost = ''; + + if (islastDay == true) { + urlPost = '@Url.Page("/Company/Employees/Index", "AfterDate")'; + } else { + urlPost = '@Url.Page("/Company/Employees/Index", "BeforeDate")'; + } + $.ajax({ + /* contentType: 'charset=utf-8',*/ + dataType: 'json', + type: 'POST', + url: urlPost, + headers: { "RequestVerificationToken": $('input[name="__RequestVerificationToken"]').val() }, + data: { "date": value }, + success: function(response) { + + + $(`#${fieldIdResult}`).val(response.resultDate); + }, + failure: function(response) { + //console.log(5, response); + } + + }); + } + + + $("#btnSaveData").click(function() { + $(".input-send-data").remove(); + + $(".tab-pane").each(function(i) { + var workshopid = $(this).attr("data-workshopid"); + var workshopName = $(this).attr("data-workshopName"); + const employeeId = @Model.EmployeeId; + const personnelCode = $(this).find('input.position-code'); + var jobId = $(this).find('.ul-search').find('span.value').attr('data-value'); + var includeStatus = $(this).find('input[type=checkbox]').is(":checked"); + var addBonusesPay = $(this).find('input.addbonusespay').is(":checked"); + var addYearsPay = $(this).find('input.addyearspay').is(":checked"); + var addLeavePay = $(this).find('input.addleavepay').is(":checked"); + + + // console.log(jobId); + + const haspersonelcode = personnelCode.attr("data-haspersonelcode"); + + if (haspersonelcode.toLowerCase() != "true") { + $("#divAppendDataLeftWork").append(``); + $("#divAppendDataLeftWork").append(``); + $("#divAppendDataLeftWork").append(``); + $("#divAppendDataLeftWork").append(``); + $("#divAppendDataLeftWork").append(``); + } + + var index2 = 0; + $(this).find('table tr').each(function(x) { + const leftWorkDate = $(this).find('td:eq(3)').text().trim(); + const startWorkDate = $(this).find('td:eq(1)').text().trim(); + const employeeId = @Model.EmployeeId; + + // console.log(leftWorkDate); + + if (startWorkDate != '') { + $("#divAppendDataLeftWork").append(``); + $("#divAppendDataLeftWork").append(``); + $("#divAppendDataLeftWork").append(``); + $("#divAppendDataLeftWork").append(``); + $("#divAppendDataLeftWork").append(``); + $("#divAppendDataLeftWork").append(``); + $("#divAppendDataLeftWork").append(``); + $("#divAppendDataLeftWork").append(``); + $("#divAppendDataLeftWork").append(``); + $("#divAppendDataLeftWork").append(``); + $("#divAppendDataLeftWork").append(``); + + //$("#divAppendData").append(''); + index2 = index2 + 1; + } + }); + }); + + // $('#sendData').click(); + $("#createLeftWork").submit(); + }); + + + $('#createLeftWork').submit(function(e) { + e.preventDefault(); + e.stopImmediatePropagation(); + $.ajax({ + type: "POST", + url: $(this).attr('action'), + data: $(this).serialize(), + success: function(response) { + if (response.isSuccedded == true) { + $.Notification.autoHideNotify('success', 'top right', response.message); + $("#MainModal").modal('hide'); + $(".datepicker-container").hide(); + getEmployeeList(); + } else { + $.Notification.autoHideNotify('error', 'top right', response.message); + } + } + }); + return false; + }); + + + function checkcountRow() { + + $(".tab-pane").each(function() { + const tab = $(this); + const table = $(this).find('table'); + table.find('tr').each(function(x) { + const leftWorkDate = $(this).find('td:eq(3)').text().trim(); + const startWorkDate = $(this).find('td:eq(1)').text().trim(); + disableInput(); + }); + + const trCount = $(this).find('table tr').length - 1; + const newRowNumber = 5 - trCount; + if (trCount < 5) { + for (let index = 0; index < newRowNumber; index++) { + const newRow = `${trCount + index + 1 + }`; + table.find("tbody").append(newRow); + } + + } + + }); + sortDates(); + handleScroll(); + + } + + //this function handles the show or hide of the scrollbar + function handleScroll() { + const activeTabPane = $('.tab-pane.active'); + const rows = activeTabPane.find(".workDate-table tbody").find("tr"); + const rowCount = rows.length; + const content = activeTabPane.find('.table-content'); + if (rowCount > 5) { + content.removeClass('hide-scrollbar'); + } else { + content.addClass('hide-scrollbar'); + } + } + + function isActived() { + const activeTabPane = $('.tab-pane.active'); + const checked = activeTabPane.find('.activated'); + checked.each(function() { + if (!checked.prop('checked')) { + console.log(3); + $(this).siblings("div").addClass("actived"); + + } else { + console.log(4); + $(this).siblings("div").removeClass("actived"); + } + }); + } + + + //this function handles the show or hide of the scrollbar of the company titles + //function handleCompanyScroll() { + // if ($('.nav-tabs a').length <= 4) { + // $('.nav-tabs').addClass('hide-scrollbar'); + // } else { + // $('.nav-tabs').removeClass('hide-scrollbar'); + // } + //} + + // this function disable/enable the input fields based on the data in the table + function disableInput() { + const activeTabPane = $('.tab-pane.active'); + const table = activeTabPane.find(".workDate-table tbody").get(0); + const navLink = $('.nav-link'); + const navTitle = navLink.find('.nav-title'); + + + const firstColumnData = Array.from(table.rows) + .map(row => row.cells[1].textContent.trim()) + .filter(cellValue => cellValue !== ""); + + + const secondColumnData = Array.from(table.rows) + .map(row => row.cells[2].textContent.trim()) + .filter(cellValue => cellValue !== ""); + + + const thirdColumnData = Array.from(table.rows) + .map(row => row.cells[2].textContent.trim()) + .filter(cellValue => cellValue !== ""); + + if (navTitle.text().trim() === 'نام شرکت') { + $('.input2').prop('disabled', true); + $('.input3').prop('disabled', true); + $('.input4').prop('disabled', true); + $('.position-name').prop('disabled', true); + // $('.position-code').prop('disabled', true); + $('.setContract').prop('disabled', true); + $('.options-check').addClass('disactived'); + } else if (firstColumnData.length > secondColumnData.length) { + $('.input2').prop('disabled', true); + $('.input3').prop('disabled', false); + $('.input4').prop('disabled', false); + } else { + $('.input2').prop('disabled', false); + $('.input3').prop('disabled', true); + $('.input4').prop('disabled', true); + $('.position-name').prop('disabled', false); + // $('.position-code').prop('disabled', false); + $('.setContract').prop('disabled', false); + $('.options-check').removeClass('disactived'); + } + + const haspersonelcode = activeTabPane.find('input.position-code').attr("data-haspersonelcode"); + console.log(haspersonelcode); + if (haspersonelcode.toLowerCase() == "true" || haspersonelcode == '') { + activeTabPane.find('input.position-code').prop('disabled', true); + } else { + activeTabPane.find('input.position-code').prop('disabled', false); + } + } + + // tooltip for when the title of the tabs are long + $(function() { + $('.nav-title').tooltip({ + container: 'body', + fontFamily: 'YekanBold', + background: 'grey', + placement: 'top', + offset: { x: 150, y: 20 }, + trigger: 'hover', + html: true, + title: function() { + return `${$(this).text()}`; + } + }); + }); + + + $('.trash').click(function() { + const activeTabPane = $('.tab-pane.active'); + const rows = activeTabPane.find(".workDate-table tbody").find("tr"); + const rowCount = rows.length; + if (rowCount === 6) { + $('.table-content').addClass('hide-scrollbar'); + } + if (rowCount <= 5) { + const deletedRow = $(this).closest('tr'); + deletedRow.find('td:eq(5)').text(""); + deletedRow.find('td:eq(3)').text(""); + deletedRow.find('td:eq(2)').text(""); + deletedRow.find('td:eq(1)').text(""); + } + if (rowCount > 5) { + $(this).closest('tr').fadeOut(200, + function() { + $(this).remove(); + updateRowNumbers(); + }); + } + disableInput(); + + }); + + //this code controls the trash icon + $(".workDate-table .trash-icon").on("mouseenter", + function() { + $(this).animate({ left: "-2px" }, 50) + .animate({ left: "2px" }, 50) + .animate({ left: "0px" }, 50); + }); + + $('.del-com .trash-icon').click(function() { + const navLink = $(this).closest('.nav-link'); + const navTitle = navLink.find('.nav-title'); + + if ($(this).closest('.nav-link').index() === 0 && $('.nav-tabs a').length === 1) { + + @if (Model.LeftWorkGroups != null && Model.LeftWorkGroups.Count > 0) + { + $("#IsDelete").val('true'); + } + navTitle.text('نام شرکت'); + navTitle.addClass("disactive"); + const activeTabPane = $('.tab-pane.active'); + activeTabPane.find("input.position-code").val(""); + activeTabPane.find(".position-name").val(0); + + const rows = activeTabPane.find(".workDate-table tbody").find("tr"); + const rowCount = rows.length; + if (rowCount === 6) { + $('.table-content').addClass('hide-scrollbar'); + } + rows.each(function() { + if (rowCount <= 5) { + $(this).find('td:eq(5)').text(""); + $(this).find('td:eq(3)').text(""); + $(this).find('td:eq(2)').text(""); + $(this).find('td:eq(1)').text(""); + } + if (rowCount > 5) { + $(this).remove(); + updateRowNumbers(); + } + }); + } else { + const href_ = $(this).closest('.nav-link').attr("href"); + + const tabId = href_.replace('#', ''); + + $(this).closest('.nav-link').remove(); + //handleCompanyScroll(); + $(`#${tabId}`).remove(); + + if ($(this).closest('.nav-link').hasClass('active')) { + $('.nav-tabs a:first-child').trigger('click'); + } + } + disableInput(); + }); + + //the save button in the new tab... + $('.save').click(function(e) { + e.preventDefault(); + saveData(); + }); + + function saveData() { + const activeTabPane = $('.tab-pane.active'); + const startDate = activeTabPane.find('.input2'); + const lastDay = activeTabPane.find('.input3'); + const endDate = activeTabPane.find('.input4'); + + + const startValue = startDate.val(); + const lastValue = lastDay.val(); + const endValue = endDate.val(); + + const dateId = startDate.attr('id'); + const number = dateId.match(/\d+/)[0]; + + + if (startValue != '' && !checkLength(startDate.val(), 10)) { + if (!dateValidCheckByValue(startDate)) { + startDate.addClass("errored"); + } else { + startDate.removeClass("errored"); + } + + } + if (lastValue != '' && !checkLength(lastDay.val(), 10)) { + if (!dateValidCheckByValue(startDate)) { + lastDay.addClass("errored"); + } else { + lastDay.removeClass("errored"); + } + + } + if (endValue != '' && !checkLength(endDate.val(), 10)) { + if (!dateValidCheckByValue(endDate)) { + endDate.addClass("errored"); + } else { + endDate.removeClass("errored"); + } + + } + + if (!$('.date').hasClass('errored')) { + addRow2(number, startValue, lastValue, endValue); + disableInput(); + handleScroll(); + + startDate.val(""); + lastDay.val(""); + endDate.val(""); + + } + } + + //var timer = null; + //$('body').on('keyup', '.select2-search__field',function(){ + // clearTimeout(timer); + // timer = setTimeout(jobListByText, 1000); + //}); + + + function getPersonelCode(workshopId) { + + const employeeId = @Model.EmployeeId; + // var workshopId=$("#input1").val(); + + $.ajax({ + /* contentType: 'charset=utf-8',*/ + dataType: 'json', + type: 'POST', + url: '@Url.Page("/Company/Employees/Index", "GetPersonelCode")', + headers: { "RequestVerificationToken": $('input[name="__RequestVerificationToken"]').val() }, + data: { "workshopId": Number(workshopId), "employeeId": Number(employeeId) }, + success: function(response) { + console.log(response); + + //console.log(response); + const inputCode = $('.tab-pane.active').find("input.position-code"); + //var inputClass=inputCode.attr("class"); + inputCode.val(response.personnelCode); + if (response.hasPersonelCode) { + // console.log(09); + inputCode.attr("disabled", "disabled"); + inputCode.attr("data-haspersonelcode", "true"); + } else { //console.log(10); + inputCode.attr("data-haspersonelcode", "false"); + } + disableInput(); + }, + failure: function(response) { + // console.log(5, response); + } + + }); + + } + + function getWorkshopInformation(workshopId) { + console.log('sss'); + const addBonusesPay = $('.tab-pane.active').find("input.addbonusespay"); + const addYearsPay = $('.tab-pane.active').find("input.addyearspay"); + const addLeavePay = $('.tab-pane.active').find("input.addleavepay"); + + + if ('@Model.AddBonusesPay' == 'True') { + addBonusesPay.prop("checked", true); + // addBonusesPay.trigger("click"); + } else { + addBonusesPay.prop("checked", false); + } + + if ('@Model.AddYearsPay' == 'True') { + addYearsPay.prop("checked", true); + // addYearsPay.trigger("click"); + } else { + addYearsPay.prop("checked", false); + } + if ('@Model.AddLeavePay' == 'True') { + addLeavePay.prop("checked", true); + } else { + addLeavePay.prop("checked", false); + } + + + //-----------Old---------- + //$.ajax({ + // /* contentType: 'charset=utf-8',*/ + // dataType: 'json', + // type: 'POST', + // url: '@Url.Page("/Company/Employees/Index", "GetWorkshopInformation")', + // headers: { "RequestVerificationToken": $('input[name="__RequestVerificationToken"]').val() }, + // data: { "workshopId": Number(workshopId)}, + // success: function (response) { + // console.log(response); + + // var addBonusesPay=$('.tab-pane.active').find("input.addbonusespay"); + // var addYearsPay=$('.tab-pane.active').find("input.addyearspay"); + // var addLeavePay=$('.tab-pane.active').find("input.addleavepay"); + + // if(response.addBonusesPay){ + // addBonusesPay.prop("checked",true); + // // addBonusesPay.trigger("click"); + // } + // else{ + // addBonusesPay.prop("checked",false); } + + // if(response.addYearsPay) + // { + // addYearsPay.prop("checked",true); + // // addYearsPay.trigger("click"); + // } + // else + // { addYearsPay.prop("checked",false); } + + // if(response.addLeavePay) + // { + // addLeavePay.prop("checked",true); + // //addLeavePay.trigger("click"); + // } + // else + // { addLeavePay.prop("checked",false); } + + // }, + // failure: function (response) { + // // console.log(5, response); + // } + + // }); + + } + + + // lock=false; + // lastValue=''; + // function jobListByText() { + + //var this_=$(".select2-search__field"); + + //var text=$(this_).val(); + //var selectItem=$('.tab-pane.active').find('.select-city'); + //var selectControls=$(this_).attr("aria-controls"); + // if(text!="" && selectControls!="select2-input1-results") + // { + // if(!lock){ + // lock=true; + // lastValue=text; + // } + // else{ + // return; + // } + // $.ajax({ + // /* contentType: 'charset=utf-8',*/ + // dataType: 'json', + // type: 'POST', + // url: '@Url.Page("/Company/InsuranceJob/Index", "JobListByText")', + // headers: { "RequestVerificationToken": $('input[name="__RequestVerificationToken"]').val() }, + // data: { "textSearch": text }, + // success: function (response) { + // lock=false; + // $.each(response.jobList, function (i, item) { + + // if (selectItem.find("option[value='" + item.id + "']").length==0) { + // var newOption = new Option((item.jobName+' | '+item.jobCode), item.id, true, true); + // selectItem.append(newOption).trigger('change'); + // } + // }); + // if (text != lastValue) + // { + // console.log(100); + // jobListByText($(".select2-search__field")); + + // } + // }, + // failure: function (response) { + // lock=false; + // console.log(5, response); + // } + // }); + // } + // else + // { + // } + + + // } + + + \ No newline at end of file diff --git a/ServiceHost/Areas/Client/Pages/Company/Employees/LeftWorkInsurance.cshtml b/ServiceHost/Areas/Client/Pages/Company/Employees/LeftWorkInsurance.cshtml index cb9cf94b..0a26ec3f 100644 --- a/ServiceHost/Areas/Client/Pages/Company/Employees/LeftWorkInsurance.cshtml +++ b/ServiceHost/Areas/Client/Pages/Company/Employees/LeftWorkInsurance.cshtml @@ -2,1364 +2,1377 @@ @*adding bime*@ - - + + @Html.AntiForgeryToken()
- -
شروع بکار و ترک کار پرسنل در بخش بیمه
-
- @Model.WorkshopName (@Model.EmployeeName) + +
شروع بکار و ترک کار پرسنل در بخش بیمه
+
+ @Model.WorkshopName (@Model.EmployeeName) @*
*@ -
- -
-
- -
+
+ +
+
+ +
- -
-
-
- +
+
+ -
- @if (Model.LeftWorkInsuranceGroups != null && Model.LeftWorkInsuranceGroups.Count > 0) - { - int index = 1; - @foreach (var item in @Model.LeftWorkInsuranceGroups) - { -
-
-
-
-
-
- - +
+
+
+ + +
+
+
+ مشمول مزایا +
+ @if (item.LeftworkInsuranceViewModels != null && item.LeftworkInsuranceViewModels.Count > 0) + { + + } + else + { + + } +
+ عدم شمول مزایا +
+
+
+
+ @if (index == 1) + { +
+ +
+
+ +
+
+ + +
+ } + else + { +
+ +
+
+ +
+
+ + +
+ } +
+
+ + + + + + + + + + + + + + + + + + + + + @if (item.LeftworkInsuranceViewModels != null) + { + var leftworkInsuranceViewModelList = item.LeftworkInsuranceViewModels; + for (var i = 0; i < leftworkInsuranceViewModelList.Count; i++) + { + + + + + + + + + } + } + +
#تاریخ شروع بکارتاریخ آخرین روز کاریتاریخ ترک کارروزهای کارکرد
@(i + 1)@leftworkInsuranceViewModelList[i].StartWorkDate@leftworkInsuranceViewModelList[i].EndWorkDate@leftworkInsuranceViewModelList[i].LeftWorkDate + + _
+
+
+
+
- index = index + 1; - } - } - else - { -
-
-
-
-
-
- - +
+
+} -
-
+
+
- -
+ +
-
- - -
+
+ + +
+ function jobListByText() { + const this_ = $(".select2-search__field"); + var text = $(this_).val(); + var selectItem = $('.tab-pane.active').find('.select-city'); + const workshopid = $('.tab-pane.active').attr('data-workshopid'); + + const selectControls = $(this_).attr("aria-controls"); + if (text != "" && selectControls != "select2-input1-results") { + if (!lockLeftWorkInsurance) { + lockLeftWorkInsurance = true; + lastValueLeftWorkInsurance = text; + } else { + return; + } + $.ajax({ + /* contentType: 'charset=utf-8',*/ + dataType: 'json', + type: 'POST', + url: '@Url.Page("/Company/Employees/Index", "JobListByText")', + headers: { "RequestVerificationToken": $('input[name="__RequestVerificationToken"]').val() }, + data: { "textSearch": text, "workshopId": workshopid }, + success: function(response) { + lockLeftWorkInsurance = false; + $.each(response.jobList, + function(i, item) { + if (selectItem.find(`option[value='${item.id}']`).length == 0) { + const newOption = new Option((item.jobName + ' | ' + item.jobCode), item.id, true, true); + selectItem.append(newOption); + } + selectItem.val('0'); + }); + if (text != lastValueLeftWorkInsurance) { + //console.log(100); + jobListByText($(".select2-search__field")); + } + }, + failure: function(response) { + lockLeftWorkInsurance = false; + //console.log(5, response); + } + }); + } else { + //console.log(10); + } + } + + function getJobByWorkshopId(workshopId) { + $.ajax({ + /* contentType: 'charset=utf-8',*/ + dataType: 'json', + type: 'POST', + url: '@Url.Page("/Company/Employees/Index", "JobListByWorkshopId")', + headers: { "RequestVerificationToken": $('input[name="__RequestVerificationToken"]').val() }, + data: { "workshopId": workshopId }, + success: function(response) { + console.log(response); + $.each(response.jobList, + function(i, item) { + const newOption = new Option((item.jobName + ' | ' + item.jobCode), item.id, true, true); + $(`#select-${workshopId}`).append(newOption); + }); + $(`#select-${workshopId}`).val('0'); + }, + failure: function(response) { + + console.log(5, response); + } + }); + + } + + function alert() { + console.log("yes"); + } + \ No newline at end of file diff --git a/ServiceHost/Areas/Client/Pages/Company/Employees/PaidLeave.cshtml b/ServiceHost/Areas/Client/Pages/Company/Employees/PaidLeave.cshtml index 6cf15e5e..4ed5e852 100644 --- a/ServiceHost/Areas/Client/Pages/Company/Employees/PaidLeave.cshtml +++ b/ServiceHost/Areas/Client/Pages/Company/Employees/PaidLeave.cshtml @@ -1,12 +1,11 @@ @model CompanyManagment.App.Contracts.Leave.CreateLeave @{ - - int i = 1; + var i = 1; } @{ - - + }
- + -
-
+
+ + +
+
+
+
+

سوابق مرخصی استحقاقی

+
+
+
+
+ +
+
+
+
+
+
+ + + @**@ + + +
+
+ + + @**@ + @**@ + +
+
\ No newline at end of file diff --git a/ServiceHost/Areas/Client/Pages/Company/Employees/PaidLeaveList.cshtml b/ServiceHost/Areas/Client/Pages/Company/Employees/PaidLeaveList.cshtml index b8441a4c..e4c31a07 100644 --- a/ServiceHost/Areas/Client/Pages/Company/Employees/PaidLeaveList.cshtml +++ b/ServiceHost/Areas/Client/Pages/Company/Employees/PaidLeaveList.cshtml @@ -1,92 +1,94 @@ @model List -@{ - int i = 1; +@{ + var i = 1; } - - - - - - - - - - - - - @foreach (var item in Model) - { - - - - - - - @{ - i++; - } - - - } - -
# تاریخ شروع تاریخ پایان نوع مدت مرخصی مدت زمان(ساعت) عملیات
@i @item.StartLeave - @item.EndLeave - - @item.PaidLeaveType - - @item.LeaveHourses - - - - - -
- -
-
+ + + + + + + + + + + + + @foreach (var item in Model) + { + + + + + + + @{ + i++; + } + + + } + +
# تاریخ شروع تاریخ پایان نوع مدت مرخصی مدت زمان(ساعت) عملیات
@i @item.StartLeave + @item.EndLeave + + @item.PaidLeaveType + + @item.LeaveHourses + + + + + + + +
+ +
+
+ - \ No newline at end of file diff --git a/ServiceHost/Areas/Client/Pages/Company/Employees/PrintAll.cshtml b/ServiceHost/Areas/Client/Pages/Company/Employees/PrintAll.cshtml index a5ee9c85..189bf777 100644 --- a/ServiceHost/Areas/Client/Pages/Company/Employees/PrintAll.cshtml +++ b/ServiceHost/Areas/Client/Pages/Company/Employees/PrintAll.cshtml @@ -1,6 +1,6 @@ @model CompanyManagment.App.Contracts.Leave.GroupLeavePrintViewModel @{ - } + + + \ No newline at end of file diff --git a/ServiceHost/Areas/Client/Pages/Company/Employees/PrintAllDetailsPersonnelInfoMobile.cshtml b/ServiceHost/Areas/Client/Pages/Company/Employees/PrintAllDetailsPersonnelInfoMobile.cshtml index 6e7b67be..8406f32b 100644 --- a/ServiceHost/Areas/Client/Pages/Company/Employees/PrintAllDetailsPersonnelInfoMobile.cshtml +++ b/ServiceHost/Areas/Client/Pages/Company/Employees/PrintAllDetailsPersonnelInfoMobile.cshtml @@ -1,7 +1,7 @@ @model CompanyManagment.App.Contracts.Workshop.PersonnelInfoPrintViewModel @{ - int i = 1; - } + + + \ No newline at end of file diff --git a/ServiceHost/Areas/Client/Pages/Company/Employees/PrintAllList.cshtml b/ServiceHost/Areas/Client/Pages/Company/Employees/PrintAllList.cshtml index ffaeb63b..0a32bcc1 100644 --- a/ServiceHost/Areas/Client/Pages/Company/Employees/PrintAllList.cshtml +++ b/ServiceHost/Areas/Client/Pages/Company/Employees/PrintAllList.cshtml @@ -1,12 +1,10 @@ -@using _0_Framework.Application -@using Version = _0_Framework.Application.Version -@model CompanyManagment.App.Contracts.Leave.GroupLeavePrintViewModel; +@model CompanyManagment.App.Contracts.Leave.GroupLeavePrintViewModel; @* *@ @{ - - int index = 1; + var index = 1; } - \ No newline at end of file diff --git a/ServiceHost/Areas/Client/Pages/Company/Employees/PrintAllPersonnelInfo.cshtml b/ServiceHost/Areas/Client/Pages/Company/Employees/PrintAllPersonnelInfo.cshtml index 5a792e80..beb656cf 100644 --- a/ServiceHost/Areas/Client/Pages/Company/Employees/PrintAllPersonnelInfo.cshtml +++ b/ServiceHost/Areas/Client/Pages/Company/Employees/PrintAllPersonnelInfo.cshtml @@ -1,7 +1,7 @@ @model CompanyManagment.App.Contracts.Workshop.PersonnelInfoPrintViewModel @{ - int i = 1; - } - - + + + + + \ No newline at end of file diff --git a/ServiceHost/Areas/Client/Pages/Company/Employees/PrintOne.cshtml b/ServiceHost/Areas/Client/Pages/Company/Employees/PrintOne.cshtml index 4d7ccd42..12733176 100644 --- a/ServiceHost/Areas/Client/Pages/Company/Employees/PrintOne.cshtml +++ b/ServiceHost/Areas/Client/Pages/Company/Employees/PrintOne.cshtml @@ -204,7 +204,7 @@
- - + + +
@@ -357,27 +361,27 @@ \ No newline at end of file diff --git a/ServiceHost/Areas/Client/Pages/Company/Employees/PrintOneMobile.cshtml b/ServiceHost/Areas/Client/Pages/Company/Employees/PrintOneMobile.cshtml index 0cefc3dc..87a4d5cf 100644 --- a/ServiceHost/Areas/Client/Pages/Company/Employees/PrintOneMobile.cshtml +++ b/ServiceHost/Areas/Client/Pages/Company/Employees/PrintOneMobile.cshtml @@ -208,7 +208,7 @@
- + - + - +
@@ -362,33 +366,35 @@ \ No newline at end of file diff --git a/ServiceHost/Areas/Client/Pages/Company/Employees/PrintOnePersonnelInfo.cshtml b/ServiceHost/Areas/Client/Pages/Company/Employees/PrintOnePersonnelInfo.cshtml index c2929da0..db3a88a7 100644 --- a/ServiceHost/Areas/Client/Pages/Company/Employees/PrintOnePersonnelInfo.cshtml +++ b/ServiceHost/Areas/Client/Pages/Company/Employees/PrintOnePersonnelInfo.cshtml @@ -1,7 +1,7 @@ @model CompanyManagment.App.Contracts.Employee.EditEmployee @{ - int i = 1; - -
- - - - @**@ - -
+ + + @**@ + + -@Html.AntiForgeryToken() +@Html.AntiForgeryToken() \ No newline at end of file diff --git a/ServiceHost/Areas/Client/Pages/Company/Employers/EmployerList.cshtml b/ServiceHost/Areas/Client/Pages/Company/Employers/EmployerList.cshtml index 2f56a68f..702d9792 100644 --- a/ServiceHost/Areas/Client/Pages/Company/Employers/EmployerList.cshtml +++ b/ServiceHost/Areas/Client/Pages/Company/Employers/EmployerList.cshtml @@ -3,121 +3,132 @@ } @*
*@ -
-

درصورتی که شخص یا اشخاص دیگری بعنوان شریک در مجموعه حضور دارند، میتوانید بر روی گزینه ثبت کارفرمای جدید کلیک نموده و مشخصات شریک یا شرکای خود راوارد نمائید. توجه داشته باشید در کلیه قراردادهای تنظیمی، نام کلیه افرادی که در ذیل ثبت مینمائید بعنوان کارفرما ثبت و قابل نمایش میباشد.

-
- @if (Model != null && Model.Count > 0) - { - int index = 1; - foreach (var item in Model) - { -
-

کارفرمای شماره@index

-

@item.FName @item.LName کد ملی : @item.Nationalcode

- - -
- - index = index + 1; - } - } +
+

درصورتی که شخص یا اشخاص دیگری بعنوان شریک در مجموعه حضور دارند، میتوانید بر روی گزینه ثبت کارفرمای جدید کلیک نموده و مشخصات شریک یا شرکای خود راوارد نمائید. توجه داشته باشید در کلیه قراردادهای تنظیمی، نام کلیه افرادی که در ذیل ثبت مینمائید بعنوان کارفرما ثبت و قابل نمایش میباشد.

+
+@if (Model != null && Model.Count > 0) +{ + var index = 1; + foreach (var item in Model) + { +
+

+ کارفرمای شماره@index +

+

+ @item.FName @item.LName کد ملی : @item.Nationalcode +

+ + + + + + +
+ + index = index + 1; + } +} @*
*@ \ No newline at end of file diff --git a/ServiceHost/Areas/Client/Pages/Company/Employers/Index.cshtml b/ServiceHost/Areas/Client/Pages/Company/Employers/Index.cshtml index 181a3774..573b6321 100644 --- a/ServiceHost/Areas/Client/Pages/Company/Employers/Index.cshtml +++ b/ServiceHost/Areas/Client/Pages/Company/Employers/Index.cshtml @@ -1,30 +1,30 @@ @page -@model ServiceHost.Areas.Client.Pages.Company.Employers.IndexModel +@model IndexModel @{ } - - + +
-
- -
+
+ +
-
کاربر گرامی ، لطفا با مطالعه توضیحات، گزینه مناسب را انتخاب نمایید
-
- کارفرمای حقیقی هستم -
کارفرمای حقیقی به شخصی اطلاق می گردد که به صورت انفرادی یا با وجود شریک یا شرکا اقدام به تاسیس مجموعه ای می نمایند که بواسطه در اختیار گرفتن پرسنل در جهت اهداف خود گام برمیدارند.کارفرمای حقیقی فاقد شناسه ملی و شماره ثبت میباشد.
-
-
- کارفرمای حقوقی هستم -
کارفرمای حقوقی به یک نهاد، موسسه، شرکت یا سازمان اطلاق می گردد که دارای شناسه ملی و شماره ثبت از اداره ثبت شرکت ها و موسسات میباشد. شایان ذکر است کارفرمای حقوقی دارای اعضایی همچون مدیرعامل و اعضای هیات مدیره و .... میباشد.
-
+
کاربر گرامی ، لطفا با مطالعه توضیحات، گزینه مناسب را انتخاب نمایید
+
+ کارفرمای حقیقی هستم +
کارفرمای حقیقی به شخصی اطلاق می گردد که به صورت انفرادی یا با وجود شریک یا شرکا اقدام به تاسیس مجموعه ای می نمایند که بواسطه در اختیار گرفتن پرسنل در جهت اهداف خود گام برمیدارند.کارفرمای حقیقی فاقد شناسه ملی و شماره ثبت میباشد.
+
+
+ کارفرمای حقوقی هستم +
کارفرمای حقوقی به یک نهاد، موسسه، شرکت یا سازمان اطلاق می گردد که دارای شناسه ملی و شماره ثبت از اداره ثبت شرکت ها و موسسات میباشد. شایان ذکر است کارفرمای حقوقی دارای اعضایی همچون مدیرعامل و اعضای هیات مدیره و .... میباشد.
+
-
-
+
+
\ No newline at end of file diff --git a/ServiceHost/Areas/Client/Pages/Company/Employers/Index.cshtml.cs b/ServiceHost/Areas/Client/Pages/Company/Employers/Index.cshtml.cs index 8fc55b79..6d7f4aba 100644 --- a/ServiceHost/Areas/Client/Pages/Company/Employers/Index.cshtml.cs +++ b/ServiceHost/Areas/Client/Pages/Company/Employers/Index.cshtml.cs @@ -1,48 +1,41 @@ using _0_Framework.Application; using CompanyManagment.App.Contracts.Employer; -using CompanyManagment.App.Contracts.InsuranceJob; -using CompanyManagment.App.Contracts.Workshop; using Microsoft.AspNetCore.Mvc; using Microsoft.AspNetCore.Mvc.RazorPages; -using System.Collections.Generic; -using System.Linq; -namespace ServiceHost.Areas.Client.Pages.Company.Employers +namespace ServiceHost.Areas.Client.Pages.Company.Employers; + +public class IndexModel : PageModel { - public class IndexModel : PageModel - { - private readonly IAuthHelper _authHelper; - private readonly IEmployerApplication _employerApplication; - // public List Employers; - public IndexModel(IAuthHelper authHelper, IEmployerApplication employerApplication) - { - _employerApplication = employerApplication; - _authHelper = authHelper; - } - public IActionResult OnGet() - { - var acountID = _authHelper.CurrentAccountId(); - var employers = _employerApplication.GetEmployersForClient(acountID); - //bool hasEmployer = true; - - if (employers != null && employers.Count > 0) - { - bool isLegal = false; - isLegal = employers.Any(x => x.IsLegal == "حقوقی"); - string url = string.Empty; - if (isLegal) - { - url = "/Client/Company/Employers/LegalList"; //Url.Page("EditLegal", new { id = employers[0].Id }); - } - else - { - url = Url.Page("Actual"); - } - return Redirect(url); - } + private readonly IAuthHelper _authHelper; - return Page(); + private readonly IEmployerApplication _employerApplication; - } - } -} + // public List Employers; + public IndexModel(IAuthHelper authHelper, IEmployerApplication employerApplication) + { + _employerApplication = employerApplication; + _authHelper = authHelper; + } + + public IActionResult OnGet() + { + var acountID = _authHelper.CurrentAccountId(); + var employers = _employerApplication.GetEmployersForClient(acountID); + //bool hasEmployer = true; + + if (employers != null && employers.Count > 0) + { + var isLegal = false; + isLegal = employers.Any(x => x.IsLegal == "حقوقی"); + var url = string.Empty; + if (isLegal) + url = "/Client/Company/Employers/LegalList"; //Url.Page("EditLegal", new { id = employers[0].Id }); + else + url = Url.Page("Actual"); + return Redirect(url); + } + + return Page(); + } +} \ No newline at end of file diff --git a/ServiceHost/Areas/Client/Pages/Company/Employers/Legal.cshtml b/ServiceHost/Areas/Client/Pages/Company/Employers/Legal.cshtml index 7cd13548..f497b62e 100644 --- a/ServiceHost/Areas/Client/Pages/Company/Employers/Legal.cshtml +++ b/ServiceHost/Areas/Client/Pages/Company/Employers/Legal.cshtml @@ -2,408 +2,411 @@ @{ } -@Html.AntiForgeryToken() +@Html.AntiForgeryToken()
-
- مشخصات کارفرمای حقوقی -
-
-
-
مشخصات کارفرما
-
مشخصات مدیرعامل
-
-
-
برای اطلاع از وضعیت نام دقیق شرکت / موسسه خود به سایت https://ilenc.ssaa.ir مراجعه فرمائید .
-
-
-
-

- نام شرکت : در این قسمت نام کافرما همان نام شرکت می باشد ، نام شرکت می بایست بصورت کامل و کلمه به کلمه منطبق با نام ثبت شده در اداره ثبت شرکت ها تکمیل گردد . -

-
-
-

- شناسه ملی : شناسه ملی در اطلاعات هویتی شرکت ( آگهی تاسیس شرکت ) مشاهده میگردد و عینا همان شماره در فیلد مربوطه درج شود. -

-
-
-

- شماره ثبت : شماره ثبت نیز همانند شناسه ملی ، در آگهی تاسیس قابل مشاهده میباشد و ضروریست شماره ثبت صحیح را در فیلد مربوطه درج نمائید. -

-
-
-

- شماره همراه : شماره همراه مدیرعامل یا نماینده مدیرعامل یا هر شخصی که تمایل به استفاده از این سامانه را دارد وارد نمائید. -

-
-
-

- شماره تلفن ثابت : شماره تلفن مورد نظر را با درج کد شهرستان خود ثبت نمائید . -

-
-
-
-
-
-
-
- - - @**@ -
-
-
-
- - - -

فقط عدد وارد شود.

-
-
-
-
- - - -

فقط عدد وارد شود.

-
-
-
-
-
-
- - - -

فقط عدد وارد شود.

-
-
-
-
- - - -

فقط عدد وارد شود.

-
-
-
-
+
+مشخصات کارفرمای حقوقی +
+
+
+
مشخصات کارفرما
+
مشخصات مدیرعامل
+
+
+
+ برای اطلاع از وضعیت نام دقیق شرکت / موسسه خود به سایت https://ilenc.ssaa.ir مراجعه فرمائید . +
+
+
+
+

+ نام شرکت : در این قسمت نام کافرما همان نام شرکت می باشد ، نام شرکت می بایست بصورت کامل و کلمه به کلمه منطبق با نام ثبت شده در اداره ثبت شرکت ها تکمیل گردد . +

+
+
+

+ شناسه ملی : شناسه ملی در اطلاعات هویتی شرکت ( آگهی تاسیس شرکت ) مشاهده میگردد و عینا همان شماره در فیلد مربوطه درج شود. +

+
+
+

+ شماره ثبت : شماره ثبت نیز همانند شناسه ملی ، در آگهی تاسیس قابل مشاهده میباشد و ضروریست شماره ثبت صحیح را در فیلد مربوطه درج نمائید. +

+
+
+

+ شماره همراه : شماره همراه مدیرعامل یا نماینده مدیرعامل یا هر شخصی که تمایل به استفاده از این سامانه را دارد وارد نمائید. +

+
+
+

+ شماره تلفن ثابت : شماره تلفن مورد نظر را با درج کد شهرستان خود ثبت نمائید . +

+
+
+
+
+
+
+
+ + + @**@ +
+
+
+
+ + + +

فقط عدد وارد شود.

+
+
+
+
+ + + +

فقط عدد وارد شود.

+
+
+
+
+
+
+ + + +

فقط عدد وارد شود.

+
+
+
+
+ + + +

فقط عدد وارد شود.

+
+
+
+
-
-
- @*
+
+
+ @*
*@ -
+
-
-
-
- جنسیت -
-
- مرد +
+
+
+ جنسیت +
+
+ مرد -
-
- زن -
- @**@ -
-
+
+
+ زن +
+ @**@ +
+
-
-
-
- ملیت -
-
- ایرانی +
+
+
+ ملیت +
+
+ ایرانی -
-
- غیر ایرانی -
-
-
-
-
-
-
- - - -

فقط حروف فارسی وارد شود.

-
-
-
-
- - - -

فقط حروف فارسی وارد شود.

-
-
-
-
-
-
- - - -

فقط عدد وارد شود.

-
-
-
-
- - - -

فقط عدد وارد شود.

-
-
-
-
-
-
- - +
+
+ غیر ایرانی +
+
+
+
+
+
+
+ + + +

فقط حروف فارسی وارد شود.

+
+
+
+
+ + + +

فقط حروف فارسی وارد شود.

+
+
+
+
+
+
+ + + +

فقط عدد وارد شود.

+
+
+
+
+ + + +

فقط عدد وارد شود.

+
+
+
+
+
+
+ + - @**@ -
-
+ @**@ +
+
-
-
- - - -

فقط حروف فارسی وارد شود.

-
-
-
-
-
-
- - +
+
+ + + +

فقط حروف فارسی وارد شود.

+
+
+
+
+
+
+ + - @**@ -
-
-
-
- - - -

فقط حروف فارسی وارد شود.

-
-
-
- @*
*@ -
- -
-
- + @**@ +
+
+
+
+ + + +

فقط حروف فارسی وارد شود.

+
+
+ + @* *@ + + + +
+
- \ No newline at end of file + $(window).on('resize', + function() { + adjustFormBoxHeight(); + }); + + function adjustFormBoxHeight() { + const formBoxHeight = Math.max($('.form1').height(), $('.form2').height()); + $('.form-box').height(formBoxHeight + 50); + } + + $('#saveFormLegal').submit(function(e) { + e.preventDefault(); + e.stopImmediatePropagation(); + //debugger; + $.ajax({ + type: "POST", + url: $(this).attr('action'), + data: $(this).serialize(), + success: function(response) { + if (response.isSuccedded == true) { + $.Notification.autoHideNotify('success', 'top right', response.message); + + window.location = "@Url.Page("/Company/Employers/LegalIndex")"; + // getEmployerList(); + } else { + $.Notification.autoHideNotify('error', 'top right', response.message); + } + } + }); + return false; + }); + \ No newline at end of file diff --git a/ServiceHost/Areas/Client/Pages/Company/Employers/LegalEdit.cshtml b/ServiceHost/Areas/Client/Pages/Company/Employers/LegalEdit.cshtml index d1753090..7a7a93b3 100644 --- a/ServiceHost/Areas/Client/Pages/Company/Employers/LegalEdit.cshtml +++ b/ServiceHost/Areas/Client/Pages/Company/Employers/LegalEdit.cshtml @@ -1,406 +1,409 @@ -@using _0_Framework.Application -@model CompanyManagment.App.Contracts.Employer.EditEmployer +@model CompanyManagment.App.Contracts.Employer.EditEmployer @{ } - @Html.AntiForgeryToken() -
+@Html.AntiForgeryToken() + - - -
- مشخصات کارفرمای حقوقی -
-
-
-
مشخصات کارفرما
-
مشخصات مدیرعامل
-
-
-
برای اطلاع از وضعیت نام دقیق شرکت / موسسه خود به سایت https://ilenc.ssaa.ir مراجعه فرمائید .
-
-
-
-

- نام شرکت : در این قسمت نام کافرما همان نام شرکت می باشد ، نام شرکت می بایست بصورت کامل و کلمه به کلمه منطبق با نام ثبت شده در اداره ثبت شرکت ها تکمیل گردد . -

-
-
-

- شناسه ملی : شناسه ملی در اطلاعات هویتی شرکت ( آگهی تاسیس شرکت ) مشاهده میگردد و عینا همان شماره در فیلد مربوطه درج شود. -

-
-
-

- شماره ثبت : شماره ثبت نیز همانند شناسه ملی ، در آگهی تاسیس قابل مشاهده میباشد و ضروریست شماره ثبت صحیح را در فیلد مربوطه درج نمائید. -

-
-
-

- شماره همراه : شماره همراه مدیرعامل یا نماینده مدیرعامل یا هر شخصی که تمایل به استفاده از این سامانه را دارد وارد نمائید. -

-
-
-

- شماره تلفن ثابت : شماره تلفن مورد نظر را با درج کد شهرستان خود ثبت نمائید . -

-
-
-
-
-
-
-
- - - @**@ -
-
-
-
- - - -

فقط عدد وارد شود.

-
-
-
-
- - - -

فقط عدد وارد شود.

-
-
-
-
-
-
- - - -

فقط عدد وارد شود.

-
-
-
-
- - - -

فقط عدد وارد شود.

-
-
-
-
+ + +
+مشخصات کارفرمای حقوقی +
+
+
+
مشخصات کارفرما
+
مشخصات مدیرعامل
+
+
+
+ برای اطلاع از وضعیت نام دقیق شرکت / موسسه خود به سایت https://ilenc.ssaa.ir مراجعه فرمائید . +
+
+
+
+

+ نام شرکت : در این قسمت نام کافرما همان نام شرکت می باشد ، نام شرکت می بایست بصورت کامل و کلمه به کلمه منطبق با نام ثبت شده در اداره ثبت شرکت ها تکمیل گردد . +

+
+
+

+ شناسه ملی : شناسه ملی در اطلاعات هویتی شرکت ( آگهی تاسیس شرکت ) مشاهده میگردد و عینا همان شماره در فیلد مربوطه درج شود. +

+
+
+

+ شماره ثبت : شماره ثبت نیز همانند شناسه ملی ، در آگهی تاسیس قابل مشاهده میباشد و ضروریست شماره ثبت صحیح را در فیلد مربوطه درج نمائید. +

+
+
+

+ شماره همراه : شماره همراه مدیرعامل یا نماینده مدیرعامل یا هر شخصی که تمایل به استفاده از این سامانه را دارد وارد نمائید. +

+
+
+

+ شماره تلفن ثابت : شماره تلفن مورد نظر را با درج کد شهرستان خود ثبت نمائید . +

+
+
+
+
+
+
+
+ + + @**@ +
+
+
+
+ + + +

فقط عدد وارد شود.

+
+
+
+
+ + + +

فقط عدد وارد شود.

+
+
+
+
+
+
+ + + +

فقط عدد وارد شود.

+
+
+
+
+ + + +

فقط عدد وارد شود.

+
+
+
+
-
-
- @*
+
+
+ @*
*@ -
-
-
-
- جنسیت -
-
- مرد +
+
+
+
+ جنسیت +
+
+ مرد -
-
- زن -
- @**@ -
-
+
+
+ زن +
+ @**@ +
+
-
-
-
- ملیت -
-
- ایرانی +
+
+
+ ملیت +
+
+ ایرانی -
-
- غیر ایرانی -
-
-
-
-
-
-
- - - -

فقط حروف فارسی وارد شود.

-
-
-
-
- - - -

فقط حروف فارسی وارد شود.

-
-
-
-
-
-
- - - -

فقط عدد وارد شود.

-
-
-
-
- - - -

فقط عدد وارد شود.

-
-
-
-
-
-
- - - @**@ -
-
+
+
+ غیر ایرانی +
+
+
+
+
+
+
+ + + +

فقط حروف فارسی وارد شود.

+
+
+
+
+ + + +

فقط حروف فارسی وارد شود.

+
+
+
+
+
+
+ + + +

فقط عدد وارد شود.

+
+
+
+
+ + + +

فقط عدد وارد شود.

+
+
+
+
+
+
+ + + @**@ +
+
-
-
- - - -

فقط حروف فارسی وارد شود.

-
-
-
-
-
-
- - +
+
+ + + +

فقط حروف فارسی وارد شود.

+
+
+
+
+
+
+ + - @**@ -
-
-
-
- - - -

فقط حروف فارسی وارد شود.

-
-
-
- @*
*@ -
- -
-
- - + @**@ +
+
+
+
+ + + +

فقط حروف فارسی وارد شود.

+
+
+ + @* *@ + + + +
+ + - + $(window).on('resize', + function() { + adjustFormBoxHeight(); + }); + + function adjustFormBoxHeight() { + const formBoxHeight = Math.max($('.form1').height(), $('.form2').height()); + $('.form-box').height(formBoxHeight + 50); + } + \ No newline at end of file diff --git a/ServiceHost/Areas/Client/Pages/Company/Employers/LegalList.cshtml b/ServiceHost/Areas/Client/Pages/Company/Employers/LegalList.cshtml index 77147e67..380a3998 100644 --- a/ServiceHost/Areas/Client/Pages/Company/Employers/LegalList.cshtml +++ b/ServiceHost/Areas/Client/Pages/Company/Employers/LegalList.cshtml @@ -1,146 +1,164 @@ @page -@model ServiceHost.Areas.Client.Pages.Company.Employers.IndexLegalModel +@model IndexLegalModel @{ - // var employer = Model.Employers; + // var employer = Model.Employers; } - - + +
-
-
- - -
+
+
+ - @if (Model.Employers != null) - { -
-

کارفرمای حقوقی

-

@Model.Employers.FName @Model.Employers.LName @Model.Employers.Nationalcode

- - -
- - } -
- -
-
+
+ + @if (Model.Employers != null) + { +
+

+ کارفرمای حقوقی +

+

+ @Model.Employers.FName @Model.Employers.LName @Model.Employers.Nationalcode +

+ + + + + + +
+ + } +
+ +
+
-@Html.AntiForgeryToken() - @section Script { - + function getCreate() { + $.ajax({ + url: '@Url.Page("/Company/Employers/LegalList", "Legal")', + type: "Get", + dataType: 'html', + success: function(data) { + $('#divDisplay').html(data); + $('#divDisplay').slideDown(500); + adjustFormBoxHeight(); + + function scrollDown() { + const divOffset = $('#divDisplay').offset().top; + + window.scrollTo({ + top: divOffset, + behavior: 'smooth', + }); + } + + setTimeout(function() { + scrollDown.call(this); + }.bind(this), + 500); + } + }); + } + + function adjustFormBoxHeight() { + const formBoxHeight = Math.max($('.form1').height(), $('.form2').height()); + $('.form-box').height(formBoxHeight + 50); + } + + function removeEmployer(id) { + swal({ + title: "توجه داشته باشید با تایید این پیام، اطلاعات لیست مورد نظر بطور کامل از بانک اطلاعاتی حذف خواهد شد.", + text: "", + type: "warning", + showCancelButton: true, + confirmButtonColor: "#DD6B55", + confirmButtonText: "بله", + cancelButtonText: "خیر", + closeOnConfirm: true, + closeOnCancel: true + }, + function(isConfirm) { + if (isConfirm) { + $.ajax({ + dataType: 'json', + type: 'POST', + url: '@Url.Page("./Actual", "RemoveEmployer")', + headers: { "RequestVerificationToken": $('input[name="__RequestVerificationToken"]').val() }, + data: { "id": id }, + success: function(response) { + $.Notification.autoHideNotify('success', 'top center', 'پیام سیستم ', response.message); + window.location = "@Url.Page("/Company/Employers/LegalIndex")"; + }, + failure: function(response) { + console.log(5, response); + $.Notification.autoHideNotify('error', 'top center', 'پیام سیستم ', response.message); + } + }); + } + }); + } + + function adjustFormBoxHeight() { + const formBoxHeight = Math.max($('.form1').height(), $('.form2').height()); + $('.form-box').height(formBoxHeight + 20); + } + + function editEmployer(id) { + $("#divDisplay").slideUp(500); + $("#divDisplay").html(''); + var elementId = `divEdit-${id}`; + const $editForms = $(".divEdit"); + var $chosenEditForm = $(`#${elementId}`); + + + function scrollDown() { + const divOffset = $chosenEditForm.offset().top; + // console.log(divOffset-20); + + window.scrollTo({ + top: divOffset - 50, + behavior: 'smooth', + }); + } + + setTimeout(function() { + scrollDown.call(this); + }.bind(this), + 500); + + $.ajax({ + url: '@Url.Page("/Company/Employers/LegalList", "LegalEdit")', + data: { "id": id }, + type: "Get", + dataType: 'html', + success: function(data) { + $(`#${elementId}`).html(data); + $(`#${elementId}`).slideDown(500); + adjustFormBoxHeight(); + } + }); + } + } \ No newline at end of file diff --git a/ServiceHost/Areas/Client/Pages/Company/Employers/LegalList.cshtml.cs b/ServiceHost/Areas/Client/Pages/Company/Employers/LegalList.cshtml.cs index 45cfb7da..717fb7ca 100644 --- a/ServiceHost/Areas/Client/Pages/Company/Employers/LegalList.cshtml.cs +++ b/ServiceHost/Areas/Client/Pages/Company/Employers/LegalList.cshtml.cs @@ -1,54 +1,48 @@ -using System.Collections.Generic; -using System.Linq; -using CompanyManagment.App.Contracts.Employer; +using CompanyManagment.App.Contracts.Employer; using Microsoft.AspNetCore.Mvc; using Microsoft.AspNetCore.Mvc.RazorPages; -namespace ServiceHost.Areas.Client.Pages.Company.Employers +namespace ServiceHost.Areas.Client.Pages.Company.Employers; + +public class IndexLegalModel : PageModel { - public class IndexLegalModel : PageModel - { - public EmployerViewModel Employers; - private readonly IEmployerApplication _employerApplication; - public IndexLegalModel(IEmployerApplication employerApplication) - { - _employerApplication = employerApplication; - - } - public void OnGet() - { - EmployerSearchModel searchModel = new EmployerSearchModel(); - Employers = _employerApplication.SearchForClient(searchModel).Where(x=>x.IsLegal=="حقوقی").FirstOrDefault(); - } + private readonly IEmployerApplication _employerApplication; + public EmployerViewModel Employers; + + public IndexLegalModel(IEmployerApplication employerApplication) + { + _employerApplication = employerApplication; + } + + public void OnGet() + { + var searchModel = new EmployerSearchModel(); + Employers = _employerApplication.SearchForClient(searchModel).Where(x => x.IsLegal == "حقوقی").FirstOrDefault(); + } - public IActionResult OnGetLegal() - { - var employer = new CreateEmployer(); - return Partial("./Legal", employer); + public IActionResult OnGetLegal() + { + var employer = new CreateEmployer(); + return Partial("./Legal", employer); + } - } + public IActionResult OnPostLegal(CreateEmployer command) + { + command.ContractingPartyId = 30427; + var result = _employerApplication.CreateLegalsForClient(command); + return new JsonResult(result); + } - public IActionResult OnPostLegal(CreateEmployer command) - { - command.ContractingPartyId = 30427; - var result = _employerApplication.CreateLegalsForClient(command); - return new JsonResult(result); - } + public IActionResult OnGetLegalEdit(long id) + { + var employer = _employerApplication.GetDetails(id); + return Partial("./LegalEdit", employer); + } - public IActionResult OnGetLegalEdit(long id) - { - var employer = _employerApplication.GetDetails(id); - return Partial("./LegalEdit", employer); - - } - public JsonResult OnPostLegalEdit(EditEmployer command) - { - - var result = _employerApplication.EditLegalForClient(command); - return new JsonResult(result); - } - - - } -} + public JsonResult OnPostLegalEdit(EditEmployer command) + { + var result = _employerApplication.EditLegalForClient(command); + return new JsonResult(result); + } +} \ No newline at end of file diff --git a/ServiceHost/Areas/Client/Pages/Company/InsuranceList/Create.cshtml b/ServiceHost/Areas/Client/Pages/Company/InsuranceList/Create.cshtml index 114502f5..70f31bd2 100644 --- a/ServiceHost/Areas/Client/Pages/Company/InsuranceList/Create.cshtml +++ b/ServiceHost/Areas/Client/Pages/Company/InsuranceList/Create.cshtml @@ -1,864 +1,846 @@ -@using _0_Framework.Application -@model CompanyManagment.App.Contracts.InsuranceList.CreateInsuranceList -@Html.AntiForgeryToken() +@model CompanyManagment.App.Contracts.InsuranceList.CreateInsuranceList +@Html.AntiForgeryToken() @{ }
- -
ثبت لیست بیمه جدید
-
-
- - - - - -
-
- -
-
- - -
-
- -
-
- -
+ +
ثبت لیست بیمه جدید
+
+
+ + + + + +
+
+ +
+
+ + +
+
+ +
+
+ +
-
-
-
- -
-
-
- -
-
- - -
-
- - -
-
-
-
- -
-
- -
-
- -
-
-
-
-
- -
-
-
-
- - -
-
- - -
-
-
-
- - -
-
- - -
-
-
-
- - -
-
- - -
-
-
-
- - -
-
- - -
-
-
-
- - -
-
- - -
-
-
-
-
-
- - -
-
-
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
تاریخ ترک کار تاریخ آغاز بکار شغل حق بیمه سهم بیمه شده حقوق و مزایای ماهیانه مشمول و غیر مشمول حقوق و مزایای ماهیانه مشمول مزایای ماهیانه مشمول حقوق ماهیانه مشمول دستمزد روزانه روزهای کارکرد ش شناسنامه تاریخ تولد محل صدور کدملی نام پدر جنسیت نام خانوادگی نام شماره بیمه #
-
-
- +
+
+
+
+
+ +
+
+ -
-
- + data-ajax-url="@Url.Page("./Index", "EmployeeSearch")"> +
+
+
- - -
+ + +
- - - + + + \ No newline at end of file diff --git a/ServiceHost/Areas/Client/Pages/Company/InsuranceList/Edit.cshtml b/ServiceHost/Areas/Client/Pages/Company/InsuranceList/Edit.cshtml index 81231415..45425e53 100644 --- a/ServiceHost/Areas/Client/Pages/Company/InsuranceList/Edit.cshtml +++ b/ServiceHost/Areas/Client/Pages/Company/InsuranceList/Edit.cshtml @@ -1,811 +1,772 @@ -@using _0_Framework.Application -@model CompanyManagment.App.Contracts.InsuranceList.EditInsuranceList -@Html.AntiForgeryToken() - +@model CompanyManagment.App.Contracts.InsuranceList.EditInsuranceList +@Html.AntiForgeryToken()
- -
ویرایش لیست بیمه
+ +
ویرایش لیست بیمه
-
+
-
-
- -
-
- - -
-
- +
+
+ + +
+
+ -
-
- -
-
+ +
+
+ +
+
-
- -
-
-
- - -
-
- -
-
- -
-
-
-
- -
-
- -
-
- -
- - -
+
+ +
+
+
+ + +
+
+ +
+
+ +
+
+
+
+ +
+
+ +
+
+ +
+ + +
-
- -
-
-
-
- - -
-
- - -
-
-
-
- - -
-
- - -
-
-
-
- - -
-
- - -
-
-
-
- - -
-
- - -
-
-
-
- - -
-
- - -
-
-
-
-
-
- - -
-
-
-
-
-
منتظر بمانید
-
-
- +
+
- +
-
- - - - - - - +
+ + + + + + +
-
-
+ data-ajax-url="@Url.Page("./Index", "EmployeeListForEdit")"> +
-
+
- +
- - - + + + \ No newline at end of file diff --git a/ServiceHost/Areas/Client/Pages/Company/InsuranceList/EmployeeDatatable.cshtml b/ServiceHost/Areas/Client/Pages/Company/InsuranceList/EmployeeDatatable.cshtml index 79c3b249..4814ccae 100644 --- a/ServiceHost/Areas/Client/Pages/Company/InsuranceList/EmployeeDatatable.cshtml +++ b/ServiceHost/Areas/Client/Pages/Company/InsuranceList/EmployeeDatatable.cshtml @@ -1,132 +1,134 @@ - -@using _0_Framework.Application +@using _0_Framework.Application @model CompanyManagment.App.Contracts.InsuranceList.MainEmployeeDetailsViewModel @{ } @if (Model.EmployeeDetailsForInsuranceList != null) -{ int index = 1; -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @foreach (var item in Model.EmployeeDetailsForInsuranceList) - { - if (item.LeftWorkDate == item.StartMonthCurrent) - { - - - - - - - - - - - - - - - - - - - - - - - - } - else - { - - - - - - - - - - - - - - - - - - - - - - - - } - index = index + 1; - } +{ + var index = 1; +
+ +
+
تاریخ ترک کار تاریخ آغاز بکار شغل حق بیمه سهم بیمه شده حقوق و مزایای ماهیانه مشمول و غیر مشمول حقوق و مزایای ماهیانه مشمول مزایای ماهیانه مشمول حقوق ماهیانه مشمول دستمزد روزانه روزهای کارکرد ش شناسنامه تاریخ تولد محل صدور کدملی نام پدر جنسیت نام خانوادگی نام شماره بیمه #
- - @* - - *@ - @item.LeftWorkDate@item.StartWorkDate@item.JobName00 0 0 000@item.IdNumber@item.DateOfBirth@item.PlaceOfIssue@item.NationalCode@item.FatherName@item.Gender@item.LName@item.FName@item.InsuranceCode@index
- - @* - - *@ - @item.LeftWorkDate@item.StartWorkDate@item.JobName@item.InsuranceShare.ToMoney()@item.IncludedAndNotIncluded.ToMoney() @item.BenefitsIncludedContinuous.ToMoney() @item.MonthlyBenefits.ToMoney() @(item.HasConfilictJobs?"":item.MonthlySalary.ToMoney())@(item.HasConfilictJobs?"":item.DailyWageStr)@item.WorkingDays@item.IdNumber@item.DateOfBirth@item.PlaceOfIssue@item.NationalCode@item.FatherName@item.Gender@item.LName@item.FName@item.InsuranceCode@index
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - -
تاریخ ترک کار تاریخ آغاز بکار شغل حق بیمه سهم بیمه شده حقوق و مزایای ماهیانه مشمول و غیر مشمول حقوق و مزایای ماهیانه مشمول مزایای ماهیانه مشمول حقوق ماهیانه مشمول دستمزد روزانه روزهای کارکرد ش شناسنامه تاریخ تولد محل صدور کدملی نام پدر جنسیت نام خانوادگی نام شماره بیمه #
+ @foreach (var item in Model.EmployeeDetailsForInsuranceList) + { + if (item.LeftWorkDate == item.StartMonthCurrent) + { + + + + @* + + *@ + + @item.LeftWorkDate + @item.StartWorkDate + @item.JobName + 0 + 0 + 0 + 0 + 0 + 0 + 0 + @item.IdNumber + @item.DateOfBirth + @item.PlaceOfIssue + @item.NationalCode + @item.FatherName + @item.Gender + @item.LName + @item.FName + @item.InsuranceCode + @index + + } + else + { + + + + @* + + *@ + + @item.LeftWorkDate + @item.StartWorkDate + @item.JobName + @item.InsuranceShare.ToMoney() + @item.IncludedAndNotIncluded.ToMoney() + @item.BenefitsIncludedContinuous.ToMoney() + @item.MonthlyBenefits.ToMoney() + @(item.HasConfilictJobs ? "" : item.MonthlySalary.ToMoney()) + @(item.HasConfilictJobs ? "" : item.DailyWageStr) + @item.WorkingDays + @item.IdNumber + @item.DateOfBirth + @item.PlaceOfIssue + @item.NationalCode + @item.FatherName + @item.Gender + @item.LName + @item.FName + @item.InsuranceCode + @index + + } + index = index + 1; + } + + + } @@ -171,18 +173,18 @@ }); }); - @if (Model != null && Model.IsExist==true) - { - + @if (Model != null && Model.IsExist) + { + $("#resultExistPersonel").show(); $("#ddlYear").addClass("errored"); $("#ddlMonth").addClass("errored"); $("#resultExistPersonel").html('برای این کارگاه در ماه و سال انتخاب شده لیست بیمه تنظیم گردیده است، در صورت نیاز به ثبت این لیست،لیست قبلی را حذف نمایید.'); - } + } else { - + $("#resultExistPersonel").hide(); $("#ddlYear").removeClass("errored"); $("#ddlMonth").removeClass("errored"); diff --git a/ServiceHost/Areas/Client/Pages/Company/InsuranceList/EmployeeListForEdit.cshtml b/ServiceHost/Areas/Client/Pages/Company/InsuranceList/EmployeeListForEdit.cshtml index 7f70cd81..0442bb79 100644 --- a/ServiceHost/Areas/Client/Pages/Company/InsuranceList/EmployeeListForEdit.cshtml +++ b/ServiceHost/Areas/Client/Pages/Company/InsuranceList/EmployeeListForEdit.cshtml @@ -5,122 +5,123 @@ @if (Model.EmployeeDetailsForInsuranceList != null) { - int index = 1; -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @foreach (var item in Model.EmployeeDetailsForInsuranceList) - { - if (item.HasLeftWorkInMonth && item.LeftWorkDate == item.StartMonthCurrent) - { - - - - - - - - - - - - - - - - - - - - - - - - } - else - { - - - - - - - - - - - - - - - - - - - - - - - - } - index = index + 1; - } -
تاریخ ترک کار تاریخ آغاز بکار شغل حق بیمه سهم بیمه شده حقوق و مزایای ماهیانه مشمول و غیر مشمول حقوق و مزایای ماهیانه مشمول مزایای ماهیانه مشمول حقوق ماهیانه مشمول دستمزد روزانه روزهای کارکرد ش شناسنامه تاریخ تولد محل صدور کدملی نام پدر جنسیت نام خانوادگی نام شماره بیمه #
- - @item.LeftWorkDate@item.StartWorkDate@item.JobName00 0 0 000@item.IdNumber@item.DateOfBirth@item.PlaceOfIssue@item.NationalCode@item.FatherName@item.Gender@item.LName@item.FName@item.InsuranceCode@index
- - @item.LeftWorkDate@item.StartWorkDate@item.JobName@item.InsuranceShare.ToMoney()@item.IncludedAndNotIncluded.ToMoney() @item.BenefitsIncludedContinuous.ToMoney() @item.MonthlyBenefits.ToMoney() @(item.HasConfilictJobs?"":item.MonthlySalary.ToMoney())@(item.HasConfilictJobs?"":item.DailyWageStr)@item.WorkingDays@item.IdNumber@item.DateOfBirth@item.PlaceOfIssue @item.NationalCode @item.FatherName@item.Gender@item.LName@item.FName@item.InsuranceCode@index
+ var index = 1; +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @foreach (var item in Model.EmployeeDetailsForInsuranceList) + { + if (item.HasLeftWorkInMonth && item.LeftWorkDate == item.StartMonthCurrent) + { + + + + + + + + + + + + + + + + + + + + + + + + } + else + { + + + + + + + + + + + + + + + + + + + + + + + + } + index = index + 1; + } +
تاریخ ترک کار تاریخ آغاز بکار شغل حق بیمه سهم بیمه شده حقوق و مزایای ماهیانه مشمول و غیر مشمول حقوق و مزایای ماهیانه مشمول مزایای ماهیانه مشمول حقوق ماهیانه مشمول دستمزد روزانه روزهای کارکرد ش شناسنامه تاریخ تولد محل صدور کدملی نام پدر جنسیت نام خانوادگی نام شماره بیمه #
+ + @item.LeftWorkDate@item.StartWorkDate@item.JobName00 0 0 000@item.IdNumber@item.DateOfBirth@item.PlaceOfIssue@item.NationalCode@item.FatherName@item.Gender@item.LName@item.FName@item.InsuranceCode@index
+ + @item.LeftWorkDate@item.StartWorkDate@item.JobName@item.InsuranceShare.ToMoney()@item.IncludedAndNotIncluded.ToMoney() @item.BenefitsIncludedContinuous.ToMoney() @item.MonthlyBenefits.ToMoney() @(item.HasConfilictJobs ? "" : item.MonthlySalary.ToMoney())@(item.HasConfilictJobs ? "" : item.DailyWageStr)@item.WorkingDays@item.IdNumber@item.DateOfBirth@item.PlaceOfIssue @item.NationalCode @item.FatherName@item.Gender@item.LName@item.FName@item.InsuranceCode@index
} - - - + + + - + } \ No newline at end of file diff --git a/ServiceHost/Areas/Client/Pages/Company/InsuranceList/Index.cshtml.cs b/ServiceHost/Areas/Client/Pages/Company/InsuranceList/Index.cshtml.cs index 9e61c886..31249fad 100644 --- a/ServiceHost/Areas/Client/Pages/Company/InsuranceList/Index.cshtml.cs +++ b/ServiceHost/Areas/Client/Pages/Company/InsuranceList/Index.cshtml.cs @@ -1,1097 +1,1076 @@ -using System; -using System.Collections.Generic; -using System.IO; -using System.Linq; -using System.Text; -using System.Threading.Tasks; +using System.Security.Claims; using _0_Framework.Application; -using CompanyManagment.App.Contracts.Checkout; using CompanyManagment.App.Contracts.Employee; -using CompanyManagment.App.Contracts.EmployeeInsurancListData; using CompanyManagment.App.Contracts.Employer; -using CompanyManagment.App.Contracts.InsuranceEmployeeInfo; -using CompanyManagment.App.Contracts.Workshop; using CompanyManagment.App.Contracts.InsuranceList; using CompanyManagment.App.Contracts.InsuranceWorkshopInfo; using CompanyManagment.App.Contracts.Job; -using CompanyManagment.App.Contracts.LeftWorkInsurance; -using CompanyManagment.App.Contracts.PersonnleCode; +using CompanyManagment.App.Contracts.Workshop; using CompanyManagment.App.Contracts.YearlySalary; -using MD.PersianDateTime.Standard; -using Microsoft.AspNetCore.Authorization; -using Microsoft.AspNetCore.Hosting; using Microsoft.AspNetCore.Mvc; using Microsoft.AspNetCore.Mvc.RazorPages; -using Microsoft.AspNetCore.Mvc.Rendering; -using SocialExplorer.IO.FastDBF; -using CompanyManagment.App.Contracts.Contract; -using Company.Domain.InsuranceListAgg; -using System.Security.Claims; -namespace ServiceHost.Areas.Client.Pages.Company.InsuranceList +namespace ServiceHost.Areas.Client.Pages.Company.InsuranceList; + +public class IndexModel : PageModel { - public class IndexModel : PageModel - { - - public InsuranceListSearchModel SearchModel; - public List InsurancList; - public long WorkshopId; - public string WorkshopName; - public List YearlyList; - public string Year; - public string Month; - public string Sorting; - public int PageIndex; - public string TypeOfInsurance; - private readonly IJobApplication _jobApplication; - private readonly IInsuranceListApplication _insuranceListApplication; - private readonly IWorkshopApplication _workshopApplication; - private readonly IYearlySalaryApplication _yearlySalaryApplication; - private readonly IEmployerApplication _employerApplication; - private readonly IInsuranceWorkshopInfoApplication _insuranceWorkshopInfoApplication; - private readonly IEmployeeApplication _employeeApplication; - //private readonly IInsuranceEmployeeInfoApplication _insuranceEmployeeInfoApplication; - private readonly IWebHostEnvironment _webHostEnvironment; - private readonly IPasswordHasher _passwordHasher; - - - - public string CurrentYear_; - public string BeforCurrentMonth_; - - public static long workshopId_ { get; set; } - //public static string workshopName { get; set; } - //public static string typeOfInsuranceSend { get; set; } - //public static bool fixedSalary { get; set; } - //public static string workshopCode { get; set; } - //public static string WorkshopFullName { get; set; } - - public EditWorkshop workshop; - - public IndexModel(IInsuranceListApplication insuranceListApplication, IWorkshopApplication workshopApplication, IYearlySalaryApplication yearlySalaryApplication, IEmployerApplication employerApplication, IInsuranceWorkshopInfoApplication insuranceWorkshopInfoApplication, IEmployeeApplication employeeApplication, IJobApplication jobApplication, IWebHostEnvironment webHostEnvironment, IPasswordHasher passwordHasher)// , IInsuranceEmployeeInfoApplication insuranceEmployeeInfoApplication ) - { - _jobApplication = jobApplication; - _insuranceListApplication = insuranceListApplication; - _workshopApplication = workshopApplication; - _yearlySalaryApplication = yearlySalaryApplication; - _employerApplication = employerApplication; - _insuranceWorkshopInfoApplication = insuranceWorkshopInfoApplication; - _employeeApplication = employeeApplication; - //_insuranceEmployeeInfoApplication = insuranceEmployeeInfoApplication; - _webHostEnvironment = webHostEnvironment; - _passwordHasher = passwordHasher; - } - - public IActionResult OnGet( InsuranceListSearchModel searchModel) - { - if (User.Identity.IsAuthenticated) - { - var workshopSlugCliam = User.FindFirstValue("WorkshopSlug"); - var workshopId = _passwordHasher.SlugDecrypt(workshopSlugCliam); - if (workshopId > 0) - { - searchModel.Sorting = string.IsNullOrWhiteSpace(searchModel.Sorting) - ? "CreationDate-Max" - : searchModel.Sorting; - searchModel.PageIndex = 0; - Year = searchModel.Year; - Month = searchModel.Month; - WorkshopId = workshopId == 0 ? searchModel.WorkshopId : workshopId; - searchModel.WorkshopId = WorkshopId; - Sorting = string.IsNullOrWhiteSpace(searchModel.Sorting) ? "CreationDate-Max" : searchModel.Sorting; - var workshopInfo = _workshopApplication.GetWorkshopInfo(WorkshopId); - //workshop = _workshopApplication.GetDetails(workshopId_); - WorkshopName = workshopInfo.WorkshopFullName; - searchModel.FixedSalary = workshopInfo.FixedSalary; - searchModel.TypeOfInsuranceSend = workshopInfo.TypeOfInsuranceSend; - searchModel.WorkShopCode = workshopInfo.InsuranceCode; - TypeOfInsurance = workshopInfo.InsuranceCode; - - #region OldConvertYearAndMonth - - //string date = DateTime.Now.ToFarsi(); - //var year = Convert.ToInt32(date.Substring(0, 4)); - //var month = Convert.ToInt32(date.Substring(5, 2)); - //var day = Convert.ToInt32(date.Substring(8, 2)); - //var persianDate = new PersianDateTime(year, month, day); - //string persianBeforeDate = persianDate.AddMonths(-1).ToString("yyyy/MM/dd"); - //BeforCurrentMonth_ = persianBeforeDate.Substring(5, 2); - //CurrentYear_ = persianBeforeDate.Substring(0, 4); - - #endregion - - InsurancList = _insuranceListApplication.SearchForClient(searchModel); - - YearlyList = - _yearlySalaryApplication.GetYears(); - SearchModel = new InsuranceListSearchModel() - { - Year = string.IsNullOrWhiteSpace(searchModel.Year) ? " " : searchModel.Year, - Month = string.IsNullOrWhiteSpace(searchModel.Month) ? " " : searchModel.Month, - Sorting = searchModel.Sorting, - - }; - return Page(); - } - else - { - return Redirect("error/404"); - } - } - else - { - return Redirect("error/404"); - } - } - - #region PrintOne - - public IActionResult OnGetPrintOne(long id) - { - var insurance = _insuranceListApplication.GetDetails(id); - return Partial("PrintOne", insurance); - } - - #endregion - - #region PrintOneMobile - - public IActionResult OnGetPrintOneMobile(long id) - { - var insurance = _insuranceListApplication.GetDetails(id); - return Partial("PrintOneMobile", insurance); - } - - #endregion - #region OldClientByHeydari - - //public IActionResult OnGetSearch(InsuranceListSearchModel searchModel) - //{ - - // workshop = _workshopApplication.GetDetails(workshopId_); - // searchModel.FixedSalary = workshop.FixedSalary; - // searchModel.WorkShopName = workshop.WorkshopName; - // searchModel.TypeOfInsuranceSend = workshop.TypeOfInsuranceSend; - // searchModel.WorkShopCode = workshop.InsuranceCode; - // searchModel.WorkshopId = workshopId_; - - - - // var searchResult = _insuranceListApplication.SearchForClient(searchModel); - - // foreach (var item in searchResult) - // { - // item.Month = item.Month.GetMonthByNumber(); - // } - - // var result = new CompanyManagment.App.Contracts.InsuranceList.MainViewModel(); - // result.MainList = searchResult; - - - // return Partial("./MainSearch", result); - //} - //public IActionResult OnGetCreate() - //{ - // string date = DateTime.Now.ToFarsi(); - // var year = Convert.ToInt32(date.Substring(0, 4)); - // var month = Convert.ToInt32(date.Substring(5, 2)); - // var day = Convert.ToInt32(date.Substring(8, 2)); - // var persianDate = new PersianDateTime(year, month, day); - // string persianBeforeDate = persianDate.AddMonths(-1).ToString("yyyy/MM/dd"); - // //var workshopList = _workshopApplication.GetWorkshopAccount().Where(x => !string.IsNullOrWhiteSpace(x.TypeOfInsuranceSend) && x.TypeOfInsuranceSend != "false").ToList(); - // workshop = _workshopApplication.GetDetails(workshopId_); - // var command = new CreateInsuranceList() - // { - // //WorkShopSelectList = new SelectList(workshopList, "Id", "WorkshopFullName"), - // YearList = _yearlySalaryApplication.GetYears(), - // BeforCurrentMonth = persianBeforeDate.Substring(5, 2), - // CurrentYear = persianBeforeDate.Substring(0, 4), - // WorkshopId = workshopId_, - // WorkshopName = workshop.WorkshopFullName - // }; - // return Partial("./Create", command); - //} - - //public IActionResult OnPostCreate(CreateInsuranceList command) - //{ - // //var result =new OperationResult(); - // //result.IsSuccedded = true; - // var result = _insuranceListApplication.Create(command); - // if (result.IsSuccedded) - // { - // var saveFileResult = SaveFile(command); - // if (saveFileResult) - // { - // result.IsSuccedded = true; - // result.Message = "ثبت اطلاعات با موفقیت انجام شد"; - // } - // else - // { - // result.Failed("ایجاد فایل بیمه با خطا مواجه شد"); - // } - // } - // //else - // //{ - // // result.Failed("ثبت اطلاعات با خطا مواجه شد"); - // //} - // return new JsonResult(result); - //} - - //public IActionResult OnPostGetEmployerName(long workshopId) - //{ - // string names = ""; - // var employerList = _employerApplication.GetEmployerByWorkshopId(workshopId); - // var workshopInfo = _insuranceWorkshopInfoApplication.GetDetails(workshopId); - // // var personelInfo = _employeeApplication.(workshopId); - - // string isLegal = employerList.FirstOrDefault()?.IsLegal; - // bool boolIsLegal = (isLegal == "حقوقی" ? true : false); - - // foreach (var item in employerList) - // { - // if (boolIsLegal) - // { - // names = (item.EmployerLName != "#" ? (item.FName + " " + item.EmployerLName) : item.LName); - // } - // else - // { - - // names = names + item.EmployerFullName + ","; - // } - // } - - // if (!boolIsLegal) - // names = names.Substring(0, names.Length - 1); - - // return new JsonResult(new - // { - // EmployerNames = names, - // WorkshopInfo = workshopInfo, - // IsLegal = boolIsLegal - // }); - //} - - - //public IActionResult OnGetEmployeeSearch(EmployeeForCreateInsuranceListSearchModel searchModel) - //{ - - // var result = _insuranceListApplication.SearchEmployeeForCreateInsuranceList(searchModel); - // return Partial("./EmployeeDatatable", result); - //} - - //public IActionResult OnPostCreateEmployeeDetailsInfo(EmployeeDetailsForInsuranceListViewModel command) - //{ - - // TempData["EmployeeDetails"] = command; - // var result = new OperationResult(); - // if (command.InsuranceEmployeeInformationId == 0) - // result = _insuranceListApplication.CreateEmployeeDetailsInfo(command); - // else - // result = _insuranceListApplication.EditEmployeeDetailsInfo(command); - - // return new JsonResult(result); - //} - - //public IActionResult OnPostJobList() - //{ - // var jobs = _jobApplication.GetJob(); - // return new JsonResult(new - // { - // IsSuccedded = true, - // jobList = jobs, - // }); - //} - - //public IActionResult OnPostRemoveInsuranceList(long id, string pathDSKKAR00, string pathDSKWOR00) - //{ - // var result = _insuranceListApplication.Remove(id); - // if (result.IsSuccedded) - // { - // pathDSKKAR00 = pathDSKKAR00.Replace("-", "\\"); - // var filePathDSKKAR00 = $"{_webHostEnvironment.ContentRootPath}\\InsuranceList\\{pathDSKKAR00}"; - // if (System.IO.File.Exists(filePathDSKKAR00)) - // System.IO.File.Delete(filePathDSKKAR00); - - // pathDSKWOR00 = pathDSKWOR00.Replace("-", "\\"); - // var filePathDSKWOR00 = $"{_webHostEnvironment.ContentRootPath}\\InsuranceList\\{pathDSKWOR00}"; - // if (System.IO.File.Exists(filePathDSKWOR00)) - // System.IO.File.Delete(filePathDSKWOR00); - // } - // return new JsonResult(result); - //} - - //public IActionResult OnPostConfirmInsuranceList(long id) - //{ - // var result = _insuranceListApplication.ConfirmInsuranceList(id); - // return new JsonResult(result); - //} - - //public IActionResult OnGetDownloadFile(string path, string fileName) - //{ - // //var path= "11\\1402_03\\DSKWOR00.dbf"; - // // Replace "file.dbf" with the name of your .dbf file - // var filePath = $"{_webHostEnvironment.ContentRootPath}\\InsuranceList\\{path}"; ; - - // // Read the file content into a byte array - // byte[] fileContent = System.IO.File.ReadAllBytes(filePath); - - // // Return the file content as a FileResult with the appropriate MIME type and file name - // return File(fileContent, "application/dbase", fileName); - //} - //private string GetSpecifiedCharactes(string str, int MaxLength) - //{ - // return str.Length <= MaxLength ? str : str.Substring(0, MaxLength); - //} - //private bool SaveFile(CreateInsuranceList createInsuranceList) - //{ - // try - // { - // //var path = $"profilePhotos"; - // var path = createInsuranceList.InsuranceWorkshopInfo.WorkshopId; - // var directoryPath = $"{_webHostEnvironment.ContentRootPath}\\InsuranceList\\{path}"; - // if (!Directory.Exists(directoryPath)) - // Directory.CreateDirectory(directoryPath); - - // //ایجاد پوشه با توجه به هر ماه و سال - // var monthPath = directoryPath + "\\" + createInsuranceList.Year + "_" + createInsuranceList.Month; - // if (!Directory.Exists(monthPath)) - // Directory.CreateDirectory(monthPath); - - // var currentdate = DateTime.Now; - // var currentDay = Convert.ToInt32(currentdate.ToFarsi().Substring(8, 2)); - // ////ایجاد پوشه با توجه به هر روز و ساعت و دقیقه و ثانیه - // //var dayPath = monthPath +"\\"+ currentDay+"_"+ currentdate.Hour + "_" + currentdate.Month + "_" + currentdate.Second; - // //if (!Directory.Exists(dayPath)) - // // Directory.CreateDirectory(dayPath); - // //فعلا قرار شد روی فایل قبلی ریپلیس بشه - // // string fileName = currentDay + "_" + currentdate.Hour + "_" + currentdate.Month + "_" + currentdate.Second +"_"; - // if (createInsuranceList.InsuranceWorkshopInfo != null) - // { - // var odbf = new DbfFile(Encoding.GetEncoding(1256)); - // odbf.Open(Path.Combine(monthPath, "DSKKAR00.dbf"), FileMode.Create); - // //کد کارگاه - // odbf.Header.AddColumn(new DbfColumn("DSK_ID", DbfColumn.DbfColumnType.Character, 10, 0)); - // //نام کارگاه - // odbf.Header.AddColumn(new DbfColumn("DSK_NAME", DbfColumn.DbfColumnType.Character, 100, 0)); - // //نام کارفرما - // odbf.Header.AddColumn(new DbfColumn("DSK_FARM", DbfColumn.DbfColumnType.Character, 100, 0)); - // //نام آدرس - // odbf.Header.AddColumn(new DbfColumn("DSK_ADRS", DbfColumn.DbfColumnType.Character, 100, 0)); - // //نوع لیست - // odbf.Header.AddColumn(new DbfColumn("DSK_KIND", DbfColumn.DbfColumnType.Number, 1, 0)); - // //سال عملکرد - // odbf.Header.AddColumn(new DbfColumn("DSK_YY", DbfColumn.DbfColumnType.Number, 2, 0)); - // //ماه عملکرد - // odbf.Header.AddColumn(new DbfColumn("DSK_MM", DbfColumn.DbfColumnType.Number, 2, 0)); - // //شماره لیست - // odbf.Header.AddColumn(new DbfColumn("DSK_LISTNO", DbfColumn.DbfColumnType.Character, 12, 0)); - // //شرح لیست - // odbf.Header.AddColumn(new DbfColumn("DSK_DISC", DbfColumn.DbfColumnType.Character, 100, 0)); - // //تعداد کارکنان - // odbf.Header.AddColumn(new DbfColumn("DSK_NUM", DbfColumn.DbfColumnType.Number, 5, 0)); - // //تعداد کارکنان - // odbf.Header.AddColumn(new DbfColumn("DSK_TDD", DbfColumn.DbfColumnType.Number, 6, 0)); - // //مجموع دستمزد روزانه - // odbf.Header.AddColumn(new DbfColumn("DSK_TROOZ", DbfColumn.DbfColumnType.Number, 12, 0)); - // //مجموع دستمزد ماهانه - // odbf.Header.AddColumn(new DbfColumn("DSK_TMAH", DbfColumn.DbfColumnType.Number, 12, 0)); - // //مجموع مزایای ماهانه - // odbf.Header.AddColumn(new DbfColumn("DSK_TMAZ", DbfColumn.DbfColumnType.Number, 12, 0)); - // //مجموع دستمزد و مزایای ماهانه مشمول - // odbf.Header.AddColumn(new DbfColumn("DSK_TMASH", DbfColumn.DbfColumnType.Number, 12, 0)); - // // مجموع کل دستمزد و مزایای ماهانه مشمول و غیر مشمول - // odbf.Header.AddColumn(new DbfColumn("DSK_TTOTL", DbfColumn.DbfColumnType.Number, 12, 0)); - // //مجموع حق بیمه سهم بیمه شده - // odbf.Header.AddColumn(new DbfColumn("DSK_TBIME", DbfColumn.DbfColumnType.Number, 12, 0)); - // //مجموع حق بیمه سهم کارفرما - // odbf.Header.AddColumn(new DbfColumn("DSK_TKOSO", DbfColumn.DbfColumnType.Number, 12, 0)); - // //مجموع حق بیمه بیکاری - // odbf.Header.AddColumn(new DbfColumn("DSK_BIC", DbfColumn.DbfColumnType.Number, 12, 0)); - // //نرخ حق بیمه - // odbf.Header.AddColumn(new DbfColumn("DSK_RATE", DbfColumn.DbfColumnType.Number, 5, 0)); - // //نرخ پورسانتاژ - // odbf.Header.AddColumn(new DbfColumn("DSK_PRATE", DbfColumn.DbfColumnType.Number, 2, 0)); - // //نرخ مشاغل سخت زیان آور - // odbf.Header.AddColumn(new DbfColumn("DSK_BIMH", DbfColumn.DbfColumnType.Number, 12, 0)); - // //ردیف پیمان - // odbf.Header.AddColumn(new DbfColumn("MON_PYM", DbfColumn.DbfColumnType.Character, 3, 0)); - // var orec = new DbfRecord(odbf.Header); - - // //کد کارگاه - // orec[0] = GetSpecifiedCharactes(createInsuranceList.InsuranceWorkshopInfo.InsuranceCode, 10); - // orec[1] = ConvertToIranSystem.ToIranSystem(GetSpecifiedCharactes(createInsuranceList.InsuranceWorkshopInfo.WorkshopName, 100), IranSystemNumbers.DontConvert); - // orec[2] = ConvertToIranSystem.ToIranSystem(GetSpecifiedCharactes(createInsuranceList.InsuranceWorkshopInfo.EmployerName, 100), IranSystemNumbers.DontConvert); - // orec[3] = ConvertToIranSystem.ToIranSystem(GetSpecifiedCharactes(createInsuranceList.InsuranceWorkshopInfo.Address, 100), IranSystemNumbers.DontConvert); - // //orec[3] = ConvertToIranSystem.ToIranSystem(GetSpecifiedCharactes("رشت - بلوار شهدای گمنام - کوچه شهید علی قربانی - ساختمان پیام نور - طبقه اول واحد 2", 100), IranSystemNumbers.DontConvert); - // // نوع لیست - // orec[4] = "0"; - // //سال - // orec[5] = Convert.ToInt32(createInsuranceList.Year.Substring(2, 2)).ToString(); - // //ماه - // orec[6] = Convert.ToInt32(createInsuranceList.Month).ToString(); - // //شماره لیست - // orec[7] = GetSpecifiedCharactes(createInsuranceList.InsuranceWorkshopInfo.ListNumber, 12); - // //شرح لیست - // orec[8] = ConvertToIranSystem.ToIranSystem(GetSpecifiedCharactes("", 100), IranSystemNumbers.DontConvert); - // //تعداد کرکنان - // orec[9] = createInsuranceList.SumOfEmployees.ToString(); - // //مجموع روزهای کارکرد - // orec[10] = createInsuranceList.SumOfWorkingDays.ToString(); - // //مجموع دستمزد روزانه - // orec[11] = createInsuranceList.SumOfDailyWage.ToString(); - // //مجموع دستمزد ماهانه - // orec[12] = createInsuranceList.SumOfSalaries.ToString(); - // //مجموع مزایای ماهانه مشمول - // orec[13] = createInsuranceList.SumOfBenefitsIncluded.ToString(); - // //مجموع دستمزد و مزایای ماهانه مشمول - // orec[14] = createInsuranceList.Included.ToString(); - // //مجموع کل دستمزد و مزایای ماهانه مشمول و غیر مشمول - // orec[15] = createInsuranceList.IncludedAndNotIncluded.ToString(); - // // مجموع حق بیمه سهم بیمه شده - // orec[16] = createInsuranceList.InsuredShare.ToString(); - // //مجموع حق بیمه سهم کارفرما - // orec[17] = createInsuranceList.EmployerShare.ToString(); //"44911361"; - // //مجموع حق بیمه بیکاری - // orec[18] = createInsuranceList.UnEmploymentInsurance.ToString(); - // //نرخ حق بیمه - // orec[19] = "23"; - // //نرخ پورسانتاژ - // orec[20] = "0"; - // //نرخ مشاغل سخت زیان آور - // orec[21] = createInsuranceList.DifficultJobsInsuranc.ToString(); - // //ردیف پیمان - // orec[22] = GetSpecifiedCharactes(createInsuranceList.InsuranceWorkshopInfo.AgreementNumber, 12); - // odbf.Write(orec); - // //odbf.Header.RecordCount = 50; - // odbf.WriteHeader(); - // odbf.Close(); - // } - - - // if (createInsuranceList.EmployeeInsurancListDataList != null) - // { - // //لیست پرسنل - // var dsw = new DbfFile(Encoding.GetEncoding(1256)); - // dsw.Open(Path.Combine(monthPath, "DSKWOR00.dbf"), FileMode.Create); - // //کد کارگاه - // dsw.Header.AddColumn(new DbfColumn("DSW_ID", DbfColumn.DbfColumnType.Character, 10, 0)); - // //سال عملکرد - // dsw.Header.AddColumn(new DbfColumn("DSW_YY", DbfColumn.DbfColumnType.Number, 2, 0)); - // //ماه عملکرد - // dsw.Header.AddColumn(new DbfColumn("DSW_MM", DbfColumn.DbfColumnType.Number, 2, 0)); - // //شماره لیست - // dsw.Header.AddColumn(new DbfColumn("DSW_LISTNO", DbfColumn.DbfColumnType.Character, 12, 0)); - // //شماره بیمه - // dsw.Header.AddColumn(new DbfColumn("DSW_ID1", DbfColumn.DbfColumnType.Character, 10, 0)); - // // نام - // dsw.Header.AddColumn(new DbfColumn("DSW_FNAME", DbfColumn.DbfColumnType.Character, 100, 0)); - // // نام خانوادگی - // dsw.Header.AddColumn(new DbfColumn("DSW_LNAME", DbfColumn.DbfColumnType.Character, 100, 0)); - // //نام پدر - // dsw.Header.AddColumn(new DbfColumn("DSW_DNAME", DbfColumn.DbfColumnType.Character, 100, 0)); - // // شماره شناسنامه - // dsw.Header.AddColumn(new DbfColumn("DSW_IDNO", DbfColumn.DbfColumnType.Character, 15, 0)); - // // محل صدور - // dsw.Header.AddColumn(new DbfColumn("DSW_IDPLC", DbfColumn.DbfColumnType.Character, 100, 0)); - // // تاریخ صدور - // dsw.Header.AddColumn(new DbfColumn("DSW_IDATE", DbfColumn.DbfColumnType.Character, 8, 0)); - // // تاریخ تولد - // dsw.Header.AddColumn(new DbfColumn("DSW_BDATE", DbfColumn.DbfColumnType.Character, 8, 0)); - // // جنسیت - // dsw.Header.AddColumn(new DbfColumn("DSW_SEX", DbfColumn.DbfColumnType.Character, 3, 0)); - // // ملیت - // dsw.Header.AddColumn(new DbfColumn("DSW_NAT", DbfColumn.DbfColumnType.Character, 10, 0)); - // // شرح شغل - // dsw.Header.AddColumn(new DbfColumn("DSW_OCP", DbfColumn.DbfColumnType.Character, 100, 0)); - // // تاریخ شروع بکار - // dsw.Header.AddColumn(new DbfColumn("DSW_SDATE", DbfColumn.DbfColumnType.Character, 8, 0)); - // // تاریخ ترک کار - // dsw.Header.AddColumn(new DbfColumn("DSW_EDATE", DbfColumn.DbfColumnType.Character, 8, 0)); - // // تعداد روزهای کارکرد - // dsw.Header.AddColumn(new DbfColumn("DSW_DD", DbfColumn.DbfColumnType.Number, 2, 0)); - // // دستمزد روزانه - // dsw.Header.AddColumn(new DbfColumn("DSW_ROOZ", DbfColumn.DbfColumnType.Number, 12, 0)); - // // دستمزد ماهانه - // dsw.Header.AddColumn(new DbfColumn("DSW_MAH", DbfColumn.DbfColumnType.Number, 12, 0)); - // // مزایای ماهانه - // dsw.Header.AddColumn(new DbfColumn("DSW_MAZ", DbfColumn.DbfColumnType.Number, 12, 0)); - // // جمع دستمزد و مزایای ماهانه مشمول - // dsw.Header.AddColumn(new DbfColumn("DSW_MASH", DbfColumn.DbfColumnType.Number, 12, 0)); - // // جمع کل دستمزد و مزایای ماهانه - // dsw.Header.AddColumn(new DbfColumn("DSW_TOTL", DbfColumn.DbfColumnType.Number, 12, 0)); - // //حق بیمه سهم بیمه شده - // dsw.Header.AddColumn(new DbfColumn("DSW_BIME", DbfColumn.DbfColumnType.Number, 12, 0)); - // //نرخ پورسانتاژ - // dsw.Header.AddColumn(new DbfColumn("DSW_PRATE", DbfColumn.DbfColumnType.Number, 2, 0)); - // // کد شغل - // dsw.Header.AddColumn(new DbfColumn("DSW_JOB", DbfColumn.DbfColumnType.Character, 6, 0)); - // // کد ملی - // dsw.Header.AddColumn(new DbfColumn("PER_NATCOD", DbfColumn.DbfColumnType.Character, 10, 0)); - - // foreach (var item in createInsuranceList.EmployeeInsurancListDataList) - // { - // var employee = createInsuranceList.EmployeeDetailsForInsuranceList.Where(p => p.EmployeeId == item.EmployeeId).FirstOrDefault(); - - // //var employeeObj = _employeeApplication.GetDetails(item.EmployeeId); - - // var dswrec = new DbfRecord(dsw.Header); - // //کد کارگاه - // dswrec[0] = GetSpecifiedCharactes(createInsuranceList.InsuranceWorkshopInfo.InsuranceCode, 10); - // //سال - // dswrec[1] = Convert.ToInt32(createInsuranceList.Year.Substring(2, 2)).ToString(); - // //ماه - // dswrec[2] = Convert.ToInt32(createInsuranceList.Month).ToString(); - // //شماره لیست - // dswrec[3] = GetSpecifiedCharactes(createInsuranceList.InsuranceWorkshopInfo.ListNumber, 12); - // //شماره بیمه - // dswrec[4] = GetSpecifiedCharactes(employee.InsuranceCode, 8); - // // نام - // dswrec[5] = ConvertToIranSystem.ToIranSystem(GetSpecifiedCharactes(employee.FName, 100), - // IranSystemNumbers.DontConvert); - // //خانوادگی نام - // dswrec[6] = ConvertToIranSystem.ToIranSystem(GetSpecifiedCharactes(employee.LName, 100), - // IranSystemNumbers.DontConvert); - // //پدر نام - // dswrec[7] = ConvertToIranSystem.ToIranSystem(GetSpecifiedCharactes(employee.FatherName, 100), - // IranSystemNumbers.DontConvert); - // //شماره شناسنامه - // dswrec[8] = employee.IdNumber; - // //محل صدور - // dswrec[9] = ConvertToIranSystem.ToIranSystem(GetSpecifiedCharactes(employee.PlaceOfIssue, 100), IranSystemNumbers.DontConvert); - // //تاریخ صدور - // dswrec[10] = (employee.DateOfIssue == "1300/10/11" || string.IsNullOrEmpty(employee.DateOfIssue)) ? "" : employee.DateOfIssue.Replace("/", ""); - // //تاریخ تولد - // dswrec[11] = (employee.DateOfBirth == "1300/10/11" || string.IsNullOrEmpty(employee.DateOfIssue)) ? "" : employee.DateOfBirth.Replace("/", ""); ; - // //جنسیت - // dswrec[12] = ConvertToIranSystem.ToIranSystem(GetSpecifiedCharactes(employee.Gender, 3), IranSystemNumbers.DontConvert); - // //ملیت - // //dswrec[13] = ConvertToIranSystem.ToIranSystem(GetSpecifiedCharactes("ایرانی", 10), - // dswrec[13] = ConvertToIranSystem.ToIranSystem(GetSpecifiedCharactes(employee.Nationality, 10), - // IranSystemNumbers.DontConvert); - // //شرح شغل - // dswrec[14] = ConvertToIranSystem.ToIranSystem(GetSpecifiedCharactes(item.JobName, 100), - // IranSystemNumbers.DontConvert); - // //تاریخ شروع بکار - // dswrec[15] = item.StartWorkDate.ToFarsi().Replace("/", ""); - - // //تاریخ ترک کار - // if (item.LeftWorkDate != null) - // dswrec[16] = item.LeftWorkDate.ToFarsi().Replace("/", ""); - // else - // dswrec[16] = ""; - - // //تعداد روزهای کارکرد - // dswrec[17] = item.WorkingDays.ToString(); - // //دستمزد روزانه - // dswrec[18] = item.DailyWage.ToString(); - // //دستمزد مااهانه - // dswrec[19] = item.MonthlySalary.ToString(); - // //مزایای ماهانه - // dswrec[20] = item.MonthlyBenefits.ToString(); - // //دستمزد و مزایای ماهانه مشمول - // dswrec[21] = item.MonthlyBenefitsIncluded.ToString(); - // //جمع کل دستمزد و مزایای ماهانه مسمول غیرمشمول - // dswrec[22] = item.IncludedAndNotIncluded.ToString(); - // //حق بیمه سهم بیمه شده - // dswrec[23] = item.InsuranceShare.ToString(); - // //نرخ پورسانتاژ - // dswrec[24] = "0"; - // //کد شغل - // dswrec[25] = item.JobCode; - // //کد ملی - // dswrec[26] = employee.NationalCode; - - // dsw.Write(dswrec); - // } - // //var dswrec = new DbfRecord(dsw.Header); - // ////کد کارگاه - // //dswrec[0] = GetSpecifiedCharactes("9008289145", 10); - // ////سال - // //dswrec[1] = "2"; - // ////ماه - // //dswrec[2] = "2"; - // ////شماره لیست - // //dswrec[3] = GetSpecifiedCharactes("01", 12); - // ////شماره بیمه - // //dswrec[4] = GetSpecifiedCharactes("48071464", 8); - // //// نام - // //dswrec[5] = ConvertToIranSystem.ToIranSystem(GetSpecifiedCharactes("راضیه", 100), - // // IranSystemNumbers.DontConvert); - // ////خانوادگی نام - // //dswrec[6] = ConvertToIranSystem.ToIranSystem(GetSpecifiedCharactes("پیردهقان", 100), - // // IranSystemNumbers.DontConvert); - // ////پدر نام - // //dswrec[7] = ConvertToIranSystem.ToIranSystem(GetSpecifiedCharactes("غلام", 100), - // // IranSystemNumbers.DontConvert); - // ////شماره شناسنامه - // //dswrec[8] = "2650230614"; - // ////محل صدور - // //dswrec[9] = ConvertToIranSystem.ToIranSystem(GetSpecifiedCharactes("رشت", 100), - // // IranSystemNumbers.DontConvert); - // //; - // ////تاریخ صدور - // //dswrec[10] = "13770805"; - // ////تاریخ تولد - // //dswrec[11] = "13770721"; - // ////جنسیت - // //dswrec[12] = - // // ConvertToIranSystem.ToIranSystem(GetSpecifiedCharactes("زن", 3), IranSystemNumbers.DontConvert); - // ////ملیت - // //dswrec[13] = ConvertToIranSystem.ToIranSystem(GetSpecifiedCharactes("ایرانی", 10), - // // IranSystemNumbers.DontConvert); - // ////شرح شغل - // //dswrec[14] = ConvertToIranSystem.ToIranSystem(GetSpecifiedCharactes("کارشناس نرم افزار کامپیوتر", 100), - // // IranSystemNumbers.DontConvert); - // ////تاریخ شروع بکار - // //dswrec[15] = "14000201"; - // ////تاریخ ترک کار - // //dswrec[16] = ""; - // ////تعداد روزهای کارکرد - // //dswrec[17] = "31"; - // ////دستمزد روزانه - // //dswrec[18] = "1769428"; - // ////دستمزد مااهانه - // //dswrec[19] = "54852268"; - // ////مزایای ماهانه - // //dswrec[20] = "20000000"; - // ////دستمزد و مزایای ماهانه مشمول - // //dswrec[21] = "74852268"; - // ////جمع کل دستمزد و مزایای ماهانه مسمول غیرمشمول - // //dswrec[22] = "74852268"; - // ////حق بیمه سهم بیمه شده - // //dswrec[23] = "5239659"; - // ////نرخ پورسانتاژ - // //dswrec[24] = "0"; - // ////کد شغل - // //dswrec[25] = "033022"; - // ////کد ملی - // //dswrec[26] = "2650230614"; - - // //dsw.Write(dswrec); - - - // //var dswrec2 = new DbfRecord(dsw.Header); - // ////کد کارگاه - // //dswrec2[0] = GetSpecifiedCharactes("9008289145", 10); - // ////سال - // //dswrec2[1] = "2"; - // ////ماه - // //dswrec2[2] = "2"; - // ////شماره لیست - // //dswrec2[3] = GetSpecifiedCharactes("01", 12); - // ////شماره بیمه - // //dswrec2[4] = GetSpecifiedCharactes("34157806", 8); - // //// نام - // //dswrec2[5] = ConvertToIranSystem.ToIranSystem(GetSpecifiedCharactes("پیمان", 100), - // // IranSystemNumbers.DontConvert); - // ////خانوادگی نام - // //dswrec2[6] = ConvertToIranSystem.ToIranSystem(GetSpecifiedCharactes("افشاری بجاربنه", 100), - // // IranSystemNumbers.DontConvert); - // ////پدر نام - // //dswrec2[7] = ConvertToIranSystem.ToIranSystem(GetSpecifiedCharactes("علیرضا", 100), - // // IranSystemNumbers.DontConvert); - // ////شماره شناسنامه - // //dswrec2[8] = "2580900713"; - // ////محل صدور - // //dswrec2[9] = - // // ConvertToIranSystem.ToIranSystem(GetSpecifiedCharactes("رشت", 100), IranSystemNumbers.DontConvert); - // //; - // ////تاریخ صدور - // //dswrec2[10] = ""; - // ////تاریخ تولد - // //dswrec2[11] = "13750229"; - // ////جنسیت - // //dswrec2[12] = - // // ConvertToIranSystem.ToIranSystem(GetSpecifiedCharactes("مرد", 3), IranSystemNumbers.DontConvert); - // ////ملیت - // //dswrec2[13] = ConvertToIranSystem.ToIranSystem(GetSpecifiedCharactes("ایرانی", 10), - // // IranSystemNumbers.DontConvert); - // ////شرح شغل - // //dswrec2[14] = ConvertToIranSystem.ToIranSystem(GetSpecifiedCharactes("کارشناس نرم افزار کامپیوتر", 100), - // // IranSystemNumbers.DontConvert); - // ////تاریخ شروع بکار - // //dswrec2[15] = "14010701"; - // ////تاریخ ترک کار - // //dswrec2[16] = ""; - // ////تعداد روزهای کارکرد - // //dswrec2[17] = "31"; - // ////دستمزد روزانه - // //dswrec2[18] = "1769428"; - // ////دستمزد مااهانه - // //dswrec2[19] = "54852268"; - // ////مزایای ماهانه - // //dswrec2[20] = "20000000"; - // ////دستمزد و مزایای ماهانه مشمول - // //dswrec2[21] = "74852268"; - // ////جمع کل دستمزد و مزایای ماهانه مسمول غیرمشمول - // //dswrec2[22] = "74852268"; - // ////حق بیمه سهم بیمه شده - // //dswrec2[23] = "5239659"; - // ////نرخ پورسانتاژ - // //dswrec2[24] = "0"; - // ////کد شغل - // //dswrec2[25] = "033022"; - // ////کد ملی - // //dswrec2[26] = "2580900713"; - - // //dsw.Write(dswrec2); - - - // //var dswrec3 = new DbfRecord(dsw.Header); - // ////کد کارگاه - // //dswrec3[0] = GetSpecifiedCharactes("9008289145", 10); - // ////سال - // //dswrec3[1] = "2"; - // ////ماه - // //dswrec3[2] = "2"; - // ////شماره لیست - // //dswrec3[3] = GetSpecifiedCharactes("01", 12); - // ////شماره بیمه - // //dswrec3[4] = GetSpecifiedCharactes("48076618", 8); - // //// نام - // //dswrec3[5] = ConvertToIranSystem.ToIranSystem(GetSpecifiedCharactes("فاطمه", 100), - // // IranSystemNumbers.DontConvert); - // ////خانوادگی نام - // //dswrec3[6] = ConvertToIranSystem.ToIranSystem(GetSpecifiedCharactes("پادکان", 100), - // // IranSystemNumbers.DontConvert); - // ////پدر نام - // //dswrec3[7] = ConvertToIranSystem.ToIranSystem(GetSpecifiedCharactes("محمدفرشاد", 100), - // // IranSystemNumbers.DontConvert); - // ////شماره شناسنامه - // //dswrec3[8] = "2581230231"; - // ////محل صدور - // //dswrec3[9] = - // // ConvertToIranSystem.ToIranSystem(GetSpecifiedCharactes("رشت", 100), IranSystemNumbers.DontConvert); - // //; - // ////تاریخ صدور - // //dswrec3[10] = ""; - // ////تاریخ تولد - // //dswrec3[11] = "13780926"; - // ////جنسیت - // //dswrec3[12] = - // // ConvertToIranSystem.ToIranSystem(GetSpecifiedCharactes("زن", 3), IranSystemNumbers.DontConvert); - // ////ملیت - // //dswrec3[13] = ConvertToIranSystem.ToIranSystem(GetSpecifiedCharactes("ایرانی", 10), - // // IranSystemNumbers.DontConvert); - // ////شرح شغل - // //dswrec3[14] = ConvertToIranSystem.ToIranSystem(GetSpecifiedCharactes("کارشناس نرم افزار کامپیوتر", 100), - // // IranSystemNumbers.DontConvert); - // ////تاریخ شروع بکار - // //dswrec3[15] = "14010701"; - // ////تاریخ ترک کار - // //dswrec3[16] = ""; - // ////تعداد روزهای کارکرد - // //dswrec3[17] = "31"; - // ////دستمزد روزانه - // //dswrec3[18] = "1769428"; - // ////دستمزد مااهانه - // //dswrec3[19] = "54852268"; - // ////مزایای ماهانه - // //dswrec3[20] = "20000000"; - // ////دستمزد و مزایای ماهانه مشمول - // //dswrec3[21] = "74852268"; - // ////جمع کل دستمزد و مزایای ماهانه مسمول غیرمشمول - // //dswrec3[22] = "74852268"; - // ////حق بیمه سهم بیمه شده - // //dswrec3[23] = "5239659"; - // ////نرخ پورسانتاژ - // //dswrec3[24] = "0"; - // ////کد شغل - // //dswrec3[25] = "001094"; - // ////کد ملی - // //dswrec3[26] = "2581230231"; - - // //dsw.Write(dswrec3); - - // dsw.WriteHeader(); - - // dsw.Close(); - // } - - // return true; - // } - // catch (Exception er) { return false; } - //} - - //public IActionResult OnGetEdit(long id) - //{ - // var insurance = _insuranceListApplication.GetDetailsForEdit(id); - // workshop = _workshopApplication.GetDetails(workshopId_); - // var workshopObj = workshop; - // insurance.WorkshopName = workshopObj == null ? string.Empty : workshopObj.WorkshopFullName; - // insurance.TypeOfInsuranceSend = workshopObj.TypeOfInsuranceSend; - // insurance.Population = workshopObj.Population; - // insurance.FixedSalary = workshopObj.FixedSalary; - // insurance.InsuranceJobId = workshopObj.InsuranceJobId; - // // workshopList = workshopList.Where(x => !string.IsNullOrWhiteSpace(x.TypeOfInsuranceSend) && x.TypeOfInsuranceSend != "false").ToList(); - // //insurance.WorkShopSelectList = new SelectList(workshopList, "Id", "WorkshopFullName"); - // //insurance.YearList = _yearlySalaryApplication.GetYears(); - - // return Partial("Edit", insurance); - //} - - //public IActionResult OnGetEmployeeListForEdit(EmployeeForEditInsuranceListSearchModel searchModel) - //{ - // var result = _insuranceListApplication.SearchEmployeeListForEditByInsuranceListId(searchModel); - // return Partial("./EmployeeListForEdit", result); - //} - - //public IActionResult OnPostEdit(EditInsuranceList command) - //{ - // //var result =new OperationResult(); - // //result.IsSuccedded = true; - // var result = _insuranceListApplication.Edit(command); - // if (result.IsSuccedded) - // { - // var path = command.InsuranceWorkshopInfo.WorkshopId; - // var directoryPath = $"{_webHostEnvironment.ContentRootPath}\\InsuranceList\\{path}"; - // var monthPath = directoryPath + "\\" + command.Year + "_" + command.Month; - // //if (Directory.Exists(monthPath)) - // // Directory.Delete(monthPath); - - // var filePathDSKKAR00 = monthPath + "\\DSKKAR00.dbf"; - // if (System.IO.File.Exists(filePathDSKKAR00)) - // System.IO.File.Delete(filePathDSKKAR00); - - - // var filePathDSKWOR00 = monthPath + "\\DSKWOR00.dbf"; - // if (System.IO.File.Exists(filePathDSKWOR00)) - // System.IO.File.Delete(filePathDSKWOR00); - // var saveFileResult = SaveFile(command); - // if (saveFileResult) - // { - // result.IsSuccedded = true; - // result.Message = "ویرایش اطلاعات با موفقیت انجام شد"; - // } - // else - // { - // result.Failed("ایجاد فایل بیمه با خطا مواجه شد"); - // } - // } - - // return new JsonResult(result); - //} - - //public IActionResult OnGetInsuranceSummary(long id) - //{ - // var insurance = _insuranceListApplication.GetDetails(id); - // return Partial("InsuranceSummary", insurance); - //} - - //public IActionResult OnGetInsuranceConfirm(long id) - //{ - // var insurance = _insuranceListApplication.GetDetails(id); - // return Partial("InsuranceConfirm", insurance); - //} - //public IActionResult OnGetInspectionReport(long id) - //{ - // var insurance = _insuranceListApplication.GetDetails(id); - // return Partial("InspectionReport", insurance); - //} - - - //public IActionResult OnPostMonthlySalary(string dailyWage, string workingDays, string insuranceShare, string benefitsIncludedContinuous, string jobId, string housingAllowance, string includeStatus, string consumableItems, string endMonthCurrentDay) - //{ - - // double benefitsIncludedContinuousL = benefitsIncludedContinuous.MoneyToDouble(); - // double sum = consumableItems.MoneyToDouble() + housingAllowance.MoneyToDouble(); - // long workingDaysL = Convert.ToInt64(workingDays); - // long endMonthCurrentDayL = Convert.ToInt64(endMonthCurrentDay); - // long jobIdL = Convert.ToInt64(jobId); - // long includeStatusL = Convert.ToInt64(includeStatus); - // double dailyWageL = dailyWage.MoneyToDouble(); - - - - // if (workingDaysL == endMonthCurrentDayL) - // { - // benefitsIncludedContinuousL = sum; - // } - - // if (workingDaysL < endMonthCurrentDayL) - // { - // if (endMonthCurrentDayL == 29) - // endMonthCurrentDayL = 30; - // var a = (sum * workingDaysL) / endMonthCurrentDayL; - // benefitsIncludedContinuousL = _insuranceListApplication.GetRoundValue(a); - // } - // //if (dailyWageL == 0) - // //{ - // // benefitsIncludedContinuousL = 0; - // //} - // if ((includeStatusL == 0 && (jobIdL == 10 || jobIdL == 17 || jobIdL == 18 || jobIdL == 16)) || (includeStatusL == 1 && jobIdL == 10))// 10 --> karfarma - // { - // benefitsIncludedContinuousL = 0; - - // } - // double monthlySalaryL = workingDaysL * dailyWageL; - // double insuranceShareL = ((benefitsIncludedContinuousL + monthlySalaryL) * 7) / 100; - // insuranceShareL = _insuranceListApplication.GetRoundValue(insuranceShareL); - - - // //var persianBefore = ""; - // //var year = Convert.ToInt32(date.Substring(0, 4)); - // //var month = Convert.ToInt32(date.Substring(5, 2)); - // //var day = Convert.ToInt32(date.Substring(8, 2)); - // //var persianDate = new PersianDateTime(year, month, day); - // //var persianBeforeDate = persianDate.AddDays(-1); - // //persianBefore = persianBeforeDate.ToString("yyyy/MM/dd"); - - // if (benefitsIncludedContinuousL == 0 && monthlySalaryL == 0 && insuranceShareL == 0 && dailyWageL == 0) - // { - // workingDaysL = 0; - // } - // if (benefitsIncludedContinuousL == 0 && monthlySalaryL == 0 && insuranceShareL == 0 && workingDaysL == 0) - // { - // dailyWageL = 0; - // } - // return new JsonResult(new - // { - // monthlySalary = monthlySalaryL.ToMoney(), - // benefitsIncludedContinuous = benefitsIncludedContinuousL.ToMoney(), - // insuranceShare = insuranceShareL.ToMoney(), - // workingDay = workingDaysL, - // dailyWag = dailyWageL.ToMoney(), - // }); - //} - - //public IActionResult OnPostComputeInsuranceList(List employeeDetailsForInsuranceList, string typeOfInsuranceSendWorkshop) - //{ - // double sumOfEmployees = employeeDetailsForInsuranceList.Count(); - // double included = 0;//مشمول - // double sumOfWorkingDays = 0; - // double benefitsIncludedNonContinuous = 0;//مشمول غیر مستمر - // double sumOfSalaries = 0; - // double sumOfDailyWage = 0; - // double insuredShare = 0; - // double employerShare = 0;//سهم بیمه کارفرما - // double sumOfIncluded = 0; - // double unEmploymentInsurance = 0;//سهم بیمه بیکاری - // double monthlyBenefits = 0;//مزایای ماهیانه - // double sumForunEmploymentInsurance = 0; - // double benefitsIncludedContinuous = 0; - // double sumOfIncludedKarfarma = 0; - // bool hasKarfarma = false; - // double countWithoutLeft = 0; - - // for (int i = 0; i < employeeDetailsForInsuranceList.Count; i++) - // { - - // if (!string.IsNullOrWhiteSpace(employeeDetailsForInsuranceList[i].LeftWorkDate)) - // { - // countWithoutLeft = countWithoutLeft + 1; - // } - - - // // if (employeeDetailsForInsuranceList[i].IncludeStatus && (employeeDetailsForInsuranceList[i].JobId == 10 || employeeDetailsForInsuranceList[i].JobId == 17 || employeeDetailsForInsuranceList[i].JobId == 18 || employeeDetailsForInsuranceList[i].JobId == 16))// 10 --> karfarma - // if (!employeeDetailsForInsuranceList[i].IncludeStatus && (employeeDetailsForInsuranceList[i].JobCode == "027079" || employeeDetailsForInsuranceList[i].JobCode == "024398" || employeeDetailsForInsuranceList[i].JobCode == "011015" || employeeDetailsForInsuranceList[i].JobCode == "020010"))// 10 --> karfarma - // { - // benefitsIncludedContinuous = 0; - // sumForunEmploymentInsurance = sumForunEmploymentInsurance; - // } - // else - // { - // sumForunEmploymentInsurance = sumForunEmploymentInsurance + employeeDetailsForInsuranceList[i].BenefitsIncludedContinuous; - // } - // //if (employeeDetailsForInsuranceList[i].JobId == 10)//کارفرما - // if (employeeDetailsForInsuranceList[i].JobCode == "024398")//کارفرما - // { - // hasKarfarma = true; - // sumOfIncludedKarfarma = employeeDetailsForInsuranceList[i].BenefitsIncludedContinuous; - // } - - // sumOfWorkingDays = sumOfWorkingDays + employeeDetailsForInsuranceList[i].WorkingDays; - // sumOfDailyWage = sumOfDailyWage + employeeDetailsForInsuranceList[i].DailyWage; - // sumOfSalaries = sumOfSalaries + employeeDetailsForInsuranceList[i].MonthlySalary; - // monthlyBenefits = monthlyBenefits + +employeeDetailsForInsuranceList[i].MonthlyBenefits; - // sumOfIncluded = sumOfIncluded + employeeDetailsForInsuranceList[i].BenefitsIncludedContinuous; - // benefitsIncludedNonContinuous = benefitsIncludedNonContinuous + employeeDetailsForInsuranceList[i].BenefitsIncludedNonContinuous; - // insuredShare = insuredShare + employeeDetailsForInsuranceList[i].InsuranceShare; - - // } - - // employerShare = GetRoundValueWhitGovermentlist((sumOfIncluded * 20) / 100, typeOfInsuranceSendWorkshop); - // unEmploymentInsurance = GetRoundValueWhitGovermentlist((sumForunEmploymentInsurance * 3) / 100, typeOfInsuranceSendWorkshop); - - // if (typeOfInsuranceSendWorkshop == "Govermentlist" && (sumOfEmployees - countWithoutLeft) <= 5 && !hasKarfarma) - // { //console.log(1); - // employerShare = 0; - // } - - // if (typeOfInsuranceSendWorkshop == "Govermentlist" && (sumOfEmployees - countWithoutLeft) <= 6 && hasKarfarma) - // { //console.log(sumOfIncludedKarfarma); - // var result = (sumOfIncludedKarfarma * 20) / 100; - // employerShare = GetRoundValueWhitGovermentlist(result, typeOfInsuranceSendWorkshop); - // } - // if (typeOfInsuranceSendWorkshop == "Govermentlist" && (sumOfEmployees - countWithoutLeft) >= 6 && !hasKarfarma) - // { - // //ابتدا جمع کل مزایا به دست می آید - // //جمع کل مزایا تقسیم بر تعداد کارگران منهای کسانی که ترک کار کرده اند. - // //حاصل عبارت بالا در 5 ضرب میشو یعنی میانگینی برای محاسبه قیمت 5 نفر حساب می کنیم تا از طریق دولت پرداخت شود - // var result = (sumOfIncluded - ((sumOfIncluded / (sumOfEmployees - countWithoutLeft)) * 5)) * 20 / 100; - // employerShare = GetRoundValueWhitGovermentlist(result, typeOfInsuranceSendWorkshop); - // // employerShare =getRoundValue(((sumOfIncluded/sumOfEmployees)*(sumOfEmployees-5))*20/100); - // } - // if (typeOfInsuranceSendWorkshop == "Govermentlist" && (sumOfEmployees - countWithoutLeft) > 6 && hasKarfarma) - // { // console.log(4); - // var sum = sumOfIncluded - sumOfIncludedKarfarma;//ستون مربوط به کارفرما محاسبه نمی شود - // var result = ((sum - ((sum / ((sumOfEmployees - countWithoutLeft) - 1)) * 5)) + sumOfIncludedKarfarma) * 20 / 100; - // employerShare = GetRoundValueWhitGovermentlist(result, typeOfInsuranceSendWorkshop); - - - // } - - - - - // return new JsonResult(new - // { - // SumOfEmployees = sumOfEmployees, - // SumOfSalaries = sumOfSalaries.ToMoney(), - // SumOfDailyWage = sumOfDailyWage.ToMoney(), - // SumOfWorkingDays = sumOfWorkingDays, - // SumOfBenefitsIncluded = monthlyBenefits.ToMoney(), - // Included = sumOfIncluded.ToMoney(), - // IncludedAndNotIncluded = (sumOfIncluded + benefitsIncludedNonContinuous).ToMoney(), - // InsuredShare = insuredShare.ToMoney(), - // EmployerShare = employerShare.ToMoney(), - // UnEmploymentInsurance = unEmploymentInsurance.ToMoney(), - // }); - - //} - //public double GetRoundValueWhitGovermentlist(double value, string type) - //{ - // string strValue = value.ToString(); - // if (strValue.IndexOf('.') > -1) - // { - // string a = strValue.Substring(strValue.IndexOf('.') + 1, 1); - // if (type == "Govermentlist") - // { - // if (int.Parse(a) >= 4) - // { - // return (Math.Round(value, MidpointRounding.ToPositiveInfinity)); - // } - // else - // { - // return (Math.Round(value, MidpointRounding.ToNegativeInfinity)); - // } - // } - // else - // { - // if (int.Parse(a) > 5) - // { - // return (Math.Round(value, MidpointRounding.ToPositiveInfinity)); - // } - // else - // { - // return (Math.Round(value, MidpointRounding.ToNegativeInfinity)); - // } - // } - // } - - // return value; - //} - - #endregion - } -} + private readonly IEmployeeApplication _employeeApplication; + private readonly IEmployerApplication _employerApplication; + private readonly IInsuranceListApplication _insuranceListApplication; + private readonly IInsuranceWorkshopInfoApplication _insuranceWorkshopInfoApplication; + private readonly IJobApplication _jobApplication; + + private readonly IPasswordHasher _passwordHasher; + + //private readonly IInsuranceEmployeeInfoApplication _insuranceEmployeeInfoApplication; + private readonly IWebHostEnvironment _webHostEnvironment; + private readonly IWorkshopApplication _workshopApplication; + private readonly IYearlySalaryApplication _yearlySalaryApplication; + public string BeforCurrentMonth_; + + + public string CurrentYear_; + public List InsurancList; + public string Month; + public int PageIndex; + + public InsuranceListSearchModel SearchModel; + public string Sorting; + + public string TypeOfInsurance; + //public static string workshopName { get; set; } + //public static string typeOfInsuranceSend { get; set; } + //public static bool fixedSalary { get; set; } + //public static string workshopCode { get; set; } + //public static string WorkshopFullName { get; set; } + + public EditWorkshop workshop; + public long WorkshopId; + public string WorkshopName; + public string Year; + public List YearlyList; + + public IndexModel(IInsuranceListApplication insuranceListApplication, IWorkshopApplication workshopApplication, + IYearlySalaryApplication yearlySalaryApplication, IEmployerApplication employerApplication, + IInsuranceWorkshopInfoApplication insuranceWorkshopInfoApplication, IEmployeeApplication employeeApplication, + IJobApplication jobApplication, IWebHostEnvironment webHostEnvironment, + IPasswordHasher passwordHasher) // , IInsuranceEmployeeInfoApplication insuranceEmployeeInfoApplication ) + { + _jobApplication = jobApplication; + _insuranceListApplication = insuranceListApplication; + _workshopApplication = workshopApplication; + _yearlySalaryApplication = yearlySalaryApplication; + _employerApplication = employerApplication; + _insuranceWorkshopInfoApplication = insuranceWorkshopInfoApplication; + _employeeApplication = employeeApplication; + //_insuranceEmployeeInfoApplication = insuranceEmployeeInfoApplication; + _webHostEnvironment = webHostEnvironment; + _passwordHasher = passwordHasher; + } + + public static long workshopId_ { get; set; } + + public IActionResult OnGet(InsuranceListSearchModel searchModel) + { + if (User.Identity.IsAuthenticated) + { + var workshopSlugCliam = User.FindFirstValue("WorkshopSlug"); + var workshopId = _passwordHasher.SlugDecrypt(workshopSlugCliam); + if (workshopId > 0) + { + searchModel.Sorting = string.IsNullOrWhiteSpace(searchModel.Sorting) + ? "CreationDate-Max" + : searchModel.Sorting; + searchModel.PageIndex = 0; + Year = searchModel.Year; + Month = searchModel.Month; + WorkshopId = workshopId == 0 ? searchModel.WorkshopId : workshopId; + searchModel.WorkshopId = WorkshopId; + Sorting = string.IsNullOrWhiteSpace(searchModel.Sorting) ? "CreationDate-Max" : searchModel.Sorting; + var workshopInfo = _workshopApplication.GetWorkshopInfo(WorkshopId); + //workshop = _workshopApplication.GetDetails(workshopId_); + WorkshopName = workshopInfo.WorkshopFullName; + searchModel.FixedSalary = workshopInfo.FixedSalary; + searchModel.TypeOfInsuranceSend = workshopInfo.TypeOfInsuranceSend; + searchModel.WorkShopCode = workshopInfo.InsuranceCode; + TypeOfInsurance = workshopInfo.InsuranceCode; + + #region OldConvertYearAndMonth + + //string date = DateTime.Now.ToFarsi(); + //var year = Convert.ToInt32(date.Substring(0, 4)); + //var month = Convert.ToInt32(date.Substring(5, 2)); + //var day = Convert.ToInt32(date.Substring(8, 2)); + //var persianDate = new PersianDateTime(year, month, day); + //string persianBeforeDate = persianDate.AddMonths(-1).ToString("yyyy/MM/dd"); + //BeforCurrentMonth_ = persianBeforeDate.Substring(5, 2); + //CurrentYear_ = persianBeforeDate.Substring(0, 4); + + #endregion + + InsurancList = _insuranceListApplication.SearchForClient(searchModel); + + YearlyList = + _yearlySalaryApplication.GetYears(); + SearchModel = new InsuranceListSearchModel + { + Year = string.IsNullOrWhiteSpace(searchModel.Year) ? " " : searchModel.Year, + Month = string.IsNullOrWhiteSpace(searchModel.Month) ? " " : searchModel.Month, + Sorting = searchModel.Sorting + }; + return Page(); + } + + return Redirect("error/404"); + } + + return Redirect("error/404"); + } + + #region PrintOne + + public IActionResult OnGetPrintOne(long id) + { + var insurance = _insuranceListApplication.GetDetails(id); + return Partial("PrintOne", insurance); + } + + #endregion + + #region PrintOneMobile + + public IActionResult OnGetPrintOneMobile(long id) + { + var insurance = _insuranceListApplication.GetDetails(id); + return Partial("PrintOneMobile", insurance); + } + + #endregion + + #region OldClientByHeydari + + //public IActionResult OnGetSearch(InsuranceListSearchModel searchModel) + //{ + + // workshop = _workshopApplication.GetDetails(workshopId_); + // searchModel.FixedSalary = workshop.FixedSalary; + // searchModel.WorkShopName = workshop.WorkshopName; + // searchModel.TypeOfInsuranceSend = workshop.TypeOfInsuranceSend; + // searchModel.WorkShopCode = workshop.InsuranceCode; + // searchModel.WorkshopId = workshopId_; + + + // var searchResult = _insuranceListApplication.SearchForClient(searchModel); + + // foreach (var item in searchResult) + // { + // item.Month = item.Month.GetMonthByNumber(); + // } + + // var result = new CompanyManagment.App.Contracts.InsuranceList.MainViewModel(); + // result.MainList = searchResult; + + + // return Partial("./MainSearch", result); + //} + //public IActionResult OnGetCreate() + //{ + // string date = DateTime.Now.ToFarsi(); + // var year = Convert.ToInt32(date.Substring(0, 4)); + // var month = Convert.ToInt32(date.Substring(5, 2)); + // var day = Convert.ToInt32(date.Substring(8, 2)); + // var persianDate = new PersianDateTime(year, month, day); + // string persianBeforeDate = persianDate.AddMonths(-1).ToString("yyyy/MM/dd"); + // //var workshopList = _workshopApplication.GetWorkshopAccount().Where(x => !string.IsNullOrWhiteSpace(x.TypeOfInsuranceSend) && x.TypeOfInsuranceSend != "false").ToList(); + // workshop = _workshopApplication.GetDetails(workshopId_); + // var command = new CreateInsuranceList() + // { + // //WorkShopSelectList = new SelectList(workshopList, "Id", "WorkshopFullName"), + // YearList = _yearlySalaryApplication.GetYears(), + // BeforCurrentMonth = persianBeforeDate.Substring(5, 2), + // CurrentYear = persianBeforeDate.Substring(0, 4), + // WorkshopId = workshopId_, + // WorkshopName = workshop.WorkshopFullName + // }; + // return Partial("./Create", command); + //} + + //public IActionResult OnPostCreate(CreateInsuranceList command) + //{ + // //var result =new OperationResult(); + // //result.IsSuccedded = true; + // var result = _insuranceListApplication.Create(command); + // if (result.IsSuccedded) + // { + // var saveFileResult = SaveFile(command); + // if (saveFileResult) + // { + // result.IsSuccedded = true; + // result.Message = "ثبت اطلاعات با موفقیت انجام شد"; + // } + // else + // { + // result.Failed("ایجاد فایل بیمه با خطا مواجه شد"); + // } + // } + // //else + // //{ + // // result.Failed("ثبت اطلاعات با خطا مواجه شد"); + // //} + // return new JsonResult(result); + //} + + //public IActionResult OnPostGetEmployerName(long workshopId) + //{ + // string names = ""; + // var employerList = _employerApplication.GetEmployerByWorkshopId(workshopId); + // var workshopInfo = _insuranceWorkshopInfoApplication.GetDetails(workshopId); + // // var personelInfo = _employeeApplication.(workshopId); + + // string isLegal = employerList.FirstOrDefault()?.IsLegal; + // bool boolIsLegal = (isLegal == "حقوقی" ? true : false); + + // foreach (var item in employerList) + // { + // if (boolIsLegal) + // { + // names = (item.EmployerLName != "#" ? (item.FName + " " + item.EmployerLName) : item.LName); + // } + // else + // { + + // names = names + item.EmployerFullName + ","; + // } + // } + + // if (!boolIsLegal) + // names = names.Substring(0, names.Length - 1); + + // return new JsonResult(new + // { + // EmployerNames = names, + // WorkshopInfo = workshopInfo, + // IsLegal = boolIsLegal + // }); + //} + + + //public IActionResult OnGetEmployeeSearch(EmployeeForCreateInsuranceListSearchModel searchModel) + //{ + + // var result = _insuranceListApplication.SearchEmployeeForCreateInsuranceList(searchModel); + // return Partial("./EmployeeDatatable", result); + //} + + //public IActionResult OnPostCreateEmployeeDetailsInfo(EmployeeDetailsForInsuranceListViewModel command) + //{ + + // TempData["EmployeeDetails"] = command; + // var result = new OperationResult(); + // if (command.InsuranceEmployeeInformationId == 0) + // result = _insuranceListApplication.CreateEmployeeDetailsInfo(command); + // else + // result = _insuranceListApplication.EditEmployeeDetailsInfo(command); + + // return new JsonResult(result); + //} + + //public IActionResult OnPostJobList() + //{ + // var jobs = _jobApplication.GetJob(); + // return new JsonResult(new + // { + // IsSuccedded = true, + // jobList = jobs, + // }); + //} + + //public IActionResult OnPostRemoveInsuranceList(long id, string pathDSKKAR00, string pathDSKWOR00) + //{ + // var result = _insuranceListApplication.Remove(id); + // if (result.IsSuccedded) + // { + // pathDSKKAR00 = pathDSKKAR00.Replace("-", "\\"); + // var filePathDSKKAR00 = $"{_webHostEnvironment.ContentRootPath}\\InsuranceList\\{pathDSKKAR00}"; + // if (System.IO.File.Exists(filePathDSKKAR00)) + // System.IO.File.Delete(filePathDSKKAR00); + + // pathDSKWOR00 = pathDSKWOR00.Replace("-", "\\"); + // var filePathDSKWOR00 = $"{_webHostEnvironment.ContentRootPath}\\InsuranceList\\{pathDSKWOR00}"; + // if (System.IO.File.Exists(filePathDSKWOR00)) + // System.IO.File.Delete(filePathDSKWOR00); + // } + // return new JsonResult(result); + //} + + //public IActionResult OnPostConfirmInsuranceList(long id) + //{ + // var result = _insuranceListApplication.ConfirmInsuranceList(id); + // return new JsonResult(result); + //} + + //public IActionResult OnGetDownloadFile(string path, string fileName) + //{ + // //var path= "11\\1402_03\\DSKWOR00.dbf"; + // // Replace "file.dbf" with the name of your .dbf file + // var filePath = $"{_webHostEnvironment.ContentRootPath}\\InsuranceList\\{path}"; ; + + // // Read the file content into a byte array + // byte[] fileContent = System.IO.File.ReadAllBytes(filePath); + + // // Return the file content as a FileResult with the appropriate MIME type and file name + // return File(fileContent, "application/dbase", fileName); + //} + //private string GetSpecifiedCharactes(string str, int MaxLength) + //{ + // return str.Length <= MaxLength ? str : str.Substring(0, MaxLength); + //} + //private bool SaveFile(CreateInsuranceList createInsuranceList) + //{ + // try + // { + // //var path = $"profilePhotos"; + // var path = createInsuranceList.InsuranceWorkshopInfo.WorkshopId; + // var directoryPath = $"{_webHostEnvironment.ContentRootPath}\\InsuranceList\\{path}"; + // if (!Directory.Exists(directoryPath)) + // Directory.CreateDirectory(directoryPath); + + // //ایجاد پوشه با توجه به هر ماه و سال + // var monthPath = directoryPath + "\\" + createInsuranceList.Year + "_" + createInsuranceList.Month; + // if (!Directory.Exists(monthPath)) + // Directory.CreateDirectory(monthPath); + + // var currentdate = DateTime.Now; + // var currentDay = Convert.ToInt32(currentdate.ToFarsi().Substring(8, 2)); + // ////ایجاد پوشه با توجه به هر روز و ساعت و دقیقه و ثانیه + // //var dayPath = monthPath +"\\"+ currentDay+"_"+ currentdate.Hour + "_" + currentdate.Month + "_" + currentdate.Second; + // //if (!Directory.Exists(dayPath)) + // // Directory.CreateDirectory(dayPath); + // //فعلا قرار شد روی فایل قبلی ریپلیس بشه + // // string fileName = currentDay + "_" + currentdate.Hour + "_" + currentdate.Month + "_" + currentdate.Second +"_"; + // if (createInsuranceList.InsuranceWorkshopInfo != null) + // { + // var odbf = new DbfFile(Encoding.GetEncoding(1256)); + // odbf.Open(Path.Combine(monthPath, "DSKKAR00.dbf"), FileMode.Create); + // //کد کارگاه + // odbf.Header.AddColumn(new DbfColumn("DSK_ID", DbfColumn.DbfColumnType.Character, 10, 0)); + // //نام کارگاه + // odbf.Header.AddColumn(new DbfColumn("DSK_NAME", DbfColumn.DbfColumnType.Character, 100, 0)); + // //نام کارفرما + // odbf.Header.AddColumn(new DbfColumn("DSK_FARM", DbfColumn.DbfColumnType.Character, 100, 0)); + // //نام آدرس + // odbf.Header.AddColumn(new DbfColumn("DSK_ADRS", DbfColumn.DbfColumnType.Character, 100, 0)); + // //نوع لیست + // odbf.Header.AddColumn(new DbfColumn("DSK_KIND", DbfColumn.DbfColumnType.Number, 1, 0)); + // //سال عملکرد + // odbf.Header.AddColumn(new DbfColumn("DSK_YY", DbfColumn.DbfColumnType.Number, 2, 0)); + // //ماه عملکرد + // odbf.Header.AddColumn(new DbfColumn("DSK_MM", DbfColumn.DbfColumnType.Number, 2, 0)); + // //شماره لیست + // odbf.Header.AddColumn(new DbfColumn("DSK_LISTNO", DbfColumn.DbfColumnType.Character, 12, 0)); + // //شرح لیست + // odbf.Header.AddColumn(new DbfColumn("DSK_DISC", DbfColumn.DbfColumnType.Character, 100, 0)); + // //تعداد کارکنان + // odbf.Header.AddColumn(new DbfColumn("DSK_NUM", DbfColumn.DbfColumnType.Number, 5, 0)); + // //تعداد کارکنان + // odbf.Header.AddColumn(new DbfColumn("DSK_TDD", DbfColumn.DbfColumnType.Number, 6, 0)); + // //مجموع دستمزد روزانه + // odbf.Header.AddColumn(new DbfColumn("DSK_TROOZ", DbfColumn.DbfColumnType.Number, 12, 0)); + // //مجموع دستمزد ماهانه + // odbf.Header.AddColumn(new DbfColumn("DSK_TMAH", DbfColumn.DbfColumnType.Number, 12, 0)); + // //مجموع مزایای ماهانه + // odbf.Header.AddColumn(new DbfColumn("DSK_TMAZ", DbfColumn.DbfColumnType.Number, 12, 0)); + // //مجموع دستمزد و مزایای ماهانه مشمول + // odbf.Header.AddColumn(new DbfColumn("DSK_TMASH", DbfColumn.DbfColumnType.Number, 12, 0)); + // // مجموع کل دستمزد و مزایای ماهانه مشمول و غیر مشمول + // odbf.Header.AddColumn(new DbfColumn("DSK_TTOTL", DbfColumn.DbfColumnType.Number, 12, 0)); + // //مجموع حق بیمه سهم بیمه شده + // odbf.Header.AddColumn(new DbfColumn("DSK_TBIME", DbfColumn.DbfColumnType.Number, 12, 0)); + // //مجموع حق بیمه سهم کارفرما + // odbf.Header.AddColumn(new DbfColumn("DSK_TKOSO", DbfColumn.DbfColumnType.Number, 12, 0)); + // //مجموع حق بیمه بیکاری + // odbf.Header.AddColumn(new DbfColumn("DSK_BIC", DbfColumn.DbfColumnType.Number, 12, 0)); + // //نرخ حق بیمه + // odbf.Header.AddColumn(new DbfColumn("DSK_RATE", DbfColumn.DbfColumnType.Number, 5, 0)); + // //نرخ پورسانتاژ + // odbf.Header.AddColumn(new DbfColumn("DSK_PRATE", DbfColumn.DbfColumnType.Number, 2, 0)); + // //نرخ مشاغل سخت زیان آور + // odbf.Header.AddColumn(new DbfColumn("DSK_BIMH", DbfColumn.DbfColumnType.Number, 12, 0)); + // //ردیف پیمان + // odbf.Header.AddColumn(new DbfColumn("MON_PYM", DbfColumn.DbfColumnType.Character, 3, 0)); + // var orec = new DbfRecord(odbf.Header); + + // //کد کارگاه + // orec[0] = GetSpecifiedCharactes(createInsuranceList.InsuranceWorkshopInfo.InsuranceCode, 10); + // orec[1] = ConvertToIranSystem.ToIranSystem(GetSpecifiedCharactes(createInsuranceList.InsuranceWorkshopInfo.WorkshopName, 100), IranSystemNumbers.DontConvert); + // orec[2] = ConvertToIranSystem.ToIranSystem(GetSpecifiedCharactes(createInsuranceList.InsuranceWorkshopInfo.EmployerName, 100), IranSystemNumbers.DontConvert); + // orec[3] = ConvertToIranSystem.ToIranSystem(GetSpecifiedCharactes(createInsuranceList.InsuranceWorkshopInfo.Address, 100), IranSystemNumbers.DontConvert); + // //orec[3] = ConvertToIranSystem.ToIranSystem(GetSpecifiedCharactes("رشت - بلوار شهدای گمنام - کوچه شهید علی قربانی - ساختمان پیام نور - طبقه اول واحد 2", 100), IranSystemNumbers.DontConvert); + // // نوع لیست + // orec[4] = "0"; + // //سال + // orec[5] = Convert.ToInt32(createInsuranceList.Year.Substring(2, 2)).ToString(); + // //ماه + // orec[6] = Convert.ToInt32(createInsuranceList.Month).ToString(); + // //شماره لیست + // orec[7] = GetSpecifiedCharactes(createInsuranceList.InsuranceWorkshopInfo.ListNumber, 12); + // //شرح لیست + // orec[8] = ConvertToIranSystem.ToIranSystem(GetSpecifiedCharactes("", 100), IranSystemNumbers.DontConvert); + // //تعداد کرکنان + // orec[9] = createInsuranceList.SumOfEmployees.ToString(); + // //مجموع روزهای کارکرد + // orec[10] = createInsuranceList.SumOfWorkingDays.ToString(); + // //مجموع دستمزد روزانه + // orec[11] = createInsuranceList.SumOfDailyWage.ToString(); + // //مجموع دستمزد ماهانه + // orec[12] = createInsuranceList.SumOfSalaries.ToString(); + // //مجموع مزایای ماهانه مشمول + // orec[13] = createInsuranceList.SumOfBenefitsIncluded.ToString(); + // //مجموع دستمزد و مزایای ماهانه مشمول + // orec[14] = createInsuranceList.Included.ToString(); + // //مجموع کل دستمزد و مزایای ماهانه مشمول و غیر مشمول + // orec[15] = createInsuranceList.IncludedAndNotIncluded.ToString(); + // // مجموع حق بیمه سهم بیمه شده + // orec[16] = createInsuranceList.InsuredShare.ToString(); + // //مجموع حق بیمه سهم کارفرما + // orec[17] = createInsuranceList.EmployerShare.ToString(); //"44911361"; + // //مجموع حق بیمه بیکاری + // orec[18] = createInsuranceList.UnEmploymentInsurance.ToString(); + // //نرخ حق بیمه + // orec[19] = "23"; + // //نرخ پورسانتاژ + // orec[20] = "0"; + // //نرخ مشاغل سخت زیان آور + // orec[21] = createInsuranceList.DifficultJobsInsuranc.ToString(); + // //ردیف پیمان + // orec[22] = GetSpecifiedCharactes(createInsuranceList.InsuranceWorkshopInfo.AgreementNumber, 12); + // odbf.Write(orec); + // //odbf.Header.RecordCount = 50; + // odbf.WriteHeader(); + // odbf.Close(); + // } + + + // if (createInsuranceList.EmployeeInsurancListDataList != null) + // { + // //لیست پرسنل + // var dsw = new DbfFile(Encoding.GetEncoding(1256)); + // dsw.Open(Path.Combine(monthPath, "DSKWOR00.dbf"), FileMode.Create); + // //کد کارگاه + // dsw.Header.AddColumn(new DbfColumn("DSW_ID", DbfColumn.DbfColumnType.Character, 10, 0)); + // //سال عملکرد + // dsw.Header.AddColumn(new DbfColumn("DSW_YY", DbfColumn.DbfColumnType.Number, 2, 0)); + // //ماه عملکرد + // dsw.Header.AddColumn(new DbfColumn("DSW_MM", DbfColumn.DbfColumnType.Number, 2, 0)); + // //شماره لیست + // dsw.Header.AddColumn(new DbfColumn("DSW_LISTNO", DbfColumn.DbfColumnType.Character, 12, 0)); + // //شماره بیمه + // dsw.Header.AddColumn(new DbfColumn("DSW_ID1", DbfColumn.DbfColumnType.Character, 10, 0)); + // // نام + // dsw.Header.AddColumn(new DbfColumn("DSW_FNAME", DbfColumn.DbfColumnType.Character, 100, 0)); + // // نام خانوادگی + // dsw.Header.AddColumn(new DbfColumn("DSW_LNAME", DbfColumn.DbfColumnType.Character, 100, 0)); + // //نام پدر + // dsw.Header.AddColumn(new DbfColumn("DSW_DNAME", DbfColumn.DbfColumnType.Character, 100, 0)); + // // شماره شناسنامه + // dsw.Header.AddColumn(new DbfColumn("DSW_IDNO", DbfColumn.DbfColumnType.Character, 15, 0)); + // // محل صدور + // dsw.Header.AddColumn(new DbfColumn("DSW_IDPLC", DbfColumn.DbfColumnType.Character, 100, 0)); + // // تاریخ صدور + // dsw.Header.AddColumn(new DbfColumn("DSW_IDATE", DbfColumn.DbfColumnType.Character, 8, 0)); + // // تاریخ تولد + // dsw.Header.AddColumn(new DbfColumn("DSW_BDATE", DbfColumn.DbfColumnType.Character, 8, 0)); + // // جنسیت + // dsw.Header.AddColumn(new DbfColumn("DSW_SEX", DbfColumn.DbfColumnType.Character, 3, 0)); + // // ملیت + // dsw.Header.AddColumn(new DbfColumn("DSW_NAT", DbfColumn.DbfColumnType.Character, 10, 0)); + // // شرح شغل + // dsw.Header.AddColumn(new DbfColumn("DSW_OCP", DbfColumn.DbfColumnType.Character, 100, 0)); + // // تاریخ شروع بکار + // dsw.Header.AddColumn(new DbfColumn("DSW_SDATE", DbfColumn.DbfColumnType.Character, 8, 0)); + // // تاریخ ترک کار + // dsw.Header.AddColumn(new DbfColumn("DSW_EDATE", DbfColumn.DbfColumnType.Character, 8, 0)); + // // تعداد روزهای کارکرد + // dsw.Header.AddColumn(new DbfColumn("DSW_DD", DbfColumn.DbfColumnType.Number, 2, 0)); + // // دستمزد روزانه + // dsw.Header.AddColumn(new DbfColumn("DSW_ROOZ", DbfColumn.DbfColumnType.Number, 12, 0)); + // // دستمزد ماهانه + // dsw.Header.AddColumn(new DbfColumn("DSW_MAH", DbfColumn.DbfColumnType.Number, 12, 0)); + // // مزایای ماهانه + // dsw.Header.AddColumn(new DbfColumn("DSW_MAZ", DbfColumn.DbfColumnType.Number, 12, 0)); + // // جمع دستمزد و مزایای ماهانه مشمول + // dsw.Header.AddColumn(new DbfColumn("DSW_MASH", DbfColumn.DbfColumnType.Number, 12, 0)); + // // جمع کل دستمزد و مزایای ماهانه + // dsw.Header.AddColumn(new DbfColumn("DSW_TOTL", DbfColumn.DbfColumnType.Number, 12, 0)); + // //حق بیمه سهم بیمه شده + // dsw.Header.AddColumn(new DbfColumn("DSW_BIME", DbfColumn.DbfColumnType.Number, 12, 0)); + // //نرخ پورسانتاژ + // dsw.Header.AddColumn(new DbfColumn("DSW_PRATE", DbfColumn.DbfColumnType.Number, 2, 0)); + // // کد شغل + // dsw.Header.AddColumn(new DbfColumn("DSW_JOB", DbfColumn.DbfColumnType.Character, 6, 0)); + // // کد ملی + // dsw.Header.AddColumn(new DbfColumn("PER_NATCOD", DbfColumn.DbfColumnType.Character, 10, 0)); + + // foreach (var item in createInsuranceList.EmployeeInsurancListDataList) + // { + // var employee = createInsuranceList.EmployeeDetailsForInsuranceList.Where(p => p.EmployeeId == item.EmployeeId).FirstOrDefault(); + + // //var employeeObj = _employeeApplication.GetDetails(item.EmployeeId); + + // var dswrec = new DbfRecord(dsw.Header); + // //کد کارگاه + // dswrec[0] = GetSpecifiedCharactes(createInsuranceList.InsuranceWorkshopInfo.InsuranceCode, 10); + // //سال + // dswrec[1] = Convert.ToInt32(createInsuranceList.Year.Substring(2, 2)).ToString(); + // //ماه + // dswrec[2] = Convert.ToInt32(createInsuranceList.Month).ToString(); + // //شماره لیست + // dswrec[3] = GetSpecifiedCharactes(createInsuranceList.InsuranceWorkshopInfo.ListNumber, 12); + // //شماره بیمه + // dswrec[4] = GetSpecifiedCharactes(employee.InsuranceCode, 8); + // // نام + // dswrec[5] = ConvertToIranSystem.ToIranSystem(GetSpecifiedCharactes(employee.FName, 100), + // IranSystemNumbers.DontConvert); + // //خانوادگی نام + // dswrec[6] = ConvertToIranSystem.ToIranSystem(GetSpecifiedCharactes(employee.LName, 100), + // IranSystemNumbers.DontConvert); + // //پدر نام + // dswrec[7] = ConvertToIranSystem.ToIranSystem(GetSpecifiedCharactes(employee.FatherName, 100), + // IranSystemNumbers.DontConvert); + // //شماره شناسنامه + // dswrec[8] = employee.IdNumber; + // //محل صدور + // dswrec[9] = ConvertToIranSystem.ToIranSystem(GetSpecifiedCharactes(employee.PlaceOfIssue, 100), IranSystemNumbers.DontConvert); + // //تاریخ صدور + // dswrec[10] = (employee.DateOfIssue == "1300/10/11" || string.IsNullOrEmpty(employee.DateOfIssue)) ? "" : employee.DateOfIssue.Replace("/", ""); + // //تاریخ تولد + // dswrec[11] = (employee.DateOfBirth == "1300/10/11" || string.IsNullOrEmpty(employee.DateOfIssue)) ? "" : employee.DateOfBirth.Replace("/", ""); ; + // //جنسیت + // dswrec[12] = ConvertToIranSystem.ToIranSystem(GetSpecifiedCharactes(employee.Gender, 3), IranSystemNumbers.DontConvert); + // //ملیت + // //dswrec[13] = ConvertToIranSystem.ToIranSystem(GetSpecifiedCharactes("ایرانی", 10), + // dswrec[13] = ConvertToIranSystem.ToIranSystem(GetSpecifiedCharactes(employee.Nationality, 10), + // IranSystemNumbers.DontConvert); + // //شرح شغل + // dswrec[14] = ConvertToIranSystem.ToIranSystem(GetSpecifiedCharactes(item.JobName, 100), + // IranSystemNumbers.DontConvert); + // //تاریخ شروع بکار + // dswrec[15] = item.StartWorkDate.ToFarsi().Replace("/", ""); + + // //تاریخ ترک کار + // if (item.LeftWorkDate != null) + // dswrec[16] = item.LeftWorkDate.ToFarsi().Replace("/", ""); + // else + // dswrec[16] = ""; + + // //تعداد روزهای کارکرد + // dswrec[17] = item.WorkingDays.ToString(); + // //دستمزد روزانه + // dswrec[18] = item.DailyWage.ToString(); + // //دستمزد مااهانه + // dswrec[19] = item.MonthlySalary.ToString(); + // //مزایای ماهانه + // dswrec[20] = item.MonthlyBenefits.ToString(); + // //دستمزد و مزایای ماهانه مشمول + // dswrec[21] = item.MonthlyBenefitsIncluded.ToString(); + // //جمع کل دستمزد و مزایای ماهانه مسمول غیرمشمول + // dswrec[22] = item.IncludedAndNotIncluded.ToString(); + // //حق بیمه سهم بیمه شده + // dswrec[23] = item.InsuranceShare.ToString(); + // //نرخ پورسانتاژ + // dswrec[24] = "0"; + // //کد شغل + // dswrec[25] = item.JobCode; + // //کد ملی + // dswrec[26] = employee.NationalCode; + + // dsw.Write(dswrec); + // } + // //var dswrec = new DbfRecord(dsw.Header); + // ////کد کارگاه + // //dswrec[0] = GetSpecifiedCharactes("9008289145", 10); + // ////سال + // //dswrec[1] = "2"; + // ////ماه + // //dswrec[2] = "2"; + // ////شماره لیست + // //dswrec[3] = GetSpecifiedCharactes("01", 12); + // ////شماره بیمه + // //dswrec[4] = GetSpecifiedCharactes("48071464", 8); + // //// نام + // //dswrec[5] = ConvertToIranSystem.ToIranSystem(GetSpecifiedCharactes("راضیه", 100), + // // IranSystemNumbers.DontConvert); + // ////خانوادگی نام + // //dswrec[6] = ConvertToIranSystem.ToIranSystem(GetSpecifiedCharactes("پیردهقان", 100), + // // IranSystemNumbers.DontConvert); + // ////پدر نام + // //dswrec[7] = ConvertToIranSystem.ToIranSystem(GetSpecifiedCharactes("غلام", 100), + // // IranSystemNumbers.DontConvert); + // ////شماره شناسنامه + // //dswrec[8] = "2650230614"; + // ////محل صدور + // //dswrec[9] = ConvertToIranSystem.ToIranSystem(GetSpecifiedCharactes("رشت", 100), + // // IranSystemNumbers.DontConvert); + // //; + // ////تاریخ صدور + // //dswrec[10] = "13770805"; + // ////تاریخ تولد + // //dswrec[11] = "13770721"; + // ////جنسیت + // //dswrec[12] = + // // ConvertToIranSystem.ToIranSystem(GetSpecifiedCharactes("زن", 3), IranSystemNumbers.DontConvert); + // ////ملیت + // //dswrec[13] = ConvertToIranSystem.ToIranSystem(GetSpecifiedCharactes("ایرانی", 10), + // // IranSystemNumbers.DontConvert); + // ////شرح شغل + // //dswrec[14] = ConvertToIranSystem.ToIranSystem(GetSpecifiedCharactes("کارشناس نرم افزار کامپیوتر", 100), + // // IranSystemNumbers.DontConvert); + // ////تاریخ شروع بکار + // //dswrec[15] = "14000201"; + // ////تاریخ ترک کار + // //dswrec[16] = ""; + // ////تعداد روزهای کارکرد + // //dswrec[17] = "31"; + // ////دستمزد روزانه + // //dswrec[18] = "1769428"; + // ////دستمزد مااهانه + // //dswrec[19] = "54852268"; + // ////مزایای ماهانه + // //dswrec[20] = "20000000"; + // ////دستمزد و مزایای ماهانه مشمول + // //dswrec[21] = "74852268"; + // ////جمع کل دستمزد و مزایای ماهانه مسمول غیرمشمول + // //dswrec[22] = "74852268"; + // ////حق بیمه سهم بیمه شده + // //dswrec[23] = "5239659"; + // ////نرخ پورسانتاژ + // //dswrec[24] = "0"; + // ////کد شغل + // //dswrec[25] = "033022"; + // ////کد ملی + // //dswrec[26] = "2650230614"; + + // //dsw.Write(dswrec); + + + // //var dswrec2 = new DbfRecord(dsw.Header); + // ////کد کارگاه + // //dswrec2[0] = GetSpecifiedCharactes("9008289145", 10); + // ////سال + // //dswrec2[1] = "2"; + // ////ماه + // //dswrec2[2] = "2"; + // ////شماره لیست + // //dswrec2[3] = GetSpecifiedCharactes("01", 12); + // ////شماره بیمه + // //dswrec2[4] = GetSpecifiedCharactes("34157806", 8); + // //// نام + // //dswrec2[5] = ConvertToIranSystem.ToIranSystem(GetSpecifiedCharactes("پیمان", 100), + // // IranSystemNumbers.DontConvert); + // ////خانوادگی نام + // //dswrec2[6] = ConvertToIranSystem.ToIranSystem(GetSpecifiedCharactes("افشاری بجاربنه", 100), + // // IranSystemNumbers.DontConvert); + // ////پدر نام + // //dswrec2[7] = ConvertToIranSystem.ToIranSystem(GetSpecifiedCharactes("علیرضا", 100), + // // IranSystemNumbers.DontConvert); + // ////شماره شناسنامه + // //dswrec2[8] = "2580900713"; + // ////محل صدور + // //dswrec2[9] = + // // ConvertToIranSystem.ToIranSystem(GetSpecifiedCharactes("رشت", 100), IranSystemNumbers.DontConvert); + // //; + // ////تاریخ صدور + // //dswrec2[10] = ""; + // ////تاریخ تولد + // //dswrec2[11] = "13750229"; + // ////جنسیت + // //dswrec2[12] = + // // ConvertToIranSystem.ToIranSystem(GetSpecifiedCharactes("مرد", 3), IranSystemNumbers.DontConvert); + // ////ملیت + // //dswrec2[13] = ConvertToIranSystem.ToIranSystem(GetSpecifiedCharactes("ایرانی", 10), + // // IranSystemNumbers.DontConvert); + // ////شرح شغل + // //dswrec2[14] = ConvertToIranSystem.ToIranSystem(GetSpecifiedCharactes("کارشناس نرم افزار کامپیوتر", 100), + // // IranSystemNumbers.DontConvert); + // ////تاریخ شروع بکار + // //dswrec2[15] = "14010701"; + // ////تاریخ ترک کار + // //dswrec2[16] = ""; + // ////تعداد روزهای کارکرد + // //dswrec2[17] = "31"; + // ////دستمزد روزانه + // //dswrec2[18] = "1769428"; + // ////دستمزد مااهانه + // //dswrec2[19] = "54852268"; + // ////مزایای ماهانه + // //dswrec2[20] = "20000000"; + // ////دستمزد و مزایای ماهانه مشمول + // //dswrec2[21] = "74852268"; + // ////جمع کل دستمزد و مزایای ماهانه مسمول غیرمشمول + // //dswrec2[22] = "74852268"; + // ////حق بیمه سهم بیمه شده + // //dswrec2[23] = "5239659"; + // ////نرخ پورسانتاژ + // //dswrec2[24] = "0"; + // ////کد شغل + // //dswrec2[25] = "033022"; + // ////کد ملی + // //dswrec2[26] = "2580900713"; + + // //dsw.Write(dswrec2); + + + // //var dswrec3 = new DbfRecord(dsw.Header); + // ////کد کارگاه + // //dswrec3[0] = GetSpecifiedCharactes("9008289145", 10); + // ////سال + // //dswrec3[1] = "2"; + // ////ماه + // //dswrec3[2] = "2"; + // ////شماره لیست + // //dswrec3[3] = GetSpecifiedCharactes("01", 12); + // ////شماره بیمه + // //dswrec3[4] = GetSpecifiedCharactes("48076618", 8); + // //// نام + // //dswrec3[5] = ConvertToIranSystem.ToIranSystem(GetSpecifiedCharactes("فاطمه", 100), + // // IranSystemNumbers.DontConvert); + // ////خانوادگی نام + // //dswrec3[6] = ConvertToIranSystem.ToIranSystem(GetSpecifiedCharactes("پادکان", 100), + // // IranSystemNumbers.DontConvert); + // ////پدر نام + // //dswrec3[7] = ConvertToIranSystem.ToIranSystem(GetSpecifiedCharactes("محمدفرشاد", 100), + // // IranSystemNumbers.DontConvert); + // ////شماره شناسنامه + // //dswrec3[8] = "2581230231"; + // ////محل صدور + // //dswrec3[9] = + // // ConvertToIranSystem.ToIranSystem(GetSpecifiedCharactes("رشت", 100), IranSystemNumbers.DontConvert); + // //; + // ////تاریخ صدور + // //dswrec3[10] = ""; + // ////تاریخ تولد + // //dswrec3[11] = "13780926"; + // ////جنسیت + // //dswrec3[12] = + // // ConvertToIranSystem.ToIranSystem(GetSpecifiedCharactes("زن", 3), IranSystemNumbers.DontConvert); + // ////ملیت + // //dswrec3[13] = ConvertToIranSystem.ToIranSystem(GetSpecifiedCharactes("ایرانی", 10), + // // IranSystemNumbers.DontConvert); + // ////شرح شغل + // //dswrec3[14] = ConvertToIranSystem.ToIranSystem(GetSpecifiedCharactes("کارشناس نرم افزار کامپیوتر", 100), + // // IranSystemNumbers.DontConvert); + // ////تاریخ شروع بکار + // //dswrec3[15] = "14010701"; + // ////تاریخ ترک کار + // //dswrec3[16] = ""; + // ////تعداد روزهای کارکرد + // //dswrec3[17] = "31"; + // ////دستمزد روزانه + // //dswrec3[18] = "1769428"; + // ////دستمزد مااهانه + // //dswrec3[19] = "54852268"; + // ////مزایای ماهانه + // //dswrec3[20] = "20000000"; + // ////دستمزد و مزایای ماهانه مشمول + // //dswrec3[21] = "74852268"; + // ////جمع کل دستمزد و مزایای ماهانه مسمول غیرمشمول + // //dswrec3[22] = "74852268"; + // ////حق بیمه سهم بیمه شده + // //dswrec3[23] = "5239659"; + // ////نرخ پورسانتاژ + // //dswrec3[24] = "0"; + // ////کد شغل + // //dswrec3[25] = "001094"; + // ////کد ملی + // //dswrec3[26] = "2581230231"; + + // //dsw.Write(dswrec3); + + // dsw.WriteHeader(); + + // dsw.Close(); + // } + + // return true; + // } + // catch (Exception er) { return false; } + //} + + //public IActionResult OnGetEdit(long id) + //{ + // var insurance = _insuranceListApplication.GetDetailsForEdit(id); + // workshop = _workshopApplication.GetDetails(workshopId_); + // var workshopObj = workshop; + // insurance.WorkshopName = workshopObj == null ? string.Empty : workshopObj.WorkshopFullName; + // insurance.TypeOfInsuranceSend = workshopObj.TypeOfInsuranceSend; + // insurance.Population = workshopObj.Population; + // insurance.FixedSalary = workshopObj.FixedSalary; + // insurance.InsuranceJobId = workshopObj.InsuranceJobId; + // // workshopList = workshopList.Where(x => !string.IsNullOrWhiteSpace(x.TypeOfInsuranceSend) && x.TypeOfInsuranceSend != "false").ToList(); + // //insurance.WorkShopSelectList = new SelectList(workshopList, "Id", "WorkshopFullName"); + // //insurance.YearList = _yearlySalaryApplication.GetYears(); + + // return Partial("Edit", insurance); + //} + + //public IActionResult OnGetEmployeeListForEdit(EmployeeForEditInsuranceListSearchModel searchModel) + //{ + // var result = _insuranceListApplication.SearchEmployeeListForEditByInsuranceListId(searchModel); + // return Partial("./EmployeeListForEdit", result); + //} + + //public IActionResult OnPostEdit(EditInsuranceList command) + //{ + // //var result =new OperationResult(); + // //result.IsSuccedded = true; + // var result = _insuranceListApplication.Edit(command); + // if (result.IsSuccedded) + // { + // var path = command.InsuranceWorkshopInfo.WorkshopId; + // var directoryPath = $"{_webHostEnvironment.ContentRootPath}\\InsuranceList\\{path}"; + // var monthPath = directoryPath + "\\" + command.Year + "_" + command.Month; + // //if (Directory.Exists(monthPath)) + // // Directory.Delete(monthPath); + + // var filePathDSKKAR00 = monthPath + "\\DSKKAR00.dbf"; + // if (System.IO.File.Exists(filePathDSKKAR00)) + // System.IO.File.Delete(filePathDSKKAR00); + + + // var filePathDSKWOR00 = monthPath + "\\DSKWOR00.dbf"; + // if (System.IO.File.Exists(filePathDSKWOR00)) + // System.IO.File.Delete(filePathDSKWOR00); + // var saveFileResult = SaveFile(command); + // if (saveFileResult) + // { + // result.IsSuccedded = true; + // result.Message = "ویرایش اطلاعات با موفقیت انجام شد"; + // } + // else + // { + // result.Failed("ایجاد فایل بیمه با خطا مواجه شد"); + // } + // } + + // return new JsonResult(result); + //} + + //public IActionResult OnGetInsuranceSummary(long id) + //{ + // var insurance = _insuranceListApplication.GetDetails(id); + // return Partial("InsuranceSummary", insurance); + //} + + //public IActionResult OnGetInsuranceConfirm(long id) + //{ + // var insurance = _insuranceListApplication.GetDetails(id); + // return Partial("InsuranceConfirm", insurance); + //} + //public IActionResult OnGetInspectionReport(long id) + //{ + // var insurance = _insuranceListApplication.GetDetails(id); + // return Partial("InspectionReport", insurance); + //} + + + //public IActionResult OnPostMonthlySalary(string dailyWage, string workingDays, string insuranceShare, string benefitsIncludedContinuous, string jobId, string housingAllowance, string includeStatus, string consumableItems, string endMonthCurrentDay) + //{ + + // double benefitsIncludedContinuousL = benefitsIncludedContinuous.MoneyToDouble(); + // double sum = consumableItems.MoneyToDouble() + housingAllowance.MoneyToDouble(); + // long workingDaysL = Convert.ToInt64(workingDays); + // long endMonthCurrentDayL = Convert.ToInt64(endMonthCurrentDay); + // long jobIdL = Convert.ToInt64(jobId); + // long includeStatusL = Convert.ToInt64(includeStatus); + // double dailyWageL = dailyWage.MoneyToDouble(); + + + // if (workingDaysL == endMonthCurrentDayL) + // { + // benefitsIncludedContinuousL = sum; + // } + + // if (workingDaysL < endMonthCurrentDayL) + // { + // if (endMonthCurrentDayL == 29) + // endMonthCurrentDayL = 30; + // var a = (sum * workingDaysL) / endMonthCurrentDayL; + // benefitsIncludedContinuousL = _insuranceListApplication.GetRoundValue(a); + // } + // //if (dailyWageL == 0) + // //{ + // // benefitsIncludedContinuousL = 0; + // //} + // if ((includeStatusL == 0 && (jobIdL == 10 || jobIdL == 17 || jobIdL == 18 || jobIdL == 16)) || (includeStatusL == 1 && jobIdL == 10))// 10 --> karfarma + // { + // benefitsIncludedContinuousL = 0; + + // } + // double monthlySalaryL = workingDaysL * dailyWageL; + // double insuranceShareL = ((benefitsIncludedContinuousL + monthlySalaryL) * 7) / 100; + // insuranceShareL = _insuranceListApplication.GetRoundValue(insuranceShareL); + + + // //var persianBefore = ""; + // //var year = Convert.ToInt32(date.Substring(0, 4)); + // //var month = Convert.ToInt32(date.Substring(5, 2)); + // //var day = Convert.ToInt32(date.Substring(8, 2)); + // //var persianDate = new PersianDateTime(year, month, day); + // //var persianBeforeDate = persianDate.AddDays(-1); + // //persianBefore = persianBeforeDate.ToString("yyyy/MM/dd"); + + // if (benefitsIncludedContinuousL == 0 && monthlySalaryL == 0 && insuranceShareL == 0 && dailyWageL == 0) + // { + // workingDaysL = 0; + // } + // if (benefitsIncludedContinuousL == 0 && monthlySalaryL == 0 && insuranceShareL == 0 && workingDaysL == 0) + // { + // dailyWageL = 0; + // } + // return new JsonResult(new + // { + // monthlySalary = monthlySalaryL.ToMoney(), + // benefitsIncludedContinuous = benefitsIncludedContinuousL.ToMoney(), + // insuranceShare = insuranceShareL.ToMoney(), + // workingDay = workingDaysL, + // dailyWag = dailyWageL.ToMoney(), + // }); + //} + + //public IActionResult OnPostComputeInsuranceList(List employeeDetailsForInsuranceList, string typeOfInsuranceSendWorkshop) + //{ + // double sumOfEmployees = employeeDetailsForInsuranceList.Count(); + // double included = 0;//مشمول + // double sumOfWorkingDays = 0; + // double benefitsIncludedNonContinuous = 0;//مشمول غیر مستمر + // double sumOfSalaries = 0; + // double sumOfDailyWage = 0; + // double insuredShare = 0; + // double employerShare = 0;//سهم بیمه کارفرما + // double sumOfIncluded = 0; + // double unEmploymentInsurance = 0;//سهم بیمه بیکاری + // double monthlyBenefits = 0;//مزایای ماهیانه + // double sumForunEmploymentInsurance = 0; + // double benefitsIncludedContinuous = 0; + // double sumOfIncludedKarfarma = 0; + // bool hasKarfarma = false; + // double countWithoutLeft = 0; + + // for (int i = 0; i < employeeDetailsForInsuranceList.Count; i++) + // { + + // if (!string.IsNullOrWhiteSpace(employeeDetailsForInsuranceList[i].LeftWorkDate)) + // { + // countWithoutLeft = countWithoutLeft + 1; + // } + + + // // if (employeeDetailsForInsuranceList[i].IncludeStatus && (employeeDetailsForInsuranceList[i].JobId == 10 || employeeDetailsForInsuranceList[i].JobId == 17 || employeeDetailsForInsuranceList[i].JobId == 18 || employeeDetailsForInsuranceList[i].JobId == 16))// 10 --> karfarma + // if (!employeeDetailsForInsuranceList[i].IncludeStatus && (employeeDetailsForInsuranceList[i].JobCode == "027079" || employeeDetailsForInsuranceList[i].JobCode == "024398" || employeeDetailsForInsuranceList[i].JobCode == "011015" || employeeDetailsForInsuranceList[i].JobCode == "020010"))// 10 --> karfarma + // { + // benefitsIncludedContinuous = 0; + // sumForunEmploymentInsurance = sumForunEmploymentInsurance; + // } + // else + // { + // sumForunEmploymentInsurance = sumForunEmploymentInsurance + employeeDetailsForInsuranceList[i].BenefitsIncludedContinuous; + // } + // //if (employeeDetailsForInsuranceList[i].JobId == 10)//کارفرما + // if (employeeDetailsForInsuranceList[i].JobCode == "024398")//کارفرما + // { + // hasKarfarma = true; + // sumOfIncludedKarfarma = employeeDetailsForInsuranceList[i].BenefitsIncludedContinuous; + // } + + // sumOfWorkingDays = sumOfWorkingDays + employeeDetailsForInsuranceList[i].WorkingDays; + // sumOfDailyWage = sumOfDailyWage + employeeDetailsForInsuranceList[i].DailyWage; + // sumOfSalaries = sumOfSalaries + employeeDetailsForInsuranceList[i].MonthlySalary; + // monthlyBenefits = monthlyBenefits + +employeeDetailsForInsuranceList[i].MonthlyBenefits; + // sumOfIncluded = sumOfIncluded + employeeDetailsForInsuranceList[i].BenefitsIncludedContinuous; + // benefitsIncludedNonContinuous = benefitsIncludedNonContinuous + employeeDetailsForInsuranceList[i].BenefitsIncludedNonContinuous; + // insuredShare = insuredShare + employeeDetailsForInsuranceList[i].InsuranceShare; + + // } + + // employerShare = GetRoundValueWhitGovermentlist((sumOfIncluded * 20) / 100, typeOfInsuranceSendWorkshop); + // unEmploymentInsurance = GetRoundValueWhitGovermentlist((sumForunEmploymentInsurance * 3) / 100, typeOfInsuranceSendWorkshop); + + // if (typeOfInsuranceSendWorkshop == "Govermentlist" && (sumOfEmployees - countWithoutLeft) <= 5 && !hasKarfarma) + // { //console.log(1); + // employerShare = 0; + // } + + // if (typeOfInsuranceSendWorkshop == "Govermentlist" && (sumOfEmployees - countWithoutLeft) <= 6 && hasKarfarma) + // { //console.log(sumOfIncludedKarfarma); + // var result = (sumOfIncludedKarfarma * 20) / 100; + // employerShare = GetRoundValueWhitGovermentlist(result, typeOfInsuranceSendWorkshop); + // } + // if (typeOfInsuranceSendWorkshop == "Govermentlist" && (sumOfEmployees - countWithoutLeft) >= 6 && !hasKarfarma) + // { + // //ابتدا جمع کل مزایا به دست می آید + // //جمع کل مزایا تقسیم بر تعداد کارگران منهای کسانی که ترک کار کرده اند. + // //حاصل عبارت بالا در 5 ضرب میشو یعنی میانگینی برای محاسبه قیمت 5 نفر حساب می کنیم تا از طریق دولت پرداخت شود + // var result = (sumOfIncluded - ((sumOfIncluded / (sumOfEmployees - countWithoutLeft)) * 5)) * 20 / 100; + // employerShare = GetRoundValueWhitGovermentlist(result, typeOfInsuranceSendWorkshop); + // // employerShare =getRoundValue(((sumOfIncluded/sumOfEmployees)*(sumOfEmployees-5))*20/100); + // } + // if (typeOfInsuranceSendWorkshop == "Govermentlist" && (sumOfEmployees - countWithoutLeft) > 6 && hasKarfarma) + // { // console.log(4); + // var sum = sumOfIncluded - sumOfIncludedKarfarma;//ستون مربوط به کارفرما محاسبه نمی شود + // var result = ((sum - ((sum / ((sumOfEmployees - countWithoutLeft) - 1)) * 5)) + sumOfIncludedKarfarma) * 20 / 100; + // employerShare = GetRoundValueWhitGovermentlist(result, typeOfInsuranceSendWorkshop); + + + // } + + + // return new JsonResult(new + // { + // SumOfEmployees = sumOfEmployees, + // SumOfSalaries = sumOfSalaries.ToMoney(), + // SumOfDailyWage = sumOfDailyWage.ToMoney(), + // SumOfWorkingDays = sumOfWorkingDays, + // SumOfBenefitsIncluded = monthlyBenefits.ToMoney(), + // Included = sumOfIncluded.ToMoney(), + // IncludedAndNotIncluded = (sumOfIncluded + benefitsIncludedNonContinuous).ToMoney(), + // InsuredShare = insuredShare.ToMoney(), + // EmployerShare = employerShare.ToMoney(), + // UnEmploymentInsurance = unEmploymentInsurance.ToMoney(), + // }); + + //} + //public double GetRoundValueWhitGovermentlist(double value, string type) + //{ + // string strValue = value.ToString(); + // if (strValue.IndexOf('.') > -1) + // { + // string a = strValue.Substring(strValue.IndexOf('.') + 1, 1); + // if (type == "Govermentlist") + // { + // if (int.Parse(a) >= 4) + // { + // return (Math.Round(value, MidpointRounding.ToPositiveInfinity)); + // } + // else + // { + // return (Math.Round(value, MidpointRounding.ToNegativeInfinity)); + // } + // } + // else + // { + // if (int.Parse(a) > 5) + // { + // return (Math.Round(value, MidpointRounding.ToPositiveInfinity)); + // } + // else + // { + // return (Math.Round(value, MidpointRounding.ToNegativeInfinity)); + // } + // } + // } + + // return value; + //} + + #endregion +} \ No newline at end of file diff --git a/ServiceHost/Areas/Client/Pages/Company/InsuranceList/InsuranceConfirm.cshtml b/ServiceHost/Areas/Client/Pages/Company/InsuranceList/InsuranceConfirm.cshtml index b2b6d444..a1ef4675 100644 --- a/ServiceHost/Areas/Client/Pages/Company/InsuranceList/InsuranceConfirm.cshtml +++ b/ServiceHost/Areas/Client/Pages/Company/InsuranceList/InsuranceConfirm.cshtml @@ -467,535 +467,539 @@ + + + --> @section Script { - + - + if (x.type === "password") { + x.type = "text"; + $('.reEyeShow').hide(); + $('.reEyeClose').show(); + } else { + x.type = "password"; + $('.reEyeShow').show(); + $('.reEyeClose').hide(); + } + } + //******************** نمایش دادن یا مخفی کردن پسورد ******************** + + } \ No newline at end of file diff --git a/ServiceHost/Areas/Client/Pages/Company/Profile/Profile.cshtml.cs b/ServiceHost/Areas/Client/Pages/Company/Profile/Profile.cshtml.cs index a3f0774f..078f8f1e 100644 --- a/ServiceHost/Areas/Client/Pages/Company/Profile/Profile.cshtml.cs +++ b/ServiceHost/Areas/Client/Pages/Company/Profile/Profile.cshtml.cs @@ -2,104 +2,91 @@ using AccountManagement.Application.Contracts.Account; using Microsoft.AspNetCore.Mvc; using Microsoft.AspNetCore.Mvc.RazorPages; -using System.Linq; -namespace ServiceHost.Areas.Client.Pages.Company.Profile +namespace ServiceHost.Areas.Client.Pages.Company.Profile; + +public class ProfileModel : PageModel { - public class ProfileModel : PageModel - { - public string Mess { get; set; } - private readonly IAuthHelper _authHelper; - private readonly IAccountApplication _accountApplication; - public string FullName { get; set; } - public string PhoneNumber { get; set; } - public long Id { get; set; } + private readonly IAccountApplication _accountApplication; + private readonly IAuthHelper _authHelper; - public ProfileModel(IAuthHelper authHelper, IAccountApplication accountApplication) - { - _authHelper = authHelper; - _accountApplication = accountApplication; - } + public ProfileModel(IAuthHelper authHelper, IAccountApplication accountApplication) + { + _authHelper = authHelper; + _accountApplication = accountApplication; + } - public void OnGet() - { - var loggedInUser = _authHelper.CurrentAccountInfo(); - FullName = loggedInUser.Fullname; - PhoneNumber = loggedInUser.Mobile; - Id = loggedInUser.Id; + public string Mess { get; set; } + public string FullName { get; set; } + public string PhoneNumber { get; set; } + public long Id { get; set; } - } + public void OnGet() + { + var loggedInUser = _authHelper.CurrentAccountInfo(); + FullName = loggedInUser.Fullname; + PhoneNumber = loggedInUser.Mobile; + Id = loggedInUser.Id; + } - public IActionResult OnGetChangePassword(long id) - { - var command = new ChangePassword { Id = id }; - return Partial("ChangePassword", command); - } + public IActionResult OnGetChangePassword(long id) + { + var command = new ChangePassword { Id = id }; + return Partial("ChangePassword", command); + } + public JsonResult OnPostChangePassword(ChangePassword command) + { + if (string.IsNullOrWhiteSpace(command.Password) || string.IsNullOrWhiteSpace(command.RePassword)) + { + Mess = "رمز عبور و تکرار عبور نباید خالی باشد"; + return new JsonResult(Mess); + } - public JsonResult OnPostChangePassword(ChangePassword command) - { - if (string.IsNullOrWhiteSpace(command.Password) || string.IsNullOrWhiteSpace(command.RePassword)) - { - Mess = "رمز عبور و تکرار عبور نباید خالی باشد"; - return new JsonResult(Mess); - } + if (command.Password != command.RePassword) + { + Mess = "رمز عبور یکسان نیست"; + return new JsonResult(Mess); + } - if (command.Password != command.RePassword) - { - Mess = "رمز عبور یکسان نیست"; - return new JsonResult(Mess); - } + var result = _accountApplication.ChangePassword(command); + return new JsonResult(result); + } - var result = _accountApplication.ChangePassword(command); - return new JsonResult(result); - } + public IActionResult OnPostSendSms() + { + var phone = _authHelper.CurrentAccountMobile(); + var result = _accountApplication.Search(new AccountSearchModel { Mobile = phone }).FirstOrDefault(); + if (result != null) + { + _accountApplication.SendVerifyCodeToChangingPass(phone, result.Id); + return new JsonResult(new + { + isSuccess = true + }); + } - public IActionResult OnPostSendSms() - { + return new JsonResult(new + { + isSuccess = false + }); + } - var phone = _authHelper.CurrentAccountMobile(); - var result = _accountApplication.Search(new AccountSearchModel() { Mobile = phone }).FirstOrDefault(); - if (result != null) - { - _accountApplication.SendVerifyCodeToChangingPass(phone, result.Id); - return new JsonResult(new - { - isSuccess = true - }); - - } - - return new JsonResult(new - { - isSuccess = false - }); - - } - - public IActionResult OnPostCheckCode(string code) - { - var phone = _authHelper.CurrentAccountMobile(); - var verfiyResult = _accountApplication.GetByVerifyCode(code, phone); - if (verfiyResult != null) - { - return new JsonResult(new - { - exist = true, - - }); - } + public IActionResult OnPostCheckCode(string code) + { + var phone = _authHelper.CurrentAccountMobile(); + var verfiyResult = _accountApplication.GetByVerifyCode(code, phone); + if (verfiyResult != null) + return new JsonResult(new + { + exist = true + }); - - - - return new JsonResult(new - { - exist = false, - }); - - } - } -} + return new JsonResult(new + { + exist = false + }); + } +} \ No newline at end of file diff --git a/ServiceHost/Areas/Client/Pages/Company/Reports/CheckoutReport.cshtml b/ServiceHost/Areas/Client/Pages/Company/Reports/CheckoutReport.cshtml index b3d3f23b..fb5fedb5 100644 --- a/ServiceHost/Areas/Client/Pages/Company/Reports/CheckoutReport.cshtml +++ b/ServiceHost/Areas/Client/Pages/Company/Reports/CheckoutReport.cshtml @@ -1,24 +1,24 @@ @page -@model ServiceHost.Areas.Client.Pages.Company.Reports.CheckoutReportModel @using Version = _0_Framework.Application.Version +@model CheckoutReportModel @{ - ViewData["Title"] = " - " + "گزارش تجمیع حقوق پرسنل"; - int index = 1; + ViewData["Title"] = " - " + "گزارش تجمیع حقوق پرسنل"; + var index = 1; } @section Styles { - - - - - - - + + + + + + + - } - + -
- @if(Model.Employers!=null){ - for(int i=0; i - } - } +@if (Model.Employers != null) +{ + for (var i = 0; i < Model.Employers.Count(); i++) + { + + } +}
مشخصات کارگاه
-
-
مشخصات اصلی
-
امور قرارداد
-
امور بیمه ای
+
+
مشخصات اصلی
+
امور قرارداد
+
امور بیمه ای
-
-
-
- - +
+
+
+ + -
-
- - - -

فقط حروف فارسی وارد شود.

-
-
- - -
-
- - - -

فقط عدد وارد شود.

-
-
+
+
+ + + +

فقط حروف فارسی وارد شود.

+
+
+ + +
+
+ + + +

فقط عدد وارد شود.

+
+
-
-
- - -
-
- - - -
-
-
- - - -
-
-
-
-
- - -
-
+
+
+ + +
+
+ + + +
+
+
+ + + +
+
+
+
+
+ + +
+
-
-
-
-
لطفا مدت قرارداد خود را انتخاب کنید :
-
-
-
- 1 ماهه -
-
- 2 ماهه -
-
- 3 ماهه -
-
- 6 ماهه -
-
- 1 ساله -
-
- دائمی -
- -
-
-
-
-
-
در صورت تمایل به محاسبه ی عناوین ذیل در فیش حقوقی، گزینه های موردنظر را فعال نمایید
-
-
-
- -
- مزد و مرخصی -
-
-
- -
- سنوات -
-
-
- -
- عیدی و پاداش -
+
+
+
+
لطفا مدت قرارداد خود را انتخاب کنید :
+
+
+
+ 1 ماهه +
+
+ 2 ماهه +
+
+ 3 ماهه +
+
+ 6 ماهه +
+
+ 1 ساله +
+
+ دائمی +
+ +
+
+
+
+
+
در صورت تمایل به محاسبه ی عناوین ذیل در فیش حقوقی، گزینه های موردنظر را فعال نمایید
+
+
+
+ +
+ مزد و مرخصی +
+
+
+ +
+ سنوات +
+
+
+ +
+ عیدی و پاداش +
-
-
-
-
+
+
+
+
-
-
-
-
- مجموع مبالغ تصفیه حساب در ذیل فرم نمایش داده شود -
- -
-
-
-
-
+
+
+
+
+ مجموع مبالغ تصفیه حساب در ذیل فرم نمایش داده شود +
+ +
+
+
+
+
-
-
-
- - - -
-
- - - -

فقط عدد وارد شود.

-
-
- - - -

فقط عدد وارد شود.

-
-
-
-
-
-
- -
-
-
-
- - -
-
- - -
-
-
-
-
+
+
+
+ + + +
+
+ + + +

فقط عدد وارد شود.

+
+
+ + + +

فقط عدد وارد شود.

+
+
+
+
+
+
+ +
+
+
+
+ + +
+
+ + +
+
+
+
+
- + @*
- @if (Model.AccountIdsList != null) - { - for (int i = 0; i < Model.AccountIdsList.Count(); i++) - { - - } - } +@if (Model.AccountIdsList != null) +{ + for (var i = 0; i < Model.AccountIdsList.Count(); i++) + { + + } +} @if (!hasEmployer) { -
- شما هنوز کارفرمایی ثبت نکرده اید، برای ثبت کارگاه ابتدا فرم ثبت کارفرما را تکمیل نمایید. -
+
+ شما هنوز کارفرمایی ثبت نکرده اید، برای ثبت کارگاه ابتدا فرم ثبت کارفرما را تکمیل نمایید. +
} \ No newline at end of file diff --git a/ServiceHost/Areas/Client/Pages/Company/Workshop/Edit.cshtml b/ServiceHost/Areas/Client/Pages/Company/Workshop/Edit.cshtml index 8e78bb3f..22120778 100644 --- a/ServiceHost/Areas/Client/Pages/Company/Workshop/Edit.cshtml +++ b/ServiceHost/Areas/Client/Pages/Company/Workshop/Edit.cshtml @@ -1,13 +1,12 @@ @model CompanyManagment.App.Contracts.Workshop.EditWorkshop - + @{ - - bool isLegal = false; - if (Model.Employers != null && Model.Employers.Count > 0) - { - isLegal = Model.Employers.Any(x => x.IsLegal == "حقوقی"); - } - + var isLegal = false; + if (Model.Employers != null && Model.Employers.Count > 0) + { + isLegal = Model.Employers.Any(x => x.IsLegal == "حقوقی"); + } + }
- - @if (Model.Employers != null) - { - for (int i = 0; i < Model.Employers.Count(); i++) - { - - } - } + +@if (Model.Employers != null) +{ + for (var i = 0; i < Model.Employers.Count(); i++) + { + + } +}
مشخصات کارگاه
-
-
مشخصات اصلی
-
امور قرارداد
-
امور بیمه ای
+
+
مشخصات اصلی
+
امور قرارداد
+
امور بیمه ای
-
-
- - +
+
+ + -
-
- - - -

فقط حروف فارسی وارد شود.

-
-
- - -
-
- - - -

فقط عدد وارد شود.

-
-
-
-
- - -
-
- - - - -
-
-
- - - -
-
-
-
-
- - -
-
+
+
+ + + +

فقط حروف فارسی وارد شود.

+
+
+ + +
+
+ + + +

فقط عدد وارد شود.

+
+
+
+
+ + +
+
+ + + + +
+
+
+ + + +
+
+
+
+
+ + +
+
-
-
-
-
لطفا مدت قرارداد خود را انتخاب کنید :
-
-
-@*
+
+
+
+
لطفا مدت قرارداد خود را انتخاب کنید :
+
+
+ @*
1 ماهه
@@ -152,165 +151,165 @@ دائمی
*@ -
- 1 ماهه -
-
- 2 ماهه -
-
- 3 ماهه -
-
- 6 ماهه -
-
- 1 ساله -
-
- دائمی -
- -
-
-
-
-
-
در صورت تمایل به محاسبه ی عناوین ذیل در فیش حقوقی، گزینه های موردنظر را فعال نمایید
-
-
-
- -
- مزد و مرخصی -
-
-
- -
- سنوات -
-
- -
- -
- عیدی و پاداش -
+
+ 1 ماهه +
+
+ 2 ماهه +
+
+ 3 ماهه +
+
+ 6 ماهه +
+
+ 1 ساله +
+
+ دائمی +
+ +
+
+ +
+
+
در صورت تمایل به محاسبه ی عناوین ذیل در فیش حقوقی، گزینه های موردنظر را فعال نمایید
+
+
+
+ +
+ مزد و مرخصی +
+
+
+ +
+ سنوات +
+
-
-
-
-
-
-
-
-
- مجموع مبالغ تصفیه حساب در ذیل فرم نمایش داده شود -
- -
-
-
-
-
+
+ +
+ عیدی و پاداش + + + + + + +
+
+
+
+ مجموع مبالغ تصفیه حساب در ذیل فرم نمایش داده شود +
+ +
+
+
+
+
-
-
-
- - - - -
-
- - - -

فقط عدد وارد شود.

-
-
- - - -

فقط عدد وارد شود.

-
-
-
-
-
-
- -
-
-
-
- - -
-
- - -
-
-
-
-
+
+
+
+ + + + +
+
+ + + +

فقط عدد وارد شود.

+
+
+ + + +

فقط عدد وارد شود.

+
+
+
+
+
+
+ +
+
+
+
+ + +
+
+ + +
+
+
+
+
- + - @if (Model.AccountIdsList != null) - { - for (int i = 0; i < Model.AccountIdsList.Count(); i++) - { - - } - } +@if (Model.AccountIdsList != null) +{ + for (var i = 0; i < Model.AccountIdsList.Count(); i++) + { + + } +}
@@ -318,457 +317,448 @@ \ No newline at end of file diff --git a/ServiceHost/Areas/Client/Pages/Company/Workshop/Employees.cshtml b/ServiceHost/Areas/Client/Pages/Company/Workshop/Employees.cshtml index a1409112..9490961c 100644 --- a/ServiceHost/Areas/Client/Pages/Company/Workshop/Employees.cshtml +++ b/ServiceHost/Areas/Client/Pages/Company/Workshop/Employees.cshtml @@ -1,342 +1,346 @@ @page @using Version = _0_Framework.Application.Version -@model ServiceHost.Areas.Client.Pages.Company.Workshop.EmployeesModel +@model EmployeesModel @{ Layout = "Shared/_ClientLayout"; ViewData["title"] = " - لیست کل پرسنل"; - int index = 1; + var index = 1; } @section Styles { - - - - - + + + + + }
-
-
-
-
- -
-

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

-
@Model.WorkshopFullName
-
-
+
+
+
+
+
- - بازگشت - +

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

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

لیست پرسنل

+
+
+ +
-
- -
-
- - +
+
+ +
+
+
-
- - -
-
- -
-
- - -
- @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 index 781cc3f6..72ff88c1 100644 --- a/ServiceHost/Areas/Client/Pages/Company/Workshop/Employees.cshtml.cs +++ b/ServiceHost/Areas/Client/Pages/Company/Workshop/Employees.cshtml.cs @@ -1,80 +1,80 @@ +using System.Security.Claims; 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; -namespace ServiceHost.Areas.Client.Pages.Company.Workshop +namespace ServiceHost.Areas.Client.Pages.Company.Workshop; + +public class EmployeesModel : PageModel { - public class EmployeesModel : PageModel - { - private readonly IPasswordHasher _passwordHasher; - private readonly IWorkshopApplication _workshopApplication; - private readonly IEmployeeApplication _employeeApplication; + private readonly IEmployeeApplication _employeeApplication; + private readonly IPasswordHasher _passwordHasher; + private readonly IWorkshopApplication _workshopApplication; - public PersonnelInfoViewModel Employees; - public bool HasEmployees; - public long WorkshopId; - public string WorkshopFullName; - public EmployeeSearchModel SearchModel; + public PersonnelInfoViewModel Employees; + public bool HasEmployees; + public EmployeeSearchModel SearchModel; + public string WorkshopFullName; + public long WorkshopId; - public EmployeesModel(IPasswordHasher passwordHasher, IWorkshopApplication workshopApplication, IEmployeeApplication employeeApplication) + public EmployeesModel(IPasswordHasher passwordHasher, IWorkshopApplication workshopApplication, + IEmployeeApplication employeeApplication) + { + _passwordHasher = passwordHasher; + _workshopApplication = workshopApplication; + _employeeApplication = employeeApplication; + } + + public void OnGet(EmployeeSearchModel searchModel) + { + if (User.Identity.IsAuthenticated) { - _passwordHasher = passwordHasher; - _workshopApplication = workshopApplication; - _employeeApplication = employeeApplication; - } - - public void OnGet(EmployeeSearchModel searchModel) - { - if (User.Identity.IsAuthenticated) + var workshopSlugCliam = User.FindFirstValue("WorkshopSlug"); + var id = _passwordHasher.SlugDecrypt(workshopSlugCliam); + if (id > 0) { - 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 { - var workshop = _workshopApplication.GetWorkshopInfo(id); - WorkshopFullName = workshop.WorkshopFullName; - WorkshopId = workshop.Id; + WorkshopId = id + }; - var personnelSearchModel = new PersonnelInfoSearchModel() - { - WorkshopId = id, - }; + var result = _workshopApplication.GetPersonnelInfo(personnelSearchModel); - var result = _workshopApplication.GetPersonnelInfo(personnelSearchModel); + var r = result.GroupBy(x => x.EmployeeId).Select(x => x.First()).ToList(); - 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.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(); - 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 + Employees = new PersonnelInfoViewModel { - NotFound(); - } + PersonnelInfoViewModels = r.OrderBy(x => x.Black ? 1 : 0).ThenBy(x => x.PersonnelCode).ToList() + }; + + HasEmployees = Employees.PersonnelInfoViewModels.Count > 0 ? true : false; } else { - BadRequest(); + NotFound(); } } + else + { + BadRequest(); + } + } - public IActionResult OnGetPrintOnePersonnelInfo(long employeeId) - { - var result = _employeeApplication.GetDetails(employeeId); - return Partial("PrintOnePersonnelInfo", result); - } - } -} + public IActionResult OnGetPrintOnePersonnelInfo(long employeeId) + { + var result = _employeeApplication.GetDetails(employeeId); + return Partial("PrintOnePersonnelInfo", result); + } +} \ No newline at end of file diff --git a/ServiceHost/Areas/Client/Pages/Company/Workshop/Index.cshtml b/ServiceHost/Areas/Client/Pages/Company/Workshop/Index.cshtml index db1507ca..5c82c364 100644 --- a/ServiceHost/Areas/Client/Pages/Company/Workshop/Index.cshtml +++ b/ServiceHost/Areas/Client/Pages/Company/Workshop/Index.cshtml @@ -1,15 +1,15 @@ @page @using Version = _0_Framework.Application.Version -@model ServiceHost.Areas.Client.Pages.Company.Workshop.IndexModel +@model IndexModel @{ - ViewData["Title"] = " - " + "کارگاه"; + ViewData["Title"] = " - " + "کارگاه"; } @section Styles { - + - @@ -12,47 +11,47 @@
-
-
-
-
-
-
-
-

به سامانه گزارشگیر خوش آمدید

-
خوش آمدید به دنیای پرانرژی سامانه هوشمند مدیریت منابع انسانی. ما خوشحالیم که شما را در اینجا می‌بینیم.
-
-
- -
-
-
-
-
-
-
-
تقویم
-
+
+
+
+
+
+
+
+

به سامانه گزارشگیر خوش آمدید

+
خوش آمدید به دنیای پرانرژی سامانه هوشمند مدیریت منابع انسانی. ما خوشحالیم که شما را در اینجا می‌بینیم.
+
+
+ +
+
+
+
+
+
+
+
تقویم
+
-
-
@Model.TodayDate
-
-
+
+
@Model.TodayDate
+
+
-
- @foreach (var calender in @Model.CalenderViewModels) - { -
-

@calender.DayOfWeek

-

@calender.DayNumber

- @*

@calender.Holiday

*@ -
- } -
-
-
- - @*
+
+ @foreach (var calender in Model.CalenderViewModels) + { +
+

@calender.DayOfWeek

+

@calender.DayNumber

+ @*

@calender.Holiday

*@ +
+ } +
+
+
+ + @*
@@ -70,47 +69,47 @@
*@ - -
-
-
-
- - -
-
-
-
- -@*
+ +
+
+
+
+ + +
+
+
+
+ + @*
@@ -125,72 +124,73 @@
*@ - + -
-
+
+
@section Script { - + - + var hasCompletedDashboardTour = localStorage.getItem('hasCompletedDashboardTour'); + if (!hasCompletedDashboardTour) { + introJs().setOptions({ + nextLabel: 'بعد', + prevLabel: 'قبل', + doneLabel: 'اتمام', + showBullets: false, + steps: [ + { + title: 'خوش آمدید به سامانه گزارشگیر 👋', + intro: 'برای آموزش این صفحه با ما همراه باشید.' + }, + { + title: 'عملیات مربوط به مرخصی', + element: document.querySelector('#btnCardLeaveIntro'), + intro: 'برای عملیات دسترسی سریع دکمه‌های مربوط به مرخصی مانند ثبت مرخصی و لیست مرخصی میتوانید از این روش استفاده نمایید.' + } + ] + }).start(); + localStorage.setItem('hasCompletedDashboardTour', true); + } + } \ No newline at end of file diff --git a/ServiceHost/Areas/Client/Pages/Index.cshtml.cs b/ServiceHost/Areas/Client/Pages/Index.cshtml.cs index de75a494..4343dccb 100644 --- a/ServiceHost/Areas/Client/Pages/Index.cshtml.cs +++ b/ServiceHost/Areas/Client/Pages/Index.cshtml.cs @@ -1,415 +1,384 @@ -using System; -using System.Collections.Generic; -using System.Security.Claims; +using System.Security.Claims; using _0_Framework.Application; -using AccountManagement.Application.Contracts.Account; -using Company.Domain.EmployeeAgg; using CompanyManagment.App.Contracts.ClientDashboard; using CompanyManagment.App.Contracts.Employee; using CompanyManagment.App.Contracts.HolidayItem; using CompanyManagment.App.Contracts.Leave; using CompanyManagment.App.Contracts.PaymentToEmployee; using CompanyManagment.App.Contracts.Workshop; -using CompanyManagment.Application; -using Microsoft.AspNetCore.Authentication.Cookies; -using Microsoft.AspNetCore.Authentication; using Microsoft.AspNetCore.Authorization; using Microsoft.AspNetCore.Mvc; using Microsoft.AspNetCore.Mvc.RazorPages; using PersianTools.Core; -using CompanyManagment.App.Contracts.RollCallEmployee; -using CompanyManagment.App.Contracts.RollCallService; -using Microsoft.AspNetCore.Identity; -namespace ServiceHost.Areas.Client.Pages +namespace ServiceHost.Areas.Client.Pages; + +[Authorize] +public class IndexModel : PageModel { - [Authorize] - public class IndexModel : PageModel - { - private readonly IWorkshopApplication _workshopApplication; - private readonly ILeaveApplication _leaveApplication; - private readonly IEmployeeApplication _employeeApplication; - private readonly IPaymentToEmployeeApplication _paymentToEmployeeApplication; - private readonly IPaymentToEmployeeItemApplication _paymentToEmployeeItemApplication; - private readonly IHolidayItemApplication _holidayItemApplication; - private readonly IPasswordHasher _passwordHasher; - private readonly IAuthHelper _authHelper; - public string profilePicture { get; set; } - public string AccountFullName { get; set; } - public List CalenderViewModels; - public string Today { get; set; } - public string TodayDate { get; set; } - public List Workshops; - public string SelectedWorkshop; - public ConnectedPersonnelViewModel Employees; - public List LeaveSearch; - public string workshopId { get; set; } - public int PageIndex; + private readonly IAuthHelper _authHelper; + private readonly IEmployeeApplication _employeeApplication; + private readonly IHolidayItemApplication _holidayItemApplication; + private readonly ILeaveApplication _leaveApplication; + private readonly IPasswordHasher _passwordHasher; + private readonly IPaymentToEmployeeApplication _paymentToEmployeeApplication; + private readonly IPaymentToEmployeeItemApplication _paymentToEmployeeItemApplication; + private readonly IWorkshopApplication _workshopApplication; + public List CalenderViewModels; + public ConnectedPersonnelViewModel Employees; + public List LeaveSearch; + public int PageIndex; + public string SelectedWorkshop; + public List Workshops; - public IndexModel(IAuthHelper authHelper, IPasswordHasher passwordHasher, IWorkshopApplication workshopApplication, ILeaveApplication leaveApplication, IEmployeeApplication employeeApplication, IPaymentToEmployeeItemApplication paymentToEmployeeItemApplication, IPaymentToEmployeeApplication paymentToEmployeeApplication, IHolidayItemApplication holidayItemApplication) - { - _workshopApplication = workshopApplication; - _employeeApplication = employeeApplication; - _paymentToEmployeeItemApplication = paymentToEmployeeItemApplication; - _paymentToEmployeeApplication = paymentToEmployeeApplication; - _holidayItemApplication = holidayItemApplication; - _leaveApplication = leaveApplication; - _authHelper = authHelper; - _passwordHasher = passwordHasher; - } + public IndexModel(IAuthHelper authHelper, IPasswordHasher passwordHasher, IWorkshopApplication workshopApplication, + ILeaveApplication leaveApplication, IEmployeeApplication employeeApplication, + IPaymentToEmployeeItemApplication paymentToEmployeeItemApplication, + IPaymentToEmployeeApplication paymentToEmployeeApplication, IHolidayItemApplication holidayItemApplication) + { + _workshopApplication = workshopApplication; + _employeeApplication = employeeApplication; + _paymentToEmployeeItemApplication = paymentToEmployeeItemApplication; + _paymentToEmployeeApplication = paymentToEmployeeApplication; + _holidayItemApplication = holidayItemApplication; + _leaveApplication = leaveApplication; + _authHelper = authHelper; + _passwordHasher = passwordHasher; + } - public void OnGet() - { - profilePicture = _authHelper.CurrentAccountInfo().ProfilePhoto; - AccountFullName = _authHelper.CurrentAccountInfo().Fullname; - var todayGr = DateTime.Now; + public string profilePicture { get; set; } + public string AccountFullName { get; set; } + public string Today { get; set; } + public string TodayDate { get; set; } + public string workshopId { get; set; } - #region TodayDate + public void OnGet() + { + profilePicture = _authHelper.CurrentAccountInfo().ProfilePhoto; + AccountFullName = _authHelper.CurrentAccountInfo().Fullname; + var todayGr = DateTime.Now; - var todayFa = todayGr.ToFarsi(); - var syear = Convert.ToInt32(todayFa.Substring(0, 4)); - var smonth = Convert.ToInt32(todayFa.Substring(5, 2)); - var sday = Convert.ToInt32(todayFa.Substring(8, 2)); - var todayPersian = new PersianDateTime(syear, smonth, sday); - var threeDaysBeforeGr = new PersianDateTime(syear, smonth, sday); - var threeDaysAfterGr = new PersianDateTime(syear, smonth, sday); + #region TodayDate - var dayOfWeek = todayPersian.DayOfWeek; - var month = todayPersian.MonthOfYear; - var day = todayFa.Substring(8, 2); - var year = todayFa.Substring(0, 4); - TodayDate = $"{dayOfWeek} - {day} {month} {year}"; - #endregion + var todayFa = todayGr.ToFarsi(); + var syear = Convert.ToInt32(todayFa.Substring(0, 4)); + var smonth = Convert.ToInt32(todayFa.Substring(5, 2)); + var sday = Convert.ToInt32(todayFa.Substring(8, 2)); + var todayPersian = new PersianDateTime(syear, smonth, sday); + var threeDaysBeforeGr = new PersianDateTime(syear, smonth, sday); + var threeDaysAfterGr = new PersianDateTime(syear, smonth, sday); - #region Calender + var dayOfWeek = todayPersian.DayOfWeek; + var month = todayPersian.MonthOfYear; + var day = todayFa.Substring(8, 2); + var year = todayFa.Substring(0, 4); + TodayDate = $"{dayOfWeek} - {day} {month} {year}"; - var todayFor = todayPersian; + #endregion - threeDaysBeforeGr = threeDaysBeforeGr.AddDays(-3); + #region Calender - threeDaysAfterGr = threeDaysAfterGr.AddDays(3); + var todayFor = todayPersian; + + threeDaysBeforeGr = threeDaysBeforeGr.AddDays(-3); + + threeDaysAfterGr = threeDaysAfterGr.AddDays(3); - var d1 = threeDaysBeforeGr; - var d2 = threeDaysAfterGr; + var d1 = threeDaysBeforeGr; + var d2 = threeDaysAfterGr; - var calenderList = new List(); - for (var da = d1; da <= d2; da = da.AddDays(1)) - { - var currentDay = $"{da}".Substring(8, 2); - var dayOfWeekCurrent = ""; + var calenderList = new List(); + for (var da = d1; da <= d2; da = da.AddDays(1)) + { + var currentDay = $"{da}".Substring(8, 2); + var dayOfWeekCurrent = ""; - switch ($"{da.DayOfWeek}") - { - case "شنبه": - dayOfWeekCurrent = "شنبه"; - break; - case "یکشنبه": - dayOfWeekCurrent = "1 شنبه"; - break; - case "دوشنبه": - dayOfWeekCurrent = "2 شنبه"; - break; - case "سه شنبه": - dayOfWeekCurrent = "3 شنبه"; - break; - case "چهارشنبه": - dayOfWeekCurrent = "4 شنبه"; - break; - case "پنج شنبه": - dayOfWeekCurrent = "5 شنبه"; - break; - case "جمعه": - dayOfWeekCurrent = "آدینه"; - break; - } + switch ($"{da.DayOfWeek}") + { + case "شنبه": + dayOfWeekCurrent = "شنبه"; + break; + case "یکشنبه": + dayOfWeekCurrent = "1 شنبه"; + break; + case "دوشنبه": + dayOfWeekCurrent = "2 شنبه"; + break; + case "سه شنبه": + dayOfWeekCurrent = "3 شنبه"; + break; + case "چهارشنبه": + dayOfWeekCurrent = "4 شنبه"; + break; + case "پنج شنبه": + dayOfWeekCurrent = "5 شنبه"; + break; + case "جمعه": + dayOfWeekCurrent = "آدینه"; + break; + } - var BoolDateHoliday = da.ToGregorianDateTime(); - if (da == todayFor) - { - var calenderNewList = new CalenderViewModel() - { - DayNumber = currentDay, - IsToday = true, - DayOfWeek = dayOfWeekCurrent, - Holiday = _holidayItemApplication.GetHoliday(BoolDateHoliday), - }; - calenderList.Add(calenderNewList); - } - else - { - var calenderNewList = new CalenderViewModel() - { - DayNumber = currentDay, - IsToday = false, - DayOfWeek = dayOfWeekCurrent, - Holiday = _holidayItemApplication.GetHoliday(BoolDateHoliday) - }; - calenderList.Add(calenderNewList); + var BoolDateHoliday = da.ToGregorianDateTime(); + if (da == todayFor) + { + var calenderNewList = new CalenderViewModel + { + DayNumber = currentDay, + IsToday = true, + DayOfWeek = dayOfWeekCurrent, + Holiday = _holidayItemApplication.GetHoliday(BoolDateHoliday) + }; + calenderList.Add(calenderNewList); + } + else + { + var calenderNewList = new CalenderViewModel + { + DayNumber = currentDay, + IsToday = false, + DayOfWeek = dayOfWeekCurrent, + Holiday = _holidayItemApplication.GetHoliday(BoolDateHoliday) + }; + calenderList.Add(calenderNewList); + } + } - } - } + CalenderViewModels = calenderList; - CalenderViewModels = calenderList; - - #endregion - } - - #region Get Employee & Workshop List by JSON - public IActionResult OnGetWorkshopList(WorkshopSearchModel searchModel) - { - Workshops = _workshopApplication.SearchForClient(searchModel).ToList(); - var selectedWorkshop = _workshopApplication.SearchForClient(searchModel).OrderByDescending(x => x.PersonnelCount).FirstOrDefault(); - SelectedWorkshop = selectedWorkshop.WorkshopFullName; - - if (selectedWorkshop != null) - { - _authHelper.UpdateWorkshopSlugClaim(selectedWorkshop.Slug); - } - - return new JsonResult(new - { - Workshops, - workshopName = SelectedWorkshop - }); - } - - public IActionResult OnPostSelectWorkshop(string slug, WorkshopSearchModel searchModel) - { - var workshopId = _passwordHasher.SlugDecrypt(slug); - if (workshopId != 0) - { - var workshop = _workshopApplication.SearchForClient(searchModel).FirstOrDefault(x => x.Id == workshopId); - if (workshop != null) - { - _authHelper.UpdateWorkshopSlugClaim(workshop.Slug); - } - - return new JsonResult(new - { - isSuccedded = true, - message = "کارگاه مورد نظر شما انتخاب شد" - }); - } - else - { - return new JsonResult(new - { - isSuccedded = false, - message = "کارگاه مورد نظر شما یافت نشد" - }); - } - } - - public IActionResult OnGetEmployeeList() - { - var workshopSlug = User.FindFirst("WorkshopSlug").Value; - var workshopId = _passwordHasher.SlugDecrypt(workshopSlug); - if (workshopId > 0) - { - var filteredBlackResult = _workshopApplication.GetConnectedPersonnels(workshopId) - .Where(x => !x.Black && x.ContractPerson) - .GroupBy(x => x.EmployeeId) - .Select(x => x.First()) - .OrderBy(x => x.PersonelCode) - .ToList(); - - Employees = new ConnectedPersonnelViewModel() - { - ConnectedPersonnelViewModels = filteredBlackResult, - }; - - return new JsonResult(new { Employees }); - } - else - { - return new JsonResult(new { Employees = new ConnectedPersonnelViewModel() }); - } - } - #endregion + #endregion + } - public IActionResult OnGetLeaveCreate() - { - var command = new CreateLeave(); + public IActionResult OnGetLeaveCreate() + { + var command = new CreateLeave(); - return Partial("LeaveCreate", command); - } + return Partial("LeaveCreate", command); + } - public IActionResult OnPostLeaveSave(CreateLeave command) - { - if (User.Identity.IsAuthenticated) - { - var workshopSlugCliam = User.FindFirstValue("WorkshopSlug"); - long workshopId = _passwordHasher.SlugDecrypt(workshopSlugCliam); - if (workshopId > 0) - { - command.WorkshopId = workshopId; + public IActionResult OnPostLeaveSave(CreateLeave command) + { + if (User.Identity.IsAuthenticated) + { + var workshopSlugCliam = User.FindFirstValue("WorkshopSlug"); + var workshopId = _passwordHasher.SlugDecrypt(workshopSlugCliam); + if (workshopId > 0) + { + command.WorkshopId = workshopId; - var result = _leaveApplication.Create(command); + var result = _leaveApplication.Create(command); - return new JsonResult(new - { - IsSuccedded = result.IsSuccedded, - message = result.Message, - PrintID = result.SendId - }); - } - else - { - return new JsonResult(new - { - IsSuccedded = false, - message = "کارگاه ای یافت نشده است", - }); - } - } - else - { - return new JsonResult(new - { - IsSuccedded = false, - message = "داده ای یافت نشد!", - }); - } - } + return new JsonResult(new + { + result.IsSuccedded, + message = result.Message, + PrintID = result.SendId + }); + } - #region Compute Leave Hourly and Daily - public IActionResult OnGetComputeLeaveHourly(string startHours, string endHours) - { - var start = Convert.ToDateTime(startHours); - var end = Convert.ToDateTime(endHours); - if (start > end || start == end) - { - end = end.AddDays(1); - } + return new JsonResult(new + { + IsSuccedded = false, + message = "کارگاه ای یافت نشده است" + }); + } - var HourlyDate = (end - start); - var hours = (int)HourlyDate.TotalHours; - var minutes = HourlyDate.TotalMinutes % 60; + return new JsonResult(new + { + IsSuccedded = false, + message = "داده ای یافت نشد!" + }); + } - if (hours > 0 && minutes > 0) - { - return new JsonResult(new - { - res = hours + " " + "ساعت و" + " " + minutes + " " + "دقیقه", - }); - } - else if (hours > 0 && minutes == 0) - { - return new JsonResult(new - { - res = hours + " " + "ساعت ", - }); - } - else if (hours == 0 && minutes > 0) - { - return new JsonResult(new - { - res = minutes + " " + "دقیقه", - }); - } + public IActionResult OnGetLeaveList() + { + return Partial("LeaveList"); + } - return new JsonResult(new - { - totalHours = $"{hours}", - }); - } + public IActionResult OnGetLeaveListData(long workshopId, long employeeId) + { + var workshop = _workshopApplication.GetDetails(workshopId); + var employee = _employeeApplication.GetDetails(employeeId); + var search = new LeaveSearchModel + { + WorkshopId = workshop.Id, + EmployeeId = employee.Id + }; + LeaveSearch = _leaveApplication.searchClient(search); + return new JsonResult(new { LeaveSearch }); + } - public IActionResult OnGetComputeLeaveDaily(string startDay, string endDay) - { - if (!string.IsNullOrWhiteSpace(startDay) && !string.IsNullOrWhiteSpace(endDay)) - { - var start = startDay.ToGeorgianDateTime(); - var end = endDay.ToGeorgianDateTime(); - if (end >= start) - { - var daysSpan = (end - start).TotalDays + 1; - return new JsonResult(new - { - res = $"{(int)daysSpan} روز", - }); - } - else - { - return new JsonResult(new - { - status = false, - res = "تاریخ پایان از تاریخ شروع کوچکتر است.", - }); - } - } + public IActionResult OnGetPaymentToPersonnelCreate() + { + return Partial("PaymentToPersonnelCreate"); + } - return new JsonResult(new - { - res = "", - }); - } - #endregion + public IActionResult OnPostPaymentToPersonnelSave(CreatePaymentToEmployee command) + { + var payDateFa = command.CreatePaymentToEmployeeItem.PayDateFa; + command.Year = payDateFa.Substring(0, 4); + command.Month = payDateFa.Substring(5, 2); - public IActionResult OnGetLeaveList() - { - return Partial("LeaveList"); - } + var result = _paymentToEmployeeApplication.Create(command); - public IActionResult OnGetLeaveListData(long workshopId, long employeeId) - { - var workshop = _workshopApplication.GetDetails(workshopId); - var employee = _employeeApplication.GetDetails(employeeId); - var search = new LeaveSearchModel() - { - WorkshopId = workshop.Id, - EmployeeId = employee.Id, - }; - LeaveSearch = _leaveApplication.searchClient(search); - return new JsonResult(new { LeaveSearch }); - } + return new JsonResult(new + { + result.IsSuccedded, + message = result.Message + }); + } - public IActionResult OnGetPaymentToPersonnelCreate() - { - return Partial("PaymentToPersonnelCreate"); - } + public IActionResult OnGetLastLeave(int pageIndex) + { + if (User.Identity.IsAuthenticated) + { + var workshopSlugCliam = User.FindFirstValue("WorkshopSlug"); + var workshopId = _passwordHasher.SlugDecrypt(workshopSlugCliam); + if (workshopId > 0) + { + var result = _leaveApplication.LastLeaveMain(workshopId, pageIndex); + var pageIndexCount = result.Count(); + return new JsonResult(new + { + data = result, + pageIndex = pageIndexCount + }); + } - public IActionResult OnPostPaymentToPersonnelSave(CreatePaymentToEmployee command) - { - var payDateFa = command.CreatePaymentToEmployeeItem.PayDateFa; - command.Year = payDateFa.Substring(0, 4); - command.Month = payDateFa.Substring(5, 2); + return NotFound(); + } - var result = _paymentToEmployeeApplication.Create(command); + return BadRequest(); + } - return new JsonResult(new - { - IsSuccedded = result.IsSuccedded, - message = result.Message - }); - } + #region Get Employee & Workshop List by JSON - public IActionResult OnGetLastLeave(int pageIndex) - { - if (User.Identity.IsAuthenticated) - { - var workshopSlugCliam = User.FindFirstValue("WorkshopSlug"); - long workshopId = _passwordHasher.SlugDecrypt(workshopSlugCliam); - if (workshopId > 0) - { - var result = _leaveApplication.LastLeaveMain(workshopId, pageIndex); - int pageIndexCount = result.Count(); - return new JsonResult(new - { - data = result, - pageIndex = pageIndexCount - }); - } - else - { - return NotFound(); - } - } - else - { - return BadRequest(); - } - } - } -} + public IActionResult OnGetWorkshopList(WorkshopSearchModel searchModel) + { + Workshops = _workshopApplication.SearchForClient(searchModel).ToList(); + var selectedWorkshop = _workshopApplication.SearchForClient(searchModel) + .OrderByDescending(x => x.PersonnelCount).FirstOrDefault(); + SelectedWorkshop = selectedWorkshop.WorkshopFullName; + + if (selectedWorkshop != null) _authHelper.UpdateWorkshopSlugClaim(selectedWorkshop.Slug); + + return new JsonResult(new + { + Workshops, + workshopName = SelectedWorkshop + }); + } + + public IActionResult OnPostSelectWorkshop(string slug, WorkshopSearchModel searchModel) + { + var workshopId = _passwordHasher.SlugDecrypt(slug); + if (workshopId != 0) + { + var workshop = _workshopApplication.SearchForClient(searchModel).FirstOrDefault(x => x.Id == workshopId); + if (workshop != null) _authHelper.UpdateWorkshopSlugClaim(workshop.Slug); + + return new JsonResult(new + { + isSuccedded = true, + message = "کارگاه مورد نظر شما انتخاب شد" + }); + } + + return new JsonResult(new + { + isSuccedded = false, + message = "کارگاه مورد نظر شما یافت نشد" + }); + } + + public IActionResult OnGetEmployeeList() + { + var workshopSlug = User.FindFirst("WorkshopSlug").Value; + var workshopId = _passwordHasher.SlugDecrypt(workshopSlug); + if (workshopId > 0) + { + var filteredBlackResult = _workshopApplication.GetConnectedPersonnels(workshopId) + .Where(x => !x.Black && x.ContractPerson) + .GroupBy(x => x.EmployeeId) + .Select(x => x.First()) + .OrderBy(x => x.PersonelCode) + .ToList(); + + Employees = new ConnectedPersonnelViewModel + { + ConnectedPersonnelViewModels = filteredBlackResult + }; + + return new JsonResult(new { Employees }); + } + + return new JsonResult(new { Employees = new ConnectedPersonnelViewModel() }); + } + + #endregion + + #region Compute Leave Hourly and Daily + + public IActionResult OnGetComputeLeaveHourly(string startHours, string endHours) + { + var start = Convert.ToDateTime(startHours); + var end = Convert.ToDateTime(endHours); + if (start > end || start == end) end = end.AddDays(1); + + var HourlyDate = end - start; + var hours = (int)HourlyDate.TotalHours; + var minutes = HourlyDate.TotalMinutes % 60; + + if (hours > 0 && minutes > 0) + return new JsonResult(new + { + res = hours + " " + "ساعت و" + " " + minutes + " " + "دقیقه" + }); + if (hours > 0 && minutes == 0) + return new JsonResult(new + { + res = hours + " " + "ساعت " + }); + if (hours == 0 && minutes > 0) + return new JsonResult(new + { + res = minutes + " " + "دقیقه" + }); + + return new JsonResult(new + { + totalHours = $"{hours}" + }); + } + + public IActionResult OnGetComputeLeaveDaily(string startDay, string endDay) + { + if (!string.IsNullOrWhiteSpace(startDay) && !string.IsNullOrWhiteSpace(endDay)) + { + var start = startDay.ToGeorgianDateTime(); + var end = endDay.ToGeorgianDateTime(); + if (end >= start) + { + var daysSpan = (end - start).TotalDays + 1; + return new JsonResult(new + { + res = $"{(int)daysSpan} روز" + }); + } + + return new JsonResult(new + { + status = false, + res = "تاریخ پایان از تاریخ شروع کوچکتر است." + }); + } + + return new JsonResult(new + { + res = "" + }); + } + + #endregion +} \ No newline at end of file diff --git a/ServiceHost/Areas/Client/Pages/LeaveCreate.cshtml b/ServiceHost/Areas/Client/Pages/LeaveCreate.cshtml index fc8fa8fa..a3e5a52a 100644 --- a/ServiceHost/Areas/Client/Pages/LeaveCreate.cshtml +++ b/ServiceHost/Areas/Client/Pages/LeaveCreate.cshtml @@ -2,8 +2,8 @@ @model CompanyManagment.App.Contracts.Leave.CreateLeave @{ - - \ No newline at end of file diff --git a/ServiceHost/Areas/Client/Pages/LeaveList.cshtml b/ServiceHost/Areas/Client/Pages/LeaveList.cshtml index d1b15d48..bf011558 100644 --- a/ServiceHost/Areas/Client/Pages/LeaveList.cshtml +++ b/ServiceHost/Areas/Client/Pages/LeaveList.cshtml @@ -3,17 +3,17 @@ @section Styles { - + } @{ - - - - + + + + - - } -
- - -
+ + +
- -
- -
+ +
+ +
- -
+ +
- @* + @* @@ -105,121 +105,121 @@ *@ - -
+
- + +
-
+
-
- - +
+ +
- \ No newline at end of file diff --git a/ServiceHost/Areas/Client/Pages/Shared/_validationAlert.cshtml b/ServiceHost/Areas/Client/Pages/Shared/_validationAlert.cshtml index 8b8cb456..4e317818 100644 --- a/ServiceHost/Areas/Client/Pages/Shared/_validationAlert.cshtml +++ b/ServiceHost/Areas/Client/Pages/Shared/_validationAlert.cshtml @@ -1,45 +1,45 @@  \ No newline at end of file diff --git a/ServiceHost/Areas/Client/Pages/_ViewStart.cshtml b/ServiceHost/Areas/Client/Pages/_ViewStart.cshtml index 7f323967..9d09a66b 100644 --- a/ServiceHost/Areas/Client/Pages/_ViewStart.cshtml +++ b/ServiceHost/Areas/Client/Pages/_ViewStart.cshtml @@ -1,3 +1,3 @@ @{ - Layout = "_ClientLayout"; -} + Layout = "_ClientLayout"; +} \ No newline at end of file diff --git a/ServiceHost/Areas/Financial/Pages/Index.cshtml b/ServiceHost/Areas/Financial/Pages/Index.cshtml index 01da7f21..a50c10f8 100644 --- a/ServiceHost/Areas/Financial/Pages/Index.cshtml +++ b/ServiceHost/Areas/Financial/Pages/Index.cshtml @@ -2,9 +2,9 @@ @model ServiceHost.Areas.Financial.Pages.IndexModel @{ - ViewData["title"] = " - صورت حساب مالی "; + ViewData["title"] = " - صورت حساب مالی "; - - const string debtorTd = "debtorTd"; - const string creditorTd = "creditorTd"; - int pageNumber = 0; + const string debtorTd = "debtorTd"; + const string creditorTd = "creditorTd"; + var pageNumber = 0; } -@if (@Model.HasData) +@if (Model.HasData) { - - - -
- - @{ - if (@Model.GoBack == "true") - { - - } - } -
+ } + } +
- -
- @foreach (var group in @Model.GroupeList) - { -
- @{ - pageNumber++; - } -
-
+ @foreach (var group in Model.GroupeList) + { +
+ @{ + pageNumber++; + } +
+
- موسسه حقوقی نور دادمهر گستر کاسپین -
-
- - صورت حساب - @{ - if (@Model.IsLegal) - { - شرکت  : - } - else - { - آقای/خانم  : - } - } - @Model.ContractingPartyName - - - تاریخ گزارش : -   - @Model.Today - -
- -
-
-
- ردیف - تاریخ - شرح - بدهکار - بستانکار - باقیمانده -
- @foreach (var item in @group.TransactionList) - { - - -
- - @item.Counter - - - - @item.TdateFa - - - - + + صورت حساب + @{ + if (Model.IsLegal) + { + شرکت +   + : + } + else + { + آقای/خانم +   + : + } + } + @Model.ContractingPartyName + + + تاریخ گزارش : +   + @Model.Today + +
+ +
+
+
+ ردیف + تاریخ + شرح + بدهکار + بستانکار + باقیمانده +
+ @foreach (var item in group.TransactionList) + { +
+ + @item.Counter + + + + @item.TdateFa + + + + @item.Description - - - @{if (item.TypeOfTransaction == "debt") - { - @item.DeptorString - } - else - {1111111}} - - - @{if (item.TypeOfTransaction == "credit") - { - @item.CreditorString - } - else - {1111111}} - - - @{ - if (@item.Balance > 0) - { - - @item.BalanceString - - } - else - { - - @item.BalanceString - - } - } - - -
- - } - -
- - - مجموع کل مبالغ - @Model.TotalDebt - @Model.TotalCredit - @Model.TotalBalance - -
-
- - - -
- صفحه -   - @{@pageNumber} -   - از -   - @Model.pageCount - -
- -
- - } + + + @{ + if (item.TypeOfTransaction == "debt") + { + @item.DeptorString + } + else + { + 1111111 + } + } + + + @{ + if (item.TypeOfTransaction == "credit") + { + @item.CreditorString + } + else + { + 1111111 + } + } + + + @{ + if (item.Balance > 0) + { + + @item.BalanceString + + } + else + { + + @item.BalanceString + + } + } - -
- - + +
+ } - +
+ + + مجموع کل مبالغ + @Model.TotalDebt + @Model.TotalCredit + @Model.TotalBalance +
+
+ + +
+ صفحه +   + + @{@pageNumber} + +   + از +   + @Model.pageCount + +
+ +
+ } + + +
@section Script{ - -} - - -} + $printSection.innerHTML = ""; + $printSection.appendChild(domClone); + window.print(); + } + +} } diff --git a/ServiceHost/Areas/Financial/Pages/Index.cshtml.cs b/ServiceHost/Areas/Financial/Pages/Index.cshtml.cs index fd36f22f..fda778c5 100644 --- a/ServiceHost/Areas/Financial/Pages/Index.cshtml.cs +++ b/ServiceHost/Areas/Financial/Pages/Index.cshtml.cs @@ -1,160 +1,151 @@ -using System; +using _0_Framework.Application; using CompanyManagment.App.Contracts.FinancialStatment; using CompanyManagment.App.Contracts.FinancilTransaction; -using Microsoft.AspNetCore.Mvc; -using Microsoft.AspNetCore.Mvc.RazorPages; -using System.Collections.Generic; -using System.Linq; -using _0_Framework.Application; using CompanyManagment.App.Contracts.PersonalContractingParty; +using Microsoft.AspNetCore.Mvc.RazorPages; -namespace ServiceHost.Areas.Financial.Pages +namespace ServiceHost.Areas.Financial.Pages; + +public class IndexModel : PageModel { - public class IndexModel : PageModel - { - private readonly IFinancialStatmentApplication _financialStatmentApplication; - private readonly IFinancialTransactionApplication _financialTransactionApplication; - private readonly IPersonalContractingPartyApp _contractingPartyApp; - public FinancialDividViewModel DividedList; - public List TList; - public List GroupeList { get; set; } - public string ContractingPartyName; - public long ContractingPartyId; - public string ThisPageDebt; - public string ThisPageCredit; - public string ThisPageBalance; - public string TotalDebt; - public string TotalCredit; - public string TotalBalance; - public double TotalBalanceDouble; - - public bool HasData; - public int I = 1; - public bool IsLegal; - public string Today; - public string GoBack { get; set; } - public int pageCount { get; set; } + private readonly IPersonalContractingPartyApp _contractingPartyApp; + private readonly IFinancialStatmentApplication _financialStatmentApplication; + private readonly IFinancialTransactionApplication _financialTransactionApplication; + public long ContractingPartyId; + public string ContractingPartyName; + public FinancialDividViewModel DividedList; - public IndexModel(IFinancialStatmentApplication financialStatmentApplication, IFinancialTransactionApplication financialTransactionApplication, IPersonalContractingPartyApp contractingPartyApp) - { - _financialStatmentApplication = financialStatmentApplication; - _financialTransactionApplication = financialTransactionApplication; - _contractingPartyApp = contractingPartyApp; - } + public bool HasData; + public int I = 1; + public bool IsLegal; + public string ThisPageBalance; + public string ThisPageCredit; + public string ThisPageDebt; + public List TList; + public string Today; + public string TotalBalance; + public double TotalBalanceDouble; + public string TotalCredit; + public string TotalDebt; - public void OnGet(long id,long approveId,string back) - { - - var transactionCount = 0; - - ContractingPartyId = id; - - if(back == "true") - GoBack = "true"; + public IndexModel(IFinancialStatmentApplication financialStatmentApplication, + IFinancialTransactionApplication financialTransactionApplication, + IPersonalContractingPartyApp contractingPartyApp) + { + _financialStatmentApplication = financialStatmentApplication; + _financialTransactionApplication = financialTransactionApplication; + _contractingPartyApp = contractingPartyApp; + } - var firstGetStatement = _financialStatmentApplication.GetDetailsByContractingPartyId(id); - var allTransactions = firstGetStatement.FinancialTransactionViewModels; + public List GroupeList { get; set; } + public string GoBack { get; set; } + public int pageCount { get; set; } - if (allTransactions != null && id > 0 && approveId == firstGetStatement.Id) - { - var todayGr = DateTime.Now; - Today = todayGr.ToFarsi(); - var contractingParty = _contractingPartyApp.GetDetails(id); - HasData = true; - if(contractingParty.IsLegal=="حقوقی") - IsLegal = true; - ContractingPartyName = contractingParty.LName; - double firstBalance = 0; - double totalDebt = 0; - double totalCredit = 0; - double totalBalance = 0; - double thisPageDebt = 0; - double thisPageCredit = 0; - double thisPageBalance = 0; - var transActionsWithBalance = new List(); - int tCounter = 1; - for (int i = 0; i < allTransactions.Count; i++) - { + public void OnGet(long id, long approveId, string back) + { + var transactionCount = 0; + ContractingPartyId = id; - if (allTransactions[i].TypeOfTransaction == "debt") - { - firstBalance += allTransactions[i].Deptor; - allTransactions[i].Balance = firstBalance; - allTransactions[i].BalanceString = firstBalance.ToMoney(); - totalDebt += allTransactions[i].Deptor; - thisPageDebt += allTransactions[i].Deptor; - totalBalance = totalDebt - totalCredit; - - } - else - { - firstBalance -= allTransactions[i].Creditor; - allTransactions[i].Balance = firstBalance; - allTransactions[i].BalanceString = firstBalance.ToMoney(); - totalCredit += allTransactions[i].Creditor; - thisPageCredit += allTransactions[i].Creditor; - totalBalance = totalDebt - totalCredit; - } - allTransactions[i].Counter = tCounter; - tCounter++; - var tAction = allTransactions[i]; - transActionsWithBalance.Add(tAction); - } + if (back == "true") + GoBack = "true"; - thisPageBalance = thisPageDebt - thisPageCredit; - ThisPageDebt = thisPageDebt.ToMoney(); - ThisPageCredit = thisPageCredit.ToMoney(); - ThisPageBalance = thisPageBalance.ToMoney(); - TotalDebt = totalDebt.ToMoney(); - TotalCredit = totalCredit.ToMoney(); - TotalBalance = totalBalance.ToMoney(); - TotalBalanceDouble = totalBalance; - TList = transActionsWithBalance.OrderBy(x=>x.TdateGr).ToList(); + var firstGetStatement = _financialStatmentApplication.GetDetailsByContractingPartyId(id); + var allTransactions = firstGetStatement.FinancialTransactionViewModels; - transactionCount = TList.Count; - var finalGroup = new List(); - if (transactionCount <= 20) - { - - var result = new FinancialGroupViewModel() - { - TransactionList = TList, - }; - finalGroup.Add(result); + if (allTransactions != null && id > 0 && approveId == firstGetStatement.Id) + { + var todayGr = DateTime.Now; + Today = todayGr.ToFarsi(); + var contractingParty = _contractingPartyApp.GetDetails(id); + HasData = true; + if (contractingParty.IsLegal == "حقوقی") + IsLegal = true; + ContractingPartyName = contractingParty.LName; + double firstBalance = 0; + double totalDebt = 0; + double totalCredit = 0; + double totalBalance = 0; + double thisPageDebt = 0; + double thisPageCredit = 0; + double thisPageBalance = 0; + var transActionsWithBalance = new List(); + var tCounter = 1; + for (var i = 0; i < allTransactions.Count; i++) + { + if (allTransactions[i].TypeOfTransaction == "debt") + { + firstBalance += allTransactions[i].Deptor; + allTransactions[i].Balance = firstBalance; + allTransactions[i].BalanceString = firstBalance.ToMoney(); + totalDebt += allTransactions[i].Deptor; + thisPageDebt += allTransactions[i].Deptor; + totalBalance = totalDebt - totalCredit; + } + else + { + firstBalance -= allTransactions[i].Creditor; + allTransactions[i].Balance = firstBalance; + allTransactions[i].BalanceString = firstBalance.ToMoney(); + totalCredit += allTransactions[i].Creditor; + thisPageCredit += allTransactions[i].Creditor; + totalBalance = totalDebt - totalCredit; + } - GroupeList = finalGroup; - } - else - { - var divide20 = transactionCount / 20; - var multiple = transactionCount - (divide20 * 20); + allTransactions[i].Counter = tCounter; + tCounter++; + var tAction = allTransactions[i]; + transActionsWithBalance.Add(tAction); + } - for (int i = 1; i <= transactionCount; i += 20) - { - var start = i; - var end = i + 19; - - var result = new FinancialGroupViewModel() - { - TransactionList = TList.Where(x=>x.Counter >= start && x.Counter <= end).ToList(), - }; + thisPageBalance = thisPageDebt - thisPageCredit; + ThisPageDebt = thisPageDebt.ToMoney(); + ThisPageCredit = thisPageCredit.ToMoney(); + ThisPageBalance = thisPageBalance.ToMoney(); + TotalDebt = totalDebt.ToMoney(); + TotalCredit = totalCredit.ToMoney(); + TotalBalance = totalBalance.ToMoney(); + TotalBalanceDouble = totalBalance; + TList = transActionsWithBalance.OrderBy(x => x.TdateGr).ToList(); - finalGroup.Add(result); + transactionCount = TList.Count; + var finalGroup = new List(); + if (transactionCount <= 20) + { + var result = new FinancialGroupViewModel + { + TransactionList = TList + }; + finalGroup.Add(result); - GroupeList = finalGroup; + GroupeList = finalGroup; + } + else + { + var divide20 = transactionCount / 20; + var multiple = transactionCount - divide20 * 20; - } + for (var i = 1; i <= transactionCount; i += 20) + { + var start = i; + var end = i + 19; - - } + var result = new FinancialGroupViewModel + { + TransactionList = TList.Where(x => x.Counter >= start && x.Counter <= end).ToList() + }; - pageCount = GroupeList.Count(); - } - else - { - HasData = false; - } - } - } -} + finalGroup.Add(result); + + GroupeList = finalGroup; + } + } + + pageCount = GroupeList.Count(); + } + else + { + HasData = false; + } + } +} \ No newline at end of file diff --git a/ServiceHost/Areas/Financial/Pages/Shared/_ValidationScriptsPartial.cshtml b/ServiceHost/Areas/Financial/Pages/Shared/_ValidationScriptsPartial.cshtml index 5a16d80a..660f00c3 100644 --- a/ServiceHost/Areas/Financial/Pages/Shared/_ValidationScriptsPartial.cshtml +++ b/ServiceHost/Areas/Financial/Pages/Shared/_ValidationScriptsPartial.cshtml @@ -1,2 +1,2 @@  - + \ No newline at end of file diff --git a/ServiceHost/Areas/Financial/Pages/Shared/_financialLayout.cshtml b/ServiceHost/Areas/Financial/Pages/Shared/_financialLayout.cshtml index c33f8713..4ffc2562 100644 --- a/ServiceHost/Areas/Financial/Pages/Shared/_financialLayout.cshtml +++ b/ServiceHost/Areas/Financial/Pages/Shared/_financialLayout.cshtml @@ -1,33 +1,26 @@ -@using Microsoft.AspNetCore.Razor.Language.Intermediate - + - - - - - گزارشگیر @ViewData["Title"] + + + + + گزارشگیر @ViewData["Title"] - + - - + + - + - + - + - - - - - - -