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.

64 lines
2.9 KiB

  1. using CustomerOnlineRemit.Common.Model;
  2. using CustomerOnlineRemit.Common.Model.Account;
  3. using CustomerOnlineRemit.Common.Model.Customer;
  4. using CustomerOnlineRemit.Common.Model.Transaction;
  5. using CustomerOnlineRemit.Repository.ConnectionServices;
  6. using Newtonsoft.Json;
  7. using System.Data;
  8. namespace CustomerOnlineRemit.Repository.Repository.Transaction
  9. {
  10. public class TransactionRepository : ITransactionRepository
  11. {
  12. private static readonly Serilog.ILogger _logger = Serilog.Log.ForContext<TransactionRepository>();
  13. private IDBServiceUtility _dbHelper;
  14. public TransactionRepository(IDBServiceUtility dbHelper)
  15. {
  16. _dbHelper = dbHelper;
  17. }
  18. public async Task<ExratePayoutDetailsModel> GetPayoutDetails(CalculateModel calcModel, LoginResponse loginDetails)
  19. {
  20. ExratePayoutDetailsModel _response = new ExratePayoutDetailsModel();
  21. try
  22. {
  23. var sql = "EXEC PROC_DYNAMIC_TABLE";
  24. sql += " @Flag = " + _dbHelper.FilterString("PayoutMethod");
  25. sql += ",@CountryId = " + _dbHelper.FilterString(calcModel.PayoutCountryId);
  26. sql += ",@PaymentMethod = " + _dbHelper.FilterString(calcModel.PayoutMethod);
  27. sql += ",@UserEmail = " + _dbHelper.FilterString(loginDetails.UserName);
  28. _logger.Debug("TRANSACTIONREPOSITORY | GETPAYOUTDETAILS | SQL | " + sql);
  29. var dt = _dbHelper.ExecuteDataTable(sql);
  30. if (dt == null || dt.Rows.Count <= 0)
  31. {
  32. _response.ResponseCode = ResponseHelper.FAILED;
  33. _response.ResponseMessage = "DB Null Error!";
  34. _logger.Error("TRANSACTIONREPOSITORY | GETPAYOUTDETAILS | DB RESPONSE | " + JsonConvert.SerializeObject(_response));
  35. }
  36. else
  37. {
  38. _response.ResponseCode = ResponseHelper.SUCCESS;
  39. _response.ResponseMessage = ResponseMessageHelper.SUCCESS;
  40. _response.PayoutCountryName = Convert.ToString(dt.Rows[0]["CountryName"]);
  41. _response.PayoutCountryCode = Convert.ToString(dt.Rows[0]["COUNTRYCODE"]);
  42. _response.PayoutCurrency = Convert.ToString(dt.Rows[0]["PayoutCurrency"]);
  43. _response.PayoutPartner = Convert.ToString(dt.Rows[0]["AgentId"]);
  44. _response.ExrateCalcByPartner = Convert.ToString(dt.Rows[0]["exRateCalByPartner"]);
  45. }
  46. }
  47. catch (Exception ex)
  48. {
  49. _response.ResponseCode = ResponseHelper.EXCEPTION;
  50. _response.ResponseMessage = "Exception occured: " + ex.Message;
  51. _logger.Error("TRANSACTIONREPOSITORY | GETPAYOUTDETAILS | EXCEPTION | " + JsonConvert.SerializeObject(_response));
  52. }
  53. return await Task.FromResult(_response);
  54. }
  55. }
  56. }