示例#1
0
        /// <summary>
        /// Retrieve a list of online catalog items from ComicVine based on a search query via title.
        /// </summary>
        /// <param name="title">The comic book title for the search query.</param>
        /// <returns>An enumerable list of online catalog items.</returns>
        public IEnumerable <OnlineCatalogItem> GetCatalogItemsByTitle(string title)
        {
            var catalogItems = new List <OnlineCatalogItem>();

            var titleSearchFieldList = new SearchFieldList()
            {
                IssueFields = Thoorium.Comicvine.Enums.IssueFields.ALL
            };

            var response = _comicVineApiProxy.Search(title, titleSearchFieldList, Thoorium.Comicvine.Enums.RessourceType.ISSUE);

            if (response.Status_Code == "1")
            {
                response.Results.Issues.ForEach(i => {
                    DateTime.TryParse(i.CoverDate, out var coverDate);

                    catalogItems.Add(
                        new OnlineCatalogItem()
                    {
                        Title       = i.Name,
                        CoverDate   = coverDate,
                        IssueNumber = i.IssueNumber,
                        Description = i.Description,
                        Publisher   = i.ApiDetailUrl
                    });
                });
            }

            return(catalogItems);
        }
示例#2
0
        private static void Main(string[] args)
        {
            var comic = new Comicvine("837a750249a6c3236b0b1d85a93a45aac22ec3fc");//Put your api key here

            var charactersearchfieldlist = new SearchFieldList
            {
                CharacterFields = CharacterFields.API_DETAIL_URL
            };

            var search    = comic.Search("Doom", charactersearchfieldlist, RessourceType.CHARACTER);
            var charapiid = search.Results.Characters[0].GetCharacterApiId();

            var character = comic.GetCharacter(charapiid); //DOOM
            var issue     = comic.GetIssue("4000-487843"); //Secret Wars 2015 #1
        }
示例#3
0
        public SearchResponse Search(string Query, SearchFieldList FieldList, RessourceType Resources = RessourceType.ALL, int Limit = 100, int Offset = 0)
        {
            List <Parameter> _Parameters = new List <Parameter>();

            if (Resources != RessourceType.ALL)
            {
                _Parameters.Add(RestHelper.BuildParameter(ApiResources.Search.Parameters.Resources, EnumHelper.CleanEnumAndReturnAsLowercaseString(Resources), ParameterType.QueryString));
            }

            _Parameters.Add(RestHelper.BuildParameter(ApiResources.Search.Parameters.Query, Query, ParameterType.QueryString));

            if (FieldList != null)
            {
                _Parameters.Add(RestHelper.BuildParameter(ApiResources.Search.Parameters.FieldList, FieldList.GetFieldsAsQueryParameter(), ParameterType.QueryString));
            }

            _Parameters.Add(RestHelper.BuildParameter(ApiResources.Search.Parameters.Limit, Limit, ParameterType.QueryString));

            _Parameters.Add(RestHelper.BuildParameter(ApiResources.Search.Parameters.Offset, Offset, ParameterType.QueryString));

            return(GetResource <SearchResponse>(ApiResources.Search.Resource, _Parameters.ToArray()));
        }