예제 #1
0
        // DELETE/POST/UPDATE
        // ======================================================================================================================

        // ADD/POST ANIME WITH OBJECT

        public async Task <AnimeDTO> AddAnime(AnimeDTO anime)
        {
            try
            {
                Anime checkIfExists = await _animeRepository.GetAnimeByName(anime.Name);

                if (checkIfExists != null)
                {
                    return(null);
                }

                Anime newAnime = _mapper.Map <Anime>(anime);
                newAnime.AnimeId = new Guid();
                newAnime.AnimeStreamingServices = new List <AnimeStreamingService>();
                foreach (var streamingServiceId in anime.AnimeStreamingServices)
                {
                    newAnime.AnimeStreamingServices.Add(new AnimeStreamingService()
                    {
                        StreamingServiceId = streamingServiceId
                    });
                }
                await _animeRepository.AddAnime(newAnime);

                return(anime);
            }
            catch (System.Exception ex)
            {
                throw ex;
            }
        }
        public IActionResult Create(AnimeCreateViewModel model)
        {
            if (ModelState.IsValid)
            {
                Anime newAnime = new Anime
                {
                    Title      = model.Title,
                    Summary    = model.Summary,
                    ImageUrl   = model.ImageUrl,
                    UploadDate = DateTime.Now,
                    Episodes   = new List <AnimeEpisode>()
                };
                _animeRepository.AddAnime(newAnime);
                return(RedirectToAction("Panel", "Account"));
            }

            return(View(model));
        }