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