Ejemplo n.º 1
0
        public ActionResult SelectCar(SelectCarRequestModel request)
        {
            var cars = railwayService.GetAllCars(request.DailyRouteId);

            var carTypes     = cars.Select(x => x.CarType).Distinct();
            var carTypesData = carTypes.Select(x => new SelectCarViewModel.CarTypeData
            {
                CarTypeId   = x.CarTypeId,
                CarTypeName = x.TypeName,
                Cost        = railwayService.CalculateCost(request.DailyRouteId, request.StartStationId, request.DestinationStationId, x)
            }).ToList();

            var carsData = cars.Select(x => new SelectCarViewModel.CarData
            {
                CarId       = x.CarId,
                CarTypeId   = x.CarTypeId,
                Index       = x.CarIndex,
                SeatCount   = railwayService.CalculateAvailableSeats(x),
                SeatIndexes = railwayService.GetAvailableSeatNumbers(x)
            }).ToList();

            var viewModel = new SelectCarViewModel
            {
                Cars      = carsData,
                CarTypes  = carTypesData,
                FormModel = new SelectCarFormModel
                {
                    DailyRouteId         = request.DailyRouteId,
                    StartStationId       = request.StartStationId,
                    DestinationStationId = request.DestinationStationId,
                }
            };

            return(View(viewModel));
        }
Ejemplo n.º 2
0
        public ActionResult SelectTrain([Bind(Prefix = "FormModel")] SelectTrainFormModel form)
        {
            var requestModel = new SelectCarRequestModel
            {
                DailyRouteId         = form.DailyRouteId,
                StartStationId       = form.StartStationId,
                DestinationStationId = form.DestinationStationId
            };

            return(RedirectToAction("SelectCar", requestModel));
        }