public void Create(CreatePaymentDetailView view) { var paymentDetail = new PaymentDetail { BSB = view.BSB, AccountName = view.AccountName, AccountNumber = view.AccountNumber, Reference = view.Reference, PaymentAmount = view.PaymentAmount }; if (view.PaymentAmount <= 0) { throw new NextPayException("Invalid Payment Amount!"); } if (string.IsNullOrEmpty(view.BSB)) { throw new NextPayException("Invalid BSB!"); } if (string.IsNullOrEmpty(view.Reference)) { throw new NextPayException("Invalid Reference!"); } if (string.IsNullOrEmpty(view.AccountName)) { throw new NextPayException("Invalid Account Name!"); } if (string.IsNullOrEmpty(view.AccountNumber) || !CheckCreditCard(view.AccountNumber)) { throw new NextPayException("Invalid Account Number!"); } _paymentDetailRepository.Add(paymentDetail); }
public void CreateIncorrectBSBTest() { var view = new CreatePaymentDetailView { AccountName = "AccountName", AccountNumber = "4111111111111111", BSB = string.Empty, PaymentAmount = 500, Reference = "Reference" }; try { _paymentDetailService.Create(view); } catch (NextPayException ex) { if (ex.Message == "Invalid BSB!") { Assert.IsTrue(true); return; } } Assert.Fail(); }
public void CreateIncorrectAccountNumberTest() { var view = new CreatePaymentDetailView { AccountName = "AccountName", AccountNumber = "5147SADG004213414803", BSB = "BSB", PaymentAmount = 500, Reference = "Reference" }; try { _paymentDetailService.Create(view); } catch (NextPayException ex) { if (ex.Message == "Invalid Account Number!") { Assert.IsTrue(true); return; } } Assert.Fail(); }
public IActionResult Create([FromBody] CreatePaymentDetailView view) { try { _service.Create(view); return(Ok()); } catch (NextPayException exception) { return(BadRequest(exception.Message)); } catch (Exception) { return(BadRequest()); } }
public void CreateValidDataTest() { var view = new CreatePaymentDetailView { AccountName = "AccountName", AccountNumber = "5147004213414803", BSB = "BSB", PaymentAmount = 500, Reference = "Reference" }; try { _paymentDetailService.Create(view); Assert.IsTrue(true); } catch (NextPayException) { Assert.Fail(); } }