public async Task <IActionResult> Index(long id) { AnimeDetailsModel model = new AnimeDetailsModel(); Jikan jikan = new Jikan(); var anime = await jikan.GetAnime(id); model.ID = anime.MalId; model.Title = anime.Title; model.EnglishTitle = anime.TitleEnglish; model.Studios = string.Join(", ", anime.Studios); model.Synopsis = anime.Synopsis; model.ImageURL = anime.ImageURL; model.Genres = string.Join(", ", anime.Genres); model.Airing = anime.Airing; model.Premiered = anime.Premiered; int episodes; if (!int.TryParse(anime.Episodes, out episodes)) { episodes = -1; } model.Episodes = episodes; return(View("AnimeDetailsView", model)); }
public async Task <IActionResult> GetAnimeDetailsFromUserWatchlist(string username, long id) { Jikan jikan = new Jikan(); var watchlistData = await jikan.GetUserAnimeList(username); Anime details = null; AnimeDetailsModel model = new AnimeDetailsModel(); foreach (var anime in watchlistData.Anime) { var watchStatus = anime.WatchingStatus; if (anime.MalId == id) { details = await jikan.GetAnime(id); model.ID = details.MalId; model.Title = details.Title; model.EnglishTitle = details.TitleEnglish; model.Studios = string.Join(", ", details.Studios); model.Synopsis = details.Synopsis; model.ImageURL = details.ImageURL; model.Genres = string.Join(", ", details.Genres); model.Airing = details.Airing; model.Premiered = details.Premiered; int episodes; if (!int.TryParse(details.Episodes, out episodes)) { episodes = -1; } model.Episodes = episodes; if (anime.Score == 0) { model.Score = null; } else { model.Score = anime.Score; } switch (anime.WatchingStatus) { case UserAnimeListExtension.Completed: model.ListStatus = "Completed"; break; case UserAnimeListExtension.Dropped: model.ListStatus = "Dropped"; break; case UserAnimeListExtension.OnHold: model.ListStatus = "On Hold"; break; case UserAnimeListExtension.PlanToWatch: model.ListStatus = "Plan To Watch"; break; case UserAnimeListExtension.Watching: model.ListStatus = "Watching"; break; default: model.ListStatus = null; break; } break; } } if (details == null) { // lmao what do? return(View(new ErrorViewModel { RequestId = Activity.Current?.Id ?? HttpContext.TraceIdentifier })); } return(View("Views/Anime/AnimeDetailsView.cshtml", model)); }