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); }
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; }