public void WhenIPressBuy() { var request = new BuyTicketsRequestViewModel { UserId = userId, EventId = eventId, NumberOfTicketsRequired = ticketsInBasket }; result = controller.Buy(request); }
public ActionResult Buy(BuyTicketsRequestViewModel request) { try { var ordersBefore = ordersQuery.Execute(request.UserId).Count(); boxOffice.SellTickets(request.UserId, request.EventId, request.NumberOfTicketsRequired); var ordersAfter = ordersQuery.Execute(request.UserId).Count(); var sucessfulOrder = ordersAfter == ordersBefore + 1; return RedirectToAction(sucessfulOrder ? "Confirmation" : "Cantformation"); } catch (Exception) { return RedirectToAction("Error"); throw; } }