Example #1
0
        public async Task <ActionResult <TimesheetViewModel> > GetTimesheet(int id)
        {
            var timeSheet = _timesheetService.GetById(id);

            if (timeSheet == null)
            {
                return(NotFound("Không tìm thấy id = " + id));
            }

            return(await Task.FromResult(timeSheet));
        }
Example #2
0
        public void Delete([FromRoute] int id)
        {
            var timesheet = _timesheetService.GetById(id);

            if (timesheet == null)
            {
                throw new Exception("Timesheet is not found.");
            }

            _timesheetService.Delete(timesheet);
        }
Example #3
0
        public async Task <Object> PayrollApprovalStaff(List <int> timeSheetList)
        {
            try
            {
                await Task.Run(() =>
                {
                    List <SalaryPay> salaryPays = new List <SalaryPay>();
                    foreach (var item in timeSheetList)
                    {
                        SalaryPay salaryPay              = new SalaryPay();
                        var timeSheet                    = _timesheetService.GetById(item);
                        salaryPay.PersonnelId            = timeSheet.PersonnelId;
                        salaryPay.TotalBasicSalary       = timeSheet.Salary;
                        salaryPay.TotalAllowance         = timeSheet.Allowance;
                        salaryPay.TotalBonus             = timeSheet.Bonus;
                        salaryPay.TotalAdvancePayment    = timeSheet.AdvancePayment;
                        salaryPay.TotalSalaryOfDay       = timeSheet.SalaryOfDay;
                        salaryPay.TotalWorkdays          = timeSheet.TotalWorkday;
                        salaryPay.TotalTheoreticalAmount = timeSheet.SalaryOfDay *Convert.ToDecimal(timeSheet.TotalWorkday) + timeSheet.Allowance + timeSheet.Bonus;      // tổng lương
                        salaryPay.TotalInsurancePremium  = ((timeSheet.SalaryOfDay *Convert.ToDecimal(timeSheet.TotalWorkday) + timeSheet.Allowance + timeSheet.Bonus) * 8) / 100;
                        // nhận đc bên dưới
                        salaryPay.TotalRealityAmount = salaryPay.TotalSalaryOfDay *Convert.ToDecimal(salaryPay.TotalWorkdays) + salaryPay.TotalAllowance + salaryPay.TotalBonus - salaryPay.TotalInsurancePremium - salaryPay.TotalAdvancePayment;
                        salaryPay.Month = timeSheet.Month;
                        salaryPay.Year  = timeSheet.Year;
                        salaryPays.Add(salaryPay);
                    }

                    _context.SalaryPays.AddRange(salaryPays);
                    _context.SaveChanges();
                });
            }
            catch
            {
                throw new Exception(string.Format("Có lỗi xảy ra !"));
            }

            return(Ok());
        }