public async Task <DataMessage> SaveControlNumberAsync(ControlNumberResp model, bool failed) { SqlParameter[] sqlParameters = { new SqlParameter("@PaymentID", model.internal_identifier), new SqlParameter("@ControlNumber", model.control_number), new SqlParameter("@Failed", failed), //new SqlParameter("@Message", model.error_message) }; DataMessage message; try { var data = await dh.ExecProcedureAsync("uspReceiveControlNumber", sqlParameters); message = new CtrlNumberResponse(int.Parse(data[0].Value.ToString()), false, (int)Language).Message; GetPaymentInfo(model.internal_identifier); } catch (Exception e) { message = new CtrlNumberResponse(e).Message; } return(message); }
public async Task <DataMessage> SaveControlNumberAsync(ControlNumberResp model) { ImisPayment payment = new ImisPayment(_configuration, _hostingEnvironment, _loggerFactory); var controlNumberExists = payment.CheckControlNumber(model.internal_identifier, model.control_number); var response = await payment.SaveControlNumberAsync(model, controlNumberExists); if (model.error_occured) { response.ErrorOccured = true; response.MessageValue = model.error_message; } if (payment.PaymentId != 0 && payment.SmsRequired) { var ackResponse = payment.GetReqControlNumberAck(payment.PaymentId); if (!response.ErrorOccured && !controlNumberExists) { ControlNumberAssignedSms(payment); } else { ControlNumberNotassignedSms(payment, response.MessageValue); } } return(response); }
public virtual IActionResult GetReqControlNumber([FromBody] ControlNumberResp model) { if (!ModelState.IsValid) { var error = ModelState.Values.FirstOrDefault().Errors.FirstOrDefault().ErrorMessage; return(BadRequest(new ErrorResponse() { error_message = error })); } try { var response = _imisModules.GetPaymentModule().GetPaymentLogic().SaveControlNumber(model); if (response.Code == 0) { return(Ok()); } else { return(BadRequest(new ErrorResponse() { error_message = response.MessageValue })); } } catch (Exception) { return(BadRequest(new { error_occured = true, error_message = "Unknown Error Occured" })); } }
public async Task <IActionResult> GePGReceiveControlNumber([FromBody] gepgBillSubResp model) { int billId; if (model.HasValidSignature) { if (!ModelState.IsValid) { return(BadRequest(imisPayment.ControlNumberResp(GepgCodeResponses.GepgResponseCodes["Invalid Request Data"]))); } ControlNumberResp ControlNumberResponse; foreach (var bill in model.BillTrxInf) { ControlNumberResponse = new ControlNumberResp() { internal_identifier = bill.BillId, control_number = bill.PayCntrNum, error_occured = bill.TrxStsCode == GepgCodeResponses.GepgResponseCodes["Successful"].ToString()?false:true, error_message = bill.TrxStsCode }; billId = bill.BillId; string reconc = JsonConvert.SerializeObject(ControlNumberResponse); _gepgFileLogger.Log(billId, "CN_Response", reconc); try { var response = base.GetReqControlNumber(ControlNumberResponse); if (ControlNumberResponse.error_occured == true) { var rejectedReason = imisPayment.PrepareRejectedReason(billId, bill.TrxStsCode); imisPayment.setRejectedReason(billId, rejectedReason); } } catch (Exception e) { _logger.LogError(e, "Error in GePGReceiveControlNumber"); throw; } } return(Ok(imisPayment.ControlNumberResp(GepgCodeResponses.GepgResponseCodes["Successful"]))); } else { foreach (var bill in model.BillTrxInf) { billId = bill.BillId; string reconc = JsonConvert.SerializeObject(model); _gepgFileLogger.Log(billId, "CN_Response_InvalidSignature", reconc); imisPayment.setRejectedReason(billId, GepgCodeResponses.GepgResponseCodes["Invalid Signature"] + ":Invalid Signature"); } return(Ok(imisPayment.ControlNumberResp(GepgCodeResponses.GepgResponseCodes["Invalid Signature"]))); } }
public DataMessage SaveControlNumber(ControlNumberResp model) { PaymentRepository payment = new PaymentRepository(Configuration); var controlNumberExists = payment.CheckControlNumber(model.internal_identifier, model.control_number); var response = payment.SaveControlNumber(model, controlNumberExists); if (payment.PaymentId != null) { var ackResponse = payment.GetReqControlNumberAck(payment.PaymentId); if (!response.ErrorOccured && !controlNumberExists) { ControlNumberAssignedSms(payment); } else { ControlNumberNotassignedSms(payment, response.MessageValue); } } return(response); }
public override Task <IActionResult> GetReqControlNumber([FromBody] ControlNumberResp model) { return(base.GetReqControlNumber(model)); }