public async Task <IActionResult> AddPayment([FromForm] AddPaymentModel data) { try { bool returnStat = false; string returnMsg = String.Empty; var checkFormat = await _paymentManager.CheckPaymentFormat(data); if (checkFormat.Success) { var result = await _paymentManager.AddPayment(data); if (result.Success == true) { var resMap = (dynamic)result.Result; Response.Redirect(_appConfiguration["App:ClientRootAddress"] + "account/payment?trx=" + resMap.ID); returnStat = true; } } else { returnMsg = checkFormat.Error.Message; } return(Json(new AjaxResponse(new { success = returnStat, message = returnMsg }))); } catch (UserFriendlyException ex) { Log.Error(nameof(PaymentController), ex); return(Json(new AjaxResponse(new ErrorInfo(ex.Message)))); } }
public async Task <bool> AddPaymentAsync(AddPaymentModel addPayment) { try { decimal total = addPayment.PaymentType == 4? addPayment.Total:(addPayment.Rate * addPayment.Hours); using (SqlConnection conn = GetConnection()) { DynamicParameters param = new DynamicParameters(); param.Add("@Hours", addPayment.Hours); param.Add("@PaymentMethod", addPayment.PaymentMethod); param.Add("@PaymentType", addPayment.PaymentType); param.Add("@PayTo", addPayment.PayTo); param.Add("@CreatedBy", addPayment.CreatedBy); param.Add("@Total", addPayment.Total); var reader = await conn.ExecuteScalarAsync <long>("sp_AddPayment", param, commandType : CommandType.StoredProcedure); return(true); } } catch (Exception ex) { return(false); } }
public async Task <RoutePayment> AddAsync(AddPaymentModel model) { var payment = model.Adapt <RoutePayment>(); context.RoutePayments.Add(payment); await context.SaveChangesAsync(); return(payment); }
public async Task <IActionResult> AddPayment() { AddPaymentModel addPaymentModel = new AddPaymentModel(); // 3 is used for worker ViewBag.User = await this._repository.GetUsersAsync(3); return(View(addPaymentModel)); }
public static AddPaymentCommand ToPaymentCommand(this AddPaymentModel model, CreditCardId cardId, ISystemClock clock, CurrencyCode currencyCode) { return(new AddPaymentCommand { Occured = clock.Now, AggregateId = cardId, Payment = new Payment(PaymentId.NewId(), Money.Create(model.Amount, currencyCode), model.Date) }); }
public async Task <IActionResult> AddPayment(AddPaymentModel addPaymentModel) { if (ModelState.IsValid) { if (await this._repository.AddPaymentAsync(addPaymentModel)) { ModelState.Clear(); addPaymentModel = new AddPaymentModel(); ViewBag.Success = "Payment success!"; } else { ViewBag.Error = "Some error occured while saving."; } ViewBag.User = await this._repository.GetUsersAsync(3); } else { ViewBag.User = await this._repository.GetUsersAsync(3); } return(View(addPaymentModel)); }
public async Task <AjaxResponse> CheckPaymentFormat(AddPaymentModel input) { try { bool checkRes = true; string checkMsg = String.Empty; if (String.IsNullOrEmpty(input.MerchantCode)) { checkMsg = "Incorrect MerchantCode Format or Empty"; return(new AjaxResponse(new ErrorInfo(checkMsg))); } if (String.IsNullOrEmpty(input.MerchantTransNo)) { checkMsg = "Incorrect MerchantTransNo Format or Empty"; return(new AjaxResponse(new ErrorInfo(checkMsg))); } if (String.IsNullOrEmpty(input.TransCurrency)) { checkMsg = "Incorrect TransCurrency Format or Empty"; return(new AjaxResponse(new ErrorInfo(checkMsg))); } if (String.IsNullOrEmpty(input.TransAmt)) { checkMsg = "Incorrect TransAmt Format or Empty"; return(new AjaxResponse(new ErrorInfo(checkMsg))); } if (String.IsNullOrEmpty(input.ProductDesc)) { checkMsg = "Incorrect ProductDesc Format or Empty"; return(new AjaxResponse(new ErrorInfo(checkMsg))); } if (String.IsNullOrEmpty(input.UserName)) { checkMsg = "Incorrect UserName Format or Empty"; return(new AjaxResponse(new ErrorInfo(checkMsg))); } if (String.IsNullOrEmpty(input.UserEmail)) { checkMsg = "Incorrect UserEmail Format or Empty"; return(new AjaxResponse(new ErrorInfo(checkMsg))); } if (String.IsNullOrEmpty(input.UserContact)) { checkMsg = "Incorrect UserContact Format or Empty"; return(new AjaxResponse(new ErrorInfo(checkMsg))); } if (String.IsNullOrEmpty(input.Remark)) { checkMsg = "Incorrect Remark Format or Empty"; return(new AjaxResponse(new ErrorInfo(checkMsg))); } if (String.IsNullOrEmpty(input.Signature)) { checkMsg = "Incorrect Signature Format or Empty"; return(new AjaxResponse(new ErrorInfo(checkMsg))); } if (String.IsNullOrEmpty(input.ResponseURL)) { checkMsg = "Incorrect ResponseURL Format or Empty"; return(new AjaxResponse(new ErrorInfo(checkMsg))); } if (String.IsNullOrEmpty(input.AdditionalURL)) { checkMsg = "Incorrect AdditionalURL Format or Empty"; return(new AjaxResponse(new ErrorInfo(checkMsg))); } return(new AjaxResponse(checkRes)); } catch (Exception ex) { throw ex; } }
public async Task <AjaxResponse> AddPayment(AddPaymentModel input) { try { bool paymentSuccess = false; var contPaymentTransID = input.MerchantTransNo; PAYMENTHDR paymentHDRLogic = new PAYMENTHDR(_env, _connectionString); PAYMENTDTL paymentDTLLogic = new PAYMENTDTL(_env, _connectionString); DTO.Payment.PAYMENTHDR dataPaymentHDR, contPaymentHDR; DTO.Payment.PAYMENTDTL dataPaymentDTL, contPaymentDTL; contPaymentHDR = paymentHDRLogic.Retrieve(x => x.PaymentRef == contPaymentTransID); if (contPaymentHDR == null) { using (TransactionScope scope = new TransactionScope(TransactionScopeAsyncFlowOption.Enabled)) { try { dataPaymentHDR = new DTO.Payment.PAYMENTHDR { BizRegID = "1", BizLocID = "1", PaymentTransID = DateTime.Now.ToString("yyyyMMddHHmmss") + GeneratorHelper.GenerateRandomString(6), PaymentRef = input.MerchantTransNo, MerchantCode = input.MerchantCode, BaseCurrency = input.TransCurrency, TransCurrency = input.TransCurrency, TransTotalAmt = Convert.ToDecimal(input.TransAmt), ProductDesc = input.ProductDesc, UserName = input.UserName, UserEmail = input.UserEmail, UserContact = input.UserContact, Signature = input.Signature, ResponseURL = input.ResponseURL, AdditionalURL = input.AdditionalURL, Status = 1, Flag = 1, IsHost = 0 }; await paymentHDRLogic.Create(dataPaymentHDR); paymentSuccess = true; scope.Complete(); } catch (Exception ex) { throw ex; } } } else { return(new AjaxResponse(new ErrorInfo("Duplicate Merchant Transaction ID"))); } return(new AjaxResponse(new { success = paymentSuccess, ID = dataPaymentHDR.PaymentTransID })); } catch (Exception ex) { throw ex; } }
public async Task <IActionResult> AddPayment([FromRoute] CreditCardId cardId, [FromBody] AddPaymentModel model) { try { await _mediator.Send(model.ToPaymentCommand(cardId, _clock, _currencyCode)); return(Ok()); } catch (AggregateNotFoundException) { return(NotFound()); } }