private MonthlyPayrollAllowanceDTO SaveMonthlyPayrollAllowance(MonthlyAllowanceDetail allowanceDetail) { MonthlyPayrollAllowanceDTO existingMonthlyPayrollAllowanceDTO = monthlyPayrollAllowanceRepository.FindByMonthlyPayrollDetailAndAllowance (allowanceDetail.MonthlyPayrollDetailID, allowanceDetail.AllowanceID); MonthlyPayrollAllowanceDTO monthlyPayrollAllowanceDTO = new MonthlyPayrollAllowanceDTO { ID = existingMonthlyPayrollAllowanceDTO != null ? existingMonthlyPayrollAllowanceDTO.ID : 0, MonthlyPayrollDetailID = allowanceDetail.MonthlyPayrollDetailID, AllowanceID = allowanceDetail.AllowanceID, Variable1 = allowanceDetail.Variable1, Variable2 = allowanceDetail.Variable2, Variable3 = allowanceDetail.Variable3, Amount = allowanceDetail.Amount }; if (existingMonthlyPayrollAllowanceDTO != null) { return(monthlyPayrollAllowanceRepository.Update(monthlyPayrollAllowanceDTO)); } else { return(monthlyPayrollAllowanceRepository.Insert(monthlyPayrollAllowanceDTO)); } }
private void CalculateMonthlyPayrollDeductions(int monthlyPayrollDetailID, EmployeeDTO employeeDTO, List <DeductionDTO> deductionDTOs) { foreach (DeductionDTO deductionDTO in deductionDTOs) { DeductionDetailDTO deductionDetailDTO = deductionDetailRepository .FindBySchoolAndDeduction(employeeDTO.SchoolID, deductionDTO.ID); int tempValue = 0; string[] strList = deductionDetailDTO.AllowanceList.Split(';', StringSplitOptions.RemoveEmptyEntries); foreach (string str in strList) { MonthlyPayrollAllowanceDTO allowanceDTO = monthlyPayrollAllowanceRepository.Find(int.Parse(str)); tempValue += allowanceDTO.Amount; } strList = deductionDetailDTO.AdditionalAllowanceList.Split(';', StringSplitOptions.RemoveEmptyEntries); foreach (string str in strList) { MonthlyPayrollAdditionalAllowanceDTO additionalAllowanceDTO = monthlyPayrollAdditionalAllowanceRepository.Find(int.Parse(str)); tempValue += additionalAllowanceDTO.Amount; } int allowanceAmount = tempValue * deductionDetailDTO.PercentageValue; int amount = (allowanceAmount < deductionDetailDTO.MinimumValue) ? deductionDetailDTO.MinimumValue : allowanceAmount; SaveMonthlyPayrollDeduction(new MonthlyDeductionDetail { MonthlyPayrollDetailID = monthlyPayrollDetailID, DeductionID = deductionDetailDTO.DeductionID, Amount = amount }); } }