API.TransitManager.GetFavoritesViewModel C# (CSharp) Method

GetFavoritesViewModel() public static method

public static GetFavoritesViewModel ( ITransitRepository repository, ITransitClient client, DateTimeOffset currentTime, IEnumerable stopIds, LatLong optionalUserLocation ) : Task>
repository ITransitRepository
client ITransitClient
currentTime DateTimeOffset
stopIds IEnumerable
optionalUserLocation API.Models.LatLong
return Task>
        public static async Task<List<FavoriteStopViewModel>> GetFavoritesViewModel(ITransitRepository repository,
            ITransitClient client, DateTimeOffset currentTime, IEnumerable<int> stopIds, LatLong? optionalUserLocation)
        {
            var staticData = await repository.GetStaticDataAsync();

            var favoriteStops = GetFavoriteStops(staticData, stopIds, optionalUserLocation);

            var scheduleTask = GetSchedule(repository, client, currentTime, favoriteStops.Select(f => f.Id));

            var schedule = await scheduleTask;

            var result = favoriteStops.Select(favorite => ToViewModel(favorite, staticData, schedule, currentTime))
                                      .ToList();

            return result;
        }