public VideogameItemModel Build(int id) { var videogame = videogameRepository.GetIncludedById(id); var genreNames = videogame.Genres.Select(g => g.Name).ToList(); var developer = developerRepository.GetDeveloperById(videogame.DeveloperId); var devModel = new DeveloperItemModel { Id = developer.Id, Name = developer.Name, }; return(new VideogameItemModel(videogame.Id, videogame.Name, devModel, genreNames)); }
public void HandleEdit(int id, VideogameForm form) { var videogame = videogameRepository.GetIncludedById(id); entityRepository.AttachOnSave(videogame); var formGenreNames = form.Genres.Select(g => g.Name).ToList(); var genresForVideogame = genreRepository.GetGenres().Where(g => formGenreNames.Contains(g.Name)).ToList(); foreach (var genre in videogame.Genres.ToList()) { videogame.Genres.Remove(genre); } videogame.Name = form.Name; videogame.DeveloperId = form.DeveloperId; foreach (var genre in genresForVideogame) { videogame.Genres.Add(genre); } entityRepository.SaveChanges(); }