コード例 #1
0
        public async Task <bool> CreateTVShowAsync(CreateTVShowInputModel input)
        {
            if (!await dbContext.Genres.AnyAsync(genre => genre.Name == input.Genre))
            {
                return(false);
            }
            if (!await dbContext.Artists.AnyAsync(artist => artist.FullName == input.Creator))
            {
                return(false);
            }
            if (await dbContext.TVShows.AnyAsync(tvShow => tvShow.Name == input.Name))
            {
                return(false);
            }

            var genreFromDb = await dbContext.Genres.SingleOrDefaultAsync(g => g.Name == input.Genre);

            var creatorFromDb = await dbContext.Artists.SingleOrDefaultAsync(a => a.FullName == input.Creator);

            var tvShowForDb = mapper.Map <CreateTVShowInputModel, TVShow>(input);

            tvShowForDb.Genre   = genreFromDb;
            tvShowForDb.Creator = creatorFromDb;

            await dbContext.TVShows.AddAsync(tvShowForDb);

            await dbContext.SaveChangesAsync();

            return(true);
        }
コード例 #2
0
        public async Task <IActionResult> Create(CreateTVShowInputModel input)
        {
            if (!ModelState.IsValid)
            {
                return(View(input));
            }

            if (!await tvShowService.CreateTVShowAsync(input))
            {
                return(View(input));
            }

            return(Redirect(redirectTVShowsAllAndOrder));
        }