コード例 #1
0
        public async Task <Response> Index(bool brands, bool books, bool authors, bool genres, bool publishingCompanies, int numSeries)
        {
            Response       response = new Response();
            Serie <Series> series   = new Serie <Series>();

            try
            {
                if (numSeries == 0)
                {
                    series.Incorporate(
                        await Context.Series.OrderBy(x => x.Name)
                        .Include(x => x.Cover)
                        .ToListAsync()
                        );
                }
                else
                {
                    series.Incorporate(
                        await Context.Series.OrderBy(x => x.Name)
                        .Include(x => x.Cover)
                        .Take(numSeries)
                        .ToListAsync()
                        );
                }


                if (publishingCompanies)
                {
                    series.Union(
                        await Context.Series.Include(x => x.PublishingCompaniesSeries)
                        .ThenInclude(y => y.PublishingCompany)
                        .ToListAsync()
                        );

                    series.PublishingCompanies();
                }

                if (authors)
                {
                    series.Union(
                        await Context.Series.Include(x => x.AuthorsSeries)
                        .ThenInclude(y => y.Author)
                        .ToListAsync()
                        );

                    series.Authors();
                }

                if (genres)
                {
                    series.Union(
                        await Context.Series.Include(x => x.GenresSeries)
                        .ThenInclude(y => y.Genre)
                        .ToListAsync()
                        );

                    series.Genres();
                }

                if (brands)
                {
                    series.Union(
                        await Context.Series.Include(x => x.BrandsSeries)
                        .ThenInclude(y => y.Brand)
                        .ToListAsync()
                        );

                    series.Brands();
                }

                if (books)
                {
                    series.Union(
                        await Context.Series.Include(x => x.Books)
                        .ThenInclude(y => y.Cover)
                        .ToListAsync()
                        );
                }

                response.Series = series;
            }
            catch (Exception ex)
            {
                response.Message    = ex.Message;
                response.BadRequest = true;
            }

            return(response);
        }