public async Task <ActionResult <string> > GetAsync(int id)
        {
            // TODO: Test code for quickly verifying changes.

            ComicVineService comicVineService = new ComicVineService();
            //var testVolume = await comicVineService.GetVolume("4050-796");


            VolumeFilter filter = new VolumeFilter()
            {
                Name = "Teen Titans"
            };
            VolumeSort sort = new VolumeSort();

            ComicSearch comicSearch = new ComicSearch()
            {
                VolumeFilterCriteria = filter, VolumeSortCriteria = sort
            };



            var testVolumes = await comicVineService.SearchComics(comicSearch);

            var testOneIssue = await comicVineService.GetIssue(30000);

            var testOneMore = await comicVineService.GetIssue(0);

            return("Testing");

            //var moreTest = testVolumes.Where(x => x.Deck != null);

            //return testVolumes[0].Deck == null ? testVolumes[0].Description : testVolumes[0].Deck.ToString();

            /*
             * DALConfig config = new DALConfig();
             * var collectionDb = config.GetMongoDatabase();
             * collectionDb.DropCollection("User");
             *
             * UserRepository userRepository = new UserRepository();
             * ComicCollectionRepository comicCollectionRepository = new ComicCollectionRepository();
             * CollectedVolumeRepository collectedVolumeRepository = new CollectedVolumeRepository();
             *
             * userRepository.Save(new ComicAPI.Models.User() { Name = "Shannon" });
             * userRepository.Save(new ComicAPI.Models.User() { Name = "Tony Stark" });
             *
             * var test = userRepository.GetAll();
             *
             * return "Testing!";
             */
        }
Beispiel #2
0
        /// <summary>
        /// Returns a list of configured <b>NebVolume</b> instances based on the
        /// provided page and filter information.
        /// </summary>
        /// <param name="page">
        /// The requested page from the server. This is an optional argument
        /// and if omitted the server will default to returning the first page
        /// with a maximum of <c>100</c> items.
        /// </param>
        /// <param name="filter">
        /// A filter object to filter the volumes on the server. If omitted,
        /// the server will return all objects as a paginated response.
        /// </param>
        /// <param name="sort">
        /// A sort definition object to sort the volume objects on supported
        /// properties. If omitted objects are returned in the order as they
        /// were created in.
        /// </param>
        /// <returns>A paginated list of volumes</returns>
        public VolumeList GetVolumes(
            PageInput page      = null,
            VolumeFilter filter = null,
            VolumeSort sort     = null)
        {
            GraphQLParameters parameters = new GraphQLParameters();

            parameters.Add("page", page, true);
            parameters.Add("filter", filter, true);
            parameters.Add("sort", sort, true);

            // this should return exactly one item.
            return(RunQuery <VolumeList>(@"getVolumes", parameters));
        }
Beispiel #3
0
 public async Task <VolumesResponse> GetVolumes(VolumeFilter filter, VolumeSort sort)
 {
     return(await GetMany <VolumesResponse, VolumeSort, VolumeFilter>("volumes", sort, filter));
 }
Beispiel #4
0
        /// <summary>
        /// Performs execution of the command
        /// </summary>
        protected override void ProcessRecord()
        {
            try
            {
                List <VolumeFilter> filters = new List <VolumeFilter>();

                VolumeFilter snapsFilter = new VolumeFilter();
                snapsFilter.BaseOnly = !OnlySnapshots.IsPresent && !IncludeSnapshots.IsPresent;
                filters.Add(snapsFilter);

                if (OnlySnapshots.IsPresent)
                {
                    VolumeFilter f1 = new VolumeFilter();
                    f1.SnapshotsOnly = true;
                    filters.Add(f1);
                }

                if (ParameterPresent("Guid"))
                {
                    VolumeFilter f = new VolumeFilter();
                    f.Guid           = new GuidFilter();
                    f.Guid.MustEqual = Guid;
                    filters.Add(f);
                }

                if (ParameterPresent("Name"))
                {
                    VolumeFilter f = new VolumeFilter();
                    f.Name           = new StringFilter();
                    f.Name.MustEqual = Name;
                    filters.Add(f);
                }

                if (ParameterPresent("NPod"))
                {
                    VolumeFilter f = new VolumeFilter();
                    f.NPodGuid           = new GuidFilter();
                    f.NPodGuid.MustEqual = NPod.Guid;
                    filters.Add(f);
                }

                if (ParameterPresent("ParentVolume"))
                {
                    VolumeFilter f = new VolumeFilter();
                    f.ParentGuid           = new GuidFilter();
                    f.ParentGuid.MustEqual = ParentVolume.Guid;
                    filters.Add(f);

                    // make sure that snapshots are included
                    foreach (VolumeFilter ef in filters)
                    {
                        if (ef.BaseOnly.HasValue)
                        {
                            ef.BaseOnly = false;
                        }
                    }
                }

                // convert to filter
                VolumeFilter filter = GenerateFilter(filters);

                // Compile a sort direction from the provided input
                // Default sort direction is Ascending
                VolumeSort sort = new VolumeSort();
                sort.Name = SortDirection.Ascending;

                PageInput  page = PageInput.First;
                VolumeList list = Connection.GetVolumes(page, filter, sort);

                foreach (Volume item in list.Items)
                {
                    WriteObject(item);
                }

                while (list.More)
                {
                    // advance the page
                    page.Page = page.Page + 1;

                    list = Connection.GetVolumes(page, filter, sort);
                    foreach (Volume item in list.Items)
                    {
                        WriteObject(item);
                    }
                }
            }
            catch (AggregateException exceptions)
            {
                foreach (Exception ex in exceptions.InnerExceptions)
                {
                    WriteError(ex);
                }
            }
            catch (Exception ex)
            {
                WriteError(ex);
            }
        }