Beispiel #1
0
        /// <summary>
        /// Fetches lists of comic creators with optional filters.
        /// </summary>
        /// <param name="filter">
        /// Search query filter data
        /// </param>
        public virtual CreatorResult GetCreators(CreatorRequestFilter filter = default(CreatorRequestFilter))
        {
            var request = new RestRequest(CreatorsUrlSegment, Method.GET);

            // Parse filter
            //
            ParseCreatorFilter(request, filter);

            return(Execute <CreatorResult>(request));
        }
Beispiel #2
0
        /// <summary>
        /// Fetches lists of comic creators whose work appears in a specific comic,
        /// with optional filters.
        /// </summary>
        /// <param name="comicId">
        /// Comic unique identifier
        /// </param>
        /// <param name="filter">
        /// Search query filter data
        /// </param>
        public virtual CreatorResult GetComicCreators(string comicId, CreatorRequestFilter filter = default(CreatorRequestFilter))
        {
            // Build request url
            //
            string requestUrl =
                string.Format("{0}/{1}/creators", ComicsUrlSegment, comicId);

            var request = new RestRequest(requestUrl, Method.GET);

            // Parse filter
            //
            ParseCreatorFilter(request, filter);

            return(Execute <CreatorResult>(request));
        }
Beispiel #3
0
 private void ParseCreatorFilter(IRestRequest request, CreatorRequestFilter filter)
 {
     if (filter != null)
     {
         if (filter.FirstName.HasValue())
         {
             request.AddParameter("firstName", filter.FirstName);
         }
         if (filter.MiddleName.HasValue())
         {
             request.AddParameter("middleName", filter.MiddleName);
         }
         if (filter.LastName.HasValue())
         {
             request.AddParameter("lastName", filter.LastName);
         }
         if (filter.Suffix.HasValue())
         {
             request.AddParameter("suffix", filter.Suffix);
         }
         if (filter.NameStartsWith.HasValue())
         {
             request.AddParameter("nameStartsWith", filter.NameStartsWith);
         }
         if (filter.FirstNameStartsWith.HasValue())
         {
             request.AddParameter("firstNameStartsWith", filter.FirstNameStartsWith);
         }
         if (filter.MiddleNameStartsWith.HasValue())
         {
             request.AddParameter("middleNameStartsWith", filter.MiddleNameStartsWith);
         }
         if (filter.LastNameStartsWith.HasValue())
         {
             request.AddParameter("lastNameStartsWith", filter.LastNameStartsWith);
         }
         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.Series.HasValue())
         {
             request.AddParameter("series", filter.Series);
         }
         if (filter.Events.HasValue())
         {
             request.AddParameter("events", filter.Events);
         }
         if (filter.Stories.HasValue())
         {
             request.AddParameter("stories", filter.Stories);
         }
         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);
         }
     }
 }