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;
            }

        }