public async Task <IActionResult> Details(Guid?id) { if (id == null) { return(NotFound()); } var routeInfo = await _context.RouteInfo .Include(context => context.User) .Include(context => context.Route) .SingleOrDefaultAsync(routeInfoItem => routeInfoItem.Id == id); if (routeInfo == null) { return(NotFound()); } var routeDetailsViewModel = new RouteDetailsViewModel { RouteInfo = routeInfo, AvailablePlaces = routeInfo.Route.Capacity - await GetCountOfAppliedUsers(routeInfo.Route.Id), PassengersApplications = await GetPassengersRouteApplicationsList(routeInfo.Route.Id) }; return(View(routeDetailsViewModel)); }
public IActionResult RouteDetails(string vehicleId, string routeId) { try { var viewModel = new RouteDetailsViewModel { VehicleId = vehicleId, RouteEntries = vehicleService.GetDetailsRoute(vehicleId, routeId) }; return(View(viewModel)); } catch (Exception e) { logger.LogError("Failed to retrieve vehicle {@Exception}", e.Message); logger.LogDebug("Failed to retrieve vehicle {@ExceptionMessage}", e); return(BadRequest(e.Message)); } }
public async Task <Result <RouteDetailsViewModel> > GetRouteById(IdModel model) { try { var query = new SearchQuery <RouteInfoEntity>(); RouteInfoEntity result = await _routeRepository.GetSingleWithDependencies(model.Id); if (result == null) { ErrorResult error = GenerateError("Route not found", "Id", "Invalid identifier", ErrorStatus.ObjectNotFound); return(new Result <RouteDetailsViewModel>(error)); } var viewModel = new RouteDetailsViewModel() { Difficulty = result.Difficulty, Id = result.ID, Name = result.Name, UserId = result.UserId, User = new UserListItemModel() { Email = result.User.Email, Id = result.User.ID, Name = result.User.Name, RoutesCount = result.User.Routes.Count }, Geometry = new RouteGeometry() { Id = result.Geometry.ID, Points = GeoPointConverter.GetPoints(result.Geometry.Line), }, MainPoint = GeoPointConverter.GetPoint(result.Point.Point) }; return(new Result <RouteDetailsViewModel>(viewModel)); } catch (Exception ex) { ErrorResult error = GenerateError(ex); return(new Result <RouteDetailsViewModel>(error)); } }
public IActionResult Details(string routeId) { List <ApplicationUser> userList; if (routeId != null) { var route = context.Routes.First(a => a.Id == routeId); if (route != null) { userManager.Users.ToList(); var passengersRef = context.UsersToRoutes.Where(u => u.RouteRef == route); if (passengersRef != null) { userList = new List <ApplicationUser>(); foreach (var routePassengers in passengersRef) { var passUser = context.Users.First(u => u == routePassengers.PassengerRef); if (passUser != null) { userList.Add(passUser); } } var routeViewDetails = new RouteDetailsViewModel { ChargeForPassenger = route.ChargeForPassenger, Driver = route.Driver, EndLocation = route.EndLocation, FuelUsage = route.FuelUsage, Id = route.Id, PassengersInRoute = userList, RouteDateTime = route.RouteDateTime, StartLocation = route.StartLocation }; return(View(routeViewDetails)); } } } return(RedirectToAction("Index")); }