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.
 
 
 

162 lines
7.0 KiB

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<TranList> GetTransactionLists(DateFilterParams search, string customerId)
{
var dic = new Dictionary<string, string>
{
{ "@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<TranList>();
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<string, string>
{
{ "@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" };
}
}
}