コード例 #1
0
        public PartialViewResult ViewEmployeeAdjustmentDetails(int id, string date)
        {
            var dates            = date.Split('-');
            var payrollStartDate = dates[0].DeserializeDate();
            var payrollEndDate   = dates[1].DeserializeDate();
            var lastPayrollDate  = _employeePayrollService.GetNextPayrollStartDate();

            ViewBag.EditAdjustment = payrollEndDate.AddDays(1) >= lastPayrollDate ? true : false;
            ViewBag.Date           = date;

            var adjustments = _employeeAdjustmentService.GetEmployeeAdjustments(id, payrollStartDate, payrollEndDate);

            return(PartialView("_ViewAdjustmentModalContent", adjustments));
        }
コード例 #2
0
        //TODO refactor avoid looping
        public void GenerateAdjustments(IList <EmployeePayroll> employeePayrolls)
        {
            //Adjustments computation
            foreach (EmployeePayroll payroll in employeePayrolls)
            {
                //Get all employee adjustments
                var adjustments = _employeeAdjustmentService.GetEmployeeAdjustments(payroll.EmployeeId, payroll.CutOffStartDate, payroll.CutOffEndDate).ToList();

                if (adjustments != null &&
                    adjustments.Count() > 0)
                {
                    decimal positiveAdjustments = 0;
                    decimal negativeAdjustments = 0;
                    foreach (EmployeeAdjustment adjustment in adjustments)
                    {
                        if (adjustment.Adjustment.AdjustmentType == AdjustmentType.Add)
                        {
                            positiveAdjustments += adjustment.Amount;
                        }
                        else
                        {
                            negativeAdjustments += adjustment.Amount;
                        }

                        _employeeAdjustmentService.Update(adjustment);
                        adjustment.PayrollId = payroll.PayrollId;
                    }

                    Update(payroll);
                    //Update payroll for total deductions and total grosss
                    payroll.TotalDeduction += Math.Abs(negativeAdjustments);
                    payroll.TotalAdjustment = positiveAdjustments - negativeAdjustments;
                    payroll.TaxableIncome  += payroll.TotalAdjustment;
                    payroll.TotalGross     += positiveAdjustments;
                    payroll.TotalNet        = payroll.TotalGross - payroll.TotalDeduction;
                }
            }

            try
            {
                _unitOfWork.Commit();
            }
            catch (Exception e)
            {
                //Print error
            }
        }