Ejemplo n.º 1
0
        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;
        }
Ejemplo n.º 2
0
        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);
        }
Ejemplo n.º 3
0
        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();
        }
Ejemplo n.º 4
0
        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);
        }
Ejemplo n.º 5
0
        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);
        }
Ejemplo n.º 6
0
 public string GetAnimeProfileUrl()
 {
     return(AnimeLink.Remove(AnimeLink.LastIndexOf('-')).Replace("/ver/", "/anime/"));
 }
Ejemplo n.º 7
0
        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();
        }
Ejemplo n.º 8
0
        public async Task AddSourceLinkAsync(AnimeLink link)
        {
            await this.AnimeContext.AnimeLinks.AddAsync(link);

            await this.AnimeContext.SaveChangesAsync();
        }