Exemplo n.º 1
0
        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));
        }
Exemplo n.º 2
0
 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));
        }
Exemplo n.º 5
0
 public RouteInfo GetRouteInfoByRouteInfoViewModel(RouteInfoViewModel model)
 {
     return(mapper.Map <RouteInfoViewModel, RouteInfo>(model));
 }