diff --git a/CompanyManagment.Application/CheckoutApplication.cs b/CompanyManagment.Application/CheckoutApplication.cs index 2455883c..360f9678 100644 --- a/CompanyManagment.Application/CheckoutApplication.cs +++ b/CompanyManagment.Application/CheckoutApplication.cs @@ -161,12 +161,26 @@ public class CheckoutApplication : ICheckoutApplication } } + var checkoutStart = $"{command.Year}/{command.Month}/01"; + var checkoutEnd = checkoutStart.FindeEndOfMonth(); + var salaryAids = + _rollCallMandatoryRepository.GetCheckoutSalaryAids(command.EmployeeId, command.WorkshopId, checkoutStart.ToGeorgianDateTime(), checkoutEnd.ToGeorgianDateTime()) + .Select(x => new CheckoutSalaryAid(x.Amount, x.SalaryAidDateTimeGe, x.SalaryAidDateTimeFa, x.CalculationDateTimeGe, x.CalculationDateTimeFa)).ToList(); + + command.SalaryAidDeduction = salaryAids.Sum(x => x.Amount.MoneyToDouble()); + + + var loanInstallments = _rollCallMandatoryRepository.GetCheckoutLoanInstallments(command.EmployeeId, + command.WorkshopId, command.ContractStartGr, command.ContractEndGr) + .Select(x => new CheckoutLoanInstallment(x.Amount, x.Month, x.Year, x.IsActive, x.RemainingAmount, x.LoanAmount)).ToList(); + + command.InstallmentDeduction = loanInstallments.Sum(x => x.AmountForMonth.MoneyToDouble()); var totalClaimsDouble = monthlyWage + bacicYears + consumableItem + housingAllowance + marriedAllowance + command.OvertimePay + command.NightworkPay + familyAllowance + bunos + years + command.LeavePay + command.FridayPay + command.ShiftPay; var totalClaims = totalClaimsDouble.ToMoney(); - var totalDeductionDouble = insuranceDeduction + command.AbsenceDeduction; + var totalDeductionDouble = insuranceDeduction + command.AbsenceDeduction + command.InstallmentDeduction + command.SalaryAidDeduction; var totalDeductions = totalDeductionDouble.ToMoney(); var totalPayment = totalClaimsDouble - totalDeductionDouble; @@ -182,21 +196,7 @@ public class CheckoutApplication : ICheckoutApplication command.Signature = "0"; } - var checkoutStart = $"{command.Year}/{command.Month}/01"; - var checkoutEnd = checkoutStart.FindeEndOfMonth(); - var salaryAids = - _rollCallMandatoryRepository.GetCheckoutSalaryAids(command.EmployeeId, command.WorkshopId,checkoutStart.ToGeorgianDateTime(),checkoutEnd.ToGeorgianDateTime()) - .Select(x=> new CheckoutSalaryAid(x.Amount,x.SalaryAidDateTimeGe,x.SalaryAidDateTimeFa,x.CalculationDateTimeGe,x.CalculationDateTimeFa)).ToList(); - - command.SalaryAidDeduction = salaryAids.Sum(x => x.Amount.MoneyToDouble()); - - - var loanInstallments = _rollCallMandatoryRepository.GetCheckoutLoanInstallments(command.EmployeeId, - command.WorkshopId, command.ContractStartGr, command.ContractEndGr) - .Select(x=>new CheckoutLoanInstallment(x.Amount,x.Month,x.Year,x.IsActive,x.RemainingAmount,x.LoanAmount)).ToList(); - command.InstallmentDeduction = loanInstallments.Sum(x => x.AmountForMonth.MoneyToDouble()); - var checkout = new Checkout(command.EmployeeFullName, command.FathersName ,command.NationalCode , command.DateOfBirth, command.EmployeeId, command.WorkshopName, command.WorkshopId, command.ContractNo, command.ContractStartGr, command.ContractEndGr, month, year,