using Common; using Common.Helper; using Common.Model; using Common.Model.AutoRefund; using log4net; using System; using System.Collections.Generic; using System.Data; namespace Repository.AutoRefund { public class AutoRefundRepository : IAutoRefundRepository { private readonly Dao _dao; private static readonly ILog Log = LogManager.GetLogger(typeof(AutoRefundRepository)); public AutoRefundRepository() { _dao = new Dao(); } public JsonRxResponse SendAutoRefund(KwangjuAutoRefundModel model) { var dic = new Dictionary { { "@pCustomerId", _dao.FilterString(model.CustomerId) }, { "@pCustomerSummary", _dao.FilterString(model.CustomerSummary) }, { "@pAmount", _dao.FilterString(model.Amount) }, { "@pAction", _dao.FilterString(model.Action) }, { "@pActionDate", _dao.FilterString(model.ActionDate) }, { "@pActionBy", _dao.FilterString(model.ActionBy) }, { "@pRowId", _dao.FilterString(model.RowId) }, { "@pBankCode", _dao.FilterString(model.BankCode) }, { "@pBankAccountNo", _dao.FilterString(model.BankAccountNo) }, { "@pSource", _dao.FilterString("M") } }; var sql = new Query("PROC_KJAUTOREFUND", model.Flag, dic).ToString(); Log.Debug(sql); var dbRes = _dao.ParseDbResult(sql); return new JsonRxResponse { ErrorCode = dbRes.ResponseCode, Msg = dbRes.Msg, Id = dbRes.Id, Extra = dbRes.Extra, Extra2 = dbRes.Extra }; } public CustomerInfo GetCustomerInfoForKwangju(string customerId) { var dic = new Dictionary { { "@pCustomerId", _dao.FilterString(customerId) } }; var sql = new Query("PROC_KJAUTOREFUND", "CUSTOMER-INFO", dic).ToString(); Log.Debug(sql); var dt = _dao.ExecuteDataTable(sql); return Mapper.DataTableToClass(dt)[0]; } public RefundRequireResponseModel GetRefundRequirement(string username) { var dic = new Dictionary { { "@Username", _dao.FilterString(username) } }; var sql = new Query("PROC_MOBILE_REFUND", "requirement", dic).ToString(); Log.Debug(sql); var dt = _dao.ExecuteDataTable(sql); return Mapper.DataTableToClass(dt)[0]; } public void LogFailTransactionForAutoDebit(string rowId, string errorCode, string errorMsg) { var dic = new Dictionary { { "@rowId", _dao.FilterString(rowId) }, { "@errorCode", _dao.FilterString(errorCode) }, { "@errorMsg", _dao.FilterString(errorMsg) } }; var sql = new Query("KFTC_LOG_CUSTOMER_INFO", "U-TRAN", dic).ToString(); Log.Debug(sql); _dao.GetSingleResult(sql); } public DataTable GetAccountList(string customerId) { var dic = new Dictionary { { "@customerId", _dao.FilterString(customerId) } }; var sql = new Query("KFTC_LOG_CUSTOMER_INFO", "s", dic).ToString(); Log.Debug(sql); return _dao.ExecuteDataTable(sql); } /* 2019.09 @Dana */ public DbResult LogRequestKFTC(string user, string methodName, string requestXml, string processId = "") { if (requestXml == null) requestXml = ""; var sql = string.Format("EXEC PROC_KFTC_LOGS @flag='i', @CUSTOMERID='{0}', @methodName='{1}',@requestXml=N'{2}',@processId='{3}'", user, methodName, requestXml.Replace("'", ""), processId); return _dao.ParseDbResult(sql); } public DbResult LogResponseKFTC(string rowId, string responseXml, string tpErrorCode, string tpErrorMsg) { try { if (string.IsNullOrEmpty(responseXml)) responseXml = ""; var sql = string.Format( "EXEC PROC_KFTC_LOGS @flag='u', @rowId='{0}',@responseXml=N'{1}', @errorCode='{2}', @errorMessage=N'{3}'", rowId, responseXml.Replace("'", ""), tpErrorCode, tpErrorMsg); return _dao.ParseDbResult(sql); } catch (Exception) { return new DbResult(); } } } }