public static void UpdateTMCProcccessedTransaction(string[] uniqueIDs) { updateSemaphore.WaitOne(); using (var db = new TmcDataContext()) { try { var paramVal = string.Join("','", uniqueIDs); string sql = "UPDATE E_TMCREQUEST SET STATUS ='1' WHERE TRANS_DATA IN ('" + paramVal + "')"; Console.WriteLine(sql); db.Database.ExecuteSqlCommand(sql); } catch (Exception ex) { Console.WriteLine(nameof(DataManupulation) + " " + ExceptionExtensions.GetFullMessage(ex)); logger.LogInfoMessage(nameof(DataManupulation) + " " + System.Reflection.MethodBase.GetCurrentMethod().Name + " " + ExceptionExtensions.GetFullMessage(ex)); } finally { updateSemaphore.Release(); } } }
public List <E_TRANSACTION> Channel1() { List <E_TRANSACTION> e_Transaction = new List <E_TRANSACTION>(); using (TmcDataContext db = new TmcDataContext()) { try { var query = from A in db.E_TMCREQUEST join B in db.E_TMCHOST_RESP on new { X = A.TRANS_DATA, Y = A.TRANS_SEQ } equals new { X = B.TRANS_DATA, Y = B.SWITCH_REF } into jointData from joinRecord in jointData.DefaultIfEmpty() where (A.TRANS_DATE > Settings.startdate && A.STATUS == "0" && A.PRO_CODE.StartsWith("13") && Settings.successKeys.Contains(A.RESPONSE_CODE) && A.MTI == "0200" && Settings.targets.Contains(A.TARGET)) select new EtransactionViewModel { TRANS_CODE = "P", CARD_NUM = A.PAN, TRANSID = A.STAN, MERCHANT_CODE = A.CARD_ACC_ID, TRANS_DESCR = A.CARD_ACC_NAME, RESPONSE_CODE = A.RESPONSE_CODE, TRANS_AMOUNT = A.AMOUNT, TRANS_DATE = A.TRANS_DATE, CHANNELID = A.TRANS_DATA.Substring(0, 2), TRANS_TYPE = "1", EXTERNAL_TRANSID = A.TRANS_DATA, UNIQUE_TRANSID = A.TRANS_DATA, FEE = A.FEE, CURRENCY = A.CURRENCY, REVERSAL_KEY = A.TRANS_KEY, TRANS_NO = A.TRANS_SEQ, TERMINAL_ID = A.TERMINAL_ID, CARD_SCHEME = A.CARD_SCHEME, REFERENCE = joinRecord.REFERENCE, RESP_RESPONSE_CODE = joinRecord.RESPONSE_CODE }; System.Diagnostics.Stopwatch stopwatch = new System.Diagnostics.Stopwatch(); stopwatch.Start(); var tmcreq = query.ToList().Take(Settings.number_of_record_perround); stopwatch.Stop(); Console.WriteLine("Inspectingtime for channel 1 completed in " + stopwatch.Elapsed); e_Transaction = Mapper.Map <List <E_TRANSACTION> >(tmcreq); } catch (Exception ex) { Console.WriteLine("Exception from " + System.Reflection.MethodBase.GetCurrentMethod().Name + " " + ExceptionExtensions.GetFullMessage(ex)); logger.LogDebugMessage(nameof(EtranzactChannelTransaction) + " " + ExceptionExtensions.GetFullMessage(ex)); } } Console.WriteLine(System.Reflection.MethodBase.GetCurrentMethod().Name + " " + e_Transaction.Count()); Console.WriteLine("Channel1 Completed"); logger.LogInfoMessage(nameof(EtranzactChannelTransaction) + " Channel1 Completed "); return(e_Transaction); }
public List <E_TRANSACTION> NonEtzCard1() { List <E_TRANSACTION> e_Transaction = new List <E_TRANSACTION>(); using (TmcDataContext db = new TmcDataContext()) { try { var query = from A in db.E_TMCREQUEST join B in db.E_TMCNODE on A.TRANS_SEQ equals B.INCON_NAME into jointData from joinRecord in jointData.DefaultIfEmpty() where (A.TRANS_DATE > Settings.startdate && A.STATUS == "0" && (A.TERMINAL_ID.StartsWith("4505") || A.TERMINAL_ID.StartsWith("2030")) && A.RESPONSE_CODE == "00" && A.MTI == "0200" && A.PRO_CODE.StartsWith("00")) select new EtransactionViewModel { TRANS_CODE = "P", CARD_NUM = A.PAN, TRANSID = A.STAN, MERCHANT_CODE = A.CARD_ACC_ID, TRANS_DESCR = "Payment to " + A.CARD_ACC_ID + " - " + A.TRANS_DATA.Substring(A.TRANS_DATA.IndexOf("#") + 1), RESPONSE_CODE = A.RESPONSE_CODE, TRANS_AMOUNT = A.AMOUNT, TRANS_DATE = A.TRANS_DATE, CHANNELID = A.TRANS_DATA.Substring(0, 2), TRANS_TYPE = "1", EXTERNAL_TRANSID = A.SWITCH_KEY, FEE = A.FEE, CURRENCY = A.CURRENCY, REVERSAL_KEY = A.TRANS_KEY, TRANS_NO = A.TRANS_SEQ, UNIQUE_TRANSID = A.TRANS_DATA, //.Substring(0, A.TRANS_DATA.IndexOf("#")), BANK_CODE = A.TARGET == "NIBBS_TMS" && A.PAN.Substring(1, 1) != "4" ? "032" : joinRecord.AQISSUER_CODE }; var tmcreq = query.ToList().Take(Settings.number_of_record_perround); e_Transaction = Mapper.Map <List <E_TRANSACTION> >(tmcreq); } catch (Exception ex) { Console.WriteLine("Exception from " + System.Reflection.MethodBase.GetCurrentMethod().Name + " " + ExceptionExtensions.GetFullMessage(ex)); logger.LogInfoMessage(nameof(NonEtzCardTransaction) + " " + ExceptionExtensions.GetFullMessage(ex)); } } Console.WriteLine(System.Reflection.MethodBase.GetCurrentMethod().Name + " " + e_Transaction.Count()); Console.WriteLine("NonEtzCard1 Completed"); logger.LogInfoMessage(nameof(NonEtzCardTransaction) + " NonEtzCard1 Completed "); return(e_Transaction); }
public List <E_TRANSACTION> Channel7() { List <E_TRANSACTION> e_Transaction = new List <E_TRANSACTION>(); using (TmcDataContext db = new TmcDataContext()) { try { var query = from A in db.E_TMCREQUEST join B in db.E_TMCHOST_RESP on new { X = A.TRANS_DATA, Y = A.TRANS_SEQ } equals new { X = B.TRANS_DATA, Y = B.SWITCH_REF } into jointData from joinRecord in jointData.DefaultIfEmpty() where (A.TRANS_DATE > Settings.startdate && A.STATUS == "0" && /* A.card_acc_id LIKE: Bank_Code AND */ A.PRO_CODE.StartsWith("40") && Settings.successKeys.Contains(joinRecord.RESPONSE_CODE) && A.MTI == "0220" && A.CARD_ACC_ID.Trim().Length > 11 && Settings.targets.Contains(A.TARGET)) select new EtransactionViewModel { TRANS_CODE = A.CARD_ACC_ID.EndsWith("D") ? "D" : "U", CARD_NUM = A.CARD_ACC_ID.EndsWith("D") ? A.PAN : A.BILLER_ID.Substring(A.BILLER_ID.Length - DbFunctions.Reverse(A.BILLER_ID).IndexOf("#")), TRANSID = A.REFERENCE, MERCHANT_CODE = A.CARD_ACC_ID.EndsWith("D") ? A.BILLER_ID.Substring(A.BILLER_ID.Length - DbFunctions.Reverse(A.BILLER_ID).IndexOf("#")) : A.PAN, TRANS_DESCR = A.CARD_ACC_NAME, RESPONSE_CODE = A.RESPONSE_CODE, TRANS_AMOUNT = A.AMOUNT, TRANS_DATE = A.TRANS_DATE, CHANNELID = A.TRANS_DATA.Substring(0, 2), TRANS_TYPE = "1", EXTERNAL_TRANSID = A.TRANS_DATA.Substring(3, A.TRANS_DATA.Length / 2), UNIQUE_TRANSID = A.TRANS_DATA, FEE = A.FEE, CURRENCY = A.CURRENCY, REVERSAL_KEY = A.TRANS_KEY, TRANS_NO = A.BILLER_ID.Substring(A.BILLER_ID.IndexOf("#"), A.BILLER_ID.Length - DbFunctions.Reverse(A.BILLER_ID).IndexOf("#")), TERMINAL_ID = A.TERMINAL_ID, CARD_SCHEME = A.CARD_SCHEME, REFERENCE = joinRecord.REFERENCE, RESP_RESPONSE_CODE = joinRecord.RESPONSE_CODE }; var tmcreq = query.ToList().Take(Settings.number_of_record_perround); e_Transaction = Mapper.Map <List <E_TRANSACTION> >(tmcreq); } catch (Exception ex) { Console.WriteLine("Exception from " + System.Reflection.MethodBase.GetCurrentMethod().Name + " " + ExceptionExtensions.GetFullMessage(ex)); logger.LogDebugMessage(nameof(EtranzactChannelTransaction) + " " + ExceptionExtensions.GetFullMessage(ex)); } } Console.WriteLine(System.Reflection.MethodBase.GetCurrentMethod().Name + " " + e_Transaction.Count()); logger.LogInfoMessage(System.Reflection.MethodBase.GetCurrentMethod().Name + " " + e_Transaction.Count()); Console.WriteLine("Channel7 Completed"); logger.LogInfoMessage(nameof(EtranzactChannelTransaction) + " Channel7 Completed "); return(e_Transaction); }
public List <E_TRANSACTION> Channel5() { List <E_TRANSACTION> e_Transaction = new List <E_TRANSACTION>(); using (TmcDataContext db = new TmcDataContext()) { try { var query = from A in db.E_TMCREQUEST join B in db.E_TMCNODE on A.SRC_NODE equals B.INCON_ID into jointData from joinRecord in jointData.DefaultIfEmpty() where (A.TRANS_DATE > Settings.startdate && A.STATUS == "0" && /* A.card_acc_id LIKE: Bank_Code AND */ A.PRO_CODE.StartsWith("01") && Settings.successKeys.Contains(A.RESPONSE_CODE) && A.MTI == "0200" && Settings.targets.Contains(A.TARGET)) select new EtransactionViewModel { TRANS_CODE = "W", CARD_NUM = A.CARD_SCHEME + "XXXXXX" + A.PAN.Substring(A.PAN.Length - 4), TRANSID = A.STAN, MERCHANT_CODE = joinRecord.AQISSUER_CODE + "ATMWHDR", TRANS_DESCR = "WITHDRAWAL: " + A.STAN + "000000 :" + A.TERMINAL_ID + ":" + A.CARD_ACC_NAME, RESPONSE_CODE = A.RESPONSE_CODE, TRANS_AMOUNT = A.AMOUNT, TRANS_DATE = A.TRANS_DATE, CHANNELID = A.TRANS_DATA.Substring(0, 2), TRANS_TYPE = "1", EXTERNAL_TRANSID = A.REVERSAL_KEY, UNIQUE_TRANSID = A.TRANS_DATA, FEE = A.FEE, CURRENCY = A.CURRENCY, REVERSAL_KEY = A.TRANS_KEY, TRANS_NO = A.TRANS_SEQ, TERMINAL_ID = A.TERMINAL_ID, CARD_SCHEME = A.CARD_SCHEME, REFERENCE = A.REFERENCE, RESP_RESPONSE_CODE = "" }; var tmcreq = query.ToList().Take(Settings.number_of_record_perround); e_Transaction = Mapper.Map <List <E_TRANSACTION> >(tmcreq); } catch (Exception ex) { Console.WriteLine("Exception from " + System.Reflection.MethodBase.GetCurrentMethod().Name + " " + ExceptionExtensions.GetFullMessage(ex)); logger.LogDebugMessage(nameof(EtranzactChannelTransaction) + " " + ExceptionExtensions.GetFullMessage(ex)); } } Console.WriteLine(System.Reflection.MethodBase.GetCurrentMethod().Name + " " + e_Transaction.Count()); Console.WriteLine("Channel5 Completed"); logger.LogInfoMessage(nameof(EtranzactChannelTransaction) + " Channel5 Completed "); return(e_Transaction); }
// private static TmcDataContext db = new TmcDataContext(); public static SettleOption CheckTransactionStatusOnTMC(string UNIQUE_TRANSID, string TRANS_CODE) { Logger logger = new Logger(); try { checkSemaphore.WaitOne(); Console.WriteLine("Checking Transaction" + UNIQUE_TRANSID); using (TmcDataContext tmcData = new TmcDataContext()) { var reversed = tmcData.E_TMCREQUEST.Where(a => a.TRANS_DATA == UNIQUE_TRANSID && a.MTI == "0420").FirstOrDefault(); if (reversed != null) { return(SettleOption.Invalid); } var requestResp = tmcData.E_REQUESTLOG.Where(a => a.transid == UNIQUE_TRANSID).FirstOrDefault(); if (requestResp != null) { if (requestResp.response_code != "00" && requestResp.response_code != "0") { return(SettleOption.Invalid); } } } } catch (Exception ex) { Console.WriteLine(nameof(DataManupulation) + " " + ExceptionExtensions.GetFullMessage(ex)); logger.LogInfoMessage(nameof(DataManupulation) + " " + System.Reflection.MethodBase.GetCurrentMethod().Name + " " + ExceptionExtensions.GetFullMessage(ex)); return(SettleOption.Valid); } finally { checkSemaphore.Release(); } return(SettleOption.Valid); }
public List <E_TRANSACTION> MastercardTrx1() { var src_node_value = new int[] { 210000059, 510000059 }; List <E_TRANSACTION> e_Transaction = new List <E_TRANSACTION>(); using (TmcDataContext db = new TmcDataContext()) { try { var query = from A in db.E_TMCREQUEST join B in db.E_TMCHOST_RESP on new { X = A.TRANS_DATA, Y = A.TRANS_SEQ } equals new { X = B.TRANS_DATA, Y = B.SWITCH_REF } into jointData from joinRecord in jointData.DefaultIfEmpty() join C in db.E_TMCNODE on A.TARGET_NODE equals C.INCON_ID into jointData2 from joinRecord2 in jointData2.DefaultIfEmpty() where (A.TRANS_DATE > Settings.startdate && A.STATUS == "0" && src_node_value.Contains(A.SRC_NODE) && A.TARGET_NODE == 210000049 && Settings.successKeys.Contains(joinRecord.RESPONSE_CODE) && A.MTI == "0200" && A.AMOUNT > 0 && A.REVERSAL_KEY == "" && A.TRANS_DATA != "") select new EtransactionViewModel { TRANS_CODE = "F", CARD_NUM = joinRecord2.ISSUER_CODE + A.PAN, TRANSID = joinRecord.REFERENCE, TRANS_NO = joinRecord.STAN, MERCHANT_CODE = A.CARD_ACC_ID, TRANS_DESCR = A.CARD_ACC_NAME, RESPONSE_CODE = A.RESPONSE_CODE, TRANS_AMOUNT = A.AMOUNT, TRANS_DATE = A.TRANS_DATE, CHANNELID = A.TRANS_DATA.Substring(0, 2), TRANS_TYPE = "1", EXTERNAL_TRANSID = A.SWITCH_KEY, UNIQUE_TRANSID = A.TRANS_DATA, FEE = A.FEE, FEE2 = joinRecord.FEE, CURRENCY = A.CURRENCY, REVERSAL_KEY = A.ACCT_ID1, TERMINAL_ID = A.TERMINAL_ID, CARD_SCHEME = A.PRO_CODE, RESP_RESPONSE_CODE = joinRecord.RESPONSE_CODE, }; var tmcreq = query.ToList().Take(Settings.number_of_record_perround); foreach (EtransactionViewModel item in tmcreq) { if (item.CARD_SCHEME.Substring(0, 2) == "00") { item.TRANS_DESCR = "POS:" + item.REVERSAL_KEY + ':' + item.TRANSID + ':' + item.TERMINAL_ID + ':' + item.TRANS_DESCR; item.MERCHANT_CODE = "044MSTHLD4"; item.TRANS_CODE = "P"; item.CHANNELID = "03"; } else if (item.CARD_SCHEME.Substring(0, 2) == "01") { item.TRANS_DESCR = "ATM WTHDRWL:" + item.REVERSAL_KEY + ':' + item.TRANSID + ':' + item.TERMINAL_ID + ':' + item.TRANS_DESCR; if (item.MERCHANT_CODE == "044MSTHLD1") { item.MERCHANT_CODE = "044MSTHLD3"; item.TRANS_CODE = "P"; item.CHANNELID = "04"; } else if (item.MERCHANT_CODE != "044MSTHLD1" && item.TERMINAL_ID.Substring(0, 4) == "1044") { item.MERCHANT_CODE = "0443241211"; item.TRANS_CODE = "W"; item.CHANNELID = "04"; } else if (item.MERCHANT_CODE != "044MSTHLD1" && item.TERMINAL_ID.Substring(0, 4) != "1044") { item.MERCHANT_CODE = "044MSTHLD3"; item.TRANS_CODE = "P"; item.CHANNELID = "04"; } item.FEE = int.Parse(item.FEE2.Substring(1)) / 100; } } e_Transaction = Mapper.Map <List <E_TRANSACTION> >(tmcreq); } catch (Exception ex) { Console.WriteLine("Exception from " + System.Reflection.MethodBase.GetCurrentMethod().Name + " " + ExceptionExtensions.GetFullMessage(ex)); logger.LogDebugMessage(nameof(MastercardTransactions) + " " + ExceptionExtensions.GetFullMessage(ex)); } } Console.WriteLine(System.Reflection.MethodBase.GetCurrentMethod().Name + " " + e_Transaction.Count()); Console.WriteLine("Channel4 Completed"); logger.LogInfoMessage(nameof(MastercardTransactions) + " Channel4 Completed "); return(e_Transaction); }