public override void ImportToDatabase()
        {
            DataTable dataTable = GetImportDataFromTempDatabase(null);

            if (dataTable.Rows.Count > 0)
            {
                EIncentivePaymentImportBatch batchDetail = new EIncentivePaymentImportBatch();
                batchDetail.IPImportBatchDateTime = AppUtils.ServerDateTime();
                //batchDetail.IPImportBatchOriginalFilename = OriginalBatchFilename;
                batchDetail.IPImportBatchRemark     = Remark;
                batchDetail.IPImportBatchUploadedBy = m_UserID;
                EIncentivePaymentImportBatch.db.insert(dbConn, batchDetail);

                foreach (DataRow row in dataTable.Rows)
                {
                    EUploadIncentivePayment obj = new EUploadIncentivePayment();
                    EUploadIncentivePayment.db.toObject(row, obj);

                    EIncentivePayment IP = new EIncentivePayment();
                    IP.IPPercent       = obj.IPPercent;
                    IP.IPEffDate       = obj.IPEffDate;
                    IP.EmpID           = obj.EmpID;
                    IP.IPImportBatchID = batchDetail.IPImportBatchID;

                    EIncentivePayment.db.insert(dbConn, IP);
                    EUploadIncentivePayment.db.delete(dbConn, obj);
                }
            }
        }
    protected bool loadObject()
    {
        EIncentivePaymentImportBatch obj = new EIncentivePaymentImportBatch();
        bool isNew = WebFormWorkers.loadKeys(EIncentivePaymentImportBatch.db, obj, DecryptedRequest);

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

        Hashtable values = new Hashtable();

        EIncentivePaymentImportBatch.db.populate(obj, values);
        binding.toControl(values);
        return(true);
    }
예제 #3
0
    protected DataSet GenerateCND(int ProcessID, int PaymentCodeID, DateTime PaymentDate)
    {
        EPaymentCode m_paymentCode             = EPaymentCode.GetObject(dbConn, PaymentCodeID);
        EIncentivePaymentImportBatch m_process = EIncentivePaymentImportBatch.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("IPImportBatchID", ProcessID));
        m_detailFilter.add("EmpID", true);

        foreach (EIncentivePayment m_detail in EIncentivePayment.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.IPEffDate));

            m_rpFilter.add(m_orDate);
            m_rpFilter.add(new Match("EmpRPEffFr", "<=", m_detail.IPEffDate));
            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.IPPercent / 100;
                string m_remarks;
                if (m_amount > 0 && Math.Abs(m_amount) >= 0.01)
                {
                    m_remarks = String.Format("{0}*{1}%", m_empRP.EmpRPBasicSalary.ToString("#,##0.00"),
                                              m_detail.IPPercent.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);
    }