protected void btnExport_Click(object sender, EventArgs e)
    {
        PageErrors errors = PageErrors.getErrors(db, Page.Master);

        errors.clear();

        //Hashtable values = new Hashtable();
        //binding.toValues(values);

        string       m_schemeCode    = "";
        string       m_paymentCode   = "";
        int          m_paymentCodeID = -1;
        DateTime     m_paymentDate   = new DateTime();
        EPaymentCode m_paymentCodeObj;

        if (SchemeCode.SelectedIndex > 0)
        {
            m_schemeCode = SchemeCode.SelectedValue;
        }

        if (BackpayDate.Value != "")
        {
            m_paymentDate = DateTime.Parse(BackpayDate.Value);
        }
        else
        {
            errors.addError("Please provide a Backpay Payment Date");
            return;
        }

        if (PaymentCode.SelectedIndex > 0)
        {
            m_paymentCode    = PaymentCode.SelectedValue;
            m_paymentCodeObj = EPaymentCode.GetObject(dbConn, m_paymentCode.Substring(0, m_paymentCode.IndexOf("-")).Trim());

            if (m_paymentCodeObj == null)
            {
                errors.addError("Cannot resolve Backpay Payment Code");
                return;
            }
        }
        else
        {
            errors.addError("Pelase select a Backpay Payment Code");
            return;
        }

        DataSet dataSet = GenerateBackpayTemplate(m_schemeCode, m_paymentCodeObj.PaymentCodeID, m_paymentDate);

        string exportFileName = System.IO.Path.GetTempFileName();

        System.IO.File.Delete(exportFileName);
        exportFileName += ".xls";
        HROne.Export.ExcelExport export = new HROne.Export.ExcelExport(exportFileName);
        export.Update(dataSet);
        WebUtils.TransmitFile(Response, exportFileName, "BackpayCND_" + AppUtils.ServerDateTime().ToString("yyyyMMddHHmmss") + ".xls", true);
    }
    protected void Repeater_ItemDataBound(object sender, DataListItemEventArgs e)
    {
        Label m_PaymentCodeLabel = (Label)e.Item.FindControl("PaymentCode");
        int   m_payCodeID        = (int)((DataRowView)e.Item.DataItem)["PayCodeID"];

        EPaymentCode m_payCode = EPaymentCode.GetObject(dbConn, m_payCodeID);

        if (m_payCode != null)
        {
            m_PaymentCodeLabel.Text = m_payCode.PaymentCode;
        }
    }
    protected void btnGenerateCND_Click(object sender, EventArgs e)
    {
        PageErrors errors = PageErrors.getErrors(db, Page.Master);

        errors.clear();

//        string m_schemeCode = "";
        string       m_paymentCode   = "";
        int          m_paymentCodeID = -1;
        DateTime     m_paymentDate   = new DateTime();
        EPaymentCode m_paymentCodeObj;

        if (PaymentDate.Text != "")
        {
            m_paymentDate = DateTime.Parse(PaymentDate.Text);
        }
        else
        {
            errors.addError("Please provide a Backpay Payment Date");
            return;
        }

        if (PaymentCode.Text != "")
        {
            m_paymentCode    = PaymentCode.Text;
            m_paymentCodeObj = EPaymentCode.GetObject(dbConn, PaymentCode.Text);

            if (m_paymentCodeObj == null)
            {
                errors.addError("Cannot resolve Backpay Payment Code");
                return;
            }
        }
        else
        {
            errors.addError("Pelase select a Backpay Payment Code");
            return;
        }

        DataSet dataSet = GenerateCND(CurID, m_paymentCodeObj.PaymentCodeID, m_paymentDate);

        string exportFileName = System.IO.Path.GetTempFileName();

        System.IO.File.Delete(exportFileName);
        exportFileName += ".xls";
        HROne.Export.ExcelExport export = new HROne.Export.ExcelExport(exportFileName);
        export.Update(dataSet);
        WebUtils.TransmitFile(Response, exportFileName, "BackpayCND_" + AppUtils.ServerDateTime().ToString("yyyyMMddHHmmss") + ".xls", true);
    }
    protected void Repeater_ItemDataBound(object sender, DataListItemEventArgs e)
    {
        //EUploadHitRateProcess obj = new EUploadHitRateProcess();
        //db.toObject(((DataRowView)e.Item.DataItem).Row, obj);

        //if (e.Item.ItemIndex == Repeater.EditItemIndex)
        //{
        //    ebinding = new Binding(dbConn, db);
        //    ebinding.add((HtmlInputHidden)e.Item.FindControl("HitRateProcessID"));
        //    ebinding.add((TextBox)e.Item.FindControl("HitRate"));

        //    ebinding.init(Request, Session);

        //    Hashtable values = new Hashtable();
        //    db.populate(obj, values);

        //    ebinding.toControl(values);
        //}
        //else
        //{
        //    HtmlInputHidden h = (HtmlInputHidden)e.Item.FindControl("UploadHitRateProcessID");
        //    h.Value = ((DataRowView)e.Item.DataItem)["UploadHitRateProcessID"].ToString();

        //    ebinding = new Binding(dbConn, db);

        //    ebinding.init(Request, Session);

        //    Hashtable values = new Hashtable();
        //    db.populate(obj, values);

        //    ebinding.toControl(values);
        //}

        Label m_PaymentCodeLabel = (Label)e.Item.FindControl("PaymentCode");
        int   m_payCodeID        = (int)((DataRowView)e.Item.DataItem)["PayCodeID"];

        EPaymentCode m_payCode = EPaymentCode.GetObject(dbConn, m_payCodeID);

        if (m_payCode != null)
        {
            m_PaymentCodeLabel.Text = m_payCode.PaymentCode;
        }

        HROne.Common.WebUtility.WebControlsLocalization(this, e.Item.Controls);
    }
예제 #5
0
    protected void Repeater_ItemDataBound(object sender, RepeaterItemEventArgs e)
    {
        DataRowView row = (DataRowView)e.Item.DataItem;
        CheckBox    cb  = (CheckBox)e.Item.FindControl("ItemSelect");

        WebFormUtils.LoadKeys(db, row, cb);
        e.Item.FindControl("ItemSelect").Visible = toolBar.DeleteButton_Visible;


        Binding ebinding;

        EBonusProcess obj = new EBonusProcess();

        db.toObject(((DataRowView)e.Item.DataItem).Row, obj);

        if (obj.BonusProcessPayCodeID > 0)
        {
            //((HtmlAnchor)e.Item.FindControl("BonusProcessMonth")).InnerText = obj.BonusProcessMonth.ToString("yyyy-MM");
            ((Label)e.Item.FindControl("BonusProcessPayDate")).Text = obj.BonusProcessPayDate.ToString("yyyy-MM-dd");
            switch (obj.BonusProcessStatus)
            {
            case EBonusProcess.STATUS_CANCELLED:
                ((Label)e.Item.FindControl("BonusProcessStatus")).Text = EBonusProcess.STATUS_CANCELLED_DESC;
                break;

            case EBonusProcess.STATUS_NORMAL:
                ((Label)e.Item.FindControl("BonusProcessStatus")).Text = EBonusProcess.STATUS_NORMAL_DESC;
                break;

            case EBonusProcess.STATUS_CONFIRMED:
                ((Label)e.Item.FindControl("BonusProcessStatus")).Text = EBonusProcess.STATUS_CONFIRMED_DESC;
                break;
            }

            EPaymentCode m_payCode = EPaymentCode.GetObject(dbConn, obj.BonusProcessPayCodeID);
            if (m_payCode != null)
            {
//                ((Label)e.Item.FindControl("BonusProcessPayCode")).Text = m_payCode.PaymentCodeDesc;
                ((Label)e.Item.FindControl("BonusProcessPayCode")).Text = m_payCode.PaymentCodeDesc;
            }
        }
    }
    private DataSet GenerateBackpayTemplate(String schemeCode, int paymentCodeID, DateTime paymentDate)
    {
        //Dictionary<int, string> m_PaymentCodeList = new Dictionary<int, string>();
        //foreach (EPaymentCode o in EPaymentCode.db.select(dbConn, new DBFilter()))
        //{
        //    m_PaymentCodeList.Add(o.PaymentCodeID, o.PaymentCode);
        //}

        string m_paymentCode = (EPaymentCode.GetObject(dbConn, paymentCodeID)).PaymentCode;

        DataSet   dataSet   = new DataSet();//export.GetDataSet();
        DataTable dataTable = new DataTable("ClaimsAndDeduction$");

        dataSet.Tables.Add(dataTable);

        dataTable.Columns.Add(HROne.Import.ImportClaimsAndDeductionsProcess.FIELD_EMP_NO, typeof(string));
        dataTable.Columns.Add("English Name", typeof(string));
        dataTable.Columns.Add(HROne.Import.ImportClaimsAndDeductionsProcess.FIELD_EFFECTIVE_DATE, typeof(DateTime));
        dataTable.Columns.Add(HROne.Import.ImportClaimsAndDeductionsProcess.FIELD_PAYMENT_CODE, typeof(string));
        dataTable.Columns.Add(HROne.Import.ImportClaimsAndDeductionsProcess.FIELD_PAYMENT_METHOD, typeof(string));
        dataTable.Columns.Add(HROne.Import.ImportClaimsAndDeductionsProcess.FIELD_BANK_ACCOUNT_NO, typeof(string));
        dataTable.Columns.Add(HROne.Import.ImportClaimsAndDeductionsProcess.FIELD_AMOUNT, typeof(double));
        dataTable.Columns.Add(HROne.Import.ImportClaimsAndDeductionsProcess.FIELD_NUM_OF_DAY_ADJUST, typeof(double));
        dataTable.Columns.Add(HROne.Import.ImportClaimsAndDeductionsProcess.FIELD_REST_PAYMENT, typeof(string));
        dataTable.Columns.Add(HROne.Import.ImportClaimsAndDeductionsProcess.FIELD_REMARK, typeof(string));
        dataTable.Columns.Add(HROne.Import.ImportClaimsAndDeductionsProcess.FIELD_COST_CENTER, typeof(string));

        DBFilter m_payscaleFilter = new DBFilter();

        m_payscaleFilter.add(new NullTerm("ExpiryDate"));

        if (schemeCode != "")
        {
            m_payscaleFilter.add(new Match("SchemeCode", schemeCode));
        }

        m_payscaleFilter.add("EffectiveDate", false);

        foreach (EPayScaleMap m_latestPayscale in EPayScaleMap.db.select(dbConn, m_payscaleFilter))
        {
            DBFilter m_payPeriodFilter = new DBFilter();
            m_payPeriodFilter.add(new Match("PayPeriodFr", ">=", m_latestPayscale.EffectiveDate));
            m_payPeriodFilter.add(new Match("PayPeriodStatus", "=", EPayrollPeriod.PAYPERIOD_STATUS_PROCESSEND_FLAG));
            m_payPeriodFilter.add(WebUtils.AddRankFilter(Session, "EmpID", true));

            foreach (EPayrollPeriod m_payrollPeriod in EPayrollPeriod.db.select(dbConn, m_payPeriodFilter))
            {
                DBFilter m_empPayrollFilter = new DBFilter();
                m_empPayrollFilter.add(new Match("PayPeriodID", m_payrollPeriod.PayPeriodID));

                DBFilter m_paymentRecordFilter = new DBFilter();
                DBFilter m_paymentTypeFilter   = new DBFilter();
                DBFilter m_paymentCodeFilter   = new DBFilter();

                m_paymentTypeFilter.add(new Match("PaymentTypeCode", "BASICSAL"));
                m_paymentCodeFilter.add(new IN("PaymentTypeID", "SELECT PaymentTypeID FROM PaymentType", m_paymentTypeFilter));

                m_paymentRecordFilter.add(new Match("EmpRPIDforBP", ">", 0));
                m_paymentRecordFilter.add(new IN("EmpPayrollID", "SELECT EmpPayrollID FROM EmpPayroll", m_empPayrollFilter));
                m_paymentRecordFilter.add(new IN("PaymentCodeID", "SELECT PaymentCodeID FROM PaymentCode", m_paymentCodeFilter));

                foreach (EPaymentRecord m_payRecord in EPaymentRecord.db.select(dbConn, m_paymentRecordFilter))
                {
                    EEmpRecurringPayment m_empRP = EEmpRecurringPayment.GetObject(dbConn, m_payRecord.EmpRPIDforBP);

                    if (schemeCode != "")
                    {
                        if (m_empRP.SchemeCode == null || m_empRP.SchemeCode != schemeCode)
                        {
                            break;
                        }
                    }
                    decimal m_newSalary = GetPayScale(m_empRP);
                    string  m_remarks   = "";
                    double  m_amount    = 0;
                    if (m_newSalary > 0)
                    {
//                        m_amount = Math.Round((m_payRecord.PayRecActAmount / m_empRP.EmpRPAmount) * (System.Convert.ToDouble(m_newSalary) - m_empRP.EmpRPAmount), 2);

                        int m_daysInMonth = DateTime.DaysInMonth(m_payrollPeriod.PayPeriodFr.Year, m_payrollPeriod.PayPeriodFr.Month);
                        if (m_payRecord.PayRecNumOfDayAdj != m_daysInMonth)
                        {
                            m_amount = Math.Round((System.Convert.ToDouble(m_newSalary) - m_empRP.EmpRPAmount) * m_payRecord.PayRecNumOfDayAdj / m_daysInMonth, 2);

                            m_remarks = String.Format("Backpay {0}: ({1}-{2})*{3}/{4}.", m_payrollPeriod.PayPeriodFr.ToString("yyyy-MM"),
                                                      m_newSalary.ToString("#,##0.00"),
                                                      m_empRP.EmpRPAmount.ToString("#,##0.00"),
                                                      m_payRecord.PayRecNumOfDayAdj,
                                                      m_daysInMonth);
                        }
                        else
                        {
                            m_amount  = Math.Round((System.Convert.ToDouble(m_newSalary) - m_empRP.EmpRPAmount), 2);
                            m_remarks = String.Format("Backpay {0}: {1}-{2}.", m_payrollPeriod.PayPeriodFr.ToString("yyyy-MM"),
                                                      m_newSalary.ToString("#,##0.00"),
                                                      m_empRP.EmpRPAmount.ToString("#,##0.00"));
                        }
                        if (m_amount > 0)
                        {
                            EEmpPersonalInfo m_empInfo = new EEmpPersonalInfo();
                            m_empInfo.EmpID = m_empRP.EmpID;
                            EEmpPersonalInfo.db.select(dbConn, m_empInfo);

                            DataRow m_row = dataTable.NewRow();
                            m_row[HROne.Import.ImportClaimsAndDeductionsProcess.FIELD_EMP_NO] = m_empInfo.EmpNo;
                            m_row["English Name"] = m_empInfo.EmpEngFullName;
                            m_row[HROne.Import.ImportClaimsAndDeductionsProcess.FIELD_EFFECTIVE_DATE] = paymentDate;
                            m_row[HROne.Import.ImportClaimsAndDeductionsProcess.FIELD_PAYMENT_CODE]   = m_paymentCode;
                            switch (m_empRP.EmpRPMethod)
                            {
                            case "A":
                                m_row[HROne.Import.ImportClaimsAndDeductionsProcess.FIELD_PAYMENT_METHOD] = "Autopay";
                                break;

                            case "Q":
                                m_row[HROne.Import.ImportClaimsAndDeductionsProcess.FIELD_PAYMENT_METHOD] = "Cheque";
                                break;

                            case "C":
                                m_row[HROne.Import.ImportClaimsAndDeductionsProcess.FIELD_PAYMENT_METHOD] = "Cash";
                                break;

                            default:
                                m_row[HROne.Import.ImportClaimsAndDeductionsProcess.FIELD_PAYMENT_METHOD] = "Other";
                                break;
                            }
                            m_row[HROne.Import.ImportClaimsAndDeductionsProcess.FIELD_AMOUNT]            = m_amount;
                            m_row[HROne.Import.ImportClaimsAndDeductionsProcess.FIELD_NUM_OF_DAY_ADJUST] = 0;
                            m_row[HROne.Import.ImportClaimsAndDeductionsProcess.FIELD_REST_PAYMENT]      = "No";
                            m_row[HROne.Import.ImportClaimsAndDeductionsProcess.FIELD_REMARK]            = m_remarks;

                            EEmpBankAccount m_bank = new EEmpBankAccount();
                            m_bank.EmpBankAccountID = m_empRP.EmpAccID;
                            if (EEmpBankAccount.db.select(dbConn, m_bank))
                            {
                                m_row[HROne.Import.ImportClaimsAndDeductionsProcess.FIELD_BANK_ACCOUNT_NO] = m_bank.EmpAccountNo;
                            }

                            ECostCenter m_costCenter = new ECostCenter();
                            m_costCenter.CostCenterID = m_empRP.CostCenterID;
                            if (ECostCenter.db.select(dbConn, m_costCenter))
                            {
                                m_row[HROne.Import.ImportClaimsAndDeductionsProcess.FIELD_COST_CENTER] = m_costCenter.CostCenterCode;
                            }
                            dataTable.Rows.Add(m_row);
                        }
                    }
                }
            }
            break;  // handle only 1 effective date
        }
        return(dataSet);
    }
    //protected void init_PaymentCodeDropdown()
    //{
    //    if (PaymentCode.Items.Count <= 0)
    //    {
    //        PaymentCode.Items.Add(new ListItem("Not Selected", "-1"));

    //        DBFilter m_filter = new DBFilter();
    //        m_filter.add("PaymentCode", true);

    //        foreach (EPaymentCode o in EPaymentCode.db.select(dbConn, m_filter))
    //        {
    //            PaymentCode.Items.Add(new ListItem(string.Format("{0} - {1}", o.PaymentCode, o.PaymentCodeDesc), o.PaymentCodeID.ToString()));
    //        }
    //    }
    //}

    protected DataSet GenerateCND(int ProcessID, DateTime PaymentDate)
    {
        EHitRateProcessImportBatch m_process = EHitRateProcessImportBatch.GetObject(dbConn, ProcessID);

        DataSet   dataSet   = new DataSet();//export.GetDataSet();
        DataTable dataTable = new DataTable("ClaimsAndDeduction$");

        dataSet.Tables.Add(dataTable);

        dataTable.Columns.Add(HROne.Import.ImportClaimsAndDeductionsProcess.FIELD_EMP_NO, typeof(string));
        dataTable.Columns.Add("English Name", typeof(string));
        dataTable.Columns.Add(HROne.Import.ImportClaimsAndDeductionsProcess.FIELD_EFFECTIVE_DATE, typeof(DateTime));
        dataTable.Columns.Add(HROne.Import.ImportClaimsAndDeductionsProcess.FIELD_PAYMENT_CODE, typeof(string));
        dataTable.Columns.Add(HROne.Import.ImportClaimsAndDeductionsProcess.FIELD_PAYMENT_METHOD, typeof(string));
        dataTable.Columns.Add(HROne.Import.ImportClaimsAndDeductionsProcess.FIELD_BANK_ACCOUNT_NO, typeof(string));
        dataTable.Columns.Add(HROne.Import.ImportClaimsAndDeductionsProcess.FIELD_AMOUNT, typeof(double));
        dataTable.Columns.Add(HROne.Import.ImportClaimsAndDeductionsProcess.FIELD_NUM_OF_DAY_ADJUST, typeof(double));
        dataTable.Columns.Add(HROne.Import.ImportClaimsAndDeductionsProcess.FIELD_REST_PAYMENT, typeof(string));
        dataTable.Columns.Add(HROne.Import.ImportClaimsAndDeductionsProcess.FIELD_REMARK, typeof(string));
        dataTable.Columns.Add(HROne.Import.ImportClaimsAndDeductionsProcess.FIELD_COST_CENTER, typeof(string));

        DBFilter m_detailFilter = new DBFilter();

        m_detailFilter.add(new Match("HitRateProcessImportBatchID", ProcessID));
        m_detailFilter.add("EmpID", true);

        foreach (EHitRateProcess m_detail in EHitRateProcess.db.select(dbConn, m_detailFilter))
        {
            DBFilter m_rpFilter = new DBFilter();
            m_rpFilter.add(new NullTerm("EmpRPEffTo"));
            m_rpFilter.add(new Match("PayCodeID", m_detail.payCodeID));
            m_rpFilter.add(new Match("EmpID", m_detail.EmpID));
            m_rpFilter.add("EmpRPEffTo", true);

            ArrayList m_empRPList = EEmpRecurringPayment.db.select(dbConn, m_rpFilter);

            if (m_empRPList.Count > 0)
            {
                EEmpRecurringPayment m_empRP = (EEmpRecurringPayment)m_empRPList[0];

                double m_amount = m_empRP.EmpRPAmount * m_detail.HitRate / (double)100;
                string m_remarks;

//                if (m_amount > 0 && Math.Abs(m_amount) >= 0.01)
                {
                    m_remarks = String.Format("{0}*{1}%", m_empRP.EmpRPAmount.ToString("#,##0.00"),
                                              m_detail.HitRate.ToString("#,##0.00"));

                    EEmpPersonalInfo m_empInfo = new EEmpPersonalInfo();
                    m_empInfo.EmpID = m_empRP.EmpID;
                    EEmpPersonalInfo.db.select(dbConn, m_empInfo);

                    DataRow m_row = dataTable.NewRow();
                    m_row[HROne.Import.ImportClaimsAndDeductionsProcess.FIELD_EMP_NO] = m_empInfo.EmpNo;
                    m_row["English Name"] = m_empInfo.EmpEngFullName;
                    m_row[HROne.Import.ImportClaimsAndDeductionsProcess.FIELD_EFFECTIVE_DATE] = PaymentDate;

                    EPaymentCode m_paymentCode = EPaymentCode.GetObject(dbConn, m_empRP.PayCodeID);
                    m_row[HROne.Import.ImportClaimsAndDeductionsProcess.FIELD_PAYMENT_CODE] = m_paymentCode.PaymentCode;

                    switch (m_empRP.EmpRPMethod)
                    {
                    case "A":
                        m_row[HROne.Import.ImportClaimsAndDeductionsProcess.FIELD_PAYMENT_METHOD] = "Autopay";
                        break;

                    case "Q":
                        m_row[HROne.Import.ImportClaimsAndDeductionsProcess.FIELD_PAYMENT_METHOD] = "Cheque";
                        break;

                    case "C":
                        m_row[HROne.Import.ImportClaimsAndDeductionsProcess.FIELD_PAYMENT_METHOD] = "Cash";
                        break;

                    default:
                        m_row[HROne.Import.ImportClaimsAndDeductionsProcess.FIELD_PAYMENT_METHOD] = "Other";
                        break;
                    }
                    m_row[HROne.Import.ImportClaimsAndDeductionsProcess.FIELD_AMOUNT]            = Math.Round(m_amount, 2);
                    m_row[HROne.Import.ImportClaimsAndDeductionsProcess.FIELD_NUM_OF_DAY_ADJUST] = 0; //DateTime.DaysInMonth(m_process.AsAtDate);
                    m_row[HROne.Import.ImportClaimsAndDeductionsProcess.FIELD_REST_PAYMENT]      = "No";
                    m_row[HROne.Import.ImportClaimsAndDeductionsProcess.FIELD_REMARK]            = m_remarks;

                    if (m_empRP.EmpAccID > 0)   // account number specified
                    {
                        EEmpBankAccount m_bank = new EEmpBankAccount();
                        m_bank.EmpBankAccountID = m_empRP.EmpAccID;
                        if (EEmpBankAccount.db.select(dbConn, m_bank))
                        {
                            m_row[HROne.Import.ImportClaimsAndDeductionsProcess.FIELD_BANK_ACCOUNT_NO] = m_bank.EmpAccountNo;
                        }
                    }
                    //else
                    //{
                    //    // get default bank account
                    //    DBFilter m_bankAccFilter = new DBFilter();
                    //    m_bankAccFilter.add(new Match("EmpID", m_empRP.EmpID));
                    //    m_bankAccFilter.add(new Match("EmpAccDefault", true));
                    //    m_bankAccFilter.add("empBankAccountID", true);
                    //    ArrayList m_bankAccList = EEmpBankAccount.db.select(dbConn, m_bankAccFilter);
                    //    if (m_bankAccList.Count > 0)
                    //    {
                    //        m_row[HROne.Import.ImportClaimsAndDeductionsProcess.FIELD_BANK_ACCOUNT_NO] = ((EEmpBankAccount)m_bankAccList[0]).EmpAccountNo;
                    //    }
                    //}

                    ECostCenter m_costCenter = new ECostCenter();
                    m_costCenter.CostCenterID = m_empRP.CostCenterID;
                    if (ECostCenter.db.select(dbConn, m_costCenter))
                    {
                        m_row[HROne.Import.ImportClaimsAndDeductionsProcess.FIELD_COST_CENTER] = m_costCenter.CostCenterCode;
                    }
                    dataTable.Rows.Add(m_row);
                }
            }
        }
        return(dataSet);
    }
예제 #8
0
    protected DataSet GenerateCND(int ProcessID, int PaymentCodeID, DateTime PaymentDate)
    {
        EPaymentCode m_paymentCode = EPaymentCode.GetObject(dbConn, PaymentCodeID);
        ECommissionAchievementImportBatch m_process = ECommissionAchievementImportBatch.GetObject(dbConn, ProcessID);

        DataSet   dataSet   = new DataSet();//export.GetDataSet();
        DataTable dataTable = new DataTable("ClaimsAndDeduction$");

        dataSet.Tables.Add(dataTable);

        dataTable.Columns.Add(HROne.Import.ImportClaimsAndDeductionsProcess.FIELD_EMP_NO, typeof(string));
        dataTable.Columns.Add("English Name", typeof(string));
        dataTable.Columns.Add(HROne.Import.ImportClaimsAndDeductionsProcess.FIELD_EFFECTIVE_DATE, typeof(DateTime));
        dataTable.Columns.Add(HROne.Import.ImportClaimsAndDeductionsProcess.FIELD_PAYMENT_CODE, typeof(string));
        dataTable.Columns.Add(HROne.Import.ImportClaimsAndDeductionsProcess.FIELD_PAYMENT_METHOD, typeof(string));
        dataTable.Columns.Add(HROne.Import.ImportClaimsAndDeductionsProcess.FIELD_BANK_ACCOUNT_NO, typeof(string));
        dataTable.Columns.Add(HROne.Import.ImportClaimsAndDeductionsProcess.FIELD_AMOUNT, typeof(double));
        dataTable.Columns.Add(HROne.Import.ImportClaimsAndDeductionsProcess.FIELD_NUM_OF_DAY_ADJUST, typeof(double));
        dataTable.Columns.Add(HROne.Import.ImportClaimsAndDeductionsProcess.FIELD_REST_PAYMENT, typeof(string));
        dataTable.Columns.Add(HROne.Import.ImportClaimsAndDeductionsProcess.FIELD_REMARK, typeof(string));
        dataTable.Columns.Add(HROne.Import.ImportClaimsAndDeductionsProcess.FIELD_COST_CENTER, typeof(string));

        DBFilter m_detailFilter = new DBFilter();

        m_detailFilter.add(new Match("CAImportBatchID", ProcessID));
        m_detailFilter.add("EmpID", true);

        foreach (ECommissionAchievement m_detail in ECommissionAchievement.db.select(dbConn, m_detailFilter))
        {
            DBFilter m_rpFilter = new DBFilter();
            OR       m_orDate   = new OR();

            m_orDate.add(new NullTerm("EmpRPEffTo"));
            m_orDate.add(new Match("EmpRPEffTo", ">=", m_detail.CAEffDate));

            m_rpFilter.add(m_orDate);
            m_rpFilter.add(new Match("EmpRPEffFr", "<=", m_detail.CAEffDate));
            m_rpFilter.add(new Match("EmpID", m_detail.EmpID));
            //m_rpFilter.add(new NullTerm("NOT EmpRPBasicSalary"));
            m_rpFilter.add(new Match("EmpRPBasicSalary", ">", 0));
            m_rpFilter.add(new Match("EmpRPFPS", "<", 100));
            m_rpFilter.add(new Match("EmpRPFPS", ">", 0));

            foreach (EEmpRecurringPayment m_empRP in EEmpRecurringPayment.db.select(dbConn, m_rpFilter))
            {
                double m_amount = m_empRP.EmpRPBasicSalary * m_detail.CAPercent / 100 - m_empRP.EmpRPAmount;
                string m_remarks;
                if (m_amount > 0 && Math.Abs(m_amount) >= 0.01)
                {
                    m_remarks = String.Format("({0}*{1}%) - {2}", m_empRP.EmpRPBasicSalary.ToString("#,##0.00"),
                                              m_detail.CAPercent.ToString("#,##0.00"),
                                              m_empRP.EmpRPAmount.ToString("#,##0.00"));

                    EEmpPersonalInfo m_empInfo = new EEmpPersonalInfo();
                    m_empInfo.EmpID = m_empRP.EmpID;
                    EEmpPersonalInfo.db.select(dbConn, m_empInfo);

                    DataRow m_row = dataTable.NewRow();
                    m_row[HROne.Import.ImportClaimsAndDeductionsProcess.FIELD_EMP_NO] = m_empInfo.EmpNo;
                    m_row["English Name"] = m_empInfo.EmpEngFullName;
                    m_row[HROne.Import.ImportClaimsAndDeductionsProcess.FIELD_EFFECTIVE_DATE] = PaymentDate;
                    m_row[HROne.Import.ImportClaimsAndDeductionsProcess.FIELD_PAYMENT_CODE]   = m_paymentCode.PaymentCode;
                    switch (m_empRP.EmpRPMethod)
                    {
                    case "A":
                        m_row[HROne.Import.ImportClaimsAndDeductionsProcess.FIELD_PAYMENT_METHOD] = "Autopay";
                        break;

                    case "Q":
                        m_row[HROne.Import.ImportClaimsAndDeductionsProcess.FIELD_PAYMENT_METHOD] = "Cheque";
                        break;

                    case "C":
                        m_row[HROne.Import.ImportClaimsAndDeductionsProcess.FIELD_PAYMENT_METHOD] = "Cash";
                        break;

                    default:
                        m_row[HROne.Import.ImportClaimsAndDeductionsProcess.FIELD_PAYMENT_METHOD] = "Other";
                        break;
                    }
                    m_row[HROne.Import.ImportClaimsAndDeductionsProcess.FIELD_AMOUNT]            = Math.Round(m_amount, 2);
                    m_row[HROne.Import.ImportClaimsAndDeductionsProcess.FIELD_NUM_OF_DAY_ADJUST] = 0; //DateTime.DaysInMonth(m_process.AsAtDate);
                    m_row[HROne.Import.ImportClaimsAndDeductionsProcess.FIELD_REST_PAYMENT]      = "No";
                    m_row[HROne.Import.ImportClaimsAndDeductionsProcess.FIELD_REMARK]            = m_remarks;

                    EEmpBankAccount m_bank = new EEmpBankAccount();
                    m_bank.EmpBankAccountID = m_empRP.EmpAccID;
                    if (EEmpBankAccount.db.select(dbConn, m_bank))
                    {
                        m_row[HROne.Import.ImportClaimsAndDeductionsProcess.FIELD_BANK_ACCOUNT_NO] = m_bank.EmpAccountNo;
                    }

                    ECostCenter m_costCenter = new ECostCenter();
                    m_costCenter.CostCenterID = m_empRP.CostCenterID;
                    if (ECostCenter.db.select(dbConn, m_costCenter))
                    {
                        m_row[HROne.Import.ImportClaimsAndDeductionsProcess.FIELD_COST_CENTER] = m_costCenter.CostCenterCode;
                    }
                    dataTable.Rows.Add(m_row);
                }
            }
        }
        return(dataSet);
    }
예제 #9
0
        public static DataTable ExportTemplate(DatabaseConnection dbConn, ArrayList empList, bool IsIncludeCurrentPositionInfo)
        {
            DataTable tmpDataTable = new DataTable(TABLE_NAME);

            tmpDataTable.Columns.Add(HROne.Import.ImportHitRateBasedPaymentProcess.FIELD_EMP_NO, typeof(string));

            if (IsIncludeCurrentPositionInfo)
            {
                ImportEmpPersonalInfoProcess.AddEmployeeInfoHeader(tmpDataTable);
                ImportEmpPositionInfoProcess.AddEmployeePositionInfoHeader(dbConn, tmpDataTable);
            }

            //tmpDataTable.Columns.Add(HROne.Import.ImportHitRateBasedPaymentProcess.FIELD_EFF_DATE, typeof(DateTime));
            tmpDataTable.Columns.Add(HROne.Import.ImportHitRateBasedPaymentProcess.FIELD_PAYMENT_CODE, typeof(string));
            tmpDataTable.Columns.Add(HROne.Import.ImportHitRateBasedPaymentProcess.FIELD_PERCENT, typeof(double));

            foreach (EEmpPersonalInfo empInfo in empList)
            {
                if (EEmpPersonalInfo.db.select(dbConn, empInfo))
                {
                    DBFilter m_empRPFilter = new DBFilter();
                    m_empRPFilter.add(new Match("EmpID", empInfo.EmpID));
                    m_empRPFilter.add(new NullTerm("EmpRPEffTo"));
                    m_empRPFilter.add("EmpRPEffFr", true);
                    foreach (EEmpRecurringPayment m_rpInfo in EEmpRecurringPayment.db.select(dbConn, m_empRPFilter))
                    {
                        EPaymentCode m_paymentCode = EPaymentCode.GetObject(dbConn, m_rpInfo.PayCodeID);
                        if (m_paymentCode.PaymentCodeIsHitRateBased)
                        {
                            DataRow row = tmpDataTable.NewRow();

                            row[FIELD_EMP_NO] = empInfo.EmpNo;

                            if (IsIncludeCurrentPositionInfo)
                            {
                                ImportEmpPersonalInfoProcess.AddEmployeeInfo(dbConn, row, empInfo.EmpID);
                                ImportEmpPositionInfoProcess.AddEmployeePositionInfo(dbConn, row, empInfo.EmpID);
                            }

                            row[FIELD_PAYMENT_CODE] = m_paymentCode.PaymentCode;

                            int m_monthDiff = AppUtils.ServerDateTime().Year * 12 + AppUtils.ServerDateTime().Month -
                                              (empInfo.EmpServiceDate.Year * 12 + empInfo.EmpServiceDate.Month);

                            if (m_paymentCode.PaymentCodeDefaultRateAtMonth1 > 0 && m_monthDiff == 0)   // service start in current month
                            {
                                row[FIELD_PERCENT] = m_paymentCode.PaymentCodeDefaultRateAtMonth1;
                            }
                            else if (m_paymentCode.PaymentCodeDefaultRateAtMonth2 > 0 && m_monthDiff == 1) // emp service start in last month
                            {
                                row[FIELD_PERCENT] = m_paymentCode.PaymentCodeDefaultRateAtMonth2;
                            }
                            else if (m_paymentCode.PaymentCodeDefaultRateAtMonth2 > 0 && m_monthDiff == 2) // emp service start in 2 months before this month
                            {
                                row[FIELD_PERCENT] = m_paymentCode.PaymentCodeDefaultRateAtMonth3;
                            }
                            tmpDataTable.Rows.Add(row);
                        }
                    }
                }
            }
            if (IsIncludeCurrentPositionInfo)
            {
                ImportEmpPositionInfoProcess.RetriveHierarchyLevelHeader(dbConn, tmpDataTable);
            }
            return(tmpDataTable);
        }
    protected void Page_Load(object sender, EventArgs e)
    {
        if (!WebUtils.CheckAccess(Response, Session, FUNCTION_CODE, WebUtils.AccessLevel.ReadWrite))
        {
            return;
        }
        if (ESystemParameter.getParameter(dbConn, ESystemParameter.PARAM_CODE_PAYSCALE_POINT_SYSTEM) != "Y")
        {
            HROne.Common.WebUtility.RedirectURLwithEncryptedQueryString(Response, Session, "~/AccessDeny.aspx");
            return;
        }

        toolBar.FunctionCode = FUNCTION_CODE;

        #region "binding for Process information"
        binding = new Binding(dbConn, db);
        //binding.add(BackpayProcessID);
        binding.add(AsAtDate);
        binding.add(new CheckBoxBinder(db, DeferredBatch));
        binding.add(PaymentDate);
        binding.add(new LabelVLBinder(db, Status, ESalaryIncrementBatch.VLStatusDesc));

        binding.add(UploadDateTime);
        binding.add(ConfirmDateTime);
        // binding.add(UploadEmpID); // load employee name from LoadData
        // binding.add(ConfirmEmpID);   // load employee name from LoadData

        binding.init(Request, Session);
        #endregion

        #region "binding for Process Detail"
        detailBinding = new SearchBinding(dbConn, db);
        detailBinding.init(DecryptedRequest, null);
        #endregion

        if (!int.TryParse(DecryptedRequest["BatchID"], out CurID))
        {
            CurID = -1;
        }

        if (!Page.IsPostBack)
        {
            if (CurID > 0)
            {
                loadObject();

                if (Status.Text != ESalaryIncrementBatch.STATUS_OPEN_DESC)
                {
                    btnConfirm.Visible = false;
                    btnExport.Visible  = false;
                    btnImport.Visible  = false;

                    toolBar.DeleteButton_Visible = false;
                    toolBar.EditButton_Visible   = false;

                    if (Status.Text == ESalaryIncrementBatch.STATUS_CONFIRMED_DESC)
                    {
                        btnGenerateCND.Visible = DeferredBatch.Checked;
                    }
                }

                if (obj != null)
                {
                    EPaymentCode m_paymentCodeObj = new EPaymentCode();
                    m_paymentCodeObj = EPaymentCode.GetObject(dbConn, obj.PaymentCodeID);
                    if (m_paymentCodeObj != null)
                    {
                        PaymentCode.Text     = m_paymentCodeObj.PaymentCode;
                        PaymentCodeDesc.Text = m_paymentCodeObj.PaymentCodeDesc;
                    }
                }

                CNDRow.Visible = DeferredBatch.Checked;
            }
            else
            {
                btnConfirm.Visible = false;
                btnExport.Visible  = false;
                btnImport.Visible  = false;

                toolBar.DeleteButton_Visible = false;
                toolBar.EditButton_Visible   = false;
            }
        }

        info = ListFooter.ListInfo;
        HROne.Common.WebUtility.WebControlsLocalization(this, this.Controls);
    }
예제 #11
0
    protected bool loadObject()
    {
        obj = new EBonusProcess();
        bool isNew = WebFormWorkers.loadKeys(db, obj, DecryptedRequest);

        if (!db.select(dbConn, obj))
        {
            return(false);
        }

        BonusProcessID.Value     = obj.BonusProcessID.ToString("0");
        BonusProcessDesc.Text    = obj.BonusProcessDesc;
        BonusProcessMonth.Text   = obj.BonusProcessMonth.ToString("yyyy-MM");
        BonusProcessPayDate.Text = obj.BonusProcessPayDate.ToString("yyyy-MM-dd");
        if (obj.BonusProcessPayCodeID > 0)
        {
            EPaymentCode m_code = EPaymentCode.GetObject(dbConn, obj.BonusProcessPayCodeID);
            BonusProcessPayCode.Text = m_code.PaymentCodeDesc;
        }
        BonusProcessStatus.Text = obj.BonusProcessStatus;
        switch (obj.BonusProcessStatus)
        {
        case EBonusProcess.STATUS_NORMAL:
            BonusProcessStatusDesc.Text = EBonusProcess.STATUS_NORMAL_DESC;
            break;

        case EBonusProcess.STATUS_CONFIRMED:
            BonusProcessStatusDesc.Text = EBonusProcess.STATUS_CONFIRMED_DESC;
            break;

        case EBonusProcess.STATUS_CANCELLED:
            BonusProcessStatusDesc.Text = EBonusProcess.STATUS_CANCELLED_DESC;
            break;
        }

        if (obj.BonusProcessPeriodFr.Ticks != 0)
        {
            BonusProcessPeriodFr.Text = obj.BonusProcessPeriodFr.ToString("yyyy-MM-dd");
        }

        if (obj.BonusProcessPeriodTo.Ticks != 0)
        {
            BonusProcessPeriodTo.Text = obj.BonusProcessPeriodTo.ToString("yyyy-MM-dd");
        }

        // Part 1
        if (obj.BonusProcessSalaryMonth.Ticks != 0)
        {
            BonusProcessSalaryMonth.Text = obj.BonusProcessSalaryMonth.ToString("yyyy-MM-dd");
        }

        BonusProcessStdRate.Text = obj.BonusProcessStdRate.ToString("0.0000");

        // Part2
        BonusProcessRank1.Text = obj.BonusProcessRank1.ToString("0.00");
        BonusProcessRank2.Text = obj.BonusProcessRank2.ToString("0.00");
        BonusProcessRank3.Text = obj.BonusProcessRank3.ToString("0.00");
        BonusProcessRank4.Text = obj.BonusProcessRank4.ToString("0.00");
        BonusProcessRank5.Text = obj.BonusProcessRank5.ToString("0.00");

        // load Part1 count
        DBFilter m_countFilter = new DBFilter();

        m_countFilter.add(new Match("BonusProcessID", CurID));
        m_countFilter.add(new Match("EmpBonusProcessType", "S"));
        Part1DataCount.Text = EEmpBonusProcess.db.count(dbConn, m_countFilter).ToString("0");

        // load Part2 count
        m_countFilter = new DBFilter();
        m_countFilter.add(new Match("BonusProcessID", CurID));
        m_countFilter.add(new Match("EmpBonusProcessType", "D"));
        Part2DataCount.Text = EEmpBonusProcess.db.count(dbConn, m_countFilter).ToString("0");

        // control visibility of commands
        if (obj.BonusProcessStatus != EBonusProcess.STATUS_NORMAL)
        {
            BasicInfoCommands.Visible = false;
            Part1Commands.Visible     = false;
            Part2Commands.Visible     = false;

            toolBar.EditButton_Visible   = false;
            toolBar.DeleteButton_Visible = false;
            btnConfirmAndSeal.Visible    = false;
        }

        return(true);
    }
예제 #12
0
        public DataSet GenerateCND()
        {
            EBonusProcess m_process = EBonusProcess.GetObject(dbConn, m_BonusProcessID);
            //        EPaymentCode m_paymentCode = EPaymentCode.GetObject(dbConn, m_process.BonusProcessPayCodeID);

            DataSet   dataSet   = new DataSet();//export.GetDataSet();
            DataTable dataTable = new DataTable("ClaimsAndDeduction$");

            dataSet.Tables.Add(dataTable);

            dataTable.Columns.Add(HROne.Import.ImportClaimsAndDeductionsProcess.FIELD_EMP_NO, typeof(string));
            dataTable.Columns.Add("English Name", typeof(string));
            dataTable.Columns.Add(HROne.Import.ImportClaimsAndDeductionsProcess.FIELD_EFFECTIVE_DATE, typeof(DateTime));
            dataTable.Columns.Add(HROne.Import.ImportClaimsAndDeductionsProcess.FIELD_PAYMENT_CODE, typeof(string));
            dataTable.Columns.Add(HROne.Import.ImportClaimsAndDeductionsProcess.FIELD_PAYMENT_METHOD, typeof(string));
            dataTable.Columns.Add(HROne.Import.ImportClaimsAndDeductionsProcess.FIELD_BANK_ACCOUNT_NO, typeof(string));
            dataTable.Columns.Add(HROne.Import.ImportClaimsAndDeductionsProcess.FIELD_AMOUNT, typeof(double));
            dataTable.Columns.Add(HROne.Import.ImportClaimsAndDeductionsProcess.FIELD_NUM_OF_DAY_ADJUST, typeof(double));
            dataTable.Columns.Add(HROne.Import.ImportClaimsAndDeductionsProcess.FIELD_REST_PAYMENT, typeof(string));
            dataTable.Columns.Add(HROne.Import.ImportClaimsAndDeductionsProcess.FIELD_REMARK, typeof(string));
            dataTable.Columns.Add(HROne.Import.ImportClaimsAndDeductionsProcess.FIELD_COST_CENTER, typeof(string));

            DBFilter m_detailFilter = new DBFilter();

            m_detailFilter.add(new Match("BonusProcessID", m_BonusProcessID));
            m_detailFilter.add("EmpID", true);
            m_detailFilter.add("EmpBonusProcessType", false);  // Standard > Discretionary

            double m_bonusAmount     = 0;
            double m_targetSalary    = 0;
            int    m_currentEmpID    = -1;
            string m_payMethod       = "";
            string m_remarks         = "";
            string m_bankAccountCode = "";
            string m_costCenterCode  = "";

            DataRow          m_row        = null;
            EEmpPersonalInfo m_empInfo    = null;
            double           m_proportion = 0; // the proportion of bonus recieved, depending on the join date

            EBonusProcess m_bonusProcess = EBonusProcess.GetObject(dbConn, m_BonusProcessID);

            foreach (EEmpBonusProcess m_detail in EEmpBonusProcess.db.select(dbConn, m_detailFilter))
            {
                if (m_detail.EmpID != m_currentEmpID)
                {
                    if (m_currentEmpID > -1)
                    {
                        dataTable.Rows.Add(m_row);
                    }
                    m_currentEmpID = m_detail.EmpID;
                    m_row          = dataTable.NewRow();
                    GetEmpRecurringPaymentInfo(m_detail.EmpID, m_process.BonusProcessSalaryMonth, out m_targetSalary, out m_payMethod, out m_bankAccountCode, out m_costCenterCode);
                    m_empInfo = EEmpPersonalInfo.GetObject(dbConn, m_detail.EmpID);

                    System.TimeSpan m_totalDaysInPeriod = m_bonusProcess.BonusProcessPeriodTo.Subtract(m_bonusProcess.BonusProcessPeriodFr);
                    System.TimeSpan m_totalDaysJoint    = m_bonusProcess.BonusProcessPeriodTo.Subtract((m_empInfo.EmpDateOfJoin < m_bonusProcess.BonusProcessPeriodFr) ? m_bonusProcess.BonusProcessPeriodFr : m_empInfo.EmpDateOfJoin);

                    m_proportion  = Math.Round(Convert.ToDouble(m_totalDaysJoint.Days + 1) / Convert.ToDouble(m_totalDaysInPeriod.Days + 1), 4);
                    m_remarks     = "";
                    m_bonusAmount = 0;

                    //re-take targetSalary from RecurringPayment
                    //m_targetSalary = m_detail.EmpBonusProcessTargetSalary;
                }
                else // same EmpID
                {
                    m_remarks += " + ";
                }

                if (m_detail.EmpBonusProcessType == "S")
                {
                    m_bonusAmount = m_targetSalary * m_proportion * m_bonusProcess.BonusProcessStdRate;
                    m_remarks     = m_remarks + "(" + m_targetSalary.ToString("#,##0.00") + " * " + m_proportion.ToString("0.0000") + " * " + m_process.BonusProcessStdRate.ToString("0.0000") + ")";
                }
                else if (m_detail.EmpBonusProcessType == "D")
                {
                    if (m_detail.EmpBonusProcessRank == "1")
                    {
                        m_bonusAmount = m_bonusAmount + m_targetSalary * m_proportion * m_process.BonusProcessRank1 / 100;
                        m_remarks     = m_remarks + "(" + m_targetSalary.ToString("#,##0.00") + " * " + m_proportion.ToString("0.0000") + " * " + m_process.BonusProcessRank1.ToString("0.00") + "%)";
                    }
                    else if (m_detail.EmpBonusProcessRank == "2")
                    {
                        m_bonusAmount = m_bonusAmount + m_targetSalary * m_proportion * m_process.BonusProcessRank2 / 100;
                        m_remarks     = m_remarks + "(" + m_targetSalary.ToString("#,##0.00") + " * " + m_proportion.ToString("0.0000") + " * " + m_process.BonusProcessRank2.ToString("0.00") + "%)";
                    }
                    else if (m_detail.EmpBonusProcessRank == "3")
                    {
                        m_bonusAmount = m_bonusAmount + m_targetSalary * m_proportion * m_process.BonusProcessRank3 / 100;
                        m_remarks     = m_remarks + "(" + m_targetSalary.ToString("#,##0.00") + " * " + m_proportion.ToString("0.0000") + " * " + m_process.BonusProcessRank3.ToString("0.00") + "%)";
                    }
                    else if (m_detail.EmpBonusProcessRank == "4")
                    {
                        m_bonusAmount = m_bonusAmount + m_targetSalary * m_proportion * m_process.BonusProcessRank4 / 100;
                        m_remarks     = m_remarks + "(" + m_targetSalary.ToString("#,##0.00") + " * " + m_proportion.ToString("0.0000") + " * " + m_process.BonusProcessRank4.ToString("0.00") + "%)";
                    }
                    else if (m_detail.EmpBonusProcessRank == "5")
                    {
                        m_bonusAmount = m_bonusAmount + m_targetSalary * m_proportion * m_process.BonusProcessRank5 / 100;
                        m_remarks     = m_remarks + "(" + m_targetSalary.ToString("#,##0.00") + " * " + m_proportion.ToString("0.0000") + " * " + m_process.BonusProcessRank5.ToString("0.00") + "%)";
                    }
                }

                m_row[HROne.Import.ImportClaimsAndDeductionsProcess.FIELD_EMP_NO] = m_empInfo.EmpNo;
                m_row["English Name"] = m_empInfo.EmpEngFullName;
                m_row[HROne.Import.ImportClaimsAndDeductionsProcess.FIELD_EFFECTIVE_DATE] = m_process.BonusProcessPayDate;

                EPaymentCode m_payCodeObj = EPaymentCode.GetObject(dbConn, m_process.BonusProcessPayCodeID);

                m_row[HROne.Import.ImportClaimsAndDeductionsProcess.FIELD_PAYMENT_CODE]      = m_payCodeObj.PaymentCode;
                m_row[HROne.Import.ImportClaimsAndDeductionsProcess.FIELD_PAYMENT_METHOD]    = m_payMethod;
                m_row[HROne.Import.ImportClaimsAndDeductionsProcess.FIELD_NUM_OF_DAY_ADJUST] = 0; //DateTime.DaysInMonth(m_process.AsAtDate);
                m_row[HROne.Import.ImportClaimsAndDeductionsProcess.FIELD_REST_PAYMENT]      = "No";
                m_row[HROne.Import.ImportClaimsAndDeductionsProcess.FIELD_AMOUNT]            = Math.Round(m_bonusAmount, 2);
                m_row[HROne.Import.ImportClaimsAndDeductionsProcess.FIELD_REMARK]            = m_remarks;
                m_row[HROne.Import.ImportClaimsAndDeductionsProcess.FIELD_BANK_ACCOUNT_NO]   = m_bankAccountCode;
                m_row[HROne.Import.ImportClaimsAndDeductionsProcess.FIELD_COST_CENTER]       = m_costCenterCode;
            }

            if (m_currentEmpID > -1)    // indicate there are CND records written into the table.
            {
                dataTable.Rows.Add(m_row);
            }
            return(dataSet);
        }