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