private async Task LoadData(int id, [FromQuery] string source) { var episode = await this.EpisodeService.FindAsync(id); AnimeLink link = await LoadLink(id, source); await LoadProperties(episode, link); string userId = this.User.FindFirst(ClaimTypes.NameIdentifier)?.Value; var user = await this.ProfileService.GetUserByIdAsync(userId); if (user != null) { var ratedAnime = await this.ProfileService.GetUserRatingsAsync(episode.AnimeSeriesId, userId); if (ratedAnime == null) { this.IsFavourite = false; this.Rating = 0; } else { this.IsFavourite = ratedAnime.IsFavourite; this.Rating = ratedAnime.Rating; } } this.ViewData["EpisodeId"] = id; }
public async Task GetAllLinksForAsync_WithValidObject() { var episodeId = this.Context.Episodes.FirstOrDefault().Id; var links = this.Context.AnimeLinks.Where(p => p.EpisodeId == episodeId).ToList(); var result = (await this.EpisodeService.GetAllLinksForAsync(episodeId)).ToList(); CollectionAssert.AreEqual(links, result); var link = new AnimeLink() { AnimeId = this.Context.AnimeSeries.LastOrDefault().Id, EpisodeId = episodeId, Source = new AnimeLinkEnum() { Name = "Bla Bla blllllla" }, }; await this.Context.AnimeLinks.AddAsync(link); await this.Context.SaveChangesAsync(); links = this.Context.AnimeLinks.Where(p => p.EpisodeId == episodeId).ToList(); result = (await this.EpisodeService.GetAllLinksForAsync(episodeId)).ToList(); CollectionAssert.AreEqual(links, result); }
private async Task TryCreateAnimeLinkAsync(int animeSeriesId, int animeLinkEnumId, string url, int episodeId) { if (await this.AnimeLinkExistsAsync(animeSeriesId, animeLinkEnumId, episodeId)) { return; } var animeLink = new AnimeLink() { AnimeId = animeSeriesId, SourceId = animeLinkEnumId, SourceUrl = url, EpisodeId = episodeId }; await this.AnimeContext.AnimeLinks.AddAsync(animeLink); await this.AnimeContext.SaveChangesAsync(); }
private async Task LoadProperties(AnimeEpisode episode, AnimeLink link) { this.EpisodeId = episode.Id; this.Title = await this.AnimeService.GetTitleAsync(episode.AnimeSeriesId); this.AnimeSeriesId = episode.AnimeSeriesId; this.Categories = await this.CategoryService.GetCategoriesIdNamePair(episode.AnimeSeriesId); this.EpisodeNumber = episode.EpisodeNumber; this.Episodes = await this.EpisodeService.GetAllEpisodesIdsAsync(episode.AnimeSeriesId); this.WatchEpisodeViewModel.Links = await this.EpisodeService.GetAnimeLinksForAsync(episode.Id, link.Source.Id); this.Comments = await this.EpisodeService.LoadComments(episode.Id); this.SourceName = link.Source.Name; this.WatchEpisodeViewModel.NextEpisodeId = await this.EpisodeService.GetNextEpisodeId(this.EpisodeNumber, this.AnimeSeriesId); this.WatchEpisodeViewModel.PreviousEpisodeId = await this.EpisodeService.GetPreviousEpisodeId(this.EpisodeNumber, this.AnimeSeriesId); }
public async Task GetLinkByNameAsync_WithValidObject() { var sourceName = "New Source"; var link = new AnimeLink() { AnimeId = this.Context.AnimeSeries.LastOrDefault().Id, EpisodeId = 3, Source = new AnimeLinkEnum() { Name = sourceName }, SourceUrl = "ksdld" }; this.Context.AnimeLinks.Add(link); this.Context.SaveChanges(); var result = await this.EpisodeService.GetLinkByNameAsync(sourceName); Assert.AreEqual(link, result); }
public string GetAnimeProfileUrl() { return(AnimeLink.Remove(AnimeLink.LastIndexOf('-')).Replace("/ver/", "/anime/")); }
private static void InitializeData(AnimeWorldContext context) { var series = new AnimeSeries() { Description = "Testing Description", ImageUrl = DbConstants.Default_Avatar_Url, Title = "New test" }; var series2 = new AnimeSeries() { Description = "Testing Description", ImageUrl = DbConstants.Default_Avatar_Url, Title = "New test2" }; var series3 = new AnimeSeries() { Description = "Testing Description", ImageUrl = DbConstants.Default_Avatar_Url, Title = "New test3" }; context.AnimeSeries.Add(series); context.AnimeSeries.Add(series2); context.AnimeSeries.Add(series3); var category = new Category() { Name = "first" }; var category2 = new Category() { Name = "second" }; var category3 = new Category() { Name = "third" }; context.Categories.Add(category); context.Categories.Add(category2); context.Categories.Add(category3); var episode = new AnimeEpisode() { AnimeSeriesId = 1, DateCreatedAt = DateTime.UtcNow, EpisodeNumber = 1 }; context.Episodes.Add(episode); var animeLink = new AnimeLink() { AnimeId = 1, EpisodeId = 1, Source = new AnimeLinkEnum() { Name = "first" }, SourceUrl = "https://www.youtube.com/embed/aBn7bjy9c4U" }; var animeLink2 = new AnimeLink() { AnimeId = 1, EpisodeId = 1, Source = new AnimeLinkEnum() { Name = "second" }, SourceUrl = "https://www.youtube.com/embed/aBn7bjy9c4U" }; var animeLink3 = new AnimeLink() { AnimeId = 1, EpisodeId = 1, Source = new AnimeLinkEnum() { Name = "third" }, SourceUrl = "https://www.youtube.com/embed/aBn7bjy9c4U" }; context.AnimeLinks.Add(animeLink); context.AnimeLinks.Add(animeLink2); context.AnimeLinks.Add(animeLink3); context.SaveChanges(); }
public async Task AddSourceLinkAsync(AnimeLink link) { await this.AnimeContext.AnimeLinks.AddAsync(link); await this.AnimeContext.SaveChangesAsync(); }