public String GetAccountName(String Member_No, LogMessage LogMessage, Sta ta) { String ACCOUNT_NAME = String.Empty; //[***ห้ามเป็นภาษาไทย] try { String SqlGetName = "SELECT MEMB_ENAME||' '||MEMB_ESURNAME AS ACCOUNT_NAME FROM MBMEMBMASTER WHERE MEMBER_NO = {0}"; SqlGetName = WebUtil.SQLFormat(SqlGetName, Member_No); LogMessage.WriteLog("DeptAccount SQL", SqlGetName); Sdt dt = ta.Query(SqlGetName); if (dt.Next()) { ACCOUNT_NAME = dt.GetString("ACCOUNT_NAME").ToUpper(); LogMessage.WriteLog("", "ACCOUNT_NAME = " + ACCOUNT_NAME); if (ACCOUNT_NAME.Trim() == "") { ACCOUNT_NAME = "N/A"; } } else { ACCOUNT_NAME = ""; } } catch (Exception ex) { throw ex; } return(ACCOUNT_NAME); }
public void LoanInquiry(String COOP_FIID, String Member_ID, LogMessage LogMessage, Sta ta) { try { MemberNo = Member_ID; Decimal RECEIVE_AMT = 0; Decimal PAY_AMT = 0; Decimal SEQUEST_AMT = 0; String SqlGetAccount = "SELECT TRIM(LOANCONTRACT_NO) AS LOANCONTRACT_NO, RECEIVE_AMT, PAY_AMT, SEQUEST_AMT, ACCOUNT_HOLD FROM ATMLOAN WHERE ACCOUNT_STATUS = 1 AND MEMBER_NO = {0} AND COOP_ID = {1}"; SqlGetAccount = WebUtil.SQLFormat(SqlGetAccount, Member_ID, COOP_FIID); LogMessage.WriteLog("LoanCont SQL", SqlGetAccount); Sdt dt = ta.Query(SqlGetAccount); int RowCount = dt.GetRowCount(); if (RowCount != 1) { LedgerBal = 0; AvailableBal = 0; Loan_Hold = 1; LogMessage.WriteLog("", "พบจำนวนสัญญาเงินกู้ ATM ของเลขที่สมาชิก " + Member_ID + " ที่ผูกกับ ATM [" + RowCount + " Row]"); return; } else if (dt.Next()) { LOANCONTRACT_NO = dt.GetString("LOANCONTRACT_NO"); RECEIVE_AMT = dt.GetDecimal("RECEIVE_AMT"); PAY_AMT = dt.GetDecimal("PAY_AMT"); SEQUEST_AMT = dt.GetDecimal("SEQUEST_AMT"); ACCOUNT_HOLD = dt.GetDecimal("ACCOUNT_HOLD"); LogMessage.WriteLog("", "LOANCONTRACT_NO = " + LOANCONTRACT_NO + " , RECEIVE_AMT = " + RECEIVE_AMT.ToString("#,##0.00") + " , PAY_AMT = " + PAY_AMT.ToString("#,##0.00") + " , ACCOUNT_HOLD = " + ACCOUNT_HOLD.ToString("#0") + " , SEQUEST_AMT = " + SEQUEST_AMT.ToString("#,##0.00")); } String SqlString = "SELECT (NVL(LN.LOANAPPROVE_AMT, 0) - NVL(LN.PRINCIPAL_BALANCE, 0)) AS LEDGER_AMT, (NVL(LN.LOANAPPROVE_AMT, 0) - NVL(LN.PRINCIPAL_BALANCE, 0) - NVL(AC.LOANSEQUEST_AMT,0)) AS AVAILABLE_AMT, AC.LOAN_HOLD AS LOAN_HOLD FROM LNCONTMASTER LN, ATMCOOP AC WHERE LN.CONTRACT_STATUS = 1 AND TRIM(AC.COOP_ID) = {0} AND LN.MEMBER_NO = {1} AND LN.LOANCONTRACT_NO = {2}"; SqlString = WebUtil.SQLFormat(SqlString, COOP_FIID, Member_ID, LOANCONTRACT_NO); LogMessage.WriteLog("LoanInquiry SQL", SqlString); dt = ta.Query(SqlString); RowCount = dt.GetRowCount(); if (RowCount != 1) { LedgerBal = 0; AvailableBal = 0; Dept_Hold = 1; LogMessage.WriteLog("", "พบจำนวนสัญญาเงินกู้ ATM เลขที่ " + LOANCONTRACT_NO + " ของเลขที่สมาชิก " + Member_ID + " ที่ผูกกับ ATM [" + RowCount + " Row]"); return; } else if (dt.Next()) { LedgerBal = dt.GetDecimal("LEDGER_AMT"); AvailableBal = dt.GetDecimal("AVAILABLE_AMT"); Loan_Hold = dt.GetDecimal("LOAN_HOLD"); LogMessage.WriteLog("", "LEDGER_AMT = " + LedgerBal.ToString("#,##0.00") + " , AVAILABLE_AMT = " + AvailableBal.ToString("#,##0.00") + " , LOAN_HOLD = " + Loan_Hold); LedgerBal = LedgerBal - RECEIVE_AMT + PAY_AMT; AvailableBal = AvailableBal - RECEIVE_AMT + PAY_AMT - SEQUEST_AMT; } LogMessage.WriteLog("", "LedgerBalance = " + LedgerBal.ToString("#,##0.00")); LogMessage.WriteLog("", "AvailableBalance = " + AvailableBal.ToString("#,##0.00")); if (AvailableBal < 0) { AvailableBal = 0; LogMessage.WriteLog("", "[ChangBalance] AvailableBalance = " + AvailableBal.ToString("#,##0.00")); } } catch (Exception ex) { throw ex; } }
public void DeptInquiry(String COOP_FIID, String Member_ID, LogMessage LogMessage, Sta ta) { try { MemberNo = Member_ID; Decimal RECEIVE_AMT = 0; Decimal PAY_AMT = 0; Decimal SEQUEST_AMT = 0; String SqlGetAccount = "SELECT TRIM(DEPTACCOUNT_NO) AS DEPTACCOUNT_NO, RECEIVE_AMT, PAY_AMT, SEQUEST_AMT, ACCOUNT_HOLD FROM ATMDEPT WHERE ACCOUNT_STATUS = 1 AND MEMBER_NO = {0} AND COOP_ID = {1}"; SqlGetAccount = WebUtil.SQLFormat(SqlGetAccount, Member_ID, COOP_FIID); LogMessage.WriteLog("DeptAccount SQL", SqlGetAccount); Sdt dt = ta.Query(SqlGetAccount); int RowCount = dt.GetRowCount(); if (RowCount != 1) { LedgerBal = 0; AvailableBal = 0; Dept_Hold = 1; LogMessage.WriteLog("", "พบจำนวนบัญชีเงินฝากของเลขที่สมาชิก " + Member_ID + " ที่ผูกกับ ATM [" + RowCount + " Row]"); return; } else if (dt.Next()) { DEPTACCOUNT_NO = dt.GetString("DEPTACCOUNT_NO"); RECEIVE_AMT = dt.GetDecimal("RECEIVE_AMT"); PAY_AMT = dt.GetDecimal("PAY_AMT"); SEQUEST_AMT = dt.GetDecimal("SEQUEST_AMT"); ACCOUNT_HOLD = dt.GetDecimal("ACCOUNT_HOLD"); LogMessage.WriteLog("", "DEPTACCOUNT_NO = " + DEPTACCOUNT_NO + " , RECEIVE_AMT = " + RECEIVE_AMT.ToString("#,##0.00") + " , PAY_AMT = " + PAY_AMT.ToString("#,##0.00") + " , SEQUEST_AMT = " + SEQUEST_AMT.ToString("#,##0.00") + " , ACCOUNT_HOLD = " + ACCOUNT_HOLD); } String SqlString = "SELECT NVL(DP.PRNCBAL,0) AS LEDGER_AMT, (NVL(DP.PRNCBAL,0) - NVL(DP.SEQUEST_AMOUNT,0) - NVL(DP.CHECKPEND_AMT,0) - NVL(AC.DEPTSEQUEST_AMT,0)) AS AVAILABLE_AMT, AC.DEPT_HOLD AS DEPT_HOLD FROM DPDEPTMASTER DP, ATMCOOP AC WHERE DP.DEPTCLOSE_STATUS = 0 AND TRIM(AC.COOP_ID) = {0} AND MEMBER_NO = {1} AND DP.DEPTACCOUNT_NO = {2}"; SqlString = WebUtil.SQLFormat(SqlString, COOP_FIID, Member_ID, DEPTACCOUNT_NO); LogMessage.WriteLog("DeptInquiry SQL", SqlString); dt = ta.Query(SqlString); RowCount = dt.GetRowCount(); if (RowCount != 1) { LedgerBal = 0; AvailableBal = 0; Dept_Hold = 1; LogMessage.WriteLog("", "พบจำนวนบัญชีเงินฝากของเลขที่สมาชิก " + Member_ID + " ที่ผูกกับ ATM [" + RowCount + " Row]"); return; } else if (dt.Next()) { LedgerBal = dt.GetDecimal("LEDGER_AMT"); AvailableBal = dt.GetDecimal("AVAILABLE_AMT") - SEQUEST_AMT; Dept_Hold = dt.GetDecimal("DEPT_HOLD"); LogMessage.WriteLog("", "LEDGER_AMT = " + LedgerBal.ToString("#,##0.00") + " , AVAILABLE_AMT = " + AvailableBal.ToString("#,##0.00") + " , DEPT_HOLD = " + Dept_Hold); LedgerBal = LedgerBal - RECEIVE_AMT + PAY_AMT; AvailableBal = AvailableBal - RECEIVE_AMT + PAY_AMT; } LogMessage.WriteLog("", "LedgerBalance = " + LedgerBal.ToString("#,##0.00")); LogMessage.WriteLog("", "AvailableBalance = " + AvailableBal.ToString("#,##0.00")); if (AvailableBal < 0) { AvailableBal = 0; LogMessage.WriteLog("", "[ChangBalance] AvailableBalance = " + AvailableBal.ToString("#,##0.00")); } } catch (Exception ex) { throw ex; } }
private void CancelTransaction(DataEncode DataRequest, ref DataEncode DataResponse, Sta ta, LogMessage LogMessage) { try { Sdt dt; String SqlGetAccount = String.Empty; int RowCount = 0; String Member_No = DataRequest.COOPCustomerID.ToString("00000000"); String Coop_Id = DataRequest.COOPFIID; Decimal LedgerBalance = 0; Decimal AvailableBalance = 0; Decimal Item_Amt = 0; DataResponse.TransactionMessageCode = "0410"; //####################################################################################################################### #region ถอนสด if (DataRequest.TransactionCode == 10) //[ถอนเงินสด] (เงินออกทางตู้ ATM ทันที) { switch (DataRequest.FromAccountCode.ToString("00")) { case "01": DataResponse.ResponseCode = ResponseCode.TransactionNotAuthorized; break; case "11": DataResponse.ResponseCode = ResponseCode.TransactionNotAuthorized; break; case "14": //ถอนเงินฝาก String Deptaccount_No = String.Empty; LogMessage.WriteLog("TransactionType", "Cancel Cash Withdraw Deposit [ยกเลิก ถอนเงินฝากแบบเงินสด] ####################"); Item_Amt = DataRequest.Amount1; LogMessage.WriteLog("Withdraw Amount", Item_Amt.ToString("#,##0.00")); SqlGetAccount = "SELECT ACCOUNT_NO FROM ATMTRANSACTION WHERE MEMBER_NO = {0} AND CCS_OPERATE_DATE = {1}"; SqlGetAccount = WebUtil.SQLFormat(SqlGetAccount, Member_No, DataRequest.TransactionDateTime); LogMessage.WriteLog("TRANSACTION SQL", SqlGetAccount); dt = ta.Query(SqlGetAccount); RowCount = dt.GetRowCount(); if (RowCount != 1) { LogMessage.WriteLog("", "พบข้อมูลทั้งหมด = " + RowCount); return; } else if (dt.Next()) { Deptaccount_No = dt.GetString("ACCOUNT_NO"); LogMessage.WriteLog("", "DEPTACCOUNT_NO = " + Deptaccount_No); //###### ย้อนรายการ ###### Receive Recv = new Receive(); String System_Code = "02"; //เงินฝาก String Operate_Code = "002"; //ประเภทถอน String Cash_type = "CSH"; Recv.ProcessCancelWithdraw(Member_No, Coop_Id, Deptaccount_No, Item_Amt, DataRequest.TransactionDateTime, System_Code, Operate_Code, Cash_type, DataRequest.AcquirerTerminalNumber, DataRequest.TerminalSequenceNo, DataRequest.COOPCustomerAC.ToString("0000000000"), LogMessage, ta); } break; case "34": //กู้เงินกู้ String Loancontract_No = String.Empty; LogMessage.WriteLog("TransactionType", "Cancel Cash Withdraw Loan [ยกเลิก ถอน(กู้เพิ่ม)เงินกู้แบบเงินสด] ####################"); Item_Amt = DataRequest.Amount1; LogMessage.WriteLog("Withdraw Amount", Item_Amt.ToString("#,##0.00")); SqlGetAccount = "SELECT ACCOUNT_NO FROM ATMTRANSACTION WHERE MEMBER_NO = {0} AND CCS_OPERATE_DATE = {1}"; SqlGetAccount = WebUtil.SQLFormat(SqlGetAccount, Member_No, DataRequest.TransactionDateTime); LogMessage.WriteLog("TRANSACTION SQL", SqlGetAccount); dt = ta.Query(SqlGetAccount); RowCount = dt.GetRowCount(); if (RowCount != 1) { LogMessage.WriteLog("", "พบข้อมูลทั้งหมด = " + RowCount); return; } else if (dt.Next()) { Loancontract_No = dt.GetString("ACCOUNT_NO"); LogMessage.WriteLog("", "LOANACCOUNT_NO = " + Loancontract_No); //###### ย้อนรายการ ###### Receive Recv = new Receive(); String System_Code = "01"; //เงินกู้ String Operate_Code = "002"; //ประเภทถอน String Cash_type = "CSH"; Recv.ProcessCancelWithdraw(Member_No, Coop_Id, Loancontract_No, Item_Amt, DataRequest.TransactionDateTime, System_Code, Operate_Code, Cash_type, DataRequest.AcquirerTerminalNumber, DataRequest.TerminalSequenceNo, DataRequest.COOPCustomerAC.ToString("0000000000"), LogMessage, ta); } break; default: DataResponse.ResponseCode = ResponseCode.TransactionNotAuthorized; break; } } #endregion //####################################################################################################################### #region ถอนโอน else if (DataRequest.TransactionCode == 42) //ถอนเงินแบบโอน { switch (DataRequest.FromAccountCode.ToString("00")) { case "01": DataResponse.ResponseCode = ResponseCode.TransactionNotAuthorized; break; case "11": DataResponse.ResponseCode = ResponseCode.TransactionNotAuthorized; break; case "14": //ถอนเงินฝาก String Deptaccount_No = String.Empty; LogMessage.WriteLog("TransactionType", "Cancel Cash Withdraw Deposit [ยกเลิก ถอนเงินฝากแบบโอนเข้าบัญชี] ####################"); Item_Amt = DataRequest.Amount1; LogMessage.WriteLog("Withdraw Amount", Item_Amt.ToString("#,##0.00")); SqlGetAccount = "SELECT ACCOUNT_NO FROM ATMTRANSACTION WHERE MEMBER_NO = {0} AND CCS_OPERATE_DATE = {1}"; SqlGetAccount = WebUtil.SQLFormat(SqlGetAccount, Member_No, DataRequest.TransactionDateTime); LogMessage.WriteLog("TRANSACTION SQL", SqlGetAccount); dt = ta.Query(SqlGetAccount); RowCount = dt.GetRowCount(); if (RowCount != 1) { LogMessage.WriteLog("", "พบข้อมูลทั้งหมด = " + RowCount); return; } else if (dt.Next()) { Deptaccount_No = dt.GetString("ACCOUNT_NO"); LogMessage.WriteLog("", "DEPTACCOUNT_NO = " + Deptaccount_No); //###### ย้อนรายการ ###### Receive Recv = new Receive(); String System_Code = "02"; //เงินฝาก String Operate_Code = "002"; //ประเภทถอน String Cash_type = "TRN"; Recv.ProcessCancelWithdraw(Member_No, Coop_Id, Deptaccount_No, Item_Amt, DataRequest.TransactionDateTime, System_Code, Operate_Code, Cash_type, DataRequest.AcquirerTerminalNumber, DataRequest.TerminalSequenceNo, DataRequest.COOPCustomerAC.ToString("0000000000"), LogMessage, ta); } break; case "34": //กู้เงินกู้ String Loancontract_No = String.Empty; LogMessage.WriteLog("TransactionType", "Cancel Tranfer Withdraw Loan [ยกเลิก ถอน(กู้เพิ่ม)เงินกู้แบบโอน] ####################"); Item_Amt = DataRequest.Amount1; LogMessage.WriteLog("Withdraw Amount", Item_Amt.ToString("#,##0.00")); SqlGetAccount = "SELECT ACCOUNT_NO FROM ATMTRANSACTION WHERE MEMBER_NO = {0} AND CCS_OPERATE_DATE = {1}"; SqlGetAccount = WebUtil.SQLFormat(SqlGetAccount, Member_No, DataRequest.TransactionDateTime); LogMessage.WriteLog("TRANSACTION SQL", SqlGetAccount); dt = ta.Query(SqlGetAccount); RowCount = dt.GetRowCount(); if (RowCount != 1) { LogMessage.WriteLog("", "พบข้อมูลทั้งหมด = " + RowCount); return; } else if (dt.Next()) { Loancontract_No = dt.GetString("ACCOUNT_NO"); LogMessage.WriteLog("", "LOANACCOUNT_NO = " + Loancontract_No); //###### ย้อนรายการ ###### Receive Recv = new Receive(); String System_Code = "01"; //เงินกู้ String Operate_Code = "002"; //ประเภทถอน String Cash_type = "TRN"; Recv.ProcessCancelWithdraw(Member_No, Coop_Id, Loancontract_No, Item_Amt, DataRequest.TransactionDateTime, System_Code, Operate_Code, Cash_type, DataRequest.AcquirerTerminalNumber, DataRequest.TerminalSequenceNo, DataRequest.COOPCustomerAC.ToString("0000000000"), LogMessage, ta); } break; default: DataResponse.ResponseCode = ResponseCode.TransactionNotAuthorized; break; } } #endregion //####################################################################################################################### #region ฝากเงิน else if (DataRequest.TransactionCode == 43) //ใช้ชำระหนี้ หรือฝากเงิน { Payment Pay = new Payment(); switch (DataRequest.ToAccountCode.ToString("00")) { case "01": DataResponse.ResponseCode = ResponseCode.TransactionNotAuthorized; break; case "11": DataResponse.ResponseCode = ResponseCode.TransactionNotAuthorized; break; case "14": //ฝากเงินฝาก String Deptaccount_No = String.Empty; LogMessage.WriteLog("TransactionType", "Cancel Tranfer Deposit [ยกเลิก ฝากเงินฝาก] ####################"); Item_Amt = DataRequest.Amount1; LogMessage.WriteLog("Deposit Amount", Item_Amt.ToString("#,##0.00")); SqlGetAccount = "SELECT ACCOUNT_NO FROM ATMTRANSACTION WHERE MEMBER_NO = {0} AND CCS_OPERATE_DATE = {1}"; SqlGetAccount = WebUtil.SQLFormat(SqlGetAccount, Member_No, DataRequest.TransactionDateTime); LogMessage.WriteLog("TRANSACTION SQL", SqlGetAccount); dt = ta.Query(SqlGetAccount); RowCount = dt.GetRowCount(); if (RowCount != 1) { LogMessage.WriteLog("", "พบข้อมูลทั้งหมด = " + RowCount); return; } else if (dt.Next()) { Deptaccount_No = dt.GetString("ACCOUNT_NO"); LogMessage.WriteLog("", "DEPTACCOUNT_NO = " + Deptaccount_No); //###### ย้อนรายการ ###### String System_Code = "02"; //เงินฝาก String Operate_Code = "003"; //ประเภทฝาก String Cash_type = "TRN"; Pay.ProcessCancelPayment(Member_No, Coop_Id, Deptaccount_No, Item_Amt, DataRequest.TransactionDateTime, System_Code, Operate_Code, Cash_type, DataRequest.AcquirerTerminalNumber, DataRequest.TerminalSequenceNo, DataRequest.COOPCustomerAC.ToString("0000000000"), LogMessage, ta); } break; case "34": //ชำระเงินกู้ String Loancontract_No = String.Empty; LogMessage.WriteLog("TransactionType", "Tranfer Loan [ชำระเงินกู้] ####################"); Inq.LoanInquiry(Coop_Id, Member_No, LogMessage, ta); Item_Amt = DataRequest.Amount1; LogMessage.WriteLog("Payment Amount", Item_Amt.ToString("#,##0.00")); SqlGetAccount = "SELECT ACCOUNT_NO FROM ATMTRANSACTION WHERE MEMBER_NO = {0} AND CCS_OPERATE_DATE = {1}"; SqlGetAccount = WebUtil.SQLFormat(SqlGetAccount, Member_No, DataRequest.TransactionDateTime); LogMessage.WriteLog("TRANSACTION SQL", SqlGetAccount); dt = ta.Query(SqlGetAccount); RowCount = dt.GetRowCount(); if (RowCount != 1) { LogMessage.WriteLog("", "พบข้อมูลทั้งหมด = " + RowCount); return; } else if (dt.Next()) { Loancontract_No = dt.GetString("ACCOUNT_NO"); LogMessage.WriteLog("", "LOANACCOUNT_NO = " + Loancontract_No); //###### ย้อนรายการ ###### String System_Code = "01"; //เงินกู้ String Operate_Code = "003"; //ประเภทชำระหนี้ String Cash_type = "TRN"; Pay.ProcessCancelPayment(Member_No, Coop_Id, Loancontract_No, Item_Amt, DataRequest.TransactionDateTime, System_Code, Operate_Code, Cash_type, DataRequest.AcquirerTerminalNumber, DataRequest.TerminalSequenceNo, DataRequest.COOPCustomerAC.ToString("0000000000"), LogMessage, ta); } break; default: DataResponse.ResponseCode = ResponseCode.TransactionNotAuthorized; break; } } #endregion //####################################################################################################################### else { DataResponse.ResponseCode = ResponseCode.TransactionNotAuthorized; } } catch (Exception ex) { DataResponse.ResponseCode = ResponseCode.SystemError; Result = DataResponse.DataMassage; throw ex; } }