Example #1
0
        public void Add(string routeId, string stopId, int?direction)
        {
            var favoritesList = GetAll();
            var favorite      = new FavoriteDescription
            {
                RouteId   = routeId,
                StopId    = stopId,
                Direction = direction ?? -1
            };

            favoritesList.Add(favorite);
            SaveFavoritesList(favoritesList);
        }
Example #2
0
        public static async Task <FavoriteData> Create(FavoriteDescription data, IDataProvider dataProvider)
        {
            var stop = await dataProvider.GetStopById(data.StopId);

            if (stop == null)
            {
                throw new FavoriteCreateException(data);
            }
            var route = await dataProvider.GetRoute(data.RouteId);

            var destinations = await dataProvider.GetRouteDestinations(route);


            var destination = data.Direction == 0 ? destinations.Outbound : destinations.Inbound;

            return(data.Direction < 0 ? new FavoriteData(route, stop, destination) : new FavoriteData(route, stop, data.Direction, destination));
        }
 public FavoriteCreateException(FavoriteDescription data)
 {
     RouteId   = data.RouteId;
     StopId    = data.StopId;
     Direction = data.Direction;
 }