Esempio n. 1
0
        public String Put([FromBody] MovieDTO movieDTO)
        {
            if (movieDTO.MId <= 0)
            {
                return("Movie ID does not present");
            }

            if (movieDTO.MName == null || movieDTO.MName == "")
            {
                return("Please enter movie name");
            }

            if (movieDTO.MName == null || movieDTO.MName == "")
            {
                return("Please enter movie name");
            }
            if (movieDTO.MYearOfRelease == null || movieDTO.MYearOfRelease == "")
            {
                return("Please enter year of release");
            }
            if (movieDTO.MPlot == null || movieDTO.MPlot == "")
            {
                return("Please enter plot");
            }
            if (movieDTO.MPoster == null || movieDTO.MPoster == "")
            {
                return("Please select poster of movie");
            }

            if (movieDTO.ProducerId <= 0)
            {
                return("Please select producer of movie");
            }

            if (movieDTO.LstActorIds.Count <= 0)
            {
                return("Please select alteast one actor for movie");
            }

            Movies movies = _mapper.Map <Movies>(movieDTO);

            List <MovieAssignement> lstMovieAssignements = new List <MovieAssignement>();
            MovieAssignement        movieAssignement     = new MovieAssignement();

            movieAssignement.MaUserId = movieDTO.ProducerId;
            lstMovieAssignements.Add(movieAssignement);
            movieDTO.LstActorIds.ForEach(Actor =>
            {
                movieAssignement          = new MovieAssignement();
                movieAssignement.MaUserId = Actor;
                lstMovieAssignements.Add(movieAssignement);
            });
            movies.MovieAssignement = lstMovieAssignements;

            if (_movieManager.UpdateMovie(movies))
            {
                return("Data updated");
            }
            return("Data did not updated. Please try again.");
        }
Esempio n. 2
0
        Boolean IMovieManage.UpdateMovie(Movies movie)
        {
            var currentMovie = _context.Movies.Where(cond => cond.MId == movie.MId && !cond.MIsDeleted.Value).FirstOrDefault();

            List <Int32> lstNewUserList = movie.MovieAssignement.Select(sel => sel.MaUserId.Value).Distinct().ToList();

            if (currentMovie != null)
            {
                currentMovie.MName          = movie.MName;
                currentMovie.MPlot          = movie.MPlot;
                currentMovie.MPoster        = movie.MPoster;
                currentMovie.MYearOfRelease = movie.MYearOfRelease;

                if (currentMovie.MovieAssignement != null)
                {
                    List <Int32> lstToRemove     = currentMovie.MovieAssignement.Where(cond => !lstNewUserList.Contains(cond.MaUserId.Value)).Select(sel => sel.MaId).ToList();
                    List <Int32> lstCommonUserId = currentMovie.MovieAssignement.Where(cond => lstNewUserList.Contains(cond.MaUserId.Value)).Select(sel => sel.MaUserId.Value).ToList();

                    foreach (var movieAssign in movie.MovieAssignement.Where(cond => !lstCommonUserId.Contains(cond.MaUserId.Value)).ToList())
                    {
                        MovieAssignement movieAssignement = new MovieAssignement();
                        movieAssignement.MaUserId = movieAssign.MaUserId;

                        currentMovie.MovieAssignement.Add(movieAssignement);
                    }

                    if (lstToRemove.Count > 0)
                    {
                        List <MovieAssignement> lstMAToRemove = _context.MovieAssignement.Where(cond => lstToRemove.Contains(cond.MaId)).ToList();

                        _context.MovieAssignement.RemoveRange(lstMAToRemove);
                    }
                }
            }

            if (_context.SaveChanges() > 0)
            {
                return(true);
            }
            return(false);
        }