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 { { "@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 { { "@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(dt)[0]; } public PennyTestStartRequestModel GetPennyTestRequiredData_V4(string Email) { var dic = new Dictionary { { "@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(dt)[0]; } } }