You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

69 lines
2.9 KiB

  1. using Newtonsoft.Json;
  2. using Swift.API.Common;
  3. using Swift.API.Common.Cancel;
  4. using System;
  5. using System.Collections.Generic;
  6. using System.Linq;
  7. using System.Net.Http;
  8. using System.Text;
  9. namespace Swift.API.ThirdPartyApiServices
  10. {
  11. public class CancelRequestServices
  12. {
  13. public JsonResponse CancelTransaction(CancelTxnPartner model)
  14. {
  15. //Log.Debug("Calculate | Calling third party api to fetch the ex-rate details " + JsonConvert.SerializeObject(model));
  16. using (var client = RestApiClient.CallJMEThirdParty())
  17. {
  18. JsonResponse jsonResponse = new JsonResponse();
  19. var obj = JsonConvert.SerializeObject(model);
  20. var jbdContent = new StringContent(obj.ToString(), Encoding.UTF8, "application/json");
  21. try
  22. {
  23. var URL = "api/v1/TP/cancelTxn";
  24. HttpResponseMessage resp = client.PostAsync(URL, jbdContent).Result;
  25. string resultData = resp.Content.ReadAsStringAsync().Result;
  26. if (resp.IsSuccessStatusCode)
  27. {
  28. jsonResponse = JsonConvert.DeserializeObject<JsonResponse>(resultData);
  29. if (jsonResponse.ResponseCode.Equals("104"))
  30. {
  31. var datas = JsonConvert.DeserializeObject<List<Data>>(jsonResponse.Data.ToString());
  32. string msg = "";
  33. foreach (var item in datas)
  34. {
  35. msg += " " + item.Message;
  36. }
  37. jsonResponse.Msg += msg;
  38. }
  39. return jsonResponse;
  40. }
  41. else
  42. {
  43. var errorJson = JsonConvert.DeserializeObject<ErrorJosn>(resultData);
  44. var jsonResponseData = JsonConvert.DeserializeObject<JsonResponse>(errorJson.Message);
  45. var data = JsonConvert.DeserializeObject<List<Data>>(jsonResponseData.Data.ToString());
  46. jsonResponse.Id = jsonResponseData.Id;
  47. jsonResponse.ResponseCode = jsonResponseData.ResponseCode;
  48. jsonResponse.Msg = jsonResponseData.Msg;
  49. jsonResponse.Data = data;
  50. jsonResponse.Extra = jsonResponseData.Extra;
  51. jsonResponse.Extra1 = jsonResponseData.Extra1;
  52. return jsonResponse;
  53. }
  54. }
  55. catch (Exception ex)
  56. {
  57. return new JsonResponse()
  58. {
  59. ResponseCode = "1",
  60. Msg = (ex.InnerException == null ? ex.Message : ex.InnerException.Message)
  61. };
  62. }
  63. }
  64. }
  65. }
  66. }