Ejemplo n.º 1
0
        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);
            }
        }
Ejemplo n.º 3
0
        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);
        }