using System.Collections; using System.Collections.Generic; using IF.Lastfm.Core.Api.Enums; namespace IF.Lastfm.Core.Api.Helpers { public class PageResponse : IEnumerable { #region Properties public IEnumerable Content { get; set; } public bool Success { get; set; } public LastFmApiError Error { get; set; } public int Page { get; set; } public int TotalPages { get; set; } #endregion #region IEnumerable public IEnumerator GetEnumerator() { if (Content != null) { return Content.GetEnumerator(); } else { return null; } } IEnumerator IEnumerable.GetEnumerator() { if (Content != null) { return Content.GetEnumerator(); } else { return null; } } #endregion #region Factory methods public static PageResponse CreateSuccessResponse(IEnumerable content) { var r = new PageResponse { Content = content, Success = true, Error = LastFmApiError.None }; return r; } public static PageResponse CreateErrorResponse(LastFmApiError error) { var r = new PageResponse { Content = new[] {default(T)}, Success = false, Error = error }; return r; } #endregion } }