|
|
using Common; using Common.Helper; using Common.Language; using Common.Model.AutoRefund; using Common.Model.Enum; using Common.Model.KwangjuBank; using Common.Model.PennyTest; using log4net; using Newtonsoft.Json; using PushNotification; using Repository.PennyTest; using System; using System.Runtime.Remoting.Messaging; using System.Threading.Tasks;
namespace Business.PennyTest { public class PennyTestBusiness : IPennyTestBusiness { private readonly IPennyTestRepository _repo; private static readonly ILog Log = LogManager.GetLogger(typeof(PennyTestBusiness));
public PennyTestBusiness(IPennyTestRepository repo) { _repo = repo; }
public JsonRxResponse SavePennyTestCustomerCertificate(PennyTestCustomerCert cert) { return _repo.SavePennyTestCustomerCertificate(cert); }
public JsonRxResponse RealNameCheck(RealNameRequest req) { var json = JsonConvert.SerializeObject(req); Log.Debug("Real name check with parameters " + json); JsonRxResponse response = new JsonRxResponse(); try { var obj = KwangjuBankApi.RealNameCheck(json); if (obj == null || string.IsNullOrEmpty(obj)) { Log.Debug("Returning null or empty while RealNameCheck"); response.SetResponse("1", "Error occured while RealNameCheck", null); return response; }
response = JsonConvert.DeserializeObject<JsonRxResponse>(obj); if (response.ErrorCode.Equals(ErrorCode.One)) { var kjMsg = JsonConvert.DeserializeObject<KwangjuResult>(response.Msg); var eCode = kjMsg.error.code.ToString(); var eMessage = kjMsg.error.message.ToString();
response.Msg = "Something is wrong. " + eCode + " " + eMessage; } return response; } catch (Exception ex) { Log.Error("Something Went Wrong, Please Try Again!!", ex); response.SetResponse("1", "Error occured while RealNameCheck", null); return response; } }
public JsonRxResponse Start(string user, string reSendCode) { var response = new JsonRxResponse(); string certNumber = Crypto.GetRandomNumber(4);
//GET CUSTOMER DETAIL FOR REAL NAME VERIFICATION AND PENNY TEST
var model = _repo.GetPennyTestRequiredData(user);
var succesMsg = string.Format("We have sent 1 KRW to your Bank Account {0} with {1} Bank, Please check the statement and enter the 4 digit number display after GME.", model.BankAccountNo, model.BankName);
//response.ErrorCode = "0";
//response.Msg = succesMsg;
//response.Data = new { Message = succesMsg };
//return response;
//TO CHECK REAL NAME
var req = new RealNameRequest( model.IdType,// " realNameDivision=1302:PASSPORT"
model.BankCode,//" institution=145121636083"
model.BankAccountNo.Replace("-", ""),//"no=145121636083"
model.IdNumber.Replace("-", ""), model.Dob, model.Gender, model.NativeCountry );
if (model.ErrorCode == "1") { response.ErrorCode = "0"; response.Msg = succesMsg; response.Data = new { Message = succesMsg }; return response; } else if (model.ErrorCode == "10" && reSendCode.ToLower() == "n") { response.ErrorCode = "0"; response.Msg = succesMsg; response.Data = new { Message = succesMsg }; return response; } //FOR TESTING
//req.institution = "034";
//req.no = "145121636083";
//req.realNameDivision = "02";
//req.realNameNo = "8502046803408";
if (IsKftcOnly.IsKJRealNameCheckPossible(model.BankCode, model.IdType, model.IdNumber.Replace("-", ""), model.CustomerId)) { var dbRes = RealNameCheck(req); if (!dbRes.ErrorCode.Equals("0")) { dbRes.Data = new { Message = dbRes.Msg }; return dbRes; } }
//SENDING 1KRW INTO CUSTOMER PRIMARY BANK TO VERIFY BANK DETAIL
AmountTransferToBank pennyTrans = new AmountTransferToBank { obpId = "", // "001-90010001-000001-6000001", //GME OBPID
accountNo = "KJ",// "1107020345626", //GME ????
accountPassword = "", // "1212", //GME ????
receiveInstitution = model.BankCode.ToString(), receiveAccountNo = model.BankAccountNo.Replace("-", ""), amount = "1", bankBookSummary = String.Format("PENNY-{0}", model.BankAccountNo.Replace("-", "").ToString()), transactionSummary = String.Format("GME-{0}", certNumber)// THIS IS NARRATION FIELD
};
//FOR TESTING
//pennyTrans.receiveInstitution = "034";
//pennyTrans.receiveAccountNo = "145121636083";
/* var body = JsonConvert.SerializeObject(pennyTrans); var resp = KwangjuBankApi.TransferAmount(body); var dbApiRes = JsonConvert.DeserializeObject<JsonRxResponse>(resp);
if (!dbApiRes.ErrorCode.Equals("0")) { if (dbApiRes.ErrorCode.Equals(ErrorCode.One)) { var kjMsg = JsonConvert.DeserializeObject<KwangjuResult>(dbApiRes.Msg); var eCode = kjMsg.error.code.ToString(); var eMessage = kjMsg.error.message.ToString();
dbApiRes.Msg = "Something is wrong. " + eCode + " " + eMessage; }
dbApiRes.Data = new { Message = dbApiRes.Msg }; return dbApiRes; } */ var cert = new PennyTestCustomerCert() { CustomerId = model.CustomerId, CertNumber = certNumber, CertLimitCount = "", BankCode = model.BankCode, BankAccountNo = model.BankAccountNo.Replace("-", ""), IdType = model.IdType, IdNumber = model.IdNumber.Replace("-", ""), Dob = model.Dob, Gender = model.Gender, NativeCountry = model.NativeCountry, Action = "REQ" };
var respon = _repo.SavePennyTestCustomerCertificate(cert); if (!respon.ErrorCode.Equals("0")) { respon.Data = new { Message = respon.Msg }; } else { respon.Msg = succesMsg; respon.Data = new { Message = succesMsg }; }
return respon; }
private bool CheckIbkShinanPassport(string bankCode, string idtypeId) { var s = ((bankCode.Equals("003") || bankCode.Equals("088")) && idtypeId.Equals("10997")); return s; }
public JsonRxResponse VerifyCertificate(PennyCertVerifyRequestModel model) { var rsp = _repo.VerifyCertificate(model.CustomerId, model.CertNumber); if (rsp.ErrorCode.Equals("0")) { var fireBaseId = Convert.ToString(CallContext.GetData(Constants.FcmId)); var lang = Convert.ToString(CallContext.GetData(Constants.Language));
Task.Run(() => FcmNotifier.Notify(fireBaseId, Languages.GetMessage("pennytest_success", fireBaseId), Languages.GetTitle("pennytest", fireBaseId))); } rsp.Data = new { Message = rsp.Msg }; return rsp; }
public JsonRxResponse Start_V4(string user, string reSendCode) { var response = new JsonRxResponse(); var model = _repo.GetPennyTestRequiredData_V4(user);
var req = new RealNameRequest( model.IdType,// " realNameDivision=1302:PASSPORT"
model.BankCode,//" institution=145121636083"
model.BankAccountNo.Replace("-", ""),//"no=145121636083"
model.IdNumber.Replace("-", ""), model.Dob, model.Gender, model.NativeCountry );
if (IsKftcOnly.IsKJRealNameCheckPossible(model.BankCode, model.IdType, model.IdNumber.Replace("-", ""), model.CustomerId)) { var dbRes = RealNameCheck(req); if (!dbRes.ErrorCode.Equals("0")) { response.ErrorCode = "1"; response.Msg = dbRes.Msg; response.Extra = model.CustomerId; return response; } else { response.ErrorCode = "0"; response.Msg = dbRes.Msg; response.Extra = model.CustomerId; return response; } } else { response.ErrorCode = "1"; response.Msg = "KJ Real Name Check is not possible. Please contact GME support."; response.Extra = model.CustomerId; return response; } } } }
|