Ejemplo n.º 1
0
        public async Task <List <ObjectOnlineModel> > GetCurrentObjectsOnlineAsync(List <int> routeIds, ClaimsPrincipal principal)
        {
            var routes = await _dictionariesCacheHelper.GetAllActiveRoutesWithStations();

            var result = await GetCurrentObjectsOnlineAsync(routes, routeIds, principal);

            return(result);
        }
Ejemplo n.º 2
0
        public async Task <List <RouteWithStationsModel> > GetAllActiveRoutesWithStationsAsync()
        {
            var routes = await _dictionariesCacheHelper.GetAllActiveRoutesWithStations();

            var routesWithStations = new List <RouteWithStationsModel>();

            foreach (var route in routes)
            {
                var item = MapToModel <RouteWithStationsModel>(route);
                item.ForwardDirectionStations = new List <int>();
                item.BackDirectionStations    = new List <int>();

                var busStationRoutes = route.BusStationRoutes
                                       .Select(x => (IBusStationRouteEntity)x)
                                       .ToList();

                RouteMappingHelper.SetStations(item, busStationRoutes);

                routesWithStations.Add(item);
            }

            return(routesWithStations);
        }
Ejemplo n.º 3
0
        public async Task <FindPathModel> GetPathBetweenTwoStationsAsync(int startStationId, int endStationId)
        {
            var cacheKey = $"GetPathBetweenTwoStations_{startStationId}_{endStationId}";

            var findResult = await _appCacheHelper.GetCachedAsync(
                cacheKey,
                async() =>
            {
                var newRoutes = await _dictionariesCacheHelper.GetAllNewRoutesWithStations();
                var oldRoutes = await _dictionariesCacheHelper.GetAllActiveRoutesWithStations();

                return(FindRouteHelper.GetPaths(newRoutes, oldRoutes, startStationId, endStationId));
            },
                _newRoutesCacheClearTypes);

            var result = new FindPathModel()
            {
                DirectDirections      = MapToRouteDirectionApiModel(findResult.DirectDirections),
                OneTransferDirections = findResult.OneTransferDirections.Select(MapToRouteDirectionApiModel).ToList()
            };

            return(result);
        }