private EmployeeAttendanceSummaryModel PrepareAttendanceSummeryModel(EmployeeAttendanceSummary attendanceSummary) { EmployeeAttendanceSummaryModel attendanceSummaryModel = new EmployeeAttendanceSummaryModel(); attendanceSummaryModel.Year = attendanceSummary.Year; attendanceSummaryModel.Month = attendanceSummary.Month; attendanceSummaryModel.EmployeeId = attendanceSummary.EmployeeId; attendanceSummaryModel.EmployeeName = attendanceSummary.Employee != null ? attendanceSummary.Employee.FullName : ""; attendanceSummaryModel.SchoolId = attendanceSummary.SchoolId; attendanceSummaryModel.SchoolName = attendanceSummary.School != null ? attendanceSummary.School.Name : ""; int tp = 0; int ta = 0; int tl = 0; attendanceSummaryModel.D1 = SumupAttendanceSummeryField(attendanceSummary.D1, attendanceSummary.Year, attendanceSummary.Month, 1, ref tp, ref ta, ref tl); attendanceSummaryModel.D2 = SumupAttendanceSummeryField(attendanceSummary.D2, attendanceSummary.Year, attendanceSummary.Month, 2, ref tp, ref ta, ref tl); attendanceSummaryModel.D3 = SumupAttendanceSummeryField(attendanceSummary.D3, attendanceSummary.Year, attendanceSummary.Month, 3, ref tp, ref ta, ref tl); attendanceSummaryModel.D4 = SumupAttendanceSummeryField(attendanceSummary.D4, attendanceSummary.Year, attendanceSummary.Month, 4, ref tp, ref ta, ref tl); attendanceSummaryModel.D5 = SumupAttendanceSummeryField(attendanceSummary.D5, attendanceSummary.Year, attendanceSummary.Month, 5, ref tp, ref ta, ref tl); attendanceSummaryModel.D6 = SumupAttendanceSummeryField(attendanceSummary.D6, attendanceSummary.Year, attendanceSummary.Month, 6, ref tp, ref ta, ref tl); attendanceSummaryModel.D7 = SumupAttendanceSummeryField(attendanceSummary.D7, attendanceSummary.Year, attendanceSummary.Month, 7, ref tp, ref ta, ref tl); attendanceSummaryModel.D8 = SumupAttendanceSummeryField(attendanceSummary.D8, attendanceSummary.Year, attendanceSummary.Month, 8, ref tp, ref ta, ref tl); attendanceSummaryModel.D9 = SumupAttendanceSummeryField(attendanceSummary.D9, attendanceSummary.Year, attendanceSummary.Month, 9, ref tp, ref ta, ref tl); attendanceSummaryModel.D10 = SumupAttendanceSummeryField(attendanceSummary.D10, attendanceSummary.Year, attendanceSummary.Month, 10, ref tp, ref ta, ref tl); attendanceSummaryModel.D11 = SumupAttendanceSummeryField(attendanceSummary.D11, attendanceSummary.Year, attendanceSummary.Month, 11, ref tp, ref ta, ref tl); attendanceSummaryModel.D12 = SumupAttendanceSummeryField(attendanceSummary.D12, attendanceSummary.Year, attendanceSummary.Month, 12, ref tp, ref ta, ref tl); attendanceSummaryModel.D13 = SumupAttendanceSummeryField(attendanceSummary.D13, attendanceSummary.Year, attendanceSummary.Month, 13, ref tp, ref ta, ref tl); attendanceSummaryModel.D14 = SumupAttendanceSummeryField(attendanceSummary.D14, attendanceSummary.Year, attendanceSummary.Month, 14, ref tp, ref ta, ref tl); attendanceSummaryModel.D15 = SumupAttendanceSummeryField(attendanceSummary.D15, attendanceSummary.Year, attendanceSummary.Month, 15, ref tp, ref ta, ref tl); attendanceSummaryModel.D16 = SumupAttendanceSummeryField(attendanceSummary.D16, attendanceSummary.Year, attendanceSummary.Month, 16, ref tp, ref ta, ref tl); attendanceSummaryModel.D17 = SumupAttendanceSummeryField(attendanceSummary.D17, attendanceSummary.Year, attendanceSummary.Month, 17, ref tp, ref ta, ref tl); attendanceSummaryModel.D18 = SumupAttendanceSummeryField(attendanceSummary.D18, attendanceSummary.Year, attendanceSummary.Month, 18, ref tp, ref ta, ref tl); attendanceSummaryModel.D19 = SumupAttendanceSummeryField(attendanceSummary.D19, attendanceSummary.Year, attendanceSummary.Month, 19, ref tp, ref ta, ref tl); attendanceSummaryModel.D20 = SumupAttendanceSummeryField(attendanceSummary.D20, attendanceSummary.Year, attendanceSummary.Month, 20, ref tp, ref ta, ref tl); attendanceSummaryModel.D21 = SumupAttendanceSummeryField(attendanceSummary.D21, attendanceSummary.Year, attendanceSummary.Month, 21, ref tp, ref ta, ref tl); attendanceSummaryModel.D22 = SumupAttendanceSummeryField(attendanceSummary.D22, attendanceSummary.Year, attendanceSummary.Month, 22, ref tp, ref ta, ref tl); attendanceSummaryModel.D23 = SumupAttendanceSummeryField(attendanceSummary.D23, attendanceSummary.Year, attendanceSummary.Month, 23, ref tp, ref ta, ref tl); attendanceSummaryModel.D24 = SumupAttendanceSummeryField(attendanceSummary.D24, attendanceSummary.Year, attendanceSummary.Month, 24, ref tp, ref ta, ref tl); attendanceSummaryModel.D25 = SumupAttendanceSummeryField(attendanceSummary.D25, attendanceSummary.Year, attendanceSummary.Month, 25, ref tp, ref ta, ref tl); attendanceSummaryModel.D26 = SumupAttendanceSummeryField(attendanceSummary.D26, attendanceSummary.Year, attendanceSummary.Month, 26, ref tp, ref ta, ref tl); attendanceSummaryModel.D27 = SumupAttendanceSummeryField(attendanceSummary.D27, attendanceSummary.Year, attendanceSummary.Month, 27, ref tp, ref ta, ref tl); attendanceSummaryModel.D28 = SumupAttendanceSummeryField(attendanceSummary.D28, attendanceSummary.Year, attendanceSummary.Month, 28, ref tp, ref ta, ref tl); attendanceSummaryModel.D29 = SumupAttendanceSummeryField(attendanceSummary.D29, attendanceSummary.Year, attendanceSummary.Month, 29, ref tp, ref ta, ref tl); attendanceSummaryModel.D30 = SumupAttendanceSummeryField(attendanceSummary.D30, attendanceSummary.Year, attendanceSummary.Month, 30, ref tp, ref ta, ref tl); attendanceSummaryModel.D31 = SumupAttendanceSummeryField(attendanceSummary.D31, attendanceSummary.Year, attendanceSummary.Month, 31, ref tp, ref ta, ref tl); attendanceSummaryModel.TP = tp; attendanceSummaryModel.TA = ta; attendanceSummaryModel.TL = tl; attendanceSummaryModel.PP = Math.Round(ta != 0 ? (float)100 * tp / (tp + ta) : 100.00, 2); return(attendanceSummaryModel); }
public void PrepareCalendarSummary() { try { headerGroupMain.ValuesPrimary.Heading = string.Format("Attendance {1} {0}", ServiceEmployee.GetEmployeeNameByID(this.EmployeeID), AttendanceMonth.ToString("MMMM yyyy")); lblTotalDays.Text = lblNonWorkingDays.Text = lblPaidDays.Text = string.Empty; lblPL.Text = lblCL.Text = lblSL.Text = lblCompOff.Text = string.Empty; lblPresent.Text = lblAbsent.Text = lblOutdoor.Text = lblLateComing.Text = lblEarlyLeaving.Text = string.Empty; MODEL = (new ServiceAttendance()).GetAttendanceSummaryOfEmployeeForMonth(this.EmployeeID, this.AttendanceMonth); if (MODEL != null) { lblTotalDays.Text = MODEL.TotalDays.Text; lblNonWorkingDays.Text = MODEL.NonWorkingDays.Text; lblPaidDays.Text = MODEL.PaidDays.Text; if (MODEL.PaidDays.Days > MODEL.TotalDays.Days) { lblPaidDays.Text = MODEL.TotalDays.Text; } lblPL.Text = MODEL.PLs.Text; lblCL.Text = MODEL.CLs.Text; lblSL.Text = MODEL.SLs.Text; lblCompOff.Text = MODEL.CompOffs.Text; lblPresent.Text = MODEL.Present.Text; lblAbsent.Text = MODEL.Absent.Text; lblOutdoor.Text = MODEL.Outdoor.Text; lblLateComing.Text = MODEL.LateComings.Text; lblEarlyLeaving.Text = MODEL.EarlyGoings.Text; } } catch (Exception ex) { string errMessage = ex.Message; if (ex.InnerException != null) { errMessage += string.Format("\n{0}", ex.InnerException.Message); } MessageBox.Show(errMessage, "ControlEmployeeAttendanceSummary::PrepareCalendarSummary", MessageBoxButtons.OK, MessageBoxIcon.Error); } }
public DataTable GeneratePayrollDatatableForMonth(DateTime dateSalaryMonth) { // MONTH FORMAT -> JAN-2019 DataTable dtMain = new DataTable(); string strPayMonth = string.Format("{0}", dateSalaryMonth.ToString("MMM-yyyy")).ToUpper(); try { #region PREPARE DATATABLE COLUMNS // ADD COLUMNS TO THE DATATABLE dtMain.Columns.Add(new DataColumn() { ColumnName = payroll_col_PAYSLIP_ID, DataType = typeof(int), DefaultValue = 0 }); dtMain.Columns.Add(new DataColumn() { ColumnName = payroll_col_EMP_ID, DataType = typeof(int), DefaultValue = 0 }); dtMain.Columns.Add(new DataColumn() { ColumnName = payroll_col_EMP_CODE, DataType = typeof(int), DefaultValue = 0 }); dtMain.Columns.Add(new DataColumn() { ColumnName = payroll_col_EMP_NAME, DataType = typeof(string), DefaultValue = 0 }); dtMain.Columns.Add(new DataColumn() { ColumnName = payroll_col_TOT_DAYS, DataType = typeof(int), DefaultValue = 0 }); dtMain.Columns.Add(new DataColumn() { ColumnName = payroll_col_PRESENT_DAYS, DataType = typeof(int), DefaultValue = 0 }); dtMain.Columns.Add(new DataColumn() { ColumnName = payroll_col_ABSENT_DAYS, DataType = typeof(int), DefaultValue = 0 }); dtMain.Columns.Add(new DataColumn() { ColumnName = payroll_col_PAID_HOLIDAYS, DataType = typeof(int), DefaultValue = 0 }); dtMain.Columns.Add(new DataColumn() { ColumnName = payroll_col_WEEKLY_OFF, DataType = typeof(int), DefaultValue = 0 }); dtMain.Columns.Add(new DataColumn() { ColumnName = payroll_col_LEAVES, DataType = typeof(int), DefaultValue = 0 }); dtMain.Columns.Add(new DataColumn() { ColumnName = payroll_col_PAID_DAYS, DataType = typeof(int), DefaultValue = 0 }); dtMain.Columns.Add(new DataColumn() { ColumnName = payroll_col_TOT_EARNINGS, DataType = typeof(decimal), DefaultValue = 0 }); dtMain.Columns.Add(new DataColumn() { ColumnName = payroll_col_TOT_DEDUCTIONS, DataType = typeof(decimal), DefaultValue = 0 }); dtMain.Columns.Add(new DataColumn() { ColumnName = payroll_col_GROSS_SALARY, DataType = typeof(decimal), DefaultValue = 0 }); dtMain.Columns.Add(new DataColumn() { ColumnName = payroll_col_NET_SALARY, DataType = typeof(decimal), DefaultValue = 0 }); dtMain.Columns.Add(new DataColumn() { ColumnName = payroll_col_IS_APPROVED, DataType = typeof(bool), DefaultValue = 0 }); int stIndex = dtMain.Columns[payroll_col_TOT_EARNINGS].Ordinal; // ADDEND COLUMNS OF EARNING TYPE int ALLOUNCE_CATAGAORY_ID = _dbContext.APP_DEFAULTS.Where(X => X.ID == (int)APP_DEFAULT_VALUES.SalaryHeadEARNINGType).FirstOrDefault().DEFAULT_VALUE; List <SelectListItem> lstAllounces = (new ServiceSalaryHead()).GetSelectListItemSalaryHeadsofType(ALLOUNCE_CATAGAORY_ID); foreach (SelectListItem item in lstAllounces) { dtMain.Columns.Add(new DataColumn() { ColumnName = string.Format("{0}", item.Description), DataType = typeof(decimal), DefaultValue = false }); dtMain.Columns[item.Description].SetOrdinal(stIndex++); } dtMain.Columns[payroll_col_TOT_EARNINGS].SetOrdinal(stIndex++); // ADDEND COLUMNS OF DEDUCTION TYPE stIndex = dtMain.Columns[payroll_col_TOT_DEDUCTIONS].Ordinal; int DEDUCTION_CATAGAORY_ID = _dbContext.APP_DEFAULTS.Where(X => X.ID == (int)APP_DEFAULT_VALUES.SalaryHeadDEDUCTIONType).FirstOrDefault().DEFAULT_VALUE; List <SelectListItem> lstDeductions = (new ServiceSalaryHead()).GetSelectListItemSalaryHeadsofType(DEDUCTION_CATAGAORY_ID); foreach (SelectListItem item in lstDeductions) { dtMain.Columns.Add(new DataColumn() { ColumnName = item.Description, DataType = typeof(decimal), DefaultValue = false }); dtMain.Columns[item.Description].SetOrdinal(stIndex++); } dtMain.Columns[payroll_col_TOT_DEDUCTIONS].SetOrdinal(stIndex++); dtMain.Columns[payroll_col_GROSS_SALARY].SetOrdinal(stIndex++); dtMain.Columns[payroll_col_NET_SALARY].SetOrdinal(stIndex++); #endregion List <TBL_MP_HR_PayslipMaster> lstPayroll = _dbContext.TBL_MP_HR_PayslipMaster.Where(x => x.PayslipMonth == strPayMonth).ToList(); foreach (TBL_MP_HR_PayslipMaster item in lstPayroll) { DataRow dtrow = dtMain.NewRow(); dtrow[payroll_col_PAYSLIP_ID] = item.PayslipID; dtrow[payroll_col_EMP_ID] = item.FK_EmployeeID; dtrow[payroll_col_EMP_NAME] = _dbContext.vEMPLOYEE_DESCRIPTION.Where(x => x.PK_EmployeeId == item.FK_EmployeeID).FirstOrDefault().EmployeeDescription; dtrow[payroll_col_IS_APPROVED] = item.IsApproved; #region POPULATE DATABALE BY GETTING ATTENDANCE INFO EmployeeAttendanceSummaryModel attendance = (new ServiceAttendance()).GetAttendanceSummaryOfEmployeeForMonth(item.FK_EmployeeID, dateSalaryMonth); if (attendance != null) { dtrow[payroll_col_TOT_DAYS] = attendance.TotalDays.Days; dtrow[payroll_col_PRESENT_DAYS] = attendance.Present.Days; dtrow[payroll_col_ABSENT_DAYS] = attendance.Absent.Days; dtrow[payroll_col_PAID_DAYS] = attendance.PaidDays.Days; dtrow[payroll_col_PAID_HOLIDAYS] = attendance.NonWorkingDays.Days; //dtrow[payroll_col_WEEKLY_OFF] = attendance.Present; dtrow[payroll_col_LEAVES] = attendance.TotalLeaves; } #endregion #region POPULATE DATATABLE WITH ALLOUNCES & DEDUCTIONS EmployeePayslipModel SALARY = (new ServiceEmployee()).GetEmployeePayslipModel(item.FK_EmployeeID, dateSalaryMonth); if (SALARY != null) { foreach (EmployeePayslipItemModel payslipItem in SALARY.MonthlyAllounces) { dtrow[payslipItem.SalaryHeadName] = payslipItem.SalaryHeadAmount; } foreach (EmployeePayslipItemModel payslipItem in SALARY.MonthlyDeducations) { dtrow[payslipItem.SalaryHeadName] = payslipItem.SalaryHeadAmount; } dtrow[payroll_col_TOT_EARNINGS] = SALARY.StandardAllouncesAmount + SALARY.AdditionalAllouncesAmount; dtrow[payroll_col_TOT_DEDUCTIONS] = SALARY.StandardDeducationAmount + SALARY.AdditionalDeducationAmount; dtrow[payroll_col_GROSS_SALARY] = SALARY.GrossSalaryAmount; dtrow[payroll_col_NET_SALARY] = SALARY.NetSalaryAmount; } #endregion dtMain.Rows.Add(dtrow); } } catch (Exception ex) { string errMessage = ex.Message; if (ex.InnerException != null) { errMessage += string.Format("\n{0}", ex.InnerException.Message); } MessageBox.Show(errMessage, "ServicePayRoll::GeneratePayrollDatatableForMonth", MessageBoxButtons.OK, MessageBoxIcon.Error); } return(dtMain); }