using Newtonsoft.Json; using Swift.API.Common; using Swift.API.Common.ExRate; using System; using System.Collections.Generic; using System.Configuration; using System.Linq; using System.Net.Http; using System.Text; namespace Swift.API.ThirdPartyApiServices { public class ExchangeRateAPIService { public JsonResponse GetExchangeRate(ExRateRequest model) { //Log.Debug("Calculate | Calling third party api to fetch the ex-rate details " + JsonConvert.SerializeObject(model)); using (var client = RestApiClient.CallJMEThirdParty()) { JsonResponse jsonResponse = new JsonResponse(); var obj = JsonConvert.SerializeObject(model); var jbdContent = new StringContent(obj.ToString(), Encoding.UTF8, "application/json"); try { var URL = "api/v1/TP/ExRate"; 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) }; } } } public JsonResponse AccountValidationTP(AccountValidateModel model) { //Log.Debug("Calculate | Calling third party api to fetch the ex-rate details " + JsonConvert.SerializeObject(model)); using (var client = RestApiClient.CallJMEThirdParty()) { JsonResponse jsonResponse = new JsonResponse(); var obj = JsonConvert.SerializeObject(model); var jbdContent = new StringContent(obj.ToString(), Encoding.UTF8, "application/json"); try { var URL = "api/v1/TP/Verify"; HttpResponseMessage resp = client.PostAsync(URL, jbdContent).Result; string resultData = resp.Content.ReadAsStringAsync().Result; if (resp.IsSuccessStatusCode) { jsonResponse = JsonConvert.DeserializeObject(resultData); 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) }; } } } public JsonResponse PushNotification(SendNotificationRequest model) { //Log.Debug("Calculate | Calling third party api to fetch the ex-rate details " + JsonConvert.SerializeObject(model)); using (var client = RestApiClient.CallJMEThirdParty()) { JsonResponse jsonResponse = new JsonResponse(); var obj = JsonConvert.SerializeObject(model); 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); 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) }; } } } public JsonResponse GetTxnStatus(dynamic model) { //Log.Debug("Calculate | Calling third party api to fetch the ex-rate details " + JsonConvert.SerializeObject(model)); using (var client = RestApiClient.CallJMEThirdParty()) { JsonResponse jsonResponse = new JsonResponse(); var obj = JsonConvert.SerializeObject(model); var jbdContent = new StringContent(obj.ToString(), Encoding.UTF8, "application/json"); try { var URL = "api/v1/TP/GetStatus"; HttpResponseMessage resp = client.PostAsync(URL, jbdContent).Result; string resultData = resp.Content.ReadAsStringAsync().Result; if (resp.IsSuccessStatusCode) { jsonResponse = JsonConvert.DeserializeObject(resultData); if (jsonResponse.ResponseCode.Equals("104")) { var datas = JsonConvert.DeserializeObject>(jsonResponse.Data.ToString()); string msg = ""; foreach (var item in datas) { msg += " " + item.Message; } jsonResponse.Msg += msg; } 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; return jsonResponse; } } catch (Exception ex) { return new JsonResponse() { ResponseCode = "1", Msg = (ex.InnerException == null ? ex.Message : ex.InnerException.Message) }; } } } public List DownloadInficareTransaction(string url) { //Log.Debug("Calculate | Calling third party api to fetch the ex-rate details " + JsonConvert.SerializeObject(model)); using (var client = RestApiClient.CallJMEThirdParty()) { List jsonResponse = new List(); try { HttpResponseMessage resp = client.GetAsync(url).Result; string resultData = resp.Content.ReadAsStringAsync().Result; if (resp.IsSuccessStatusCode) { //jsonResponse = JsonConvert.DeserializeObject>(resultData); jsonResponse = JsonConvert.DeserializeObject>(resultData); jsonResponse[0].errorCode = "0"; jsonResponse[0].errorMsg = "Success"; return jsonResponse; } else { jsonResponse[0].errorCode = "1"; jsonResponse[0].errorMsg = "Success"; return jsonResponse; } } catch (Exception ex) { jsonResponse[0].errorCode = "1"; jsonResponse[0].errorMsg = (ex.InnerException == null ? ex.Message : ex.InnerException.Message); return jsonResponse; } } } public List DownloadInficareCustomer(string url) { //Log.Debug("Calculate | Calling third party api to fetch the ex-rate details " + JsonConvert.SerializeObject(model)); using (var client = RestApiClient.CallJMEThirdParty()) { List jsonResponse = new List(); try { HttpResponseMessage resp = client.GetAsync(url).Result; string resultData = resp.Content.ReadAsStringAsync().Result; if (resp.IsSuccessStatusCode) { //jsonResponse = JsonConvert.DeserializeObject>(resultData); jsonResponse = JsonConvert.DeserializeObject>(resultData); jsonResponse[0].errorCode = "0"; jsonResponse[0].errorMsg = "Success"; return jsonResponse; } else { jsonResponse[0].errorCode = "1"; jsonResponse[0].errorMsg = "Success"; return jsonResponse; } } catch (Exception ex) { jsonResponse[0].errorCode = "1"; jsonResponse[0].errorMsg = (ex.InnerException == null ? ex.Message : ex.InnerException.Message); return jsonResponse; } } } public List DownloadInficareReceiver(string url) { //Log.Debug("Calculate | Calling third party api to fetch the ex-rate details " + JsonConvert.SerializeObject(model)); using (var client = RestApiClient.CallJMEThirdParty()) { List jsonResponse = new List(); try { HttpResponseMessage resp = client.GetAsync(url).Result; string resultData = resp.Content.ReadAsStringAsync().Result; if (resp.IsSuccessStatusCode) { //jsonResponse = JsonConvert.DeserializeObject>(resultData); jsonResponse = JsonConvert.DeserializeObject>(resultData); jsonResponse[0].errorCode = "0"; jsonResponse[0].errorMsg = "Success"; return jsonResponse; } else { jsonResponse[0].errorCode = "1"; jsonResponse[0].errorMsg = "Success"; return jsonResponse; } } catch (Exception ex) { jsonResponse[0].errorCode = "1"; jsonResponse[0].errorMsg = (ex.InnerException == null ? ex.Message : ex.InnerException.Message); return jsonResponse; } } } public List DownloadInficareTransactionForSync(string url) { //Log.Debug("Calculate | Calling third party api to fetch the ex-rate details " + JsonConvert.SerializeObject(model)); using (var client = RestApiClient.CallJMEThirdParty()) { List jsonResponse = new List(); try { HttpResponseMessage resp = client.GetAsync(url).Result; string resultData = resp.Content.ReadAsStringAsync().Result; if (resp.IsSuccessStatusCode) { //jsonResponse = JsonConvert.DeserializeObject>(resultData); jsonResponse = JsonConvert.DeserializeObject>(resultData); jsonResponse[0].errorCode = "0"; jsonResponse[0].errorMsg = "Success"; return jsonResponse; } else { jsonResponse[0].errorCode = "1"; jsonResponse[0].errorMsg = "Success"; return jsonResponse; } } catch (Exception ex) { jsonResponse[0].errorCode = "1"; jsonResponse[0].errorMsg = (ex.InnerException == null ? ex.Message : ex.InnerException.Message); return jsonResponse; } } } public class TransactionSync { public string errorCode { get; set; } public string errorMsg { get; set; } public string transtatus { get; set; } public string status { get; set; } public string paiddate { get; set; } public string cancel_date { get; set; } public string tranno { get; set; } } public class ReceiverData { public string errorCode { get; set; } public string errorMsg { get; set; } public string Col1 { get; set; } public string Sender_SNo { get; set; } public string ReceiverName { get; set; } public string ReceiverMiddleName { get; set; } public string ReceiverLastName { get; set; } public string ReceiverCountry { get; set; } public string ReceiverAddress { get; set; } public string Col2 { get; set; } public string Col3 { get; set; } public string ReceiverCity { get; set; } public string ReceiverEmail { get; set; } public string Col4 { get; set; } public string ReceiverFax { get; set; } public string ReceiverMobile { get; set; } public string Relation { get; set; } public string CustomerbenificiarType { get; set; } public string ReceiverIdDescription { get; set; } public string ReceiverId { get; set; } public string PaymentType { get; set; } public string Commercial_bank_Id { get; set; } public string PayOutPartner { get; set; } public string Api_partnet_bank_name { get; set; } public string AccountNo { get; set; } public string CustomerRemarks { get; set; } public string Reason_for_remittance { get; set; } public string CreateBy { get; set; } public string Create_TS { get; set; } public string Col5 { get; set; } public string Col6 { get; set; } public string Col7 { get; set; } public string SNo { get; set; } } public class CustomerData { public string errorCode { get; set; } public string errorMsg { get; set; } public string SenderName { get; set; } public string SenderMiddleName { get; set; } public string SenderLastName { get; set; } public string Country { get; set; } public string SenderZipCode { get; set; } public string SenderCity { get; set; } public string SenderState { get; set; } public string SenderEmail { get; set; } public string SenderMobile2 { get; set; } public string SenderMobile { get; set; } public string SenderNativeCountry { get; set; } public string Date_of_birth { get; set; } public string Sender_Occupation { get; set; } public string Gender { get; set; } public string FullName { get; set; } public string Create_by { get; set; } public string create_ts { get; set; } public string id_issue_DATE { get; set; } public string SENDERVISA { get; set; } public string SenderFax { get; set; } public string SenderPassport { get; set; } public string Is_ACT { get; set; } public string approve_by { get; set; } public string approve_ts { get; set; } public string cust_type { get; set; } public string is_enable { get; set; } public string Force_Change_Pwd { get; set; } public string Source_Of_income { get; set; } public string SenderAddress { get; set; } public string CustomerType { get; set; } public string EmploymentType { get; set; } public string NameOfEmp { get; set; } public string SSN_cardId { get; set; } public string Is_Active { get; set; } public string Customer_remarks { get; set; } public string sendercompany { get; set; } public string RegdNo { get; set; } public string Org_Type { get; set; } public string Date_OfInc { get; set; } public string Nature_OD_Company { get; set; } public string Position { get; set; } public string NameOfAuthorizedPerson { get; set; } public string Income { get; set; } public string SNo { get; set; } public string CustomerId { get; set; } } public class TransactionResponse { public string errorCode { get; set; } public string errorMsg { get; set; } public string RefNo { get; set; } public string pCurrCostRate { get; set; } public string PCurrMargin { get; set; } public string custRate { get; set; } public string SCharge { get; set; } public string senderCommission { get; set; } public string pAgentComm { get; set; } public string pAgentCommCurr { get; set; } public string AgentCode { get; set; } public string Branch1 { get; set; } public string Branch_Code { get; set; } public string Branch { get; set; } public string ReceiverCountry { get; set; } public string paymentType { get; set; } public string ben_bank_id_BANK { get; set; } public string ben_bank_name_BANK { get; set; } public string ben_bank_id { get; set; } public string ben_bank_name { get; set; } public string rBankAcNo { get; set; } public string collMode { get; set; } public string paidAmt { get; set; } public string receiveAmt { get; set; } public string TotalRountAmt { get; set; } public string receiveCType { get; set; } public string ReceiverRelation { get; set; } public string reason_for_remittance { get; set; } public string source_of_income { get; set; } public string TranStatus { get; set; } public string PayStatus { get; set; } public string sTime { get; set; } public string sempid { get; set; } public string confirmdate { get; set; } public string sendername { get; set; } public string receivername { get; set; } public string TranNo { get; set; } public string firstName { get; set; } public string fullName { get; set; } public string senderstate { get; set; } public string sendercity { get; set; } public string senderAddress { get; set; } public string senderemail { get; set; } public string sender_mobile { get; set; } public string senderPhoneNo { get; set; } public string senderNativeCountry { get; set; } public string senderFax { get; set; } public string senderPassport { get; set; } public string ID_issue_Date { get; set; } public string senderVisa { get; set; } public string ip_address { get; set; } public string dateofbirth { get; set; } public string senderzipcode { get; set; } public string customer_sno { get; set; } public string rfirstName { get; set; } public string rFullName { get; set; } public string rCountry { get; set; } public string receiverAddress { get; set; } public string receiver_mobile { get; set; } public string ReceiverIdDescription { get; set; } public string ReceiverId { get; set; } public string rRel { get; set; } public string receiver_sno { get; set; } public string paidBy { get; set; } public string paidDate { get; set; } public string cancel_date { get; set; } } } }