Exemplo n.º 1
0
        public async Task <IActionResult> AddAnime(AddAnimeBindingModel model)
        {
            await LoadAddAnimeData();

            if (!this.ModelState.IsValid)
            {
                return(this.View(model));
            }
            if (model.CategoriesIds == null || model.CategoriesIds.Count <= 0)
            {
                this.ModelState.AddModelError(nameof(model.CategoriesIds), ErrorConstants.Invalid_Category_Selection);
                return(this.View(model));
            }
            if (await this.AnimeService.TitleExistsAsync(model.Title))
            {
                this.ModelState.AddModelError(nameof(model.Title), ErrorConstants.Invalid_Title_Already_Exists);
                return(this.View(model));
            }

            await this.AnimeService.AddAnimeAsync(model);

            var anime = await this.AnimeService.GetAnimeByTitleAsync(model.Title);

            return(Redirect($"/admin/addepisode/{anime.Id}"));
        }
Exemplo n.º 2
0
        public async Task AddAnimeAsync_WithInvalidObject()
        {
            var animeSeries = this.Context.AnimeSeries.ToList();

            AddAnimeBindingModel animeBindingModel = null;

            await Assert.ThrowsExceptionAsync <NullReferenceException>(() => this.AnimeService.AddAnimeAsync(animeBindingModel));
        }
Exemplo n.º 3
0
        public async Task AddAnimeAsync(AddAnimeBindingModel model)
        {
            var anime = this.Mapper.Map <AnimeSeries>(model);

            await this.CreateAsync(anime);

            foreach (var category in model.CategoriesIds)
            {
                await this.AnimeContext.AnimeSeriesCategories.AddAsync(new AnimeSeriesCategories()
                {
                    AnimeId  = anime.Id,
                    Category = await this.categoryService.FindAsync(category)
                });
            }

            await this.AnimeContext.SaveChangesAsync();
        }
Exemplo n.º 4
0
        public ActionResult <Anime> PostAnime([FromBody] AddAnimeBindingModel bindingModel)
        {
            var animetoAdd = new Anime
            {
                Name        = bindingModel.Name,
                Description = bindingModel.Description,
                PictureURL  = bindingModel.PictureURL,
                Genre       = bindingModel.Genre,
                CreatedAt   = bindingModel.CreatedAt
            };

            var createdAnime = repository.Anime.Create(animetoAdd);

            repository.Save();

            return(Ok(animetoAdd));
        }
        public IActionResult CreateAnime(AddAnimeBindingModel bindingModel, int monthID)
        {
            var animeToCreate = new Anime
            {
                Name       = bindingModel.Name,
                Episodes   = bindingModel.Episodes,
                Adaptation = bindingModel.Adaptation,
                MonthID    = monthID,
                //Month = dbContext.Months.FirstOrDefault(c => c.ID == bindingModel.MonthID),
                AiringDay  = bindingModel.AiringDay,
                PictureURL = "https://i.pinimg.com/474x/84/aa/0d/84aa0dadd6cbd869bf40397a1a59e4cb.jpg"
            };

            repository.Animes.Create(animeToCreate);
            repository.Save();
            //dbContext.Animes.Add(animeToCreate);
            //dbContext.SaveChanges();
            return(RedirectToAction("Index"));
        }
Exemplo n.º 6
0
        public async Task AddAnimeAsync_WithValidObject()
        {
            var animeSeries = this.Context.AnimeSeries.ToList();

            var animeBindingModel = new AddAnimeBindingModel()
            {
                CategoriesIds = new List <int>()
                {
                    1, 2, 3
                },
                Description = "sjdasdja",
                Title       = "test title",
                ImageUrl    = DbConstants.Default_Avatar_Url
            };

            await this.AnimeService.AddAnimeAsync(animeBindingModel);

            var anime = this.Context.AnimeSeries.LastOrDefault();

            Assert.IsNotNull(anime);
            Assert.AreEqual(animeBindingModel.Title, anime.Title);
        }