From ec8bab7173c3970415165cfa8d1088cdb90ba1e2 Mon Sep 17 00:00:00 2001 From: shakun Date: Sun, 22 Oct 2023 11:51:16 +0545 Subject: [PATCH] Live version --- SendMail/API/NotifierV2.cs | 63 +++++++++++++++++++++++++++ SendMail/App.config | 4 +- SendMail/Business/TxnPush.cs | 66 +++++++---------------------- SendMail/DAO/TxnPushDAO.cs | 30 +++++++++++-- SendMail/JMETxnPushScheduler.csproj | 1 + 5 files changed, 109 insertions(+), 55 deletions(-) create mode 100644 SendMail/API/NotifierV2.cs diff --git a/SendMail/API/NotifierV2.cs b/SendMail/API/NotifierV2.cs new file mode 100644 index 0000000..eae4175 --- /dev/null +++ b/SendMail/API/NotifierV2.cs @@ -0,0 +1,63 @@ +using JMETxnPushScheduler.Common; +using Newtonsoft.Json; +using Swift.API.Common.Enum; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Net.Http; +using System.Text; +using System.Threading.Tasks; + +namespace JMETxnPushScheduler.API +{ + public static class NotifierV2 + { + // private static readonly ILog Log = LogManager.GetLogger(typeof(NotifierV2)); + public static JsonResponse SendNotification(SendNotificationRequestMobile request, NOTIFICATION_TYPE nOTIFICATION_TYPE = NOTIFICATION_TYPE.PUSH_NOTIFICATION) + { + using (var client = RestApiClient.CallJMEThirdParty()) + { + JsonResponse jsonResponse = new JsonResponse(); + var obj = JsonConvert.SerializeObject(request); + var jbdContent = new StringContent(obj.ToString(), Encoding.UTF8, "application/json"); + try + { + var URL = "api/v1/TP/NotificationAPI"; + + HttpResponseMessage resp = client.PostAsync(URL, jbdContent).Result; + string resultData = resp.Content.ReadAsStringAsync().Result; + if (resp.IsSuccessStatusCode) + { + jsonResponse = JsonConvert.DeserializeObject(resultData); + var a = (jsonResponse.Data != null ? JsonConvert.DeserializeObject(jsonResponse.Data.ToString()) : null); + jsonResponse.Data = a; + + return jsonResponse; + } + else + { + var errorJson = JsonConvert.DeserializeObject(resultData); + var jsonResponseData = JsonConvert.DeserializeObject(errorJson.Message); + var data = JsonConvert.DeserializeObject>(jsonResponseData.Data.ToString()); + jsonResponse.Id = jsonResponseData.Id; + jsonResponse.ResponseCode = jsonResponseData.ResponseCode; + jsonResponse.Msg = jsonResponseData.Msg; + jsonResponse.Data = data; + jsonResponse.Extra = jsonResponseData.Extra; + jsonResponse.Extra1 = jsonResponseData.Extra1; + return jsonResponse; + } + } + catch (Exception ex) + { + return new JsonResponse() + { + ResponseCode = "1", + Msg = (ex.InnerException == null ? ex.Message : ex.InnerException.Message) + }; + } + } + } + + } +} diff --git a/SendMail/App.config b/SendMail/App.config index 29a1e7e..4c161a7 100644 --- a/SendMail/App.config +++ b/SendMail/App.config @@ -7,7 +7,9 @@ - + + + diff --git a/SendMail/Business/TxnPush.cs b/SendMail/Business/TxnPush.cs index e286042..21de60d 100644 --- a/SendMail/Business/TxnPush.cs +++ b/SendMail/Business/TxnPush.cs @@ -14,7 +14,7 @@ namespace JMETxnPushScheduler.Business TxnPushDAO _txnPush = new TxnPushDAO(); public void TxnSyncMain() { - + DataTable txnData = _txnPush.GetTxnDataForApprove(); if (txnData.Rows.Count == 0 || null == txnData) { @@ -47,60 +47,18 @@ namespace JMETxnPushScheduler.Business { if (result.ResponseCode == "0") { - _txnPush.UpdateTxnInstantPaid(item["ID"].ToString()); + _txnPush.UpdateTxnPost(item["ID"].ToString(), result.Extra); + GetTxnDetails(item["ID"].ToString()); } else if (result.ResponseCode == "100")//Transaction has been processed for Bank Deposit. { - _txnPush.UpdateTxnPost(item["ID"].ToString()); + _txnPush.UpdateTxnPost(item["ID"].ToString(), result.Extra); GetTxnDetails(item["ID"].ToString()); } else if (result.ResponseCode == "7000" && result.Msg.Contains("ALREADY USED")) { _txnPush.UpdateTxnPost(item["ID"].ToString()); - GetTxnDetails(item["ID"].ToString()); - } - } - else if (_dbRes.Msg == "394132") - { - if (result.ResponseCode == "0" || (!string.IsNullOrEmpty(result.Extra) && result.Extra.Equals("0006"))) //Duplicate records - { - _txnPush.UpdateTxnPost(item["ID"].ToString()); - GetTxnDetails(item["ID"].ToString()); - } - } - else if (_dbRes.Msg == "394414") //brac - { - if (result.ResponseCode == "0" || (!string.IsNullOrEmpty(result.Msg) && result.Msg.Equals("DuplicateTTNumber"))) //004- Duplicate records - { - _txnPush.UpdateTxnPost(item["ID"].ToString()); - GetTxnDetails(item["ID"].ToString()); - } - } - else if (_dbRes.Msg == "394428") //Cebuana - { - if (result.ResponseCode == "0" || (!string.IsNullOrEmpty(result.Extra) && result.Extra.Equals("05"))) // Control Number Already In Use - { - _txnPush.UpdateTxnPost(item["ID"].ToString()); - GetTxnDetails(item["ID"].ToString()); - } - else if (!string.IsNullOrEmpty(result.Extra) && result.Extra.Equals("19")) //"RTA Internal Error-Reference Number Already Exists - { - _txnPush.UpdateTxnPost(item["ID"].ToString()); - GetTxnDetails(item["ID"].ToString()); - - } - } - else if (_dbRes.Msg == "394434") //wings - { - if (result.ResponseCode == "0") - { - _txnPush.UpdateTxnPost(item["ID"].ToString()); - GetTxnDetails(item["ID"].ToString()); - } - else if (!string.IsNullOrEmpty(result.Extra) && result.Extra.Equals("200")) //" Txn found in wings system. - { - _txnPush.UpdateTxnPost(item["ID"].ToString()); - GetTxnDetails(item["ID"].ToString()); + // GetTxnDetails(item["ID"].ToString()); } } else @@ -137,7 +95,7 @@ namespace JMETxnPushScheduler.Business bodyMappings.Add(new Mapping() { SValue = "Fee", SText = cd.serviceCharge }); bodyMappings.Add(new Mapping() { SValue = "TotalAmt", SText = cd.TotalAmount }); - if(cd.paymentMethod.ToUpper() == "BANK DEPOSIT") + if (cd.paymentMethod.ToUpper() == "BANK DEPOSIT") { SendNotificationRequestMobile request = new SendNotificationRequestMobile() { @@ -159,8 +117,12 @@ namespace JMETxnPushScheduler.Business } } }; + + var r = NotifierV2.SendNotification(request); + + Console.Write(JsonConvert.SerializeObject(r)); } - else if(cd.paymentMethod.ToUpper() == "CASH PAYMENT") + else if (cd.paymentMethod.ToUpper() == "CASH PAYMENT") { SendNotificationRequestMobile request = new SendNotificationRequestMobile() { @@ -182,8 +144,12 @@ namespace JMETxnPushScheduler.Business } } }; + + var r1 = NotifierV2.SendNotification(request); + + Console.Write(JsonConvert.SerializeObject(r1)); } - + } diff --git a/SendMail/DAO/TxnPushDAO.cs b/SendMail/DAO/TxnPushDAO.cs index 327c2bc..8320aa2 100644 --- a/SendMail/DAO/TxnPushDAO.cs +++ b/SendMail/DAO/TxnPushDAO.cs @@ -20,11 +20,12 @@ namespace JMETxnPushScheduler.DAO return ExecuteDataTable(sql); } - public void UpdateTxnPost(string id) + public void UpdateTxnPost(string id, string pCurrCostRate = null ) { string sql = "EXEC PROC_TP_TXN_PUSH @FLAG = 'UPDATE-POST'"; sql += ", @TRAN_ID = " + FilterString(id); - + sql += ", @pCurrCostRate = " + FilterString(pCurrCostRate); + ExecuteDataTable(sql); } @@ -47,10 +48,31 @@ namespace JMETxnPushScheduler.DAO public TxnDetails GetTxnDetails(string tranId) { - string sql = "EXEC GetUserInfo @FLAG = 'txn-details'"; + var sql = "EXEC GetUserInfo @flag='txn-details' "; sql += ", @tranId = " + FilterString(tranId); + var row = ExecuteDataRow(sql); + + TxnDetails userDetails = new TxnDetails(); + if (row != null) + { + userDetails.senderName = row["senderName"].ToString(); + userDetails.PayoutCountry = row["pcountry"].ToString(); + + userDetails.BeneficiaryName = row["receiverName"].ToString(); + userDetails.paymentMethod = row["paymentMethod"].ToString(); + userDetails.BankName = row["pBankName"].ToString(); + userDetails.BankBranch = row["pBankBranchName"].ToString(); + userDetails.email = row["email"].ToString(); + userDetails.AccountNo = row["accountNo"].ToString(); + userDetails.PayoutAmount = row["pAmt"].ToString(); + userDetails.TransferAmount = row["tamt"].ToString(); + userDetails.TotalAmount = row["camt"].ToString(); + userDetails.serviceCharge = row["serviceCharge"].ToString(); + // userDetails.rewardPoints = row["rewardPoints"].ToString(); + userDetails.TranDate = row["createdDate"].ToString(); + } - return ParseDbResult(sql); + return userDetails; } private T ParseDbResult(string sql) diff --git a/SendMail/JMETxnPushScheduler.csproj b/SendMail/JMETxnPushScheduler.csproj index 7391f62..1fe5694 100644 --- a/SendMail/JMETxnPushScheduler.csproj +++ b/SendMail/JMETxnPushScheduler.csproj @@ -81,6 +81,7 @@ +