/// <summary> /// Retrieves the next element from source. /// </summary> /// <param name="current">Current element</param> /// <returns>The next element from items, if it exists. Otherwise, returns null</returns> public async Task<EntitiesBase.RssSearchResult> Next(EntitiesBase.RssSearchResult current) { var data = await GetData(); if (current == null) return data.FirstOrDefault(); if (data.Any() && data.Last().Equals(current)) return null; return data[data.IndexOf(current) + 1]; }
/// <summary> /// Checks if data source has a element after the passed as parameter /// </summary> /// <param name="current">Current element</param> /// <returns>True, if there is a next element, false if there is not</returns> public async Task<bool> HasNext(EntitiesBase.RssSearchResult current) { var data = await GetData(); if (current == null || !data.Any()) return false; return data.IndexOf(current) < data.Count - 1; }
/// <summary> /// Checks if data source has a element before the passed as parameter /// </summary> /// <param name="current">Current element</param> /// <returns>True, if there is a previous element, false if there is not</returns> public bool HasPrevious(EntitiesBase.RssSearchResult current) { var data = new List<EntitiesBase.RssSearchResult>(); if (current == null || !data.Any()) return false; return data.IndexOf(current) > 0; }
/// <summary> /// Retrieves the previous element from source. /// </summary> /// <param name="current">Current element</param> /// <returns>The previous element from items, if it exists. Otherwise, returns null</returns> public EntitiesBase.YouTubeVideo Previous(EntitiesBase.YouTubeVideo current) { var data = new List<EntitiesBase.YouTubeVideo>(); if (current == null) return data.FirstOrDefault(); if (data.Any() && data.First().Equals(current)) return null; return data[data.IndexOf(current) - 1]; }
/// <summary> /// Checks if data source has a element before the passed as parameter /// </summary> /// <param name="current">Current element</param> /// <returns>True, if there is a previous element, false if there is not</returns> public bool HasPrevious(EntitiesBase.YouTubeVideo current) { var data = new List<EntitiesBase.YouTubeVideo>(); if (current == null || !data.Any()) return false; return data.IndexOf(current) > 0; }
/// <summary> /// Retrieves the previous element from source. /// </summary> /// <param name="current">Current element</param> /// <returns>The previous element from items, if it exists. Otherwise, returns null</returns> public async Task<EntitiesBase.FlickrSearchResult> Previous(EntitiesBase.FlickrSearchResult current) { var data = await GetData(); if (current == null) return data.FirstOrDefault(); if (data.Any() && data.First().Equals(current)) return null; return data[data.IndexOf(current) - 1]; }