public async Task AddAsync(PaymentTypeInputModel inputModel) { var paymentType = Enum.Parse(typeof(PaymentType), inputModel.PaymentType); var payment = new Payment { Id = Guid.NewGuid().ToString(), PaymentType = (PaymentType)paymentType, ReservationId = inputModel.ReservationId, }; await this.paymentsRepository.AddAsync(payment); await this.paymentsRepository.SaveChangesAsync(); }
public async Task AddPaymentShouldAddCorrectCount() { var repository = new EfDeletableEntityRepository <Payment>(new ApplicationDbContext(this.options.Options)); var service = new PaymentsService(repository); var payment = new PaymentTypeInputModel { PaymentType = "Cash", ReservationId = Guid.NewGuid().ToString(), }; await service.AddAsync(payment); Assert.Equal(1, repository.All().Count()); }
public async Task <IActionResult> Checkout(PaymentTypeInputModel inputModel) { var seatIds = this.TempData["seatIds"] as IEnumerable <string>; await this.reservationsService.MakeSeatsTakenAsync(seatIds, inputModel.ReservationId); await this.paymentsService.AddAsync(inputModel); if (inputModel.PaymentType == "Cash") { return(this.RedirectToAction("ShowTicket", new { reservationId = inputModel.ReservationId })); } var viewModel = new SimpleReservationViewModel { ReservationId = inputModel.ReservationId, }; return(this.View(viewModel)); }