Ejemplo n.º 1
0
        public async Task <ActionResult> Booking(SearchTripViewModel item, SeatSearchViewModel item2, MainSearchBind bind)
        {
            IEnumerable <AllrSeatsProcedureDTO> allrSeatsDto = await _routeService.SearchAllSeatById(item.Id, bind.From, bind.To, item2.Car);

            var allseats = _mapperTrip.Map <IEnumerable <AllrSeatsProcedureDTO>, List <AllSeatsProcedureViewModel> >(allrSeatsDto);

            foreach (var seat in allseats)
            {
                seat.Price = await _costService.GetCostOfSeatAsync(seat.PriceCoeff, item.Duration, (int)item.ArrivalTime.DayOfWeek);

                seat.SalePrice = await _costService.GetSaleCostOfSeatAsync(seat.PriceCoeff, item.Duration, (int)item.ArrivalTime.DayOfWeek);
            }

            var cars = allseats
                       .GroupBy(u => u.CarNumber)
                       .Select(grp => grp.ToList())
                       .ToList();

            AllSeatsViewModel <AllSeatsProcedureViewModel> viewModel =
                new AllSeatsViewModel <AllSeatsProcedureViewModel>
            {
                Trip = GetTripViewModel(item, item2, bind),
                Cars = cars
            };

            return(View(viewModel));
        }
Ejemplo n.º 2
0
        public TripViewModel <SearchTripViewModel> GetTripViewModel(SearchTripViewModel item, SeatSearchViewModel item2, MainSearchBind bind)
        {
            List <SearchTripViewModel> trips = new List <SearchTripViewModel>();
            List <SeatSearchViewModel> car   = new List <SeatSearchViewModel>();

            car.Add(item2);
            item.FreeSeats = car;
            trips.Add(item);
            return(new TripViewModel <SearchTripViewModel> {
                Models = trips, Bind = bind
            });
        }