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); }
public async Task <IActionResult> Create(CreateTVShowInputModel input) { if (!ModelState.IsValid) { return(View(input)); } if (!await tvShowService.CreateTVShowAsync(input)) { return(View(input)); } return(Redirect(redirectTVShowsAllAndOrder)); }