Exemple #1
0
        public async Task <bool> UpdateTVShowAsync(UpdateTVShowInputModel input)
        {
            if (!await dbContext.TVShows.AnyAsync(tvShow => tvShow.Id == input.Id))
            {
                return(false);
            }
            if (!await dbContext.Genres.AnyAsync(genre => genre.Name == input.Genre))
            {
                return(false);
            }
            if (!await dbContext.Artists.AnyAsync(artist => artist.FullName == input.Creator))
            {
                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 tvShowFromDb = await dbContext.TVShows.FindAsync(input.Id);

            tvShowFromDb.Name           = input.Name;
            tvShowFromDb.Genre          = genreFromDb;
            tvShowFromDb.Creator        = creatorFromDb;
            tvShowFromDb.Description    = input.Description;
            tvShowFromDb.CoverImageLink = input.CoverImageLink;
            tvShowFromDb.TrailerLink    = input.TrailerLink;

            dbContext.Update(tvShowFromDb);
            await dbContext.SaveChangesAsync();

            return(true);
        }
        public async Task <bool> UpdateMovieAsync(UpdateMovieInputModel input)
        {
            if (!await dbContext.Movies.AnyAsync(movie => movie.Id == input.Id))
            {
                return(false);
            }
            if (!await dbContext.Genres.AnyAsync(genre => genre.Name == input.Genre))
            {
                return(false);
            }
            if (!await dbContext.Artists.AnyAsync(artist => artist.FullName == input.Director))
            {
                return(false);
            }

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

            var directorFromDb = await dbContext.Artists.SingleOrDefaultAsync(a => a.FullName == input.Director);

            var movieFromDb = await dbContext.Movies.FindAsync(input.Id);

            movieFromDb.Name           = input.Name;
            movieFromDb.Genre          = genreFromDb;
            movieFromDb.ReleaseDate    = input.ReleaseDate;
            movieFromDb.Length         = input.Length;
            movieFromDb.Description    = input.Description;
            movieFromDb.CoverImageLink = input.CoverImageLink;
            movieFromDb.TrailerLink    = input.TrailerLink;
            movieFromDb.Director       = directorFromDb;

            dbContext.Update(movieFromDb);
            await dbContext.SaveChangesAsync();

            return(true);
        }
        public async Task <bool> UpdateArtistAsync(UpdateArtistInputModel input)
        {
            if (!await dbContext.Artists.AnyAsync(artist => artist.Id == input.Id))
            {
                return(false);
            }

            var artistFromDb = await dbContext.Artists.FindAsync(input.Id);

            artistFromDb.FullName  = input.FullName;
            artistFromDb.BirthDate = input.BirthDate;
            artistFromDb.Biography = input.Biography;
            artistFromDb.PhotoLink = (string.IsNullOrEmpty(input.PhotoLink) || string.IsNullOrWhiteSpace(input.PhotoLink)) ? GlobalConstants.noArtistImage : input.PhotoLink;

            dbContext.Update(artistFromDb);
            await dbContext.SaveChangesAsync();

            return(true);
        }