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.
 
 
 

84 lines
3.6 KiB

using Common;
using Common.Helper;
using Common.Model.PennyTest;
using log4net;
using System.Collections.Generic;
namespace Repository.PennyTest
{
public class PennyTestRepository : IPennyTestRepository
{
private readonly Dao _dao;
private static readonly ILog Log = LogManager.GetLogger(typeof(PennyTestRepository));
public PennyTestRepository()
{
_dao = new Dao();
}
public JsonRxResponse SavePennyTestCustomerCertificate(PennyTestCustomerCert cert)
{
Log.Debug("Trying to save the customer penny test certificate detail.");
var sql = "EXEC PROC_CustomerBankVerification @flag = 'REQ'";
sql += ", @pCustomerId = " + _dao.FilterString(cert.CustomerId);
sql += ", @pCertNumber = " + _dao.FilterString(cert.CertNumber);
sql += ", @pCertLimitCount = " + _dao.FilterString(cert.CertLimitCount);
sql += ", @pBankCode = " + _dao.FilterString(cert.BankCode);
sql += ", @pBankAccountNo = " + _dao.FilterString(cert.BankAccountNo);
sql += ", @pIdType = " + _dao.FilterString(cert.IdType);
sql += ", @pIdNumber = " + _dao.FilterString(cert.IdNumber);
sql += ", @pGender = " + _dao.FilterString(cert.Gender);
sql += ", @pNativeCountry = " + _dao.FilterString(cert.NativeCountry);
sql += ", @pAction = " + _dao.FilterString(cert.Action);
var dbRes = _dao.ParseDbResult(sql);
Log.Debug(sql);
return new JsonRxResponse { ErrorCode = dbRes.ResponseCode, Msg = dbRes.Msg, Id = dbRes.Id, Extra = dbRes.Extra, Extra2 = dbRes.Extra };
}
public string GetBankCode(string bankId)
{
string sql = "EXEC PROC_CustomerBankVerification @flag ='BANK' ";
sql += ",@bankId = " + _dao.FilterString(bankId);
return _dao.GetSingleResult(sql);
}
public JsonRxResponse VerifyCertificate(string customerId, string certNum)
{
Log.Info("Verifies the customer penny certificate number.");
var dic = new Dictionary<string, string>
{
{ "@pCertNumber", _dao.FilterString(certNum) },
{ "@pCustomerId", _dao.FilterString(customerId) }
};
var sql = new Query("PROC_CustomerBankVerification", "TRY", 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 PennyTestStartRequestModel GetPennyTestRequiredData(string Email)
{
var dic = new Dictionary<string, string>
{
{ "@pEmail", _dao.FilterString(Email) }
};
var sql = new Query("PROC_CustomerBankVerification", "CUSTOMER-INFO", dic).ToString();
Log.Debug(sql);
var dt = _dao.ExecuteDataTable(sql);
return Mapper.DataTableToClass<PennyTestStartRequestModel>(dt)[0];
}
public PennyTestStartRequestModel GetPennyTestRequiredData_V4(string Email)
{
var dic = new Dictionary<string, string>
{
{ "@pEmail", _dao.FilterString(Email) }
};
var sql = new Query("PROC_CustomerBankVerification", "CUSTOMER-INFO-V4", dic).ToString();
Log.Debug(sql);
var dt = _dao.ExecuteDataTable(sql);
return Mapper.DataTableToClass<PennyTestStartRequestModel>(dt)[0];
}
}
}