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(); private IDBServiceUtility _dbHelper; public TransactionRepository(IDBServiceUtility dbHelper) { _dbHelper = dbHelper; } public async Task 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); } } }