/// <summary> /// Fetches lists of comic series with optional filters. /// </summary> /// <param name="filter"> /// Search query filter data /// </param> public virtual SeriesResult GetSeries(SeriesRequestFilter filter = default(SeriesRequestFilter)) { var request = new RestRequest(SeriesUrlSegment, Method.GET); // Parse filter // ParseSeriesFilter(request, filter); return(Execute <SeriesResult>(request)); }
/// <summary> /// Fetches lists of comic series in which the specified story takes place. /// </summary> /// <param name="storyId"> /// Story unique identifier /// </param> /// <param name="filter"> /// Search query filter data /// </param> public virtual SeriesResult GetStorySeries(string storyId, SeriesRequestFilter filter = default(SeriesRequestFilter)) { // Build request url // string requestUrl = string.Format("{0}/{1}/series", StoriesUrlSegment, storyId); var request = new RestRequest(requestUrl, Method.GET); // Parse filter // ParseSeriesFilter(request, filter); return(Execute <SeriesResult>(request)); }
private void ParseSeriesFilter(IRestRequest request, SeriesRequestFilter filter) { if (filter != null) { if (filter.Title.HasValue()) { request.AddParameter("title", filter.Title); } if (filter.TitleStartsWith.HasValue()) { request.AddParameter("titleStartsWith", filter.TitleStartsWith); } if (filter.StartYear.HasValue) { request.AddParameter("startYear", filter.StartYear.Value); } if (filter.ModifiedSince.HasValue) { request.AddParameter("modifiedSince", filter.ModifiedSince.Value.ToString("yyyy-MM-dd")); } if (filter.Comics.HasValue()) { request.AddParameter("comics", filter.Comics); } if (filter.Stories.HasValue()) { request.AddParameter("stories", filter.Stories); } if (filter.Events.HasValue()) { request.AddParameter("events", filter.Events); } if (filter.Creators.HasValue()) { request.AddParameter("creators", filter.Creators); } if (filter.Characters.HasValue()) { request.AddParameter("characters", filter.Characters); } if (filter.SeriesType.HasValue) { request.AddParameter("seriesType", filter.SeriesType.HasValue.GetDescription()); } if (filter.Contains.HasValue()) { request.AddParameter("contains", filter.Contains); } if (filter.ResultSetOrder.HasValue()) { request.AddParameter("orderBy", filter.ResultSetOrder); } if (filter.Limit.HasValue) { request.AddParameter("limit", filter.Limit.Value); } if (filter.Offset.HasValue) { request.AddParameter("offset", filter.Offset.Value); } } }