コード例 #1
0
        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));
        }
コード例 #2
0
        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));
            }
        }
コード例 #3
0
        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));
            }
        }
コード例 #4
0
        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"));
        }