public Movie Add(Movie movie) { //TODO: Validation if (movie == null) { return(null); } //if (!String.IsNullOrEmpty(movie.Validate())) //var context = new ValidationContext(movie); //var results = movie.Validate(context); var results = ObjectValidator.TryValidateObject(movie); if (results.Count() > 0) { return(null); } //Name must be unique var existing = GetByNameCore(movie.Title); if (existing != null) { return(null); } return(AddCore(movie)); }
public Movie Add(Movie movie) { //Validation //if (movie == null) return null; //throw new Exception("Movie is null"); if (movie == null) { throw new ArgumentNullException(nameof(movie)); } //if (!String.IsNullOrEmpty(movie.Validate())) //var context = new ValidationContext(movie); //var results = movie.Validate(context); var results = ObjectValidator.TryValidateObject(movie); if (results.Count() > 0) { //return null; throw new ValidationException(results.FirstOrDefault().ErrorMessage); } //Name must be unique var existing = GetByNameCore(movie.Title); if (existing != null) { //return null; throw new ArgumentException("Movie must be unique"); } return(AddCore(movie)); }
public void Update(int id, Movie newMovie) { //TODO: Validate if (id <= 0) { return; } if (newMovie == null) { return; } //if (!String.IsNullOrEmpty(movie.Validate())) //var context = new ValidationContext(newMovie); //var results = newMovie.Validate(context); var results = ObjectValidator.TryValidateObject(newMovie); if (results.Count() > 0) { return; } //Must be unique var existing = GetByNameCore(newMovie.Title); if (existing != null && existing.Id != id) { return; } UpdateCore(id, newMovie); }
public void Update(int id, Movie newMovie) { //validate parameters if (id <= 0) { throw new ArgumentOutOfRangeException(nameof(id), "Id must be > 0."); } if (newMovie == null) { throw new ArgumentNullException(nameof(newMovie)); } //if (!String.IsNullOrEmpty(newMovie.Validate())) var results = ObjectValidator.TryValidateObject(newMovie); if (results.Count() > 0) { throw new ValidationException(results.FirstOrDefault().ErrorMessage); } var existing = GetByNameCore(newMovie.Title); if (existing != null && existing.Id != id) { throw new ArgumentException("Movie must be unique."); } try { UpdateCore(id, newMovie); } catch (IOException ex) { throw new Exception("An error occurred updating the movie.", ex); }; }