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); }
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."; } } }