示例#1
0
 private void btnDeleteDeduction_Click(object sender, EventArgs e)
 {
     try
     {
         if (!this.SelectedDeduction.IsStandard)
         {
             string strMessage = string.Format("Are you sure to Delete\n{0}\nfrom the Payslip", this.SelectedDeduction.SalaryHeadName.ToUpper());
             if (MessageBox.Show(strMessage, "Sure to Delete", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
             {
                 _Payslip.MonthlyDeducations.Remove(this.SelectedDeduction);
                 this.SelectedDeduction    = null;
                 gridDeductions.DataSource = null;
                 gridDeductions.DataSource = _Payslip.MonthlyDeducations;
                 (new ServicePayRoll()).RecalculateEmployeeSalaryHeads(_Payslip);
                 UpdateTotals();
             }
         }
         else
         {
             MessageBox.Show("Cannot Delete predefined Salary Heads", "Caution", MessageBoxButtons.OK, MessageBoxIcon.Information);
         }
     }
     catch (Exception ex)
     {
         string errMessage = ex.Message;
         if (ex.InnerException != null)
         {
             errMessage += string.Format("\n{0}", ex.InnerException.Message);
         }
         MessageBox.Show(errMessage, "ControlEmployeeSalaryView::btnDeleteDeduction_Click", MessageBoxButtons.OK, MessageBoxIcon.Error);
     }
 }
示例#2
0
        private void btnAddDeduction_Click(object sender, EventArgs e)
        {
            try
            {
                EmployeePayslipItemModel newItem = new EmployeePayslipItemModel();
                newItem.IsStandard = false;
                frmAddEditPayrollItem frm = new frmAddEditPayrollItem(newItem);
                if (frm.ShowDialog() == DialogResult.OK)
                {
                    if (newItem.IsApplied)
                    {
                        if (newItem.ChargesType == libERP.MODELS.COMMON.ITEM_CHARGE_TYPE.LUMPSUM)
                        {
                            newItem.SalaryHeadAmount = newItem.SalaryHeadValue;
                        }
                        if (newItem.ChargesType == libERP.MODELS.COMMON.ITEM_CHARGE_TYPE.PERCENTAGE)
                        {
                            if (newItem.HeadForCalculation == libERP.MODELS.COMMON.SalaryHeadCalculatedOn.PERCENT_OF_BASIC)
                            {
                                newItem.SalaryHeadAmount = (_Payslip.BasicSalaryApplied * newItem.SalaryHeadValue) / 100;
                            }
                            if (newItem.HeadForCalculation == libERP.MODELS.COMMON.SalaryHeadCalculatedOn.PERCENT_OF_GROSS)
                            {
                                newItem.SalaryHeadAmount = (_Payslip.GrossSalaryAmount * newItem.SalaryHeadValue) / 100;
                            }
                            if (newItem.HeadForCalculation == libERP.MODELS.COMMON.SalaryHeadCalculatedOn.PERCENT_OF_BASIC_AND_DA)
                            {
                                int     basicSalaryHeadID = Program.LIST_DEFAULTS.Where(X => X.ID == (int)APP_DEFAULT_VALUES.BasicSalaryHeadID).FirstOrDefault().DEFAULT_VALUE;
                                decimal basicAmount       = _Payslip.MonthlyAllounces.Where(x => x.SalaryHeadID == basicSalaryHeadID).FirstOrDefault().SalaryHeadAmount;

                                int     daSalaryHeadID = Program.LIST_DEFAULTS.Where(X => X.ID == (int)APP_DEFAULT_VALUES.daSalaryHeadID).FirstOrDefault().DEFAULT_VALUE;
                                decimal daAmount       = _Payslip.MonthlyAllounces.Where(x => x.SalaryHeadID == daSalaryHeadID).FirstOrDefault().SalaryHeadAmount;


                                newItem.SalaryHeadAmount = ((basicAmount + daAmount) * newItem.SalaryHeadValue) / 100;
                            }
                        }
                    }
                    _Payslip.MonthlyDeducations.Add(newItem);
                    gridDeductions.DataSource = null;
                    gridDeductions.DataSource = _Payslip.MonthlyDeducations;
                    gridDeductions.Refresh();
                    (new ServicePayRoll()).RecalculateEmployeeSalaryHeads(_Payslip);
                    UpdateTotals();
                }
            }
            catch (Exception ex)
            {
                string errMessage = ex.Message;
                if (ex.InnerException != null)
                {
                    errMessage += string.Format("\n{0}", ex.InnerException.Message);
                }
                MessageBox.Show(errMessage, "ControlEmployeeSalaryView::btnAddDeduction_Click", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }
示例#3
0
 private void gridDeductions_RowEnter(object sender, DataGridViewCellEventArgs e)
 {
     try
     {
         this.SelectedDeduction = _Payslip.MonthlyDeducations[e.RowIndex];
     }
     catch (Exception ex)
     {
         string errMessage = ex.Message;
         if (ex.InnerException != null)
         {
             errMessage += string.Format("\n{0}", ex.InnerException.Message);
         }
         MessageBox.Show(errMessage, "ControlEmployeeSalaryView::gridDeductions_RowEnter", MessageBoxButtons.OK, MessageBoxIcon.Error);
     }
 }
示例#4
0
        private void btnAddAllounces_Click(object sender, EventArgs e)
        {
            try
            {
                EmployeePayslipItemModel newItem = new EmployeePayslipItemModel();
                newItem.IsStandard = false;
                frmAddEditPayrollItem frm = new frmAddEditPayrollItem(newItem);
                if (frm.ShowDialog() == DialogResult.OK)
                {
                    if (newItem.IsApplied)
                    {
                        if (newItem.ChargesType == libERP.MODELS.COMMON.ITEM_CHARGE_TYPE.LUMPSUM)
                        {
                            newItem.SalaryHeadAmount = newItem.SalaryHeadValue;
                        }
                        if (newItem.ChargesType == libERP.MODELS.COMMON.ITEM_CHARGE_TYPE.PERCENTAGE)
                        {
                            if (newItem.HeadForCalculation == libERP.MODELS.COMMON.SalaryHeadCalculatedOn.PERCENT_OF_BASIC)
                            {
                                newItem.SalaryHeadAmount = (_Payslip.BasicSalaryApplied * newItem.SalaryHeadValue) / 100;
                            }
                            if (newItem.HeadForCalculation == libERP.MODELS.COMMON.SalaryHeadCalculatedOn.PERCENT_OF_GROSS)
                            {
                                newItem.SalaryHeadAmount = (_Payslip.GrossSalaryAmount * newItem.SalaryHeadValue) / 100;
                            }
                        }
                    }
                    _Payslip.MonthlyAllounces.Add(newItem);
                    gridAllounces.DataSource = null;
                    gridAllounces.DataSource = _Payslip.MonthlyAllounces;
                    gridAllounces.Refresh();

                    (new ServicePayRoll()).RecalculateEmployeeSalaryHeads(_Payslip);
                    UpdateTotals();
                }
            }
            catch (Exception ex)
            {
                string errMessage = ex.Message;
                if (ex.InnerException != null)
                {
                    errMessage += string.Format("\n{0}", ex.InnerException.Message);
                }
                MessageBox.Show(errMessage, "ControlEmployeeSalaryView::btnAddAllounces_Click", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }
示例#5
0
 public frmAddEditPayrollItem(EmployeePayslipItemModel item)
 {
     this.MODEL = item;
     InitializeComponent();
 }