public IActionResult Buy(string error, int?tickets) { var match = _matchService.GetMatches(); var ticketNames = new List <string>(); foreach (var ticket in match) { ticketNames.Add(ticket.MatchName); } var filteredTicketNames = ticketNames.Distinct().ToList(); var viewModel = new GetBuyViewModel() { TicketNames = filteredTicketNames, Tickets = new List <TicketViewModel>() }; for (int i = 0; i < tickets; i++) { viewModel.Tickets.Add(new TicketViewModel()); } ViewBag.Error = error; return(View(viewModel)); }
public IActionResult Buy(GetBuyViewModel model) { try { var user = new User() { FirstName = model.FirstName, LastName = model.LastName, Address = model.Address, PhoneNumber = model.PhoneNumber, Email = model.Email, }; _userService.AddUser(user); var buy = new Buy() { User = user, IsSuccessfullyBuying = false, Price = 0, Tickets = new List <Ticket>() }; foreach (var ticket in model.Tickets) { var tempTicket = _matchService.GetTicketByMatchNameAndSector(ticket.MatchName, ticket.Sector); buy.Price += tempTicket.Price; buy.Tickets.Add(tempTicket); } _buyService.CreateBuyModel(buy); return(View("_ThankYou")); } catch (Exception ex) { var message = "We don't have selected ticket/s at this moment, pease select another one."; return(RedirectToAction("Buy", "Buy", new { error = message, tickets = model.Tickets.Count })); } }