Esempio n. 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
            }));
        }
        public ActionResult AppointCarriageToTrain(CarriageViewModel carriageView)
        {
            var mapper      = new MapperConfiguration(cfg => cfg.CreateMap <CarriageViewModel, CarriageDTO>()).CreateMapper();
            var carriageDto = mapper.Map <CarriageViewModel, CarriageDTO>(carriageView);

            _carriageService.EditCarriage(carriageDto);
            return(RedirectToAction("ShowCarriages", "Admin"));
        }
        public ActionResult Insert()
        {
            if (IsAdmin)
            {
                var Carriage = new CarriageViewModel();

                ViewBag.train_Name = T_Name;
                ViewBag.train_Id   = T_Id;
                return(View(Carriage));
            }
            return(RedirectToAction("Login", "Account"));
        }
Esempio n. 4
0
 public ActionResult CreateCarriage(CarriageViewModel carriage)
 {
     try
     {
         var carriageDto = new CarriageDTO {
             Name = carriage.Name, Description = carriage.Description, Type = carriage.Type, NumPlaces = carriage.NumPlaces
         };
         _carriageService.MakeCarriage(carriageDto);
         return(Content("Вы успешно создали вагон"));
     }
     catch (ValidationException ex)
     {
         ModelState.AddModelError(ex.Property, ex.Message);
     }
     return(View(carriage));
 }
 public ActionResult Edit(CarriageViewModel carriage)
 {
     if (IsAdmin)
     {
         try
         {
             var carriageDto = new CarriageDetailDTO {
                 Id = carriage.Id, Train_Id = carriage.Train_Id, Amount = carriage.Amount, Carriage_Desc = carriage.Carriage_Desc
             };
             carriageService.Update(carriageDto);
             return(Content("<h2>Поезд успешно обновлен</h2> <a href='/'> На главную </a>"));
         }
         catch (ValidationException ex)
         {
             ModelState.AddModelError(ex.Property, ex.Message);
         }
         return(View(carriage));
     }
     return(RedirectToAction("Index"));
 }
 public ActionResult Edit(int?id)
 {
     if (IsAdmin)
     {
         try
         {
             CarriageDetailDTO carriage = carriageService.GetCarriage(id);
             var Carriage = new CarriageViewModel {
                 Id = carriage.Id, Train_Id = carriage.Train_Id, Amount = carriage.Amount, Carriage_Desc = carriage.Carriage_Desc
             };
             ViewBag.Train_Name = T_Name;
             return(View(Carriage));
         }
         catch (ValidationException ex)
         {
             return(Content(ex.Message));
         }
     }
     return(RedirectToAction("Index"));
 }
        public ActionResult Insert(CarriageViewModel carriage)
        {
            if (IsAdmin)
            {
                try
                {
                    var Carriage = new CarriageDetailDTO {
                        Train_Id = carriage.Train_Id, Amount = carriage.Amount, Carriage_Desc = carriage.Carriage_Desc
                    };

                    carriageService.Create(Carriage);
                    return(Content("<h2>Вагон успешно добавлен</h2> <a href='/'> На главную </a>"));
                }
                catch (ValidationException ex)
                {
                    ModelState.AddModelError(ex.Property, ex.Message);
                }
                return(View(carriage));
            }
            return(RedirectToAction("Login", "Account"));
        }
 public ActionResult Details(int id)
 {
     try
     {
         CarriageDetailDTO             carriage = carriageService.GetCarriage(id);
         IEnumerable <BookingTableDTO> bookings = carriageService.GetAvailableSeats(id);
         List <int> seats = new List <int>();
         foreach (var item in bookings)
         {
             seats.Add(item.Seat_Num);
         }
         var carr = new CarriageViewModel {
             Id = carriage.Id, Carriage_Desc = carriage.Carriage_Desc, Amount = carriage.Amount
         };
         ViewBag.Train_Name = T_Name;
         ViewBag.Bookings   = seats;
         ViewBag.Train_Id   = carriage.Train_Id;
         return(View(carr));
     }
     catch (ValidationException ex)
     {
         return(Content(ex.Message));
     }
 }