예제 #1
0
        public async Task <IActionResult> UpdateMovieRole(MovieRoleActivityLog movieRoleActivity)
        {
            var userId    = int.Parse(User.FindFirst(ClaimTypes.NameIdentifier).Value);
            var movieRole = await appRepository.GetMovieRole(movieRoleActivity.MovieRoleId);

            if (movieRole == null)
            {
                movieRole = await appRepository.GetMovieRole(movieRoleActivity.MovieRoleId, userId);
            }
            if (movieRole == null)
            {
                return(BadRequest("The movie role does not exist"));
            }
            if (!movieRole.IsApproved)
            {
                var firstActivity = await appRepository.GetMovieRoleActivity(movieRole.ActivityLogs.FirstOrDefault().Id);

                movieRole.RoleDescription     = movieRoleActivity.RoleDescription;
                firstActivity.RoleDescription = movieRoleActivity.RoleDescription;
                if (await appRepository.SaveAll())
                {
                    return(NoContent());
                }
                return(BadRequest("Unable to update movie role"));
            }
            movieRoleActivity.IsMovieRoleApproved = true;
            movieRoleActivity.AddedByUserId       = userId;
            appRepository.Add(movieRoleActivity);
            if (await appRepository.SaveAll())
            {
                return(NoContent());
            }
            return(BadRequest("Unable to update movie role"));
        }
예제 #2
0
        public async Task <IActionResult> CreateMovieRole(MovieRole movieRole)
        {
            var userId = int.Parse(User.FindFirst(ClaimTypes.NameIdentifier).Value);

            if (await appRepository.GetMovieRoleByParams(movieRole.MovieId, movieRole.ArtistId, movieRole.RoleTypeId) != null ||
                await appRepository.GetMovieRoleByParams(movieRole.MovieId, movieRole.ArtistId, movieRole.RoleTypeId, userId) != null)
            {
                return(BadRequest("The movie role already exists"));
            }
            var artist = await appRepository.GetArtist(movieRole.ArtistId);

            if (artist == null)
            {
                artist = await appRepository.GetArtist(movieRole.ArtistId, userId);
            }
            if (artist == null)
            {
                return(BadRequest("The artist does not exist"));
            }
            movieRole.Artist           = artist;
            movieRole.IsArtistApproved = artist.IsApproved;
            var movie = await appRepository.GetMovie(movieRole.MovieId);

            if (movie == null)
            {
                movie = await appRepository.GetMovie(movieRole.MovieId, userId);
            }
            if (movie == null)
            {
                return(BadRequest("The movie does not exist"));
            }
            movieRole.Movie           = movie;
            movieRole.IsMovieApproved = movie.IsApproved;
            var roleType = await appRepository.GetRoleType(movieRole.RoleTypeId);

            if (roleType == null)
            {
                return(BadRequest("The role type does not exist"));
            }
            appRepository.Add(movieRole);
            if (await appRepository.SaveAll())
            {
                var activity = new MovieRoleActivityLog();
                activity.RoleDescription = movieRole.RoleDescription;
                activity.AddedByUserId   = userId;
                activity.MovieRoleId     = movieRole.Id;
                appRepository.Add(activity);
                if (await appRepository.SaveAll())
                {
                    return(CreatedAtRoute("GetMovieRole", new { id = movieRole.Id }, movieRole));
                }
                return(BadRequest("Unable to Add Movie Role"));
            }
            return(BadRequest("Unable to Add Movie Role"));
        }