public async Task <List <PayrunDetail_Dto> > GetAllDetails() { List <PayrunDetail> list = (await PayrunDetailsRepo.GetListAsync(false)); return(ObjectMapper.Map <List <PayrunDetail>, List <PayrunDetail_Dto> >(list)); }
private IActionResult OnGetPayslip(int month, int year, Guid employeeId) { PayrunDetail payrunDetail = new PayrunDetail(); if (year != 0 && month != 0 && employeeId != Guid.Empty) { payrunDetail = PayrunDetailsRepo.WithDetails().SingleOrDefault(x => x.Year == year && x.Month == month && x.EmployeeId == employeeId); } List <dynamic> dynamicDS = new List <dynamic>(); dynamic dynamicDSRow = new ExpandoObject(); dynamic employeeDynamic = new ExpandoObject(); dynamicDSRow.basicSalary = payrunDetail.BasicSalary; //dynamicDSRow.getCompanyName = payrunDetail.Employee.Department.Company.CompanyName; //dynamicDSRow.getCompanyAddress = payrunDetail.Employee.Department.Company.CompanyLocations.ToArray()[0].Location.LocationName; dynamicDSRow.getEmployeeReferenceId = payrunDetail.Employee.GetReferenceId; dynamicDSRow.getEmployeeName = payrunDetail.Employee.Name; //dynamicDSRow.getEmployeeDepartmentName = payrunDetail.Employee.Department.Name; //dynamicDSRow.getEmployeePositionTitle = payrunDetail.Employee.Position.Title; dynamicDSRow.getPeriod = $"{payrunDetail.Month.ToString().PadLeft(2, '0')}/{payrunDetail.Year.ToString().PadLeft(2, '0')}"; dynamicDSRow.Earnings = new List <KeyValuePair <string, string> >(); foreach (PayrunAllowanceSummary allowanceSummary in payrunDetail.PayrunAllowancesSummaries) { DictionaryValue allowance = allowanceSummary.AllowanceType; string camelCaseName = allowance.Value; camelCaseName = camelCaseName.Replace(" ", ""); camelCaseName = char.ToLowerInvariant(camelCaseName[0]) + camelCaseName.Substring(1); KeyValuePair <string, string> keyValuePair = new KeyValuePair <string, string>(allowance.Value, "" + allowanceSummary.Value.ToString("N2")); dynamicDSRow.Earnings.Add(keyValuePair); //DynamicHelper.AddProperty(dynamicDSRow, $"{camelCaseName}_Value", allowanceSummary.Value); } dynamicDSRow.grossEarnings = payrunDetail.GrossEarnings; dynamicDSRow.Deductions = new List <KeyValuePair <string, string> >(); dynamicDSRow.gosiValue = payrunDetail.GOSIAmount; dynamicDSRow.Deductions.Add(new KeyValuePair <string, string>("GOSI", "" + dynamicDSRow.gosiValue.ToString("N2"))); dynamicDSRow.loansValue = payrunDetail.Loan; dynamicDSRow.Deductions.Add(new KeyValuePair <string, string>("Loans", "" + dynamicDSRow.loansValue.ToString("N2"))); dynamicDSRow.leavesValue = payrunDetail.Leaves; dynamicDSRow.Deductions.Add(new KeyValuePair <string, string>("Leaves", "" + dynamicDSRow.leavesValue.ToString("N2"))); dynamicDSRow.grossDeductions = payrunDetail.GrossDeductions; dynamicDSRow.netAmount = payrunDetail.NetAmount; dynamicDS.Add(dynamicDSRow); dynamicDSRow.Payments = new List <PayslipVM>(); double bs = (double)payrunDetail.BasicSalary; double rate = double.Parse((bs / (45 * 5)).ToString("N2")); double totalHours = payrunDetail.EmployeeTimesheet.TotalMonthHours; dynamicDSRow.Payments.Add(new PayslipVM("Basic Salary", "Salary", rate, totalHours, rate * totalHours)); dynamicDSRow.TotalPayments = (dynamicDSRow.Payments as List <PayslipVM>).Sum(x => x.Amount); dynamicDSRow.TotalHours = (dynamicDSRow.Payments as List <PayslipVM>).Sum(x => x.Hours); if (payrunDetail == null) { return(StatusCode(500)); } else { return(PartialView("_Payslip", dynamicDSRow)); } }