示例#1
0
 public Y_030(String txid, String connectionString, String ac1, String ac2, Decimal amount, String loginAc)
 {
     try
     {
         //this.error = "N";
         dberr = new Data.Dber();
         this.TXID = txid;
         // seq will generate and store transaction reference no.
         seq = new Sequence(TXID);
         this.changeAmount = amount;
         //processTransaction(connectionString, ac1, ac2, amount);
         /*if (!ac1.Equals(loginAc))
         {
             newInitiator = true;
         }*/
         if (processTransaction(connectionString, ac1, ac2, amount, loginAc) != 0)
         {
             this.error = true;
         }
     }
     catch(Exception e)
     {
         this.result = e.ToString();
         this.error = true;
     }
 }
示例#2
0
 public Y_008(String connectionString, String txid, String pvg)
 {
     this.TXID = txid;
     this.pvg = pvg;
     this.dberr = new Data.Dber();
     processTransaction(connectionString, this.pvg);
 }
示例#3
0
 public Y_019(String txid, String connectionString, String cusno)
 {
     this.TXID = txid;
     dberr = new Data.Dber();
     this.cusNo = cusno;
     int retCode = processTransaction(connectionString, this.cusNo);
 }
示例#4
0
        public Y_024(String txid, String connectionString, String cus_no, String pwd)
        {
            dberr = new Data.Dber();
            this.TXID = txid;
            processTransaction(connectionString, cus_no, pwd, dberr);

        }
示例#5
0
 public Y_011(String txid, String connectionString, String acc_no, Decimal amount, String initPvg, String refno, String loginAc)
 {
     try
     { 
         if (amount <= 0)
         {
             dberr.setError(Mnemonics.DbErrorCodes.TXERR_NEGATIVE_TRANSFER);
             this.result = dberr.getErrorDesc(connectionString);
             this.error = true;
         }
         else
         {
             this.initPvg = Convert.ToInt32(initPvg);
             dberr = new Data.Dber();
             this.TXID = txid;
             this.changeAmount = amount;
             seq = new Sequence(TXID);
             this.loginAcc = loginAc;
             if (processTransaction(connectionString, acc_no, this.initPvg, loginAc) != 0)
             {
                 this.error = true;
             }
         }
     }
     catch(Exception e)
     {
         this.error = true;
         result = e.Message.ToString();
     }
 }
示例#6
0
 public Y_014(String txid, String connectionString, String a, String b, String c, String d, String e, String f, 
     String g, String j, String h, String i, String l, String m, String n, String k, String o, String p, String q, String r, 
     String s, String t, String u, String v, String w)
 {
     dberr = new Data.Dber();
     newInitiator = false;
     this.TXID = txid;
     cstm.cs_no = a;
     cstm.cs_type = b;
     cstm.cs_fname = c;
     cstm.cs_mname = d;
     cstm.cs_lname = e;
     cstm.cs_addr1 = f;
     cstm.cs_addr2 = g;
     cstm.cs_city = h;
     cstm.cs_state = i;
     cstm.cs_zip = j;
     cstm.cs_branch = k;
     cstm.cs_phn = l;
     cstm.cs_email = m;
     cstm.cs_uid = n;
     cstm.cs_secq1 = o;
     cstm.cs_ans1 = p;
     cstm.cs_secq2 = q;
     cstm.cs_ans2 = r;
     cstm.cs_secq3 = s;
     cstm.cs_ans3 = t;
     cstm.cs_access = u;
     processTransaction(connectionString, cstm);
 }
示例#7
0
 public Y_025(String txid, String connectionString, String acType, String dummyAc, String dummyAccess, String refNo, String loginAc)
 {
     dberr = new Data.Dber();
     this.TXID = txid;
     this.loginAc = loginAc;
     processTransaction(connectionString, loginAc, acType, dummyAc, dummyAccess, refNo, dberr);
 }
示例#8
0
 private int processTransaction(String connectionString, String cus_no, String pwd, Data.Dber dberr)
 {
     Cp_Txnm tx = new Cp_Txnm(connectionString, TXID, dberr);
     // Check if TXNM fetch for transaction type "010" is successful. Return if error encountered
     if (dberr.ifError())
     {
         result = dberr.getErrorDesc(connectionString);
         return -1;
     }
     if(Validation.employeeInitiatedTxn(connectionString, cus_no) == 0)
     {
         Cp_Empm cpEmpm = new Cp_Empm(connectionString, cus_no, dberr);
         if(dberr.ifError())
         {
             resultP = dberr.getErrorDesc(connectionString);
             return -1;
         }
         if(cpEmpm.empmP.emp_pvg == 5)
         {
             dberr.setError(Mnemonics.DbErrorCodes.TXERR_ADMIN_PWD_NOCHANGE);
             resultP = dberr.getErrorDesc(connectionString);
             return -1;
         }
         if(!Data.EmpmD.UpdatePassword(connectionString, cus_no, pwd, dberr))
         {
             resultP = dberr.getErrorDesc(connectionString);
             return -1;
         }
         resultP = "Password Changed successfully!";
         return 0;
     }
     Cp_Cstm cstm = new Cp_Cstm(connectionString, cus_no, dberr);
     if (cstm.cstmP != null)
         cstm.updatePassword(connectionString, cus_no, pwd, dberr);
     if (dberr.ifError())
     {
         dberr = new Data.Dber();
         if(!Data.EmpmD.UpdatePassword(connectionString, cus_no, pwd, dberr))
         {
             dberr.setError(Mnemonics.DbErrorCodes.TXERR_PWD_NOUPDATE);
             resultP = dberr.getErrorDesc(connectionString);
             return -1;
         }
     }
     //------------------------------
     //Entity.Cstm cstm = Data.CstmD.Read(connectionString, acct.actmP.cs_no1, dberr);
     String mailResponse = "";
     if (!Security.OTPUtility.SendMail("SBS", "*****@*****.**",
         cstm.cstmP.cs_fname + cstm.cstmP.cs_mname + cstm.cstmP.cs_lname, cstm.cstmP.cs_email,
         "Update from SBS", "Password updated via transaction: "+ tx.txnmP.tran_desc))
     {
         mailResponse = "Mail sent.";
     }
     //-------------------------------
     resultP = "Password Changed successfully!" + mailResponse;
     //resultP = "Password Updated Successfully!";
     return 0;
 }
示例#9
0
 public Y_026(String conectionString, String txid, String a, String b, String c, String d, String e,
     String f, String g, String h, String i, String j, String k, String l, String m, String n, String o, String p, String q,
     String r, String s, String t, String loginAc)
 {
     dberr = new Data.Dber();
     this.TXID = txid;
     empm = new Entity.Empm();
     processTransaction(conectionString, a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, loginAc);
 }
示例#10
0
 private int processTransaction(String connectionString, String empCusId, Data.Dber dberr)
 {
     bool success = Data.CstmD.deactivateCustomer(connectionString, empCusId, "0", dberr);
     if (dberr.ifError() || !success)
     {
         dberr = new Data.Dber();
         if (!Data.EmpmD.deactivateEmployee(connectionString, empCusId, "0", dberr))
         {
             resultP = dberr.getErrorDesc(connectionString);
             return -1;
         }
     }
     resultP = "Transaction Succeessful";
     return 0;
 }
示例#11
0
 public Y_015(String txid, String connectionString, String a1, String a2, String a3, String a4, String a5, String a6,
     String a7, String a8, String a9, String a10, String a11, String a12, String a13, String a14, String a15, String a16,
     String a17, String a18, String a19, String a20, String a21, String a22, String a23, String dummyAc, String dummyRef, String loginAc)
 {
     this.TXID = txid;
     dberr = new Data.Dber();
     //this.cusNo = loginAc;
     
     if (processTransaction(connectionString, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16,
         a17, a18, a19, a20, a21, a22, a23, dummyAc, dummyRef, loginAc) != 0)
     {
         this.error = true;
     }
     //processTransaction(connectionString);
 }
示例#12
0
 public Y_022(String txid, String connectionString, String acc_no, Decimal amount, String initPvg, String refno, String loginAc)
 {
     this.dberr = new Data.Dber();
     try
     {
         if (amount <= 0)
         {
             dberr.setError(Mnemonics.DbErrorCodes.TXERR_NEGATIVE_TRANSFER);
             this.result = dberr.getErrorDesc(connectionString);
             this.error = true;
         }
         else
         {
             this.initPvg = Convert.ToInt32(initPvg);
             this.TXID = txid;
             this.changeAmount = amount;
             seq = new Sequence(TXID);
             this.loginAcc = loginAc;
             /*if (!acc_no.Equals(loginAc))
             {
                 newInitiator = true;
             }*/
             if (processTransaction(connectionString, acc_no, this.initPvg, loginAc) != 0)
             {
                 this.error = true;
             }
             
             //pvg = new Privilege();
             // seq will generate and store transaction reference no.
         }
     }
     catch(Exception e)
     {
         this.error = true;
         result = e.ToString();
     }
 }
示例#13
0
 /*
  * VALIDATIONS
  * 1. From acc same as login acc, if customer initiated
  * 2. amount not <= 0
  * 3. 
  */
 private int processTransaction(string connectionString, String acc_no, Int32 initPvg, String loginAc)
 {
     tx = new Cp_Txnm(connectionString, TXID, dberr);
     // Check if TXNM fetch for transaction type "010" is successful. Return if error encountered
     if (dberr.ifError())
     {
         result = dberr.getErrorDesc(connectionString);
         return -1;
     }
     //Check if it is a Banker initiated transaction
     if (Validation.employeeInitiatedTxn(connectionString, loginAc) == 0)
     {
         this.newInitiator = true;
     }
     if (this.newInitiator)
     {
         
         //Check if Customer is Active (Enabled)
         if (!Validation.isActiveCustomerUsingAcc(connectionString, acc_no))
         {
             resultP = dberr.getErrorDesc(connectionString);
             return -1;
         }
     }
     else
     {
         dberr = new Data.Dber();
         // From account should belong to logged in customer
         if (Validation.isMerchant(connectionString, loginAc))
         {
             //From account should not belong to the Merchant
             /*if (Validation.validateCustomerSelfAccount(connectionString, loginAc, acc_no) == 0)
             {
                 dberr.setError(Mnemonics.DbErrorCodes.TXERR_INTERNAL_TFR_EMP_FROM_TO_ACC_DIFF_CUS);
                 resultP = dberr.getErrorDesc(connectionString);
                 return -1;
             }*/
         }
         else
         {
             if (Validation.validateCustomerSelfAccount(connectionString, loginAc, acc_no) != 0)
             {
                 dberr.setError(Mnemonics.DbErrorCodes.TXERR_INTERNAL_TFR_FROM_DIFF_CUS);
                 resultP = dberr.getErrorDesc(connectionString);
                 return -1;
             }
         }
         //Check if Customer is Active (Enabled)
         if (!Validation.isActiveCustomer(connectionString, loginAc))
         {
             resultP = dberr.getErrorDesc(connectionString);
             return -1;
         }
       
     }
     String initEmpNumber = "0";
     String initCustomer = "0";
     if (this.newInitiator)
     {
         initEmpNumber = loginAc;
         Cp_Empm cpEmpm = new Cp_Empm(connectionString, loginAc, dberr);
         pvg = new Privilege(tx.txnmP.tran_pvga, tx.txnmP.tran_pvgb, cpEmpm.empmP.emp_pvg);
     }
     else
     {
         //this.acct = this.acct;
         initCustomer = loginAc; // this.acct_init.actmP.cs_no1;
         acct = new Cp_Actm(connectionString, acc_no, dberr);
         pvg = new Privilege(tx.txnmP.tran_pvga, tx.txnmP.tran_pvgb, acct.actmP.ac_pvg);
     }
     if (!pvg.verifyInitPrivilege(dberr))
     {
         result = dberr.getErrorDesc(connectionString);
         return -1;
     }
     if (!pvg.verifyApprovePrivilege())
     {
         String inData = this.TXID + "|" + acc_no + "| |" + this.changeAmount.ToString();
         if (pvg.writeToPendingTxns(
             connectionString,               /* connection string */
             acc_no,                         /* account 1 */
             "0",                            /* account 2 */
             initCustomer,                   /* customer number */
             tx.txnmP.tran_pvgb.ToString(),  /* transaction approve privilege */
             tx.txnmP.tran_desc,             /* transaction description */
             initEmpNumber,                  /* initiating employee number */
             0,                              /* debit amount */
             this.changeAmount,              /* credit amount */
             tx.txnmP.tran_id,               /* transaction id (not tran code) */
             inData,                         /* incoming transaction string in XSwitch */
             dberr                           /* error tracking object */
             ) != 0)
         {
             resultP = dberr.getErrorDesc(connectionString);
             error = true;
             return -1;
         }
         resultP = Mnemonics.DbErrorCodes.MSG_SENT_FOR_AUTH;
         error = true;
         return 0;
     }
     //}
     else
     {
         this.pvgBypassedP = true;
     }
     // Update new balance in ACTM
     acct = new Cp_Actm(connectionString, acc_no, dberr);
     acct.subtractBalance(connectionString, this.changeAmount, dberr);
     if (dberr.ifError())
     {
         result = dberr.getErrorDesc(connectionString);
         return -1;
     }
     if (!this.TXID.Equals(Mnemonics.TxnCodes.TX_TRANSFER_DEBIT))
     {
         /*acct.subtractBalance(connectionString, this.changeAmount, dberr);
         if (dberr.ifError())
         {
             result = dberr.getErrorDesc(connectionString);
             return -1;
         }*/
         acct.updateBalance(connectionString, dberr);
         if (dberr.ifError())
         {
             result = dberr.getErrorDesc(connectionString);
             return -1;
         }
         // Store transaction in hisory table. Determine which history table to store in based on tx.txnmP.tran_fin_type
         if (tx.txnmP.tran_fin_type.Equals("Y"))
         {
             // Write to FINHIST table
             Entity.Finhist fhist = new Entity.Finhist(acc_no, "0", this.tx.txnmP.tran_desc,
                 changeAmount, 0, Convert.ToString(this.acct.actmP.ac_bal), "0", "0", "0");
             Data.FinhistD.Create(connectionString, fhist, dberr);
         }
         else
         {
             // Write to NFINHIST table
             Entity.Nfinhist nFhist = new Entity.Nfinhist(acc_no, "0", this.tx.txnmP.tran_desc, "0", "0", this.acct.actmP.cs_no1);
             Data.NfinhistD.Create(connectionString, nFhist, dberr);
         }
         if (dberr.ifError())
         {
             result = dberr.getErrorDesc(connectionString);
             return -1;
         }
         Entity.Cstm cstm = Data.CstmD.Read(connectionString, acct.actmP.cs_no1, dberr);
         if (dberr.ifError())
         {
             result = dberr.getErrorDesc(connectionString);
             return -1;
         }
         String mailResponse = "";
         if (!Security.OTPUtility.SendMail("SBS", "*****@*****.**", cstm.cs_fname + cstm.cs_mname + cstm.cs_lname,
             cstm.cs_email, "Update from SBS for transaction ", tx.txnmP.tran_desc + acct.actmP.ac_bal))
         {
             mailResponse = "Mail sent.";
         }
         // -----------------------------------------
         resultP = "Transaction Successful. Your new account balance is $" + acct.actmP.ac_bal + " " + mailResponse;
     }
     return 0; // remove later
 }
示例#14
0
        private int processTransaction(String connectionString, String a1, String a2, String a3, String a4, String a5, String a6,
            String a7, String a8, String a9, String a10, String a11, String a12, String a13, String a14, String a15, String a16,
            String a17, String a18, String a19, String a20, String a21, String a22, String a23, String dummyAc, String dummyRef, String loginAc)
        {
            int cusPvg = 0;
            this.tx = new Cp_Txnm(connectionString, TXID, dberr);
            // Check if TXNM fetch for transaction type "010" is successful. Return if error encountered
            if (dberr.ifError())
            {
                result = dberr.getErrorDesc(connectionString);
                return -1;
            }
            cstm.cs_no = a1;
            cstm.cs_type = a2;
            cstm.cs_fname = a3;
            cstm.cs_mname = a4;
            cstm.cs_lname = a5;
            cstm.cs_addr1 = a6;
            cstm.cs_addr2 = a7;
            cstm.cs_zip = a8;
            cstm.cs_city = a9;
            cstm.cs_state = a10;
            cstm.cs_phn = a11;
            cstm.cs_email = a12;
            cstm.cs_uid = a13;
            cstm.cs_branch = a14;
            cstm.cs_secq1 = a15;
            cstm.cs_ans1 = a16;
            cstm.cs_secq2 = a17;
            cstm.cs_ans2 = a18;
            cstm.cs_secq3 = a19;
            cstm.cs_ans3 = a20;
            cstm.cs_access = a21;
            cstm.cs_uname = a22;
            cstm.cs_pass = a23;
            cstm.cs_merch = " ";
            // Fetch data from CSTM. if CS_ACCESS = 'N', registration can be done, else fail txn
            //Entity.Cstm cstm = Data.CstmD.Read(connectionString, this.cusNo, dberr);
            //if (dberr.ifError())
            //{
            //    result = dberr.getErrorDesc(connectionString);
            //    return -1;
            //}
            //if (!cstm.cs_access.Equals("N"))
            //{
            //    dberr.setError(Mnemonics.DbErrorCodes.TXERR_EXISTING_USER);
            //    return -1;
            //}
            empm = Data.EmpmD.Read(connectionString, loginAc, dberr);
            if (!dberr.ifError())
            {
                employee = true;
                dberr = new Data.Dber();
            }
            else
            {
                dberr = new Data.Dber();
                if (cstm.cs_type.Equals("A") || cstm.cs_type.Equals("1") || cstm.cs_type.Equals(" "))
                {
                    cusPvg = 1;
                }
                if (cstm.cs_type.Equals("B") || cstm.cs_type.Equals("2"))
                {
                    cusPvg = 2;
                }
            }
            if(employee)
            {
                pvg = new Privilege(this.txnPvga, this.txnPvgb, empm.emp_pvg);
            }
            else
            {
                pvg = new Privilege(this.txnPvga, this.txnPvgb, cusPvg);
            }
            if (!pvg.verifyInitPrivilege(dberr))
            {
                    result = dberr.getErrorDesc(connectionString);
                    return -1;
            }
            if (!pvg.verifyApprovePrivilege())
            {
                    String inData = this.TXID + "|" + a1 + "|" + a2 + "|" + a3 + "|" + a4 + "|" + a5 + "|" + a6 +
                        "|" + a7 + "|" + a8 + "|" + a9 + "|" + a10 + "|" + a11 + "|" + a12 + "|" + a13 + "|" + a14 + "|" + a15 +
                        "|" + a16 + "|" + a17 + "|" + a18 + "|" + a19 + "|" + a20 + "|" + a21 + "|" + a22 + "|" + a23 ;
                    if (pvg.writeToPendingTxns(
                        connectionString,               /* connection string */
                        "0",                            /* account 1 */
                        "0",                            /* account 2 */
                        "0",                            /* customer number */
                        tx.txnmP.tran_pvgb.ToString(),  /* transaction approve privilege */
                        tx.txnmP.tran_desc,             /* transaction description */
                        "0",                            /* initiating employee number */
                        0,                              /* debit amount */
                        0,                              /* credit amount */
                        tx.txnmP.tran_id,               /* transaction id (not tran code) */
                        inData,                         /* incoming transaction string in XSwitch */
                        dberr                           /* error tracking object */
                        ) != 0)
                    {
                        resultP = dberr.getErrorDesc(connectionString);
                        return -1;
                    }
                    resultP = Mnemonics.DbErrorCodes.MSG_SENT_FOR_AUTH;
                    return 0;
            }
            //else
            //{
            //int cstmId = Data.CstmD.Create(connectionString, cstm, dberr);

                // Insert new row in Customer table
            int data = Data.CstmD.Create(connectionString, cstm, dberr);
            if (dberr.ifError())
            {
                result = dberr.getErrorDesc(connectionString);
                return -1;
            }
              // Write into history table
            
            //if (tx.txnmP.tran_fin_type.Equals("Y"))
            //{
            //        // Write to FINHIST table
            //     Entity.Finhist fhist = new Entity.Finhist(
            //       "0",                        /* Account Number */
            //        w,                          /* Reference Number */
            //        this.tx.txnmP.tran_desc,    /* Transaction Description */
            //        0,                          /* Debit Amount */
            //        0,                          /* Credit Amount */
            //        "0",                        /* Remaining Balance */
            //        "0",                        /* Initiating Employee Id */
            //         loginAc,                    /* Approve Employee Id */
            //        cstmId.ToString()                  /* Initiating Customer Number */
            //        );
            //     Data.FinhistD.Create(connectionString, fhist, dberr);
            //}
            //else
            //{
            //        // Write to NFINHIST table
            //    Entity.Nfinhist nFhist = new Entity.Nfinhist(
            //            "0",                        /* Account Number */
            //            w,                        /* Reference Number */
            //            this.tx.txnmP.tran_desc,    /* Transaction Description */
            //            "0",                        /* Initiating Employee Id */
            //            loginAc,                    /* Approve Employee Id */
            //            cstmId.ToString()           /* Initiating Customer Number */
            //            );
            //    Data.NfinhistD.Create(connectionString, nFhist, dberr);
            //}
            //if (dberr.ifError())
            //{
            //        result = dberr.getErrorDesc(connectionString);
            //        return -1;
            //}
                // Delete the Pending transaction
            if(!Data.PendtxnD.Delete(connectionString, dummyRef))
            {
                    dberr.setError(Mnemonics.DbErrorCodes.DBERR_PENDTXN_DELETE);
                    result = dberr.getErrorDesc(connectionString);
                    return -1;
            }
            //}
            if (dberr.ifError())
            {
                result = dberr.getErrorDesc(connectionString);
                return -1;
            }
            //------------------------------
            //Entity.Cstm cstm = Data.CstmD.Read(connectionString, acct.actmP.cs_no1, dberr);
            String mailResponse = "";
            if (!Security.OTPUtility.SendMail("SBS", "*****@*****.**", cstm.cs_fname + cstm.cs_mname + cstm.cs_lname,
                cstm.cs_email, "Update from SBS", "your new User Id with us is: "+data.ToString()))
            {
                mailResponse = "Mail sent.";
            }
            //-------------------------------
            resultP = "Successful!" + mailResponse;
            return 0;
        }
示例#15
0
        private int processTransaction(String connectionString, String loginAc, String acType, 
            String dummyAc, String dummyAccess, String refno, Data.Dber dberr)
        {
            tx = new Cp_Txnm(connectionString, TXID, dberr);
            // Check if TXNM fetch for transaction type "010" is successful. Return if error encountered
            if (dberr.ifError())
            {
                result = dberr.getErrorDesc(connectionString);
                return -1;
            }
            cstm = Data.CstmD.Read(connectionString, loginAc, dberr);
            if (dberr.ifError())
            {
                dberr = new Data.Dber();
                empm = Data.EmpmD.Read(connectionString, loginAc, dberr);
                if (dberr.ifError())
                {
                    result = dberr.getErrorDesc(connectionString);
                    return -1;
                }
                else
                {
                    employee = true;
                }
            }
            if (employee)
            {
                pvg = new Privilege(this.tx.txnmP.tran_pvga, this.tx.txnmP.tran_pvgb, Convert.ToInt32(this.empm.emp_pvg));
            }
            else
            {
                pvg = new Privilege(this.tx.txnmP.tran_pvga, this.tx.txnmP.tran_pvgb, Convert.ToInt32(this.cstm.cs_type));
            }
            if (!pvg.verifyInitPrivilege(dberr))
            {
                 result = dberr.getErrorDesc(connectionString);
                 return -1;
            }
            if (!pvg.verifyApprovePrivilege())
            {
                String inData = this.TXID + "|" + acType + "|" + loginAc;
                    if (pvg.writeToPendingTxns(
                        connectionString,               /* connection string */
                        "0",                            /* account 1 */
                        "0",                            /* account 2 */
                        this.cstm.cs_no,                /* customer number */
                        tx.txnmP.tran_pvgb.ToString(),  /* transaction approve privilege */
                        tx.txnmP.tran_desc,             /* transaction description */
                        "0",                            /* initiating employee number */
                        0,                              /* debit amount */
                        0,                              /* credit amount */
                        tx.txnmP.tran_id,               /* transaction id (not tran code) */
                        inData,                         /* incoming transaction string in XSwitch */
                        dberr                           /* error tracking object */
                        ) != 0)
                    {
                        resultP = dberr.getErrorDesc(connectionString);
                        return -1;
                    }
                    resultP = Mnemonics.DbErrorCodes.MSG_SENT_FOR_AUTH;
                    return 0;
            }

            actm = new Cp_Actm(connectionString, dummyAc, "0", acType, 0, 0, 1, "Y", "Y", DateTime.Now.ToString(), true);
            if (dberr.ifError())
            {
                result = dberr.getErrorDesc(connectionString);
                return -1;
            }
            int retCode = Data.ActmD.Create(connectionString, actm.actmP, dberr);
            if (dberr.ifError())
            {
                result = dberr.getErrorDesc(connectionString);
                return -1;
            }
            if (!Data.PendtxnD.Delete(connectionString, refno))
            {
                dberr.setError(Mnemonics.DbErrorCodes.DBERR_PENDTXN_DELETE);
                result = dberr.getErrorDesc(connectionString);
                return -1;
            }
            //retCode
            //Entity.Cstm cstm = Data.CstmD.Read(connectionString, acct.actmP.cs_no1, dberr);
            Entity.Cstm cstm1 = Data.CstmD.Read(connectionString, retCode.ToString(), dberr);
            if (dberr.ifError())
            {
                result = dberr.getErrorDesc(connectionString);
                return -1;
            }
            String mailResponse = "";
            if (!Security.OTPUtility.SendMail("SBS", "*****@*****.**",
                cstm1.cs_fname + cstm1.cs_mname + cstm1.cs_lname, cstm1.cs_email,
                "Update from SBS", "new account created for you is " + retCode.ToString()))
            {
                mailResponse = "Mail sent.";
            }
            //-------------------------------
            resultP = "Successful!" + mailResponse;
            return 0;
        }