using Common; using Common.Helper; using Common.Model; using Common.Model.Resend; using log4net; using System; using System.Collections.Generic; using System.Data; namespace Repository.Resend { public class ResendRepository : IResendRepository { private readonly Dao _dao; private static readonly ILog Log = LogManager.GetLogger(typeof(ResendRepository)); public ResendRepository() { _dao = new Dao(); } public List GetTransactionLists(DateFilterParams search, string customerId) { var dic = new Dictionary { { "@CustomerId", _dao.FilterString(customerId) }, { "@FromDate", _dao.FilterString(search.FromDate) }, { "@ToDate", _dao.FilterString(search.ToDate) } }; var sql = new Query("mobile_proc_resend", "tranList", dic).ToString(); Log.Debug(sql); var dt = _dao.ExecuteDataTable(sql); var ls = new List(); foreach (DataRow dr in dt.Rows) { TranList tranHistoryResponse = new TranList() { SenderName = Convert.ToString(dr["SenderName"]), ReceiverName = Convert.ToString(dr["ReceiverName"]), TranId = Convert.ToString(dr["TranId"]), ControlNo = Convert.ToString(dr["ControlNo"]), CollAmount = Convert.ToString(dr["CollAmount"]), PayoutAmt = Utilities.ShowDecimal(Convert.ToString(dr["PayoutAmt"])), PCurr = Convert.ToString(dr["PCurr"]), CollCurr = Convert.ToString(dr["CollCurr"]), PayStatus = Convert.ToString(dr["PayStatus"]), PayoutMode = Convert.ToString(dr["PayoutMode"]), SendDate = Convert.ToString(dr["SendDate"]), PaidDate = Convert.ToString(dr["PaidDate"]), BankName = Convert.ToString(dr["BankName"]), }; ls.Add(tranHistoryResponse); } return ls; } public JsonRxResponse GetRemitDetail(string id, out ExRateCalculateRequest exRateDetail, out MobileRemitRequest remitRequest, out ResendReceiverDetail receiverDetail) { ExRateCalculateRequest r = null; ResendReceiverDetail rd = null; MobileRemitRequest rr = null; var dic = new Dictionary { { "@TranId", _dao.FilterString(id) } }; var sql = new Query("mobile_proc_resend", "tranDetail", dic).ToString(); Log.Debug(sql); var ds = _dao.ExecuteDataset(sql); if (ds.Tables.Count == 1) { var dt = ds.Tables[0]; exRateDetail = null; receiverDetail = null; remitRequest = null; return new JsonRxResponse { ErrorCode = Convert.ToString(dt.Rows[0][0]), Msg = Convert.ToString(dt.Rows[0][1]) }; } if (ds.Tables.Count > 3) { var dt = ds.Tables[1]; var dt1 = ds.Tables[2]; var dt2 = ds.Tables[3]; if (dt.Rows.Count < 1 || dt1.Rows.Count < 1 || dt2.Rows.Count < 1) { exRateDetail = null; receiverDetail = null; remitRequest = null; return new JsonRxResponse { ErrorCode = "1", Msg = "Error fetching transaction detail." }; } if (dt.Rows.Count > 0) { var dr = dt.Rows[0]; r = new ExRateCalculateRequest() { pAgent = Convert.ToString(dr["pAgent"]), sCountry = Convert.ToString(dr["sCountry"]), pCountry = Convert.ToString(dr["pCountry"]), pCountryName = Convert.ToString(dr["pCountryName"]), sCurrency = Convert.ToString(dr["sCurrency"]), pCurrency = Convert.ToString(dr["pCurrency"]), cAmount = Convert.ToString(dr["cAmount"]), pAmount = Convert.ToString(dr["pAmount"]), serviceType = Convert.ToString(dr["serviceType"]), calcBy = Convert.ToString(dr["calcBy"]), payoutPartner = Convert.ToString(dr["PayOutPartner"]) }; } if (dt1.Rows.Count > 0) { var dr1 = dt1.Rows[0]; rr = new MobileRemitRequest { User = Convert.ToString(dr1["User"]), SenderId = Convert.ToString(dr1["SenderId"]), ReceiverId = Convert.ToString(dr1["ReceiverId"]), DeliveryMethodId = Convert.ToString(dr1["DeliveryMethodId"]), PBranch = Convert.ToString(dr1["PBranch"]), PAgent = Convert.ToString(dr1["PAgent"]), PCurr = Convert.ToString(dr1["PCurr"]), CollCurr = Convert.ToString(dr1["CollCurr"]), CollAmt = Convert.ToString(dr1["CollAmt"]), PayoutAmt = Convert.ToString(dr1["PayoutAmt"]), TransferAmt = Convert.ToString(dr1["TransferAmt"]), RelWithSender = Convert.ToString(dr1["RelWithSender"]), PurposeOfRemittance = Convert.ToString(dr1["PurposeOfRemit"]), SourceOfFund = Convert.ToString(dr1["SourceOfFund"]), RState = Convert.ToString(dr1["RState"]), RLocation = Convert.ToString(dr1["RLocation"]), PayOutPartner = Convert.ToString(dr1["PayOutPartner"]), ReceiverAccountNo = Convert.ToString(dr1["ReceiverAccountNo"]) }; } if (dt2.Rows.Count > 0) { var dr2 = dt2.Rows[0]; rd = new ResendReceiverDetail { rFullName = Convert.ToString(dr2["rFullName"]), rAddress = Convert.ToString(dr2["rAddress"]), rCountry = Convert.ToString(dr2["rCountry"]), rMobile = Convert.ToString(dr2["rMobile"]), rCountryCode = Convert.ToString(dr2["rCountryCode"]), deliveryMethod = Convert.ToString(dr2["deliveryMethod"]), pAgentName = Convert.ToString(dr2["pAgentName"]) }; } } exRateDetail = r; receiverDetail = rd; remitRequest = rr; return new JsonRxResponse { ErrorCode = "0", Msg = "detail fetched success" }; } } }