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

using CustomerOnlineRemit.Common.Model;
using CustomerOnlineRemit.Common.Model.Account;
using CustomerOnlineRemit.Common.Model.Customer;
using CustomerOnlineRemit.Common.Model.Transaction;
using CustomerOnlineRemit.Repository.ConnectionServices;
using Newtonsoft.Json;
using System.Data;
namespace CustomerOnlineRemit.Repository.Repository.Transaction
{
public class TransactionRepository : ITransactionRepository
{
private static readonly Serilog.ILogger _logger = Serilog.Log.ForContext<TransactionRepository>();
private IDBServiceUtility _dbHelper;
public TransactionRepository(IDBServiceUtility dbHelper)
{
_dbHelper = dbHelper;
}
public async Task<ExratePayoutDetailsModel> GetPayoutDetails(CalculateModel calcModel, LoginResponse loginDetails)
{
ExratePayoutDetailsModel _response = new ExratePayoutDetailsModel();
try
{
var sql = "EXEC PROC_DYNAMIC_TABLE";
sql += " @Flag = " + _dbHelper.FilterString("PayoutMethod");
sql += ",@CountryId = " + _dbHelper.FilterString(calcModel.PayoutCountryId);
sql += ",@PaymentMethod = " + _dbHelper.FilterString(calcModel.PayoutMethod);
sql += ",@UserEmail = " + _dbHelper.FilterString(loginDetails.UserName);
_logger.Debug("TRANSACTIONREPOSITORY | GETPAYOUTDETAILS | SQL | " + sql);
var dt = _dbHelper.ExecuteDataTable(sql);
if (dt == null || dt.Rows.Count <= 0)
{
_response.ResponseCode = ResponseHelper.FAILED;
_response.ResponseMessage = "DB Null Error!";
_logger.Error("TRANSACTIONREPOSITORY | GETPAYOUTDETAILS | DB RESPONSE | " + JsonConvert.SerializeObject(_response));
}
else
{
_response.ResponseCode = ResponseHelper.SUCCESS;
_response.ResponseMessage = ResponseMessageHelper.SUCCESS;
_response.PayoutCountryName = Convert.ToString(dt.Rows[0]["CountryName"]);
_response.PayoutCountryCode = Convert.ToString(dt.Rows[0]["COUNTRYCODE"]);
_response.PayoutCurrency = Convert.ToString(dt.Rows[0]["PayoutCurrency"]);
_response.PayoutPartner = Convert.ToString(dt.Rows[0]["AgentId"]);
_response.ExrateCalcByPartner = Convert.ToString(dt.Rows[0]["exRateCalByPartner"]);
}
}
catch (Exception ex)
{
_response.ResponseCode = ResponseHelper.EXCEPTION;
_response.ResponseMessage = "Exception occured: " + ex.Message;
_logger.Error("TRANSACTIONREPOSITORY | GETPAYOUTDETAILS | EXCEPTION | " + JsonConvert.SerializeObject(_response));
}
return await Task.FromResult(_response);
}
}
}