public ActionResult ChooseSeats(int [] selectedSeats, CarInfoViewModel model) { if (selectedSeats == null) { selectedSeats = new int[0]; } RouteInfo = Session["RouteInfo"] as RouteInfoViewModel; RouteInfo.SelectedCarriage = model; var routeModel = mapperControl.GetRouteInfoByRouteInfoViewModel(RouteInfo); double price = priceCalculateService.GetPrice(routeModel); RouteInfo.SelectedCarriage.ChosenSeats = new List <SelectedSeat>(); for (int i = 0; i < selectedSeats.Length; i++) { RouteInfo.SelectedCarriage.ChosenSeats.Add(new SelectedSeat { Number = selectedSeats[i], Price = price }); } Session["RouteInfo"] = RouteInfo; return(PartialView(model)); }
public HomeController(ITrainSearchService <Info, SearchTrainsModel> trainSearchService, IMapperControl mapperControl, ICityService cityService, IPriceCalculateService priceCalculateService) { this.trainSearchService = trainSearchService; this.mapperControl = mapperControl; this.cityService = cityService; this.priceCalculateService = priceCalculateService; InfoItems = new InfoViewModel(); CarInfoViewModels = new List <CarInfoViewModel>(); RouteInfo = new RouteInfoViewModel(); }
public ActionResult PeopleForms() { RouteInfoViewModel model = Session["RouteInfo"] as RouteInfoViewModel; ViewBag.ChosenSeats = model.SelectedCarriage.ChosenSeats; for (int i = 0; i < model.SelectedCarriage.ChosenSeats.Count; i++) { personViewModels.Add(new PersonViewModel()); } return(View(personViewModels.ToList())); }
public ActionResult PeopleForms(List <PersonViewModel> model) { var people = mapperControl.GetPersonListByPersonViewList(model); people = personService.CreatePerson(people); RouteInfoViewModel route = Session["RouteInfo"] as RouteInfoViewModel; List <ReservedSeatViewModel> seats = new List <ReservedSeatViewModel>(); foreach (var el in route.SelectedCarriage.ChosenSeats) { seats.Add(new ReservedSeatViewModel { Number = el.Number, CarriageId = route.SelectedCarriage.CarriageId }); } var reservedSeats = mapperControl.GetReservedSeatsByViewModel(seats); reservedSeats = reservedSeatService.Create(reservedSeats); for (int i = 0; i < people.Count(); i++) { int seatId = reservedSeats.Find(x => x.Number.Equals(route.SelectedCarriage.ChosenSeats[i].Number)).SeatId; ticketViewModels.Add(new TicketViewModel { Email = people[i].Email, TrainName = route.TrainName, SeatNumber = route.SelectedCarriage.ChosenSeats[i].Number, Price = route.SelectedCarriage.ChosenSeats[i].Price, RouteId = route.RouteId, Description = route.Description, ArrivalTime = route.ArrivalTime, CarriageNumber = route.SelectedCarriage.Number, DepartureTime = route.DepartureTime, SeatId = seatId, SNP = String.Format("{0} {1} {2}", people[i].Name, people[i].Surname, people[i].Patronymic) }); } var tickets = mapperControl.GetTicketsByViewModel(ticketViewModels); tickets = ticketService.Create(tickets); for (int i = 0; i < tickets.Count(); i++) { orderService.MakeOrder(people[i].PersonId, tickets[i].TicketId); } CreatePdf(ticketViewModels); return(View("GetTickets", ticketViewModels)); }
public RouteInfo GetRouteInfoByRouteInfoViewModel(RouteInfoViewModel model) { return(mapper.Map <RouteInfoViewModel, RouteInfo>(model)); }