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.
535 lines
22 KiB
535 lines
22 KiB
using Common.Models.Bank;
|
|
using Common.Models.Bank_Account;
|
|
using Common.Models.ExchangeRate;
|
|
using Common.Models.Reports;
|
|
using Common.Models.RequestResponse;
|
|
using Common.Models.Status;
|
|
using Common.Models.TxnModel;
|
|
using Common.TPService;
|
|
using Common.Utility;
|
|
using GMENepal.GMEReference;
|
|
using GMENepal.Model;
|
|
using log4net;
|
|
using Newtonsoft.Json;
|
|
using System;
|
|
using System.Linq;
|
|
using System.Reflection;
|
|
using System.Security.Cryptography;
|
|
using System.Text;
|
|
|
|
namespace GMENepal.GMENepalAPIService
|
|
{
|
|
public class GMENepalAPI : ITPApiServices
|
|
{
|
|
private readonly ILog _log = LogManager.GetLogger(typeof(GMENepalAPI));
|
|
private readonly FastMoneyWebService _fastMoneyWeb = new FastMoneyWebService();
|
|
string UserName = GetStatic.ReadWebConfig("gme_user_name", "");
|
|
string Password = GetStatic.ReadWebConfig("gme_password", "");
|
|
string PartnerId = GetStatic.ReadWebConfig("gme_partnerId", "");
|
|
string GMEKey = GetStatic.ReadWebConfig("gme_key", "");
|
|
|
|
public TPResponse GetTPResponse<T>(T model, string MethodName) where T : class
|
|
{
|
|
switch (MethodName)
|
|
{
|
|
case "send":
|
|
return SendTransaction(model as SendTransaction);
|
|
|
|
case "bankList":
|
|
return GetBankList(model as BankRequest);
|
|
|
|
case "exRate":
|
|
return GetExRate(model as ExchangeRate);
|
|
|
|
case "status":
|
|
return GetTxnStatus(model as GetStatus);
|
|
|
|
case "cancelSend":
|
|
return CancelTransaction(model as CancelTxn);
|
|
|
|
case "amendmentRequest":
|
|
return ReconcileReport(model as TxnAmendment);
|
|
|
|
case "verify":
|
|
return AccountValidation(model as AccountValidate);
|
|
|
|
case "release":
|
|
return ReleseTrasaction(model as TFReleaseTxnRequest);
|
|
default:
|
|
return new TPResponse() { ResponseCode = "1", Msg = "Method Name Not Found !" };
|
|
}
|
|
}
|
|
|
|
private TPResponse ReleseTrasaction(TFReleaseTxnRequest releaseRequest)
|
|
{
|
|
DbResult response = new DbResult();
|
|
TPResponse _response = new TPResponse();
|
|
try
|
|
{
|
|
_log.Info("ConfirmTransaction | REQUEST :" + JsonConvert.SerializeObject(releaseRequest));
|
|
|
|
var res = _fastMoneyWeb.ConfirmTransaction(PartnerId, UserName, Password, releaseRequest.TfPin, releaseRequest.TxnId);
|
|
|
|
_log.Info("ConfirmTransaction | RESPONSE :" + JsonConvert.SerializeObject(res));
|
|
|
|
_response.Data = response;
|
|
_response.Msg = res.Message;
|
|
_response.ResponseCode = res.ErrorCode;
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
_response.ResponseCode = "1";
|
|
_response.Msg = "Unknown error!";
|
|
_log.ErrorFormat("ReleseTrasaction | Exception occured On AccountValidation Method At GMENepalApi ! Details :" + ex.Message);
|
|
}
|
|
return _response;
|
|
}
|
|
private TPResponse AccountValidation(AccountValidate accValidate)
|
|
{
|
|
DbResult response = new DbResult();
|
|
TPResponse _response = new TPResponse();
|
|
try
|
|
{
|
|
_log.Info("AccountValidation | REQUEST :" + JsonConvert.SerializeObject(accValidate).ToString());
|
|
if (accValidate.BankCode.ToLower() == "imepay" || accValidate.BankCode.ToLower() == "khalti")
|
|
{
|
|
WalletUserDetailResponse walletResponse = _fastMoneyWeb.GetWalletDetails(PartnerId, UserName, Password, accValidate.BankCode.ToUpper()
|
|
, accValidate.AccountNumber,"", GetAccValidateSignature(accValidate));
|
|
response.ErrorCode = walletResponse.ResponseCode;
|
|
response.Msg = walletResponse.ResponseMessage;
|
|
response.Extra = walletResponse.FullName;
|
|
response.Extra2 = JsonConvert.SerializeObject(walletResponse);
|
|
}
|
|
else
|
|
{
|
|
response = _fastMoneyWeb.AccountValidation(UserName, Password, accValidate.BankCode, accValidate.AccountNumber
|
|
, accValidate.ReceiverName,"");
|
|
}
|
|
_log.Info("AccountValidation | RESPONSE :" + JsonConvert.SerializeObject(response).ToString());
|
|
|
|
_response.Data = response;
|
|
_response.Msg = response.Msg.Replace("Please Contact Head Office.", "Please check and re-submit!");
|
|
_response.Extra = response.Extra;
|
|
_response.ResponseCode = response.ErrorCode;
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
_response.ResponseCode = "1";
|
|
_response.Msg = "Unknown error!";
|
|
_log.ErrorFormat("Exception occured On AccountValidation Method At GMENepalApi ! Details :" + ex.Message);
|
|
}
|
|
return _response;
|
|
}
|
|
private string GetAccValidateSignature(AccountValidate accValidate)
|
|
{
|
|
string sign = GMEKey + PartnerId + UserName + Password + accValidate.AccountNumber;
|
|
|
|
StringBuilder builder = new StringBuilder();
|
|
using (SHA256 sha256Hash = SHA256.Create())
|
|
{
|
|
// ComputeHash - returns byte array
|
|
byte[] bytes = sha256Hash.ComputeHash(Encoding.UTF8.GetBytes(sign));
|
|
|
|
// Convert byte array to a string
|
|
for (int i = 0; i < bytes.Length; i++)
|
|
{
|
|
builder.Append(bytes[i].ToString("x2"));
|
|
}
|
|
}
|
|
|
|
return builder.ToString();
|
|
}
|
|
|
|
private TPResponse GetBankList(BankRequest bankRequest)
|
|
{
|
|
if (bankRequest.IsBranch)
|
|
return GetBankBranchList(bankRequest);
|
|
|
|
GMEBankRequest bR = BankModelMap(bankRequest);
|
|
TPResponse _response = new CustomModelValidaton().IsModelValid(bR);
|
|
if (_response == null)
|
|
{
|
|
_response = new TPResponse();
|
|
BankList[] getResponse = _fastMoneyWeb.GetBankList(bR.PartnerId, bR.UserName, bR.Password, bR.SessionId, bR.PaymentMethod, bR.ReceivingCountry);
|
|
_response.Data = getResponse;
|
|
_response.ResponseCode = getResponse.First().ErrorCode;
|
|
_response.Msg = getResponse.First().Message;
|
|
if (!_response.ResponseCode.Equals("0"))
|
|
{
|
|
_response.ResponseCode = "1";
|
|
_log.ErrorFormat("Error Occured On GetBankList Method At GMENepalApi ! Details :" + getResponse);
|
|
}
|
|
}
|
|
else
|
|
{
|
|
_log.Info("GetBankList | MODEL VALIDATION FAILED :" + JsonConvert.SerializeObject(bR).ToString());
|
|
}
|
|
return _response;
|
|
}
|
|
|
|
private TPResponse GetBankBranchList(BankRequest bRequest)
|
|
{
|
|
GMEBankBranchRequest bR = BankBranchModelMap(bRequest);
|
|
TPResponse _response = new CustomModelValidaton().IsModelValid(bR);
|
|
if (_response == null)
|
|
{
|
|
_response = new TPResponse();
|
|
BankBranchList getResponse = _fastMoneyWeb.GetBankBranchList(bR.PartnerId, bR.UserName, bR.Password, bR.BankCode, bR.SessionId);
|
|
_response.Data = getResponse.BRANCHES;
|
|
_response.ResponseCode = getResponse.ErrorCode;
|
|
_response.Msg = getResponse.Message;
|
|
if (!_response.ResponseCode.Equals("0"))
|
|
{
|
|
_response.ResponseCode = "1";
|
|
_log.ErrorFormat("Error Occured On GetBankBranchList Method At GMENepalApi ! Details :" + getResponse);
|
|
}
|
|
}
|
|
else
|
|
{
|
|
_log.Info("GetBankBranchList | MODEL VALIDATION FAILED :" + JsonConvert.SerializeObject(bR).ToString());
|
|
}
|
|
return _response;
|
|
}
|
|
|
|
private TPResponse GetExRate(ExchangeRate exchangeRate)
|
|
{
|
|
GMEGetCalculationRequest gCR = GetExRateModelMap(exchangeRate);
|
|
TPResponse _response = new CustomModelValidaton().IsModelValid(gCR);
|
|
if (_response == null)
|
|
{
|
|
_response = new TPResponse();
|
|
|
|
_log.Info("GetExRate | REQUEST :" + JsonConvert.SerializeObject(exchangeRate).ToString());
|
|
GetCalculationResult model = _fastMoneyWeb.GetCalculation(
|
|
gCR.PartnerId, gCR.UserName, gCR.Password, gCR.SessionId, gCR.ReceivingAgentId,
|
|
gCR.RemitAmount, gCR.PaymentMethod, gCR.ReceivingCountry, gCR.CalculateBy
|
|
);
|
|
_log.Info("GetExRate | RESPONSE :" + JsonConvert.SerializeObject(model).ToString());
|
|
|
|
_response.Data = model;
|
|
_response.Msg = model.Message;
|
|
_response.Extra = model.ExConfirmId;
|
|
_response.ResponseCode = model.ErrorCode;
|
|
if (!_response.ResponseCode.Equals("0"))
|
|
{
|
|
_response.ResponseCode = "1";
|
|
_log.ErrorFormat("Error Occured On GetExRate Method At GMENepalApi ! Details :" + model);
|
|
}
|
|
}
|
|
else
|
|
{
|
|
_log.Info("GetExRate | MODEL VALIDATION FAILED :" + JsonConvert.SerializeObject(gCR).ToString());
|
|
}
|
|
return _response;
|
|
}
|
|
|
|
private TPResponse SendTransaction(SendTransaction sendTransaction)
|
|
{
|
|
GMESendMoney gS = SendModelMap(sendTransaction);
|
|
DbResult model = new DbResult();
|
|
TPResponse _response = new CustomModelValidaton().IsModelValid(gS);
|
|
if (_response == null)
|
|
{
|
|
_response = new TPResponse();
|
|
|
|
var dt = gS.TransactionDate.Split('-');
|
|
string dateTxn = dt[1] + "-" + dt[2] + "-" + dt[0];
|
|
|
|
_log.Info("SendTransaction | REQUEST :" + JsonConvert.SerializeObject(gS).ToString());
|
|
if (gS.BankCode.ToLower() == "imepay" || gS.BankCode.ToLower() == "khalti")
|
|
{
|
|
model = _fastMoneyWeb.RealTimeWalletDeposit(PartnerId, UserName, Password, gS.BankCode, gS.CustomerName, gS.CustomerAddress
|
|
, gS.CustomerContact, gS.CustomerCountry, gS.CustomerIdType, gS.CustomerIdNumber, gS.BeneName, gS.BeneAddress
|
|
, gS.BankAccountNumber, gS.BeneCountry, gS.IncomeSource, gS.Relationship, gS.PurposeOfRemittance, Convert.ToString(gS.CollectionAmount)
|
|
, gS.CollectionCurrency, gS.SendingAmount, gS.ReceivingAmount, gS.FreeCharge, gS.PayoutCommCurr, dateTxn, gS.ControlNo
|
|
, gS.SenderCostRate, gS.ReceiverCostRate, Convert.ToString(gS.ExRate), gS.Signature);
|
|
}
|
|
else
|
|
{
|
|
model = _fastMoneyWeb.ProcessBankDeposit(gS.PartnerId, gS.UserName, gS.Password, gS.ControlNo, gS.ExConfirmId
|
|
, gS.MembershipId, gS.CustomerName, gS.CustomerAddress, gS.CustomerContact, gS.CustomerCity, gS.CustomerCountry
|
|
, gS.CustomerIdType, gS.CustomerIdNumber, gS.BeneName, gS.BeneAddress, gS.BeneContact, gS.BeneCity, gS.BeneCountry, gS.Profession
|
|
, gS.IncomeSource, gS.Relationship, gS.PurposeOfRemittance, gS.SendingAmount, gS.ReceivingAmount, gS.PaymentMethod, gS.BankCode
|
|
, gS.BankName, gS.BankAccountNumber, dateTxn, gS.CalculateBy, gS.FreeCharge, gS.ControlNo, gS.PayoutCurrency, gS.ReceiverCostRate
|
|
, gS.SenderCostRate, gS.Signature,"");
|
|
}
|
|
|
|
_log.Info("SendTransaction | RESPONSE :" + JsonConvert.SerializeObject(model).ToString());
|
|
|
|
_response.ResponseCode = model.ErrorCode;
|
|
_response.Msg = model.Msg;
|
|
_response.Extra = model.Extra;
|
|
_response.Extra2 = model.Extra2;
|
|
_response.Id = model.Id;
|
|
_response.Data = model;
|
|
|
|
}
|
|
else
|
|
{
|
|
_log.Info("SendTransaction | MODEL VALIDATION FAILED :" + JsonConvert.SerializeObject(gS).ToString());
|
|
}
|
|
return _response;
|
|
}
|
|
|
|
private TPResponse GetTxnStatus(GetStatus getStatus)
|
|
{
|
|
|
|
if (getStatus.IsFromPartnerPinNo)
|
|
return GetTxnByPartnerPin(getStatus);
|
|
|
|
GMEGetStatus gS = StatusModelMap(getStatus);
|
|
|
|
TPResponse _response = new CustomModelValidaton().IsModelValid(gS);
|
|
if (_response == null)
|
|
{
|
|
_response = new TPResponse();
|
|
_log.Info("GetTxnStatus | REQUEST :" + JsonConvert.SerializeObject(gS).ToString());
|
|
var model = _fastMoneyWeb.GetStatus(gS.PartnerId, gS.UserName, gS.Password, gS.PinNo, gS.SessionId);
|
|
_log.Info("GetTxnStatus | RESPONSE :" + JsonConvert.SerializeObject(model).ToString());
|
|
|
|
_response.ResponseCode = model.ErrorCode;
|
|
_response.Msg = model.Message;
|
|
_response.Extra2 = model.Status;
|
|
_response.Data = model;
|
|
if (!_response.ResponseCode.Equals("0"))
|
|
{
|
|
_response.ResponseCode = "1";
|
|
}
|
|
}
|
|
else
|
|
{
|
|
_log.Info("GetTxnStatus | MODEL VALIDATION FAILED :" + JsonConvert.SerializeObject(gS).ToString());
|
|
}
|
|
return _response;
|
|
}
|
|
|
|
private TPResponse GetTxnByPartnerPin(GetStatus getStatus)
|
|
{
|
|
GMEGetStatusByPartnerPinNo gSP = StatusByPartmerIdModelMap(getStatus);
|
|
TPResponse _response = new CustomModelValidaton().IsModelValid(gSP);
|
|
if (_response == null)
|
|
{
|
|
_response = new TPResponse();
|
|
_log.Info("GetTxnByPartnerPin | REQUEST :" + JsonConvert.SerializeObject(gSP).ToString());
|
|
GetStatusByPartnerPinNoResult model = _fastMoneyWeb.GetStatusByPartnerPinNo(gSP.PartnerId, gSP.UserName, gSP.Password, gSP.PinNo, gSP.SessionId);
|
|
_log.Info("GetTxnByPartnerPin | RESPONSE :" + JsonConvert.SerializeObject(model).ToString());
|
|
|
|
_response.Data = model;
|
|
_response.ResponseCode = model.ErrorCode;
|
|
_response.Msg = model.Message;
|
|
if (!_response.ResponseCode.Equals("0"))
|
|
{
|
|
_response.ResponseCode = "1";
|
|
}
|
|
}
|
|
else
|
|
{
|
|
_log.Info("GetTxnByPartnerPin | MODEL VALIDATION FAILED :" + JsonConvert.SerializeObject(gSP).ToString());
|
|
}
|
|
return _response;
|
|
}
|
|
|
|
private TPResponse CancelTransaction(CancelTxn cancelTxn)
|
|
{
|
|
GMECancelTransaction gCT = CancelTxnModelMap(cancelTxn);
|
|
TPResponse _response = new CustomModelValidaton().IsModelValid(gCT);
|
|
if (_response == null)
|
|
{
|
|
_response = new TPResponse();
|
|
CancelTransactionResult model = _fastMoneyWeb.CancelTransaction(gCT.PartnerId, gCT.UserName, gCT.Password, gCT.PinNo, gCT.SessionId, gCT.CancelRemarks);
|
|
_response.Data = model;
|
|
_response.ResponseCode = model.ErrorCode;
|
|
_response.Msg = model.Message;
|
|
if (!_response.ResponseCode.Equals("0"))
|
|
{
|
|
_response.ResponseCode = "1";
|
|
_log.ErrorFormat("Error Occured On CancelTransaction Method At GMENepalApi ! Details :" + model);
|
|
}
|
|
}
|
|
else
|
|
{
|
|
_log.Error("Error Validating Model!");
|
|
}
|
|
return _response;
|
|
}
|
|
|
|
private TPResponse ReconcileReport(TxnAmendment txnAmendment)
|
|
{
|
|
GMEReconcileReport rCR = ReconcileReportMap(txnAmendment);
|
|
TPResponse _response = new CustomModelValidaton().IsModelValid(rCR);
|
|
if (_response == null)
|
|
{
|
|
_response = new TPResponse();
|
|
ReconcileReportResult[] model = _fastMoneyWeb.ReconcileReport(rCR.PartnerId, rCR.UserName, rCR.Password, rCR.SessionId, rCR.ReportType, rCR.FromDate, rCR.ToDate);
|
|
_response.Data = model;
|
|
_response.ResponseCode = model.First().ErrorCode;
|
|
_response.Msg = model.First().Message;
|
|
if (!_response.ResponseCode.Equals("0"))
|
|
{
|
|
_response.ResponseCode = "1";
|
|
_log.ErrorFormat("Error Occured On ReconcileReport Method At GMENepalApi ! Details :" + model);
|
|
}
|
|
}
|
|
else
|
|
{
|
|
_log.Error("Error Validating Model!");
|
|
}
|
|
return _response;
|
|
}
|
|
|
|
|
|
#region dataMapping
|
|
|
|
private GMEBankRequest BankModelMap(BankRequest bK)
|
|
{
|
|
return new GMEBankRequest()
|
|
{
|
|
PaymentMethod = bK.PaymentMethod,
|
|
ReceivingCountry = bK.CountryCode
|
|
};
|
|
}
|
|
|
|
private GMEBankBranchRequest BankBranchModelMap(BankRequest bK)
|
|
{
|
|
return new GMEBankBranchRequest()
|
|
{
|
|
BankCode = bK.BankName
|
|
};
|
|
}
|
|
|
|
private GMEGetCalculationRequest GetExRateModelMap(ExchangeRate eR)
|
|
{
|
|
return new GMEGetCalculationRequest()
|
|
{
|
|
CalculateBy = eR.CalcBy,
|
|
PaymentMethod = eR.PaymentType=="Wallet" ? "W": eR.PaymentType,
|
|
ReceivingAgentId = eR.PAgentName,
|
|
ReceivingCountry = eR.PCountryName,
|
|
RemitAmount = eR.CalcBy == "C" ? eR.CAmount.ToString() : eR.PAmount.ToString()
|
|
};
|
|
}
|
|
|
|
private GMESendMoney SendModelMap(SendTransaction sT)
|
|
{
|
|
return new GMESendMoney()
|
|
{
|
|
Signature = GetSignature(sT),
|
|
ControlNo = sT.Transaction.JMEControlNo,
|
|
PayoutCurrency = sT.Transaction.PCurr,
|
|
SenderCostRate = "",
|
|
ReceiverCostRate = Convert.ToString(sT.Transaction.SettlementDollarRate),
|
|
ExConfirmId = null,
|
|
MembershipId = null,
|
|
CustomerName = sT.Sender.SFullName,
|
|
CustomerAddress = sT.Sender.SAddress,
|
|
CustomerContact = sT.Sender.SMobile,
|
|
CustomerCity = sT.Sender.SCityId,
|
|
CustomerCountry = sT.Sender.SCountryName,
|
|
CustomerIdType = sT.Sender.SIdType,
|
|
CustomerIdNumber = sT.Sender.SIdNo,
|
|
BeneName = sT.Receiver.RFullName,
|
|
BeneAddress = sT.Receiver.RAdd1,
|
|
BeneContact = sT.Receiver.RMobile,
|
|
BeneCity = sT.Receiver.RCity,
|
|
BeneCountry = sT.Receiver.RCountry,
|
|
Profession = sT.Sender.SOccuptionName,
|
|
IncomeSource = sT.Sender.SourceOfFund,
|
|
Relationship = sT.Receiver.RelWithSenderName,
|
|
PurposeOfRemittance = sT.Transaction.PurposeOfRemittanceName,
|
|
SendingAmount = sT.Transaction.TAmt.ToString(),
|
|
ReceivingAmount = sT.Transaction.PAmt.ToString(),
|
|
PaymentMethod = sT.Transaction.PaymentType,
|
|
BankCode = sT.Agent.PBankId,
|
|
BankName = sT.Agent.PBankName,
|
|
BankBranchName = sT.Agent.PBankBranchName,
|
|
BankAccountNumber = sT.Receiver.RAccountNo,
|
|
TransactionDate = sT.Transaction.TxnDate,
|
|
CollectionCurrency = sT.Transaction.CollCurr,
|
|
CollectionAmount = sT.Transaction.CAmt,
|
|
ExRate = sT.Transaction.ExRate,
|
|
PayoutCommCurr = "NPR",
|
|
CalculateBy = "C",/*sT.Transaction.CalBy*/
|
|
FreeCharge = Convert.ToString(sT.Transaction.ServiceCharge) /*sT.Transaction.IsManualSc*/
|
|
};
|
|
}
|
|
|
|
private string GetSignature(SendTransaction sT)
|
|
{
|
|
string sign = "";
|
|
if (sT.Agent.PBankId.ToLower() == "imepay" || sT.Agent.PBankId.ToLower() == "khalti")
|
|
sign = GMEKey +PartnerId + UserName + Password + sT.Receiver.RAccountNo + sT.Transaction.PAmt;
|
|
else
|
|
sign = GMEKey + UserName + Password + sT.Transaction.JMEControlNo + sT.Transaction.PAmt + sT.Receiver.RAccountNo + sT.Agent.PBankId;
|
|
|
|
StringBuilder builder = new StringBuilder();
|
|
using (SHA256 sha256Hash = SHA256.Create())
|
|
{
|
|
// ComputeHash - returns byte array
|
|
byte[] bytes = sha256Hash.ComputeHash(Encoding.UTF8.GetBytes(sign));
|
|
|
|
// Convert byte array to a string
|
|
for (int i = 0; i < bytes.Length; i++)
|
|
{
|
|
builder.Append(bytes[i].ToString("x2"));
|
|
}
|
|
}
|
|
|
|
return builder.ToString();
|
|
}
|
|
|
|
private GMESendMoneyV2 SendV2ModelMap(SendTransaction sT)
|
|
{
|
|
GMESendMoney model = SendModelMap(sT);
|
|
return new GMESendMoneyV2()
|
|
{
|
|
GMESendMoney = model,
|
|
PCostRate = sT.Transaction.ExRate.ToString(),
|
|
SCostRate = sT.Transaction.SettlementDollarRate.ToString()
|
|
};
|
|
}
|
|
|
|
private GMEGetStatus StatusModelMap(GetStatus gS)
|
|
{
|
|
return new GMEGetStatus()
|
|
{
|
|
PinNo = gS.ControlNo
|
|
};
|
|
}
|
|
|
|
private GMEGetStatusByPartnerPinNo StatusByPartmerIdModelMap(GetStatus gS)
|
|
{
|
|
return new GMEGetStatusByPartnerPinNo()
|
|
{
|
|
PinNo = gS.PartnerPinNo
|
|
};
|
|
}
|
|
|
|
private GMECancelTransaction CancelTxnModelMap(CancelTxn cT)
|
|
{
|
|
return new GMECancelTransaction()
|
|
{
|
|
PinNo = cT.PartnerPinNo
|
|
};
|
|
}
|
|
|
|
private GMEReconcileReport ReconcileReportMap(TxnAmendment rR)
|
|
{
|
|
return new GMEReconcileReport()
|
|
{
|
|
FromDate = rR.FromDate,
|
|
ReportType = rR.ReportType,
|
|
ToDate = rR.ToDate
|
|
};
|
|
}
|
|
|
|
private GMEGetAgentSOABalance SOABalanceModelMap(AgentSOAReport aR)
|
|
{
|
|
return new GMEGetAgentSOABalance()
|
|
{
|
|
AgentMapCode = aR.AgentMapCode
|
|
};
|
|
}
|
|
|
|
#endregion dataMapping
|
|
}
|
|
}
|