Пример #1
0
    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
            });
        }
    }
Пример #2
0
    private MonthlyPayrollAdditionalAllowanceDTO SaveMonthlyPayrollAdditionalAllowance(MonthlyAdditionalAllowanceDetail additionalAllowanceDetail)
    {
        MonthlyPayrollAdditionalAllowanceDTO existingMonthlyPayrollAdditionalAllowanceDTO =
            monthlyPayrollAdditionalAllowanceRepository.FindByMonthlyPayrollDetailAndAdditionalAllowance
                (additionalAllowanceDetail.MonthlyPayrollDetailID, additionalAllowanceDetail.AdditionalAllowanceID);

        MonthlyPayrollAdditionalAllowanceDTO monthlyPayrollAdditionalAllowanceDTO = new MonthlyPayrollAdditionalAllowanceDTO
        {
            ID = existingMonthlyPayrollAdditionalAllowanceDTO != null ? existingMonthlyPayrollAdditionalAllowanceDTO.ID : 0,
            MonthlyPayrollDetailID = additionalAllowanceDetail.MonthlyPayrollDetailID,
            AdditionalAllowanceID  = additionalAllowanceDetail.AdditionalAllowanceID,
            Amount = additionalAllowanceDetail.Amount
        };

        if (existingMonthlyPayrollAdditionalAllowanceDTO != null)
        {
            return(monthlyPayrollAdditionalAllowanceRepository.Update(monthlyPayrollAdditionalAllowanceDTO));
        }
        else
        {
            return(monthlyPayrollAdditionalAllowanceRepository.Insert(monthlyPayrollAdditionalAllowanceDTO));
        }
    }