public IActionResult AllLists([FromQuery] int?pagina)
        {
            var       takePagina = pagina ?? 1;
            ListComic paraLer    = ListCreate(EListComics.ParaLer, takePagina);
            ListComic lendo      = ListCreate(EListComics.Lendo, takePagina);
            ListComic lidos      = ListCreate(EListComics.Lidos, takePagina);
            ListComic emprestado = ListCreate(EListComics.Emprestados, takePagina);
            var       colection  = new List <ListComic> {
                paraLer, lendo, lidos, emprestado
            };

            return(Ok(colection));
        }
        private ListComic ListCreate(EListComics type, int pagina)
        {
            ListComic listComic = new ListComic();

            listComic.PageEnum = type;
            listComic.Comics   = _context.Comic
                                 .Where(c => c.List == type)
                                 .OrderByDescending(c => c.Id);
            listComic.Comics = listComic.Comics.Skip((pagina - 1) * 4)
                               .Take(4)
                               .ToList();

            foreach (var comic in listComic.Comics)
            {
                comic.Characters = _context.Character.Where(c => c.Comic.Id == comic.Id).ToList();
                comic.Creators   = _context.Creator.Where(c => c.Comic.Id == comic.Id).ToList();
            }
            return(listComic);
        }
Example #3
0
        private async Task GetComics(Character superHero)
        {
            if (superHero.ComicsAvailable != 0 && ListComic.Count == 0)
            {
                try
                {
                    HttpClient http     = new HttpClient();
                    var        peticion = await http.GetAsync("https://gateway.marvel.com/v1/public/comics?apikey=2c8c7e04677efe9a1a8625342ae2bac8&ts=10&hash=f8a89c483b2f946c754fc7262c34db1a" + "&limit=20" + "&characters=" + superHero.Id.ToString());

                    var respuesta = await peticion.Content.ReadAsStringAsync();

                    var objetoComic = ComicProxy.FromJson(respuesta);

                    ListComic.Clear();

                    foreach (var item in objetoComic.Data.Results)
                    {
                        Comic comic = new Comic();
                        comic.Title = item.Title;
                        if (item.Description == null)
                        {
                            item.Description = "";
                        }
                        comic.Description = item.Description;
                        comic.Thumbnail   = item.Thumbnail.Path + ".jpg";

                        ListComic.Add(comic);
                    }
                }
                catch (Exception ex)
                {
                    ItsBusy          = false;
                    LabelTextResults = "Error en la conexión.";
                }
            }
        }