Exemple #1
0
        public async Task <bool> AddRoleToTVShowSeasonAsync(AddSeasonRoleInputModel input)
        {
            if (!await dbContext.Seasons.AnyAsync(season => season.Id == input.SeasonId))
            {
                return(false);
            }
            if (!await dbContext.Artists.AnyAsync(artist => artist.FullName == input.Artist))
            {
                return(false);
            }

            var seasonFromDb = await dbContext.Seasons.SingleOrDefaultAsync(season => season.Id == input.SeasonId);

            var artistFromDb = await dbContext.Artists.SingleOrDefaultAsync(artist => artist.FullName == input.Artist);

            if (await dbContext.SeasonRoles.AnyAsync(sr => sr.ArtistId == artistFromDb.Id && sr.SeasonId == seasonFromDb.Id))
            {
                return(false);
            }

            var seasonRoleForDb = mapper.Map <AddSeasonRoleInputModel, SeasonRole>(input);

            seasonRoleForDb.Season = seasonFromDb;
            seasonRoleForDb.Artist = artistFromDb;

            await dbContext.SeasonRoles.AddAsync(seasonRoleForDb);

            await dbContext.SaveChangesAsync();

            return(true);
        }
        public async Task <IActionResult> AddRole(AddSeasonRoleInputModel input)
        {
            if (!ModelState.IsValid)
            {
                return(View(input));
            }

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

            return(Redirect(redirectTVShowsAllAndOrder));
        }