Exemple #1
0
        public IActionResult Index(CarriageViewModel model)
        {
            model.Carriage = JsonConvert.DeserializeObject <Carriage>(model.CarriageSerialized);

            List <Ticket> tickets = new List <Ticket>();

            foreach (var ticketVM in model.Tickets.Where(ticket => ticket.IsActive))
            {
                ITicketBuilder builder = new TicketBuilder(ticketVM, model.Carriage, model.Email);
                ConstructTicket(builder);
                tickets.Add(builder.Ticket);
            }
            TicketOrder order = new TicketOrder(_orderCacheService, _ticketData)
            {
                Tickets      = tickets,
                Email        = model.Email,
                CreationDate = DateTime.Now,
                MobilePhone  = model.MobilePhone
            };

            order.SetHashCode();
            order.Book();

            return(View(new ConfirmationViewModel {
                Order = order,
                Train = model.Carriage.Train,
                Carriage = model.Carriage
            }));
        }