public User ToEntity() { var user = new User() { Id = this.Id, Nickname = this.Nickname, FullName = this.FullName, Email = this.Email, Birthday = this.Birthday, Password = this.Password, FavouriteFilms = new List <UserFavouriteFilm>() }; if (FavouriteFilms != null) { foreach (FilmDTO filmDTO in this.FavouriteFilms) { UserFavouriteFilm uff = new UserFavouriteFilm() { User = user, UserId = user.Id, Film = filmDTO.ToEntity(), FilmId = filmDTO.Id }; user.FavouriteFilms.Add(uff); } } return(user); }
public async Task <User> AddFavouriteAsync(UserFavouriteFilm favourite) { try { var userToUpdate = await userRepository.GetAsync(favourite.UserId).ConfigureAwait(false); var filmToFavourite = await filmRepository.GetAsync(favourite.FilmId).ConfigureAwait(false); await userValidator.ValidateAddFavouriteFilmAsync(userToUpdate, filmToFavourite); UserFavouriteFilm newAssocistion = new UserFavouriteFilm() { Id = Guid.NewGuid(), Film = filmToFavourite, FilmId = filmToFavourite.Id, User = userToUpdate, UserId = userToUpdate.Id }; userFavouriteFilmRepo.Add(newAssocistion); userRepository.Update(userToUpdate); filmRepository.Update(filmToFavourite); await userRepository.SaveChangesAsync().ConfigureAwait(false); return(await userRepository.GetAsync(userToUpdate.Id).ConfigureAwait(false)); } catch (Exception e) { throw new BusinessLogicException(e.Message); } }
public Film ToEntity() { var film = new Film() { Id = this.Id, Name = this.Name, Description = this.Description, LaunchDate = this.LaunchDate, AdditionDate = this.AdditionDate, FilmScore = this.Score, Ratings = new List <Rating>(), Genres = new List <FilmWithGenre>(), UserFavourites = new List <UserFavouriteFilm>() }; if (this.Director != null) { film.Director = this.Director.ToEntity(); } if (Ratings != null) { foreach (RatingDTO ratingDTO in this.Ratings) { film.Ratings.Add(ratingDTO.ToEntity()); } } if (Genres != null) { foreach (GenreDTO genreDTO in this.Genres) { FilmWithGenre fwg = new FilmWithGenre() { Genre = genreDTO.ToEntity(), GenreId = genreDTO.Id, Film = film, FilmId = film.Id }; film.Genres.Add(fwg); } } if (UserFavourites != null) { foreach (UserDTO userDTO in this.UserFavourites) { UserFavouriteFilm uff = new UserFavouriteFilm() { User = userDTO.ToEntity(), UserId = userDTO.Id, Film = film, FilmId = film.Id }; film.UserFavourites.Add(uff); } } return(film); }
public FavouriteDTO(UserFavouriteFilm favourite) { this.FilmId = favourite.FilmId; this.UserId = favourite.UserId; this.Id = favourite.Id; }