Esempio n. 1
0
    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));
        }
    }
Esempio n. 2
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
            });
        }
    }