From 6cce3f5321d28171f6df2fc6416dc624f52fb603 Mon Sep 17 00:00:00 2001 From: MahanCh Date: Tue, 20 May 2025 20:00:39 +0330 Subject: [PATCH] checkout static style changed --- .../Checkout/CheckoutViewModel.cs | 10 + .../Repository/CheckoutRepository.cs | 892 +++++++++--------- .../Pages/Company/Checkouts/Details.cshtml | 28 +- .../_Partials/PrintDetailStaticRaw.cshtml | 28 +- .../Pages/Company/Checkouts/PrintOne.cshtml | 28 +- .../Company/Checkouts/PrintOneMobile.cshtml | 28 +- .../_Partials/PrintDetailStaticRaw.cshtml | 28 +- 7 files changed, 548 insertions(+), 494 deletions(-) diff --git a/CompanyManagment.App.Contracts/Checkout/CheckoutViewModel.cs b/CompanyManagment.App.Contracts/Checkout/CheckoutViewModel.cs index 3dfb1eaa..134682a0 100644 --- a/CompanyManagment.App.Contracts/Checkout/CheckoutViewModel.cs +++ b/CompanyManagment.App.Contracts/Checkout/CheckoutViewModel.cs @@ -122,6 +122,16 @@ public class CheckoutViewModel /// تعداد روزهای محاسبه شده برای عیدی و پاداش /// public string TotalDayOfBunosesCompute { get; set; } + + /// + /// مدت مرخصی استعلاجی + /// + public string TotalSickLeave { get; set; } + + /// + /// مدت مرخصی استحقاقی + /// + public string TotalPaidLeave { get; set; } public List MonthlyRollCall { get; set; } public List InstallmentViewModels { get; set; } public List SalaryAidViewModels { get; set; } diff --git a/CompanyManagment.EFCore/Repository/CheckoutRepository.cs b/CompanyManagment.EFCore/Repository/CheckoutRepository.cs index 8f9ff480..e4117180 100644 --- a/CompanyManagment.EFCore/Repository/CheckoutRepository.cs +++ b/CompanyManagment.EFCore/Repository/CheckoutRepository.cs @@ -65,7 +65,7 @@ public class CheckoutRepository : RepositoryBase, ICheckoutRepos public (bool hasChekout, double FamilyAlloance, double OverTimePay) HasCheckout(long workshopId, long employeId, string year, string month) { var farisMonthName = Tools.ToFarsiMonthByNumber(month); - + var res = _context.CheckoutSet.FirstOrDefault(x => x.WorkshopId == workshopId && x.EmployeeId == employeId && x.Year == year && x.Month == farisMonthName && x.IsActiveString == "true"); @@ -78,46 +78,46 @@ public class CheckoutRepository : RepositoryBase, ICheckoutRepos public EditCheckout GetDetails(long id) { return _context.CheckoutSet.Select(x => new EditCheckout() - { - Id = x.id, - EmployeeFullName = x.EmployeeFullName, - FathersName = x.FathersName, - NationalCode = x.NationalCode, - DateOfBirth = x.DateOfBirth, - WorkshopName = x.WorkshopName, - Month = x.Month, - Year = x.Year, - ContractNo = x.ContractNo, - MonthlySalary = x.MonthlySalary, - BaseYearsPay = x.BaseYearsPay, - ConsumableItems = x.ConsumableItems.ToMoney(), - HousingAllowance = x.HousingAllowance.ToMoney(), - OvertimePay = x.OvertimePay, - NightworkPay = x.NightworkPay, - FridayPay = x.FridayPay, - MissionPay = x.MissionPay, - ShiftPay = x.ShiftPay, - FamilyAllowance = x.FamilyAllowance.ToMoney(), - BonusesPay = x.BonusesPay, - YearsPay = x.YearsPay, - LeavePay = x.LeavePay, - InsuranceDeduction = x.InsuranceDeduction, - TaxDeducation = x.TaxDeducation, - InstallmentDeduction = x.InstallmentDeduction, - SalaryAidDeduction = x.SalaryAidDeduction, - AbsenceDeduction = x.AbsenceDeduction, - TotalClaims = x.TotalClaims, - TotalDeductions = x.TotalDeductions, - TotalPayment = x.TotalPayment, - RewardPay = x.RewardPay, - HasRollCall = x.HasRollCall, - EmployeeId = x.EmployeeId, - WorkshopId = x.WorkshopId, - ContractId = x.ContractId, - ContractStartGr = x.ContractStart, - ContractEndGr = x.ContractEnd, - ContractStart = x.ContractStart.ToFarsi(), - ContractEnd = x.ContractEnd.ToFarsi() + { + Id = x.id, + EmployeeFullName = x.EmployeeFullName, + FathersName = x.FathersName, + NationalCode = x.NationalCode, + DateOfBirth = x.DateOfBirth, + WorkshopName = x.WorkshopName, + Month = x.Month, + Year = x.Year, + ContractNo = x.ContractNo, + MonthlySalary = x.MonthlySalary, + BaseYearsPay = x.BaseYearsPay, + ConsumableItems = x.ConsumableItems.ToMoney(), + HousingAllowance = x.HousingAllowance.ToMoney(), + OvertimePay = x.OvertimePay, + NightworkPay = x.NightworkPay, + FridayPay = x.FridayPay, + MissionPay = x.MissionPay, + ShiftPay = x.ShiftPay, + FamilyAllowance = x.FamilyAllowance.ToMoney(), + BonusesPay = x.BonusesPay, + YearsPay = x.YearsPay, + LeavePay = x.LeavePay, + InsuranceDeduction = x.InsuranceDeduction, + TaxDeducation = x.TaxDeducation, + InstallmentDeduction = x.InstallmentDeduction, + SalaryAidDeduction = x.SalaryAidDeduction, + AbsenceDeduction = x.AbsenceDeduction, + TotalClaims = x.TotalClaims, + TotalDeductions = x.TotalDeductions, + TotalPayment = x.TotalPayment, + RewardPay = x.RewardPay, + HasRollCall = x.HasRollCall, + EmployeeId = x.EmployeeId, + WorkshopId = x.WorkshopId, + ContractId = x.ContractId, + ContractStartGr = x.ContractStart, + ContractEndGr = x.ContractEnd, + ContractStart = x.ContractStart.ToFarsi(), + ContractEnd = x.ContractEnd.ToFarsi() }) .FirstOrDefault(x => x.Id == id); @@ -129,7 +129,7 @@ public class CheckoutRepository : RepositoryBase, ICheckoutRepos var creationDates = DateTime.Now; //var result = await _context.Database.ExecuteSqlInterpolatedAsync($"EXEC InsertQuery_Checkout {id},{employeeFullName},{isActiveString},{signature},{fathersName},{nationalCode},{dateOfBirth},{employeeId},{workshopName},{workshopId},{contractNo},{contractStart},{contractEnd},{month},{year},{contractId},{workingHoursId},{monthlySalary},{baseYearsPay},{consumableItems},{housingAllowance},{overtimePay},{nightworkPay},{fridayPay},{missionPay},{shiftPay},{familyAllowance},{bonusesPay},{yearsPay},{leavePay},{insuranceDeduction},{taxDeducation},{installmentDeduction},{salaryAidDeduction},{absenceDeduction},{creationDate},{archiveCode},{personnelCode},{sumOfWorkingDays},{totalClaims},{taxDeducation},{totalPayment}"); - var result = ( _context.Database + var result = (_context.Database .SqlQuery( $"EXEC InsertQuery_CreateChekoute {command.EmployeeFullName},{"true"},{command.Signature},{command.FathersName},{command.NationalCode},{command.DateOfBirth},{command.EmployeeId},{command.WorkshopName},{command.WorkshopId},{command.ContractNo},{command.ContractStart},{command.ContractEnd},{command.Month},{command.Year},{command.ContractId},{command.WorkingHoursId},{command.MonthlySalary},{command.BaseYearsPay},{command.ConsumableItems},{command.HousingAllowance},{command.OvertimePay},{command.NightworkPay},{command.FridayPay},{command.MissionPay},{command.ShiftPay},{command.FamilyAllowance},{command.BonusesPay},{command.YearsPay},{command.LeavePay},{command.InsuranceDeduction},{command.TaxDeducation},{command.InstallmentDeduction},{command.SalaryAidDeduction},{command.AbsenceDeduction},{creationDates},{command.ArchiveCode},{command.PersonnelCode},{command.SumOfWorkingDays},{command.TotalClaims},{command.TotalDeductions},{command.TotalPayment},{0},{command.MarriedAllowance},{command.AbsencePeriod},{command.AverageHoursPerDay},{command.CreditLeaves},{command.LeaveCheckout},{command.HasRollCall},{command.OverTimeWorkValue},{command.OverNightWorkValue},{command.FridayWorkValue},{command.RotatingShiftValue},{command.AbsenceValue}, {command.TotalDayOfLeaveCompute},{command.TotalDayOfYearsCompute},{command.TotalDayOfBunosesCompute}") .AsEnumerable())// این قسمت مهمه! @@ -137,8 +137,8 @@ public class CheckoutRepository : RepositoryBase, ICheckoutRepos var entity = await _context.CheckoutSet.FirstOrDefaultAsync(x => x.id == result); - entity.SetSalaryAid(command.SalaryAids,command.SalaryAidDeduction); - entity.SetLoanInstallment(command.LoanInstallments,command.InstallmentDeduction); + entity.SetSalaryAid(command.SalaryAids, command.SalaryAidDeduction); + entity.SetLoanInstallment(command.LoanInstallments, command.InstallmentDeduction); await _context.SaveChangesAsync(); } @@ -183,28 +183,28 @@ public class CheckoutRepository : RepositoryBase, ICheckoutRepos { var item = new CheckoutViewModel(); - item.Id = (long) reader["Id"]; - item.EmployeeFullName = (string) reader?["EmployeeFullName"]; - var start = (DateTime) reader["ContractStart"]; + item.Id = (long)reader["Id"]; + item.EmployeeFullName = (string)reader?["EmployeeFullName"]; + var start = (DateTime)reader["ContractStart"]; item.ContractStart = start.ToFarsi(); - var end = (DateTime) reader["ContractEnd"]; + var end = (DateTime)reader["ContractEnd"]; item.ContractEnd = end.ToFarsi(); item.ContractStartGr = start; item.ContractEndGr = end; - item.PersonnelCode = (string) reader?["PersonnelCode"]; + item.PersonnelCode = (string)reader?["PersonnelCode"]; item.PersonnelCodeInt = item.PersonnelCode.ConvertToInt(); - item.ArchiveCode = (string) reader?["ArchiveCode"]; - item.SumOfWorkingDays = (string) reader?["SumOfWorkingDays"]; - item.WorkshopName = (string) reader?["WorkshopName"]; - item.Month = reader["Month"] != DBNull.Value ? (string) reader["Month"] : null; - item.Year = reader["Year"] != DBNull.Value ? (string) reader["Year"] : null; - item.ContractNo = (string) reader?["ContractNo"]; - item.ContractId = (long) reader["ContractId"]; - item.WorkshopId = (long) reader["WorkshopId"]; - item.EmployeeId = (long) reader["EmployeeId"]; - item.IsActiveString = (string) reader["IsActiveString"]; - item.Signature = (string) reader["Signature"]; - item.CreationDate = (DateTime) reader["CreationDate"]; + item.ArchiveCode = (string)reader?["ArchiveCode"]; + item.SumOfWorkingDays = (string)reader?["SumOfWorkingDays"]; + item.WorkshopName = (string)reader?["WorkshopName"]; + item.Month = reader["Month"] != DBNull.Value ? (string)reader["Month"] : null; + item.Year = reader["Year"] != DBNull.Value ? (string)reader["Year"] : null; + item.ContractNo = (string)reader?["ContractNo"]; + item.ContractId = (long)reader["ContractId"]; + item.WorkshopId = (long)reader["WorkshopId"]; + item.EmployeeId = (long)reader["EmployeeId"]; + item.IsActiveString = (string)reader["IsActiveString"]; + item.Signature = (string)reader["Signature"]; + item.CreationDate = (DateTime)reader["CreationDate"]; query.Add(item); @@ -419,12 +419,12 @@ public class CheckoutRepository : RepositoryBase, ICheckoutRepos return query.OrderByDescending(x => x.ContractEndGr).ThenBy(x => x.PersonnelCodeInt).ToList(); } - + return query.OrderByDescending(x => x.Id) .ThenByDescending(x => x.Year).ThenBy(x => x.PersonnelCodeInt).Take(100).ToList(); - - - + + + @@ -495,180 +495,180 @@ public class CheckoutRepository : RepositoryBase, ICheckoutRepos } - public List PrintAll(List id) - { - var query = new List(); - foreach (var item in id) - { - var ch = _context.CheckoutSet + public List PrintAll(List id) + { + var query = new List(); + foreach (var item in id) + { + var ch = _context.CheckoutSet .AsSplitQuery().Select(x => new CheckoutViewModel() - { - Id = x.id, - WorkshopId = x.WorkshopId, - ContractId = x.ContractId, - EmployeeId = x.EmployeeId, - EmployeeFullName = x.EmployeeFullName, - FathersName = x.FathersName, - NationalCode = x.NationalCode, - DateOfBirth = x.DateOfBirth, - WorkshopName = x.WorkshopName, - Month = x.Month, - Year = x.Year, - PersonnelCode = x.PersonnelCode, - PersonnelCodeInt = Convert.ToInt32(x.PersonnelCode), - ContractNo = x.ContractNo, - MonthlySalary = x.MonthlySalary.ToMoney(), - BaseYearsPay = x.BaseYearsPay.ToMoney(), - ConsumableItems = x.ConsumableItems.ToMoney(), - HousingAllowance = x.HousingAllowance.ToMoney(), - OvertimePay = x.OvertimePay.ToMoney(), - NightworkPay = x.NightworkPay.ToMoney(), - FridayPay = x.FridayPay.ToMoney(), - MissionPay = x.MissionPay.ToMoney(), - ShiftPay = x.ShiftPay.ToMoney(), - FamilyAllowance = x.FamilyAllowance.ToMoney(), - BonusesPay = x.BonusesPay.ToMoney(), - YearsPay = x.YearsPay.ToMoney(), - LeavePay = x.LeavePay.ToMoney(), - InsuranceDeduction = x.InsuranceDeduction.ToMoney(), - TaxDeducation = x.TaxDeducation.ToMoney(), - InstallmentDeduction = x.InstallmentDeduction.ToMoney(), - SalaryAidDeduction = x.SalaryAidDeduction.ToMoney(), - AbsenceDeduction = x.AbsenceDeduction.ToMoney(), - TotalClaims = x.TotalClaims, - TotalDeductions = x.TotalDeductions, - TotalPayment = x.TotalPayment.ToMoney(), - RewardPay = x.RewardPay.ToMoneyNullable(), - ContractStartGr = x.ContractStart, - ContractEndGr = x.ContractEnd, - IsLeft = false, - LeftWorkDate = "", - LastDayOfWork = "", - MarriedAllowance = x.MarriedAllowance.ToMoney(), - HasRollCall = x.HasRollCall, - SumOfWorkingDays = x.SumOfWorkingDays, - OverTimeWorkValue = x.OverTimeWorkValue, - OverNightWorkValue = x.OverNightWorkValue, - FridayWorkValue = x.FridayWorkValue, - RotatingShiftValue = x.RotatingShiftValue, - AbsenceValue = x.AbsenceValue, - MaritalStatus = "", - TotalDayOfLeaveCompute = x.TotalDayOfLeaveCompute, - TotalDayOfYearsCompute = x.TotalDayOfYearsCompute, - TotalDayOfBunosesCompute = x.TotalDayOfBunosesCompute, - InstallmentViewModels = x.LoanInstallments.Select(i => new LoanInstallmentViewModel() { - Amount = i.AmountForMonth, - AmountDouble = i.AmountForMonth.MoneyToDouble(), - Year = i.Year, - Month = i.Month, - IsActive = i.IsActive, - RemainingAmount = i.LoanRemaining, - LoanAmount = i.LoanAmount - }).ToList(), - SalaryAidViewModels = x.SalaryAids.Select(s => new SalaryAidViewModel() - { - Amount = s.Amount, - AmountDouble = s.Amount.MoneyToDouble(), - SalaryAidDateTimeFa = s.SalaryAidDateTimeFa, - SalaryAidDateTimeGe = s.SalaryAidDateTime - }).ToList(), + Id = x.id, + WorkshopId = x.WorkshopId, + ContractId = x.ContractId, + EmployeeId = x.EmployeeId, + EmployeeFullName = x.EmployeeFullName, + FathersName = x.FathersName, + NationalCode = x.NationalCode, + DateOfBirth = x.DateOfBirth, + WorkshopName = x.WorkshopName, + Month = x.Month, + Year = x.Year, + PersonnelCode = x.PersonnelCode, + PersonnelCodeInt = Convert.ToInt32(x.PersonnelCode), + ContractNo = x.ContractNo, + MonthlySalary = x.MonthlySalary.ToMoney(), + BaseYearsPay = x.BaseYearsPay.ToMoney(), + ConsumableItems = x.ConsumableItems.ToMoney(), + HousingAllowance = x.HousingAllowance.ToMoney(), + OvertimePay = x.OvertimePay.ToMoney(), + NightworkPay = x.NightworkPay.ToMoney(), + FridayPay = x.FridayPay.ToMoney(), + MissionPay = x.MissionPay.ToMoney(), + ShiftPay = x.ShiftPay.ToMoney(), + FamilyAllowance = x.FamilyAllowance.ToMoney(), + BonusesPay = x.BonusesPay.ToMoney(), + YearsPay = x.YearsPay.ToMoney(), + LeavePay = x.LeavePay.ToMoney(), + InsuranceDeduction = x.InsuranceDeduction.ToMoney(), + TaxDeducation = x.TaxDeducation.ToMoney(), + InstallmentDeduction = x.InstallmentDeduction.ToMoney(), + SalaryAidDeduction = x.SalaryAidDeduction.ToMoney(), + AbsenceDeduction = x.AbsenceDeduction.ToMoney(), + TotalClaims = x.TotalClaims, + TotalDeductions = x.TotalDeductions, + TotalPayment = x.TotalPayment.ToMoney(), + RewardPay = x.RewardPay.ToMoneyNullable(), + ContractStartGr = x.ContractStart, + ContractEndGr = x.ContractEnd, + IsLeft = false, + LeftWorkDate = "", + LastDayOfWork = "", + MarriedAllowance = x.MarriedAllowance.ToMoney(), + HasRollCall = x.HasRollCall, + SumOfWorkingDays = x.SumOfWorkingDays, + OverTimeWorkValue = x.OverTimeWorkValue, + OverNightWorkValue = x.OverNightWorkValue, + FridayWorkValue = x.FridayWorkValue, + RotatingShiftValue = x.RotatingShiftValue, + AbsenceValue = x.AbsenceValue, + MaritalStatus = "", + TotalDayOfLeaveCompute = x.TotalDayOfLeaveCompute, + TotalDayOfYearsCompute = x.TotalDayOfYearsCompute, + TotalDayOfBunosesCompute = x.TotalDayOfBunosesCompute, + InstallmentViewModels = x.LoanInstallments.Select(i => new LoanInstallmentViewModel() + { + Amount = i.AmountForMonth, + AmountDouble = i.AmountForMonth.MoneyToDouble(), + Year = i.Year, + Month = i.Month, + IsActive = i.IsActive, + RemainingAmount = i.LoanRemaining, + LoanAmount = i.LoanAmount + }).ToList(), + SalaryAidViewModels = x.SalaryAids.Select(s => new SalaryAidViewModel() + { + Amount = s.Amount, + AmountDouble = s.Amount.MoneyToDouble(), + SalaryAidDateTimeFa = s.SalaryAidDateTimeFa, + SalaryAidDateTimeGe = s.SalaryAidDateTime + }).ToList(), }).SingleOrDefault(x => x.Id == item); - var workshopName = _context.Workshops.FirstOrDefault(x => x.id == ch.WorkshopId); - ch.WorkshopName = workshopName.WorkshopName; - ch.TotalPaymentHide = workshopName.TotalPaymentHide; - var emp = _context.WorkshopEmployers.Where(x => x.WorkshopId == ch.WorkshopId) - .Select(x => x.EmployerId); - var employerlist = _context.Employers.Where(x => emp.Contains(x.id)); - var employers = new List(); + var workshopName = _context.Workshops.FirstOrDefault(x => x.id == ch.WorkshopId); + ch.WorkshopName = workshopName.WorkshopName; + ch.TotalPaymentHide = workshopName.TotalPaymentHide; + var emp = _context.WorkshopEmployers.Where(x => x.WorkshopId == ch.WorkshopId) + .Select(x => x.EmployerId); + var employerlist = _context.Employers.Where(x => emp.Contains(x.id)); + var employers = new List(); - foreach (var em in employerlist) - { - var employer = new EmprViewModel() - { - EmployerFullName = em.FName + " " + em.LName, - IsLegal = em.IsLegal, - }; - employers.Add(employer); - } + foreach (var em in employerlist) + { + var employer = new EmprViewModel() + { + EmployerFullName = em.FName + " " + em.LName, + IsLegal = em.IsLegal, + }; + employers.Add(employer); + } - ch.MaritalStatus = _context.Employees.Find(ch.EmployeeId)?.MaritalStatus; - ch.EmployerList = employers; - var workingHours = _workingHoursTempApplication.GetByContractIdConvertToShiftwork4(ch.ContractId); - ch.CreateWorkingHoursTemp = workingHours; - var AbsenceDeduction = ch.AbsenceDeduction.MoneyToDouble(); - var InstallmentDeduction = ch.InstallmentDeduction.MoneyToDouble(); - var InsuranceDeduction = ch.InsuranceDeduction.MoneyToDouble(); - var SalaryAidDeduction = ch.SalaryAidDeduction.MoneyToDouble(); - var TaxDeducation = ch.TaxDeducation.MoneyToDouble(); - var TotalDeduction = AbsenceDeduction + InsuranceDeduction + InstallmentDeduction + SalaryAidDeduction + - TaxDeducation; - ch.TotalDeductions = TotalDeduction.ToMoney(); + ch.MaritalStatus = _context.Employees.Find(ch.EmployeeId)?.MaritalStatus; + ch.EmployerList = employers; + var workingHours = _workingHoursTempApplication.GetByContractIdConvertToShiftwork4(ch.ContractId); + ch.CreateWorkingHoursTemp = workingHours; + var AbsenceDeduction = ch.AbsenceDeduction.MoneyToDouble(); + var InstallmentDeduction = ch.InstallmentDeduction.MoneyToDouble(); + var InsuranceDeduction = ch.InsuranceDeduction.MoneyToDouble(); + var SalaryAidDeduction = ch.SalaryAidDeduction.MoneyToDouble(); + var TaxDeducation = ch.TaxDeducation.MoneyToDouble(); + var TotalDeduction = AbsenceDeduction + InsuranceDeduction + InstallmentDeduction + SalaryAidDeduction + + TaxDeducation; + ch.TotalDeductions = TotalDeduction.ToMoney(); - var leftWorkSearch = new LeftWorkSearchModel() { WorkshopId = ch.WorkshopId, EmployeeId = ch.EmployeeId }; - var leftworkResult = _leftWorkRepository.search(leftWorkSearch).FirstOrDefault(); - var leftCheck = _leftWorkRepository.CheckoutleftWorkCheck(ch.ContractStartGr, ch.WorkshopId, ch.EmployeeId); - var contractLeftWorkDate = ch.ContractEndGr.AddDays(1); - if (leftCheck != null && leftCheck.LeftWorkDateGr == contractLeftWorkDate) - { - ch.IsLeft = true; - ch.LeftWorkDate = leftCheck.LeftWorkDate; - ch.LastDayOfWork = ch.ContractEndGr.ToFarsi(); - } - //var checkBonusesPay = leftworkResult != null && leftworkResult.AddBonusesPay; - //var checkYearsPay = leftworkResult != null && leftworkResult.AddYearsPay; - //var checkLeavePay = leftworkResult != null && leftworkResult.AddLeavePay; + var leftWorkSearch = new LeftWorkSearchModel() { WorkshopId = ch.WorkshopId, EmployeeId = ch.EmployeeId }; + var leftworkResult = _leftWorkRepository.search(leftWorkSearch).FirstOrDefault(); + var leftCheck = _leftWorkRepository.CheckoutleftWorkCheck(ch.ContractStartGr, ch.WorkshopId, ch.EmployeeId); + var contractLeftWorkDate = ch.ContractEndGr.AddDays(1); + if (leftCheck != null && leftCheck.LeftWorkDateGr == contractLeftWorkDate) + { + ch.IsLeft = true; + ch.LeftWorkDate = leftCheck.LeftWorkDate; + ch.LastDayOfWork = ch.ContractEndGr.ToFarsi(); + } + //var checkBonusesPay = leftworkResult != null && leftworkResult.AddBonusesPay; + //var checkYearsPay = leftworkResult != null && leftworkResult.AddYearsPay; + //var checkLeavePay = leftworkResult != null && leftworkResult.AddLeavePay; - //if (!checkBonusesPay || !checkYearsPay || !checkLeavePay) - //{ - // double sumOfBonusAndYearsPay = 0; - // if (!checkBonusesPay) - // { - // var bonusesPay = ch.BonusesPay.MoneyToDouble(); - // sumOfBonusAndYearsPay += bonusesPay; - // ch.BonusesPay = "0"; + //if (!checkBonusesPay || !checkYearsPay || !checkLeavePay) + //{ + // double sumOfBonusAndYearsPay = 0; + // if (!checkBonusesPay) + // { + // var bonusesPay = ch.BonusesPay.MoneyToDouble(); + // sumOfBonusAndYearsPay += bonusesPay; + // ch.BonusesPay = "0"; - // } + // } - // if (!checkYearsPay) - // { - // var yearsPay = ch.YearsPay.MoneyToDouble(); - // sumOfBonusAndYearsPay += yearsPay; - // ch.YearsPay = "0"; - // } + // if (!checkYearsPay) + // { + // var yearsPay = ch.YearsPay.MoneyToDouble(); + // sumOfBonusAndYearsPay += yearsPay; + // ch.YearsPay = "0"; + // } - // if (!checkLeavePay) - // { - // var leavePay = ch.LeavePay.MoneyToDouble(); - // sumOfBonusAndYearsPay += leavePay; - // ch.LeavePay = "0"; - // } - // var totalClaimsDouble = ch.TotalClaims.MoneyToDouble(); - // var totalClaims = totalClaimsDouble - sumOfBonusAndYearsPay; - // ch.TotalClaims = totalClaims.ToMoney(); + // if (!checkLeavePay) + // { + // var leavePay = ch.LeavePay.MoneyToDouble(); + // sumOfBonusAndYearsPay += leavePay; + // ch.LeavePay = "0"; + // } + // var totalClaimsDouble = ch.TotalClaims.MoneyToDouble(); + // var totalClaims = totalClaimsDouble - sumOfBonusAndYearsPay; + // ch.TotalClaims = totalClaims.ToMoney(); - // var totalPayment = totalClaims - TotalDeduction; - // ch.TotalPayment = totalPayment.ToMoney(); + // var totalPayment = totalClaims - TotalDeduction; + // ch.TotalPayment = totalPayment.ToMoney(); - //} + //} - //if (ch.WorkshopId == 40 || ch.WorkshopId == 68 || ch.WorkshopId == 44 || ch.WorkshopId == 45 || ch.WorkshopId == 280) - //{ - // ch.TotalClaims = ""; - // ch.TotalDeductions = ""; - // ch.TotalPayment = ""; - //} - if (ch.TotalPaymentHide == false) - { - ch.TotalClaims = ""; - ch.TotalDeductions = ""; - ch.TotalPayment = ""; - } - if (ch.HasRollCall) - ch.MonthlyRollCall = _rollCallRepository.GetEmployeeRollCallsForMonth(ch.EmployeeId, ch.WorkshopId, ch.ContractStartGr, ch.ContractEndGr); + //if (ch.WorkshopId == 40 || ch.WorkshopId == 68 || ch.WorkshopId == 44 || ch.WorkshopId == 45 || ch.WorkshopId == 280) + //{ + // ch.TotalClaims = ""; + // ch.TotalDeductions = ""; + // ch.TotalPayment = ""; + //} + if (ch.TotalPaymentHide == false) + { + ch.TotalClaims = ""; + ch.TotalDeductions = ""; + ch.TotalPayment = ""; + } + if (ch.HasRollCall) + ch.MonthlyRollCall = _rollCallRepository.GetEmployeeRollCallsForMonth(ch.EmployeeId, ch.WorkshopId, ch.ContractStartGr, ch.ContractEndGr); else { ch.CreateWorkingHoursTemp.ContractStartGr = ch.ContractStartGr; @@ -680,19 +680,19 @@ public class CheckoutRepository : RepositoryBase, ICheckoutRepos ch.MonthlyRollCall = ConvertStaticToRollCall(ch.CreateWorkingHoursTemp, workshopName.WorkshopHolidayWorking); } query.Add(ch); - } + } - query = query.OrderBy(x => x.PersonnelCodeInt).ToList(); - int printNumer = 0; - foreach (var rec in query) - { - printNumer += 1; - rec.PrintCounter = printNumer; - } - return query; - } + query = query.OrderBy(x => x.PersonnelCodeInt).ToList(); + int printNumer = 0; + foreach (var rec in query) + { + printNumer += 1; + rec.PrintCounter = printNumer; + } + return query; + } - public CheckoutLeavePrintViewModel PrintLeave(long id) + public CheckoutLeavePrintViewModel PrintLeave(long id) { var ch = _context.CheckoutSet.Select(x => new CheckoutLeavePrintViewModel() { @@ -795,176 +795,220 @@ public class CheckoutRepository : RepositoryBase, ICheckoutRepos return ch; } - public CheckoutViewModel PrintOne(long id) - { - var ch = _context.CheckoutSet + public CheckoutViewModel PrintOne(long id) + { + var ch = _context.CheckoutSet .AsSplitQuery().Select(x => new CheckoutViewModel() - { - Id = x.id, - WorkshopId = x.WorkshopId, - ContractId = x.ContractId, - EmployeeId = x.EmployeeId, - EmployeeFullName = x.EmployeeFullName, - FathersName = x.FathersName, - NationalCode = x.NationalCode, - DateOfBirth = x.DateOfBirth, - WorkshopName = x.WorkshopName, - Month = x.Month, - Year = x.Year, - ContractNo = x.ContractNo, - MonthlySalary = x.MonthlySalary.ToMoney(), - BaseYearsPay = x.BaseYearsPay.ToMoney(), - ConsumableItems = x.ConsumableItems.ToMoney(), - HousingAllowance = x.HousingAllowance.ToMoney(), - OvertimePay = x.OvertimePay.ToMoney(), - NightworkPay = x.NightworkPay.ToMoney(), - FridayPay = x.FridayPay.ToMoney(), - MissionPay = x.MissionPay.ToMoney(), - ShiftPay = x.ShiftPay.ToMoney(), - FamilyAllowance = x.FamilyAllowance.ToMoney(), - BonusesPay = x.BonusesPay.ToMoney(), - YearsPay = x.YearsPay.ToMoney(), - LeavePay = x.LeavePay.ToMoney(), - InsuranceDeduction = x.InsuranceDeduction.ToMoney(), - TaxDeducation = x.TaxDeducation.ToMoney(), - InstallmentDeduction = x.InstallmentDeduction.ToMoney(), - SalaryAidDeduction = x.SalaryAidDeduction.ToMoney(), - AbsenceDeduction = x.AbsenceDeduction.ToMoney(), - TotalClaims = x.TotalClaims, - TotalDeductions = x.TotalDeductions, - TotalPayment = x.TotalPayment.ToMoney(), - RewardPay = x.RewardPay.ToMoneyNullable(), - ContractStartGr = x.ContractStart, - ContractEndGr = x.ContractEnd, - IsLeft = false, - LeftWorkDate = "", - LastDayOfWork = "", - MarriedAllowance = x.MarriedAllowance.ToMoney(), - HasRollCall = x.HasRollCall, - SumOfWorkingDays = x.SumOfWorkingDays, - OverTimeWorkValue = x.OverTimeWorkValue, - OverNightWorkValue = x.OverNightWorkValue, - FridayWorkValue = x.FridayWorkValue, - RotatingShiftValue = x.RotatingShiftValue, - AbsenceValue = x.AbsenceValue, - MaritalStatus = "", - TotalDayOfLeaveCompute = x.TotalDayOfLeaveCompute, - TotalDayOfYearsCompute = x.TotalDayOfYearsCompute, - TotalDayOfBunosesCompute = x.TotalDayOfBunosesCompute, - InstallmentViewModels = x.LoanInstallments.Select(i => new LoanInstallmentViewModel() { - Amount = i.AmountForMonth, - AmountDouble = i.AmountForMonth.MoneyToDouble(), - Year = i.Year, - Month = i.Month, - IsActive = i.IsActive, - RemainingAmount = i.LoanRemaining, - LoanAmount = i.LoanAmount - }).ToList(), - SalaryAidViewModels = x.SalaryAids.Select(s => new SalaryAidViewModel() - { - Amount = s.Amount, - AmountDouble = s.Amount.MoneyToDouble(), - SalaryAidDateTimeFa = s.SalaryAidDateTimeFa, - SalaryAidDateTimeGe = s.SalaryAidDateTime - }).ToList(), + Id = x.id, + WorkshopId = x.WorkshopId, + ContractId = x.ContractId, + EmployeeId = x.EmployeeId, + EmployeeFullName = x.EmployeeFullName, + FathersName = x.FathersName, + NationalCode = x.NationalCode, + DateOfBirth = x.DateOfBirth, + WorkshopName = x.WorkshopName, + Month = x.Month, + Year = x.Year, + ContractNo = x.ContractNo, + MonthlySalary = x.MonthlySalary.ToMoney(), + BaseYearsPay = x.BaseYearsPay.ToMoney(), + ConsumableItems = x.ConsumableItems.ToMoney(), + HousingAllowance = x.HousingAllowance.ToMoney(), + OvertimePay = x.OvertimePay.ToMoney(), + NightworkPay = x.NightworkPay.ToMoney(), + FridayPay = x.FridayPay.ToMoney(), + MissionPay = x.MissionPay.ToMoney(), + ShiftPay = x.ShiftPay.ToMoney(), + FamilyAllowance = x.FamilyAllowance.ToMoney(), + BonusesPay = x.BonusesPay.ToMoney(), + YearsPay = x.YearsPay.ToMoney(), + LeavePay = x.LeavePay.ToMoney(), + InsuranceDeduction = x.InsuranceDeduction.ToMoney(), + TaxDeducation = x.TaxDeducation.ToMoney(), + InstallmentDeduction = x.InstallmentDeduction.ToMoney(), + SalaryAidDeduction = x.SalaryAidDeduction.ToMoney(), + AbsenceDeduction = x.AbsenceDeduction.ToMoney(), + TotalClaims = x.TotalClaims, + TotalDeductions = x.TotalDeductions, + TotalPayment = x.TotalPayment.ToMoney(), + RewardPay = x.RewardPay.ToMoneyNullable(), + ContractStartGr = x.ContractStart, + ContractEndGr = x.ContractEnd, + IsLeft = false, + LeftWorkDate = "", + LastDayOfWork = "", + MarriedAllowance = x.MarriedAllowance.ToMoney(), + HasRollCall = x.HasRollCall, + SumOfWorkingDays = x.SumOfWorkingDays, + OverTimeWorkValue = x.OverTimeWorkValue, + OverNightWorkValue = x.OverNightWorkValue, + FridayWorkValue = x.FridayWorkValue, + RotatingShiftValue = x.RotatingShiftValue, + AbsenceValue = x.AbsenceValue, + MaritalStatus = "", + TotalDayOfLeaveCompute = x.TotalDayOfLeaveCompute, + TotalDayOfYearsCompute = x.TotalDayOfYearsCompute, + TotalDayOfBunosesCompute = x.TotalDayOfBunosesCompute, + InstallmentViewModels = x.LoanInstallments.Select(i => new LoanInstallmentViewModel() + { + Amount = i.AmountForMonth, + AmountDouble = i.AmountForMonth.MoneyToDouble(), + Year = i.Year, + Month = i.Month, + IsActive = i.IsActive, + RemainingAmount = i.LoanRemaining, + LoanAmount = i.LoanAmount + }).ToList(), + SalaryAidViewModels = x.SalaryAids.Select(s => new SalaryAidViewModel() + { + Amount = s.Amount, + AmountDouble = s.Amount.MoneyToDouble(), + SalaryAidDateTimeFa = s.SalaryAidDateTimeFa, + SalaryAidDateTimeGe = s.SalaryAidDateTime + }).ToList(), }).SingleOrDefault(x => x.Id == id); - var workshopName = _context.Workshops.FirstOrDefault(x => x.id == ch.WorkshopId); - ch.WorkshopName = workshopName.WorkshopName; - ch.TotalPaymentHide = workshopName.TotalPaymentHide; - var emp = _context.WorkshopEmployers.Where(x => x.WorkshopId == ch.WorkshopId) - .Select(x => x.EmployerId); - var employerlist = _context.Employers.Where(x => emp.Contains(x.id)); - var employers = new List(); + var workshopName = _context.Workshops.FirstOrDefault(x => x.id == ch.WorkshopId); + ch.WorkshopName = workshopName.WorkshopName; + ch.TotalPaymentHide = workshopName.TotalPaymentHide; + var emp = _context.WorkshopEmployers.Where(x => x.WorkshopId == ch.WorkshopId) + .Select(x => x.EmployerId); + var employerlist = _context.Employers.Where(x => emp.Contains(x.id)); + var employers = new List(); - foreach (var em in employerlist) - { - var employer = new EmprViewModel() - { - EmployerFullName = em.FName + " " + em.LName, - IsLegal = em.IsLegal, - }; - employers.Add(employer); - } - ch.MaritalStatus = _context.Employees.Find(ch.EmployeeId)?.MaritalStatus; - ch.EmployerList = employers; - var workingHours = _workingHoursTempApplication.GetByContractIdConvertToShiftwork4(ch.ContractId); - ch.CreateWorkingHoursTemp = workingHours; - var AbsenceDeduction = ch.AbsenceDeduction.MoneyToDouble(); - var InstallmentDeduction = ch.InstallmentDeduction.MoneyToDouble(); - var InsuranceDeduction = ch.InsuranceDeduction.MoneyToDouble(); - var SalaryAidDeduction = ch.SalaryAidDeduction.MoneyToDouble(); - var TaxDeducation = ch.TaxDeducation.MoneyToDouble(); + foreach (var em in employerlist) + { + var employer = new EmprViewModel() + { + EmployerFullName = em.FName + " " + em.LName, + IsLegal = em.IsLegal, + }; + employers.Add(employer); + } + ch.MaritalStatus = _context.Employees.Find(ch.EmployeeId)?.MaritalStatus; + ch.EmployerList = employers; + var workingHours = _workingHoursTempApplication.GetByContractIdConvertToShiftwork4(ch.ContractId); + ch.CreateWorkingHoursTemp = workingHours; + var AbsenceDeduction = ch.AbsenceDeduction.MoneyToDouble(); + var InstallmentDeduction = ch.InstallmentDeduction.MoneyToDouble(); + var InsuranceDeduction = ch.InsuranceDeduction.MoneyToDouble(); + var SalaryAidDeduction = ch.SalaryAidDeduction.MoneyToDouble(); + var TaxDeducation = ch.TaxDeducation.MoneyToDouble(); - var TotalDeduction = AbsenceDeduction + InsuranceDeduction + InstallmentDeduction + SalaryAidDeduction + - TaxDeducation; - ch.TotalDeductions = TotalDeduction.ToMoney(); + var TotalDeduction = AbsenceDeduction + InsuranceDeduction + InstallmentDeduction + SalaryAidDeduction + + TaxDeducation; + ch.TotalDeductions = TotalDeduction.ToMoney(); - var leftWorkSearch = new LeftWorkSearchModel() { WorkshopId = ch.WorkshopId, EmployeeId = ch.EmployeeId }; - var leftworkResult = _leftWorkRepository.search(leftWorkSearch).FirstOrDefault(); - var leftCheck = _leftWorkRepository.CheckoutleftWorkCheck(ch.ContractStartGr, ch.WorkshopId, ch.EmployeeId); - var contractLeftWorkDate = ch.ContractEndGr.AddDays(1); - if (leftCheck != null && leftCheck.LeftWorkDateGr == contractLeftWorkDate) - { - ch.IsLeft = true; - ch.LeftWorkDate = leftCheck.LeftWorkDate; - ch.LastDayOfWork = ch.ContractEndGr.ToFarsi(); - } + var leftWorkSearch = new LeftWorkSearchModel() { WorkshopId = ch.WorkshopId, EmployeeId = ch.EmployeeId }; + var leftworkResult = _leftWorkRepository.search(leftWorkSearch).FirstOrDefault(); + var leftCheck = _leftWorkRepository.CheckoutleftWorkCheck(ch.ContractStartGr, ch.WorkshopId, ch.EmployeeId); + var contractLeftWorkDate = ch.ContractEndGr.AddDays(1); + if (leftCheck != null && leftCheck.LeftWorkDateGr == contractLeftWorkDate) + { + ch.IsLeft = true; + ch.LeftWorkDate = leftCheck.LeftWorkDate; + ch.LastDayOfWork = ch.ContractEndGr.ToFarsi(); + } - //var checkBonusesPay = leftworkResult != null && leftworkResult.AddBonusesPay; - //var checkYearsPay = leftworkResult != null && leftworkResult.AddYearsPay; - //var checkLeavePay = leftworkResult != null && leftworkResult.AddLeavePay; + //var checkBonusesPay = leftworkResult != null && leftworkResult.AddBonusesPay; + //var checkYearsPay = leftworkResult != null && leftworkResult.AddYearsPay; + //var checkLeavePay = leftworkResult != null && leftworkResult.AddLeavePay; - //if (!checkBonusesPay || !checkYearsPay || !checkLeavePay) - //{ - // double sumOfBonusAndYearsPay = 0; - // if (!checkBonusesPay) - // { - // var bonusesPay = ch.BonusesPay.MoneyToDouble(); - // sumOfBonusAndYearsPay += bonusesPay; - // ch.BonusesPay = "0"; + //if (!checkBonusesPay || !checkYearsPay || !checkLeavePay) + //{ + // double sumOfBonusAndYearsPay = 0; + // if (!checkBonusesPay) + // { + // var bonusesPay = ch.BonusesPay.MoneyToDouble(); + // sumOfBonusAndYearsPay += bonusesPay; + // ch.BonusesPay = "0"; - // } + // } - // if (!checkYearsPay) - // { - // var yearsPay = ch.YearsPay.MoneyToDouble(); - // sumOfBonusAndYearsPay += yearsPay; - // ch.YearsPay = "0"; - // } + // if (!checkYearsPay) + // { + // var yearsPay = ch.YearsPay.MoneyToDouble(); + // sumOfBonusAndYearsPay += yearsPay; + // ch.YearsPay = "0"; + // } - // if (!checkLeavePay) - // { - // var leavePay = ch.LeavePay.MoneyToDouble(); - // sumOfBonusAndYearsPay += leavePay; - // ch.LeavePay = "0"; - // } - // var totalClaimsDouble = ch.TotalClaims.MoneyToDouble(); - // var totalClaims = totalClaimsDouble - sumOfBonusAndYearsPay; - // ch.TotalClaims = totalClaims.ToMoney(); + // if (!checkLeavePay) + // { + // var leavePay = ch.LeavePay.MoneyToDouble(); + // sumOfBonusAndYearsPay += leavePay; + // ch.LeavePay = "0"; + // } + // var totalClaimsDouble = ch.TotalClaims.MoneyToDouble(); + // var totalClaims = totalClaimsDouble - sumOfBonusAndYearsPay; + // ch.TotalClaims = totalClaims.ToMoney(); - // var totalPayment = totalClaims - TotalDeduction; - // ch.TotalPayment = totalPayment.ToMoney(); + // var totalPayment = totalClaims - TotalDeduction; + // ch.TotalPayment = totalPayment.ToMoney(); - //} + //} - //if (ch.WorkshopId == 40 || ch.WorkshopId == 68 || ch.WorkshopId == 44 || ch.WorkshopId == 45 || ch.WorkshopId == 280) - //{ - // ch.TotalClaims = ""; - // ch.TotalDeductions = ""; - // ch.TotalPayment = ""; - //} - if (ch.TotalPaymentHide == false) - { - ch.TotalClaims = ""; - ch.TotalDeductions = ""; - ch.TotalPayment = ""; - } - if (ch.HasRollCall) - ch.MonthlyRollCall = _rollCallRepository.GetEmployeeRollCallsForMonth(ch.EmployeeId, ch.WorkshopId, ch.ContractStartGr, ch.ContractEndGr); + //if (ch.WorkshopId == 40 || ch.WorkshopId == 68 || ch.WorkshopId == 44 || ch.WorkshopId == 45 || ch.WorkshopId == 280) + //{ + // ch.TotalClaims = ""; + // ch.TotalDeductions = ""; + // ch.TotalPayment = ""; + //} + + #region Leave + + var leavesQuery = _context.LeaveList + .Where(x => x.EmployeeId == ch.EmployeeId && x.WorkshopId == ch.WorkshopId && + x.StartLeave <= ch.ContractEndGr && x.EndLeave >= ch.ContractStartGr) + .AsNoTracking(); + + var paidLeave = leavesQuery.Where(x => x.LeaveType == "استحقاقی"); + var sickLeave = leavesQuery.Where(x => x.LeaveType == "استعلاجی").ToList(); + + + var dailyPaidLeave = paidLeave.Where(x => x.PaidLeaveType == "روزانه").ToList(); + var hourlyPaidLeave = paidLeave.Where(x => x.PaidLeaveType == "ساعتی").ToList(); + + var sickLeaveTimeSpans = sickLeave.Select(x => + { + var startLeave = ch.ContractStartGr > x.StartLeave ? ch.ContractStartGr : x.StartLeave; + var endLeave = ch.ContractEndGr < x.EndLeave ? ch.ContractEndGr : x.EndLeave; + + return (endLeave - startLeave).Add(TimeSpan.FromDays(1)); + }); + + ch.TotalSickLeave = new TimeSpan(sickLeaveTimeSpans.Sum(x => x.Ticks)).ToFarsiDaysAndHoursAndMinutes("-"); + + var hourlyPaidLeaveTimeSpans = hourlyPaidLeave.Select(x => TimeOnly.Parse(x.LeaveHourses).ToTimeSpan()); + + var dailyPaidLeaveTimeSpans = dailyPaidLeave.Select(x => + { + var startLeave = ch.ContractStartGr > x.StartLeave ? ch.ContractStartGr : x.StartLeave; + var endLeave = ch.ContractEndGr < x.EndLeave ? ch.ContractEndGr : x.EndLeave; + return (endLeave - startLeave).Add(TimeSpan.FromDays(1)); + }); + + var totalPaidLeaveTimeSpans = hourlyPaidLeaveTimeSpans.Concat(dailyPaidLeaveTimeSpans); + + ch.TotalPaidLeave = new TimeSpan(totalPaidLeaveTimeSpans.Sum(x => x.Ticks)).ToFarsiDaysAndHoursAndMinutes("-"); + + + + #endregion + + + + if (ch.TotalPaymentHide == false) + { + ch.TotalClaims = ""; + ch.TotalDeductions = ""; + ch.TotalPayment = ""; + } + if (ch.HasRollCall) + ch.MonthlyRollCall = _rollCallRepository.GetEmployeeRollCallsForMonth(ch.EmployeeId, ch.WorkshopId, ch.ContractStartGr, ch.ContractEndGr); else { ch.CreateWorkingHoursTemp.ContractStartGr = ch.ContractStartGr; @@ -976,7 +1020,7 @@ public class CheckoutRepository : RepositoryBase, ICheckoutRepos ch.MonthlyRollCall = ConvertStaticToRollCall(ch.CreateWorkingHoursTemp, workshopName.WorkshopHolidayWorking); } return ch; - } + } private List ConvertStaticToRollCall(CreateWorkingHoursTemp workingHours, bool workshopHolidayWorking) { @@ -1147,39 +1191,39 @@ public class CheckoutRepository : RepositoryBase, ICheckoutRepos #endregion var query = _context.CheckoutSet .AsSplitQuery().Select(x => new CheckoutViewModel() - { - Id = x.id, - EmployeeId = x.EmployeeId, - WorkshopId = x.WorkshopId, - ContractStartGr = x.ContractStart, - ContractEndGr = x.ContractEnd, - ContractStart = x.ContractStart.ToFarsi(), - ContractEnd = x.ContractEnd.ToFarsi(), - Signature = x.Signature, - Year = x.Year, - Month = x.Month, - ContractNo = x.ContractNo, - ContractId = x.ContractId, - EmployeeFullName = x.EmployeeFullName, - PersonnelCode = x.PersonnelCode, - PersonnelCodeInt = Convert.ToInt32(x.PersonnelCode), - InstallmentViewModels = x.LoanInstallments.Select(i => new LoanInstallmentViewModel() { - Amount = i.AmountForMonth, - AmountDouble = i.AmountForMonth.MoneyToDouble(), - Year = i.Year, - Month = i.Month, - IsActive = i.IsActive, - RemainingAmount = i.LoanRemaining, - LoanAmount = i.LoanAmount - }).ToList(), - SalaryAidViewModels = x.SalaryAids.Select(s => new SalaryAidViewModel() - { - Amount = s.Amount, - AmountDouble = s.Amount.MoneyToDouble(), - SalaryAidDateTimeFa = s.SalaryAidDateTimeFa, - SalaryAidDateTimeGe = s.SalaryAidDateTime - }).ToList(), + Id = x.id, + EmployeeId = x.EmployeeId, + WorkshopId = x.WorkshopId, + ContractStartGr = x.ContractStart, + ContractEndGr = x.ContractEnd, + ContractStart = x.ContractStart.ToFarsi(), + ContractEnd = x.ContractEnd.ToFarsi(), + Signature = x.Signature, + Year = x.Year, + Month = x.Month, + ContractNo = x.ContractNo, + ContractId = x.ContractId, + EmployeeFullName = x.EmployeeFullName, + PersonnelCode = x.PersonnelCode, + PersonnelCodeInt = Convert.ToInt32(x.PersonnelCode), + InstallmentViewModels = x.LoanInstallments.Select(i => new LoanInstallmentViewModel() + { + Amount = i.AmountForMonth, + AmountDouble = i.AmountForMonth.MoneyToDouble(), + Year = i.Year, + Month = i.Month, + IsActive = i.IsActive, + RemainingAmount = i.LoanRemaining, + LoanAmount = i.LoanAmount + }).ToList(), + SalaryAidViewModels = x.SalaryAids.Select(s => new SalaryAidViewModel() + { + Amount = s.Amount, + AmountDouble = s.Amount.MoneyToDouble(), + SalaryAidDateTimeFa = s.SalaryAidDateTimeFa, + SalaryAidDateTimeGe = s.SalaryAidDateTime + }).ToList(), }).Where(x => x.WorkshopId == searchModel.WorkshopId); if (searchModel.EmployeeId > 0) @@ -1187,7 +1231,7 @@ public class CheckoutRepository : RepositoryBase, ICheckoutRepos query = query.Where(x => x.EmployeeId == searchModel.EmployeeId); searchModel.Sorting = "ContractStart-Max"; } - + if (!string.IsNullOrWhiteSpace(searchModel.ContractStart) && !string.IsNullOrWhiteSpace(searchModel.ContractEnd)) { @@ -1437,7 +1481,7 @@ public class CheckoutRepository : RepositoryBase, ICheckoutRepos IsActiveString = x.IsActiveString, Signature = x.Signature, CreationDate = x.CreationDate, - + }); @@ -1648,14 +1692,14 @@ public class CheckoutRepository : RepositoryBase, ICheckoutRepos if (hasSearch) return query.OrderByDescending(x => x.Id) .ThenByDescending(x => x.Year).ThenBy(x => x.PersonnelCodeInt).ToList(); - else if(hasEmployeeOrWorkshpSearch && !hasSearch) + else if (hasEmployeeOrWorkshpSearch && !hasSearch) return query.OrderByDescending(x => x.ContractStartGr).ToList(); else return query.OrderByDescending(x => x.Id) .ThenByDescending(x => x.Year).ThenBy(x => x.PersonnelCodeInt).Take(50).ToList(); // Console.WriteLine("return" + watch.Elapsed); - + } diff --git a/ServiceHost/Areas/Admin/Pages/Company/Checkouts/Details.cshtml b/ServiceHost/Areas/Admin/Pages/Company/Checkouts/Details.cshtml index 91b4e62a..83889031 100644 --- a/ServiceHost/Areas/Admin/Pages/Company/Checkouts/Details.cshtml +++ b/ServiceHost/Areas/Admin/Pages/Company/Checkouts/Details.cshtml @@ -759,58 +759,58 @@ @* section one *@ - + @(leftItem?.RollCallDateFa ?? "") @(leftItem?.DayOfWeek ?? "") @if (string.IsNullOrWhiteSpace(leftItem?.LeaveType)) { - + @(!String.IsNullOrWhiteSpace(leftItem?.StartDate1) ? leftItem?.StartDate1 + " الی " + leftItem?.EndDate1 : "") - + @(!String.IsNullOrWhiteSpace(leftItem?.StartDate2) ? leftItem?.StartDate2 + " الی " + leftItem?.EndDate2 : "") - + @(leftItem?.BreakTimeString ?? "") } else { - + @leftItem?.LeaveType } - + @(leftItem?.TotalWorkingHours ?? "") @* section two *@ - + @(rightItem?.RollCallDateFa ?? "") @(rightItem?.DayOfWeek ?? "") @if (string.IsNullOrWhiteSpace(rightItem?.LeaveType)) { - + @(!String.IsNullOrWhiteSpace(rightItem?.StartDate1) ? rightItem?.StartDate1 + " الی " + rightItem?.EndDate1 : "") - + @(!String.IsNullOrWhiteSpace(rightItem?.StartDate2) ? rightItem?.StartDate2 + " الی " + rightItem?.EndDate2 : "") - + @(rightItem?.BreakTimeString ?? "") } else { - + @rightItem?.LeaveType } - + @(rightItem?.TotalWorkingHours ?? "") @@ -839,8 +839,8 @@ - مدت مرخصی استحقاقی : @Model.TotalDayOfLeaveCompute - مدت مرخصی استعلاجی : @Model.TotalDayOfLeaveCompute + مدت مرخصی استحقاقی : @Model.TotalPaidLeave + مدت مرخصی استعلاجی : @Model.TotalSickLeave diff --git a/ServiceHost/Areas/Admin/Pages/Company/Checkouts/_Partials/PrintDetailStaticRaw.cshtml b/ServiceHost/Areas/Admin/Pages/Company/Checkouts/_Partials/PrintDetailStaticRaw.cshtml index 115f9cd2..a4a3b3de 100644 --- a/ServiceHost/Areas/Admin/Pages/Company/Checkouts/_Partials/PrintDetailStaticRaw.cshtml +++ b/ServiceHost/Areas/Admin/Pages/Company/Checkouts/_Partials/PrintDetailStaticRaw.cshtml @@ -423,58 +423,58 @@ @* section one *@ - + @(leftItem?.RollCallDateFa ?? "") @(leftItem?.DayOfWeek ?? "") @if (string.IsNullOrWhiteSpace(leftItem?.LeaveType)) { - + @(!String.IsNullOrWhiteSpace(leftItem?.StartDate1) ? leftItem?.StartDate1 + " الی " + leftItem?.EndDate1 : "") - + @(!String.IsNullOrWhiteSpace(leftItem?.StartDate2) ? leftItem?.StartDate2 + " الی " + leftItem?.EndDate2 : "") - + @(leftItem?.BreakTimeString ?? "") } else { - + @leftItem?.LeaveType } - + @(leftItem?.TotalWorkingHours ?? "") @* section two *@ - + @(rightItem?.RollCallDateFa ?? "") @(rightItem?.DayOfWeek ?? "") @if (string.IsNullOrWhiteSpace(rightItem?.LeaveType)) { - + @(!String.IsNullOrWhiteSpace(rightItem?.StartDate1) ? rightItem?.StartDate1 + " الی " + rightItem?.EndDate1 : "") - + @(!String.IsNullOrWhiteSpace(rightItem?.StartDate2) ? rightItem?.StartDate2 + " الی " + rightItem?.EndDate2 : "") - + @(rightItem?.BreakTimeString ?? "") } else { - + @rightItem?.LeaveType } - + @(rightItem?.TotalWorkingHours ?? "") @@ -503,8 +503,8 @@ - مدت مرخصی استحقاقی : @Model.TotalDayOfLeaveCompute - مدت مرخصی استعلاجی : @Model.TotalDayOfLeaveCompute + مدت مرخصی استحقاقی : @Model.TotalPaidLeave + مدت مرخصی استعلاجی : @Model.TotalSickLeave diff --git a/ServiceHost/Areas/Client/Pages/Company/Checkouts/PrintOne.cshtml b/ServiceHost/Areas/Client/Pages/Company/Checkouts/PrintOne.cshtml index be1e6d95..e80b9d42 100644 --- a/ServiceHost/Areas/Client/Pages/Company/Checkouts/PrintOne.cshtml +++ b/ServiceHost/Areas/Client/Pages/Company/Checkouts/PrintOne.cshtml @@ -430,58 +430,58 @@ @* section one *@ - + @(leftItem?.RollCallDateFa ?? "") @(leftItem?.DayOfWeek ?? "") @if (string.IsNullOrWhiteSpace(leftItem?.LeaveType)) { - + @(!String.IsNullOrWhiteSpace(leftItem?.StartDate1) ? leftItem?.StartDate1 + " الی " + leftItem?.EndDate1 : "") - + @(!String.IsNullOrWhiteSpace(leftItem?.StartDate2) ? leftItem?.StartDate2 + " الی " + leftItem?.EndDate2 : "") - + @(leftItem?.BreakTimeString ?? "") } else { - + @leftItem?.LeaveType } - + @(leftItem?.TotalWorkingHours ?? "") @* section two *@ - + @(rightItem?.RollCallDateFa ?? "") @(rightItem?.DayOfWeek ?? "") @if (string.IsNullOrWhiteSpace(rightItem?.LeaveType)) { - + @(!String.IsNullOrWhiteSpace(rightItem?.StartDate1) ? rightItem?.StartDate1 + " الی " + rightItem?.EndDate1 : "") - + @(!String.IsNullOrWhiteSpace(rightItem?.StartDate2) ? rightItem?.StartDate2 + " الی " + rightItem?.EndDate2 : "") - + @(rightItem?.BreakTimeString ?? "") } else { - + @rightItem?.LeaveType } - + @(rightItem?.TotalWorkingHours ?? "") @@ -510,8 +510,8 @@ - مدت مرخصی استحقاقی : @Model.TotalDayOfLeaveCompute - مدت مرخصی استعلاجی : @Model.TotalDayOfLeaveCompute + مدت مرخصی استحقاقی : @Model.TotalPaidLeave + مدت مرخصی استعلاجی : @Model.TotalSickLeave diff --git a/ServiceHost/Areas/Client/Pages/Company/Checkouts/PrintOneMobile.cshtml b/ServiceHost/Areas/Client/Pages/Company/Checkouts/PrintOneMobile.cshtml index 24183e3d..cd9b8f81 100644 --- a/ServiceHost/Areas/Client/Pages/Company/Checkouts/PrintOneMobile.cshtml +++ b/ServiceHost/Areas/Client/Pages/Company/Checkouts/PrintOneMobile.cshtml @@ -431,58 +431,58 @@ @* section one *@ - + @(leftItem?.RollCallDateFa ?? "") @(leftItem?.DayOfWeek ?? "") @if (string.IsNullOrWhiteSpace(leftItem?.LeaveType)) { - + @(!String.IsNullOrWhiteSpace(leftItem?.StartDate1) ? leftItem?.StartDate1 + " الی " + leftItem?.EndDate1 : "") - + @(!String.IsNullOrWhiteSpace(leftItem?.StartDate2) ? leftItem?.StartDate2 + " الی " + leftItem?.EndDate2 : "") - + @(leftItem?.BreakTimeString ?? "") } else { - + @leftItem?.LeaveType } - + @(leftItem?.TotalWorkingHours ?? "") @* section two *@ - + @(rightItem?.RollCallDateFa ?? "") @(rightItem?.DayOfWeek ?? "") @if (string.IsNullOrWhiteSpace(rightItem?.LeaveType)) { - + @(!String.IsNullOrWhiteSpace(rightItem?.StartDate1) ? rightItem?.StartDate1 + " الی " + rightItem?.EndDate1 : "") - + @(!String.IsNullOrWhiteSpace(rightItem?.StartDate2) ? rightItem?.StartDate2 + " الی " + rightItem?.EndDate2 : "") - + @(rightItem?.BreakTimeString ?? "") } else { - + @rightItem?.LeaveType } - + @(rightItem?.TotalWorkingHours ?? "") @@ -511,8 +511,8 @@ - مدت مرخصی استحقاقی : @Model.TotalDayOfLeaveCompute - مدت مرخصی استعلاجی : @Model.TotalDayOfLeaveCompute + مدت مرخصی استحقاقی : @Model.TotalPaidLeave + مدت مرخصی استعلاجی : @Model.TotalSickLeave diff --git a/ServiceHost/Areas/Client/Pages/Company/Checkouts/_Partials/PrintDetailStaticRaw.cshtml b/ServiceHost/Areas/Client/Pages/Company/Checkouts/_Partials/PrintDetailStaticRaw.cshtml index a007eedf..618e2efd 100644 --- a/ServiceHost/Areas/Client/Pages/Company/Checkouts/_Partials/PrintDetailStaticRaw.cshtml +++ b/ServiceHost/Areas/Client/Pages/Company/Checkouts/_Partials/PrintDetailStaticRaw.cshtml @@ -424,58 +424,58 @@ @* section one *@ - + @(leftItem?.RollCallDateFa ?? "") @(leftItem?.DayOfWeek ?? "") @if (string.IsNullOrWhiteSpace(leftItem?.LeaveType)) { - + @(!String.IsNullOrWhiteSpace(leftItem?.StartDate1) ? leftItem?.StartDate1 + " الی " + leftItem?.EndDate1 : "") - + @(!String.IsNullOrWhiteSpace(leftItem?.StartDate2) ? leftItem?.StartDate2 + " الی " + leftItem?.EndDate2 : "") - + @(leftItem?.BreakTimeString ?? "") } else { - + @leftItem?.LeaveType } - + @(leftItem?.TotalWorkingHours ?? "") @* section two *@ - + @(rightItem?.RollCallDateFa ?? "") @(rightItem?.DayOfWeek ?? "") @if (string.IsNullOrWhiteSpace(rightItem?.LeaveType)) { - + @(!String.IsNullOrWhiteSpace(rightItem?.StartDate1) ? rightItem?.StartDate1 + " الی " + rightItem?.EndDate1 : "") - + @(!String.IsNullOrWhiteSpace(rightItem?.StartDate2) ? rightItem?.StartDate2 + " الی " + rightItem?.EndDate2 : "") - + @(rightItem?.BreakTimeString ?? "") } else { - + @rightItem?.LeaveType } - + @(rightItem?.TotalWorkingHours ?? "") @@ -504,8 +504,8 @@ - مدت مرخصی استحقاقی : @Model.TotalDayOfLeaveCompute - مدت مرخصی استعلاجی : @Model.TotalDayOfLeaveCompute + مدت مرخصی استحقاقی : @Model.TotalPaidLeave + مدت مرخصی استعلاجی : @Model.TotalSickLeave