public async Task UpdateMovie_ShoulAddSecondMovieWriter_WhenOtherExistsPreviously() { var movieUnderTest = TestMovieSeededWithRelatedInfo; var secondRelationUnderTest = new MovieWriter { Movie = movieUnderTest, MovieId = movieUnderTest.Id, Person = TestWriterNotSeeded, PersonId = TestWriterNotSeeded.Id }; using var context = DbContextScopeFactory.Create(); movieUnderTest.WriterList.Add(secondRelationUnderTest); await MovieDetailsDbAccess.UpdateMovie(Mapper.Map <UpdateMovieDetailsDto>(movieUnderTest)); context.SaveChanges(); var existingFirstRelation = MoviesContext.MovieWriters.Find(movieUnderTest.Id, TestWriterSeeded.Id); var existingSecondRelation = MoviesContext.MovieWriters.Find(movieUnderTest.Id, TestWriterNotSeeded.Id); var existingSecondPerson = MoviesContext.People.Find(TestWriterNotSeeded.Id); var existingMovie = MoviesContext.Movies.Find(movieUnderTest.Id); existingFirstRelation.Should().BeEquivalentTo(TestMovieWriterSeeded); existingSecondRelation.Should().BeEquivalentTo(secondRelationUnderTest); existingSecondPerson.Should().Be(TestWriterNotSeeded); existingMovie.Should().Be(movieUnderTest); }
public async Task UpdateMovie_ShouldAddWriterAndMovieWriter_WhenWriterNotExists() { using var context = DbContextScopeFactory.Create(); var movieUnderTest = TestMovieSeededWithoutRelatedInfo; var relationUnderTest = new MovieWriter { Movie = movieUnderTest, MovieId = movieUnderTest.Id, Person = TestWriterNotSeeded, PersonId = TestWriterNotSeeded.Id }; movieUnderTest.WriterList.Add(relationUnderTest); await MovieDetailsDbAccess.UpdateMovie(Mapper.Map <UpdateMovieDetailsDto>(movieUnderTest)); context.SaveChanges(); var existingMovie = MoviesContext.Movies.Find(movieUnderTest.Id); var existingRelation = MoviesContext.MovieWriters.Find(movieUnderTest.Id, TestWriterNotSeeded.Id); var existingWriter = MoviesContext.People.Find(TestWriterNotSeeded.Id); existingMovie.Should().Be(movieUnderTest); existingRelation.Should().BeEquivalentTo(relationUnderTest); existingWriter.Should().Be(TestWriterNotSeeded); }
private void data_movies_CellContentDoubleClick(object sender, DataGridViewCellEventArgs e) { MovieWriter movie = new MovieWriter(); movie = movie_writer[e.RowIndex]; MovieForm movie_form = new MovieForm(movie); movie_form.Show(); }
private void CreateTestManyToManyData() { TestMovieDirectorSeeded = new MovieDirector { Person = TestDirectorSeeded, PersonId = TestDirectorSeeded.Id, Movie = TestMovieSeededWithRelatedInfo, MovieId = TestMovieSeededWithRelatedInfo.Id }; TestMovieActorSeeded = new MovieActor { Person = TestActorSeeded, PersonId = TestActorSeeded.Id, Movie = TestMovieSeededWithRelatedInfo, MovieId = TestMovieSeededWithRelatedInfo.Id, AsCharacter = "Test" }; TestMovieWriterSeeded = new MovieWriter { Person = TestWriterSeeded, PersonId = TestWriterSeeded.Id, Movie = TestMovieSeededWithRelatedInfo, MovieId = TestMovieSeededWithRelatedInfo.Id, }; TestMovieCompanySeeded = new MovieCompany { Company = TestCompanySeeded, CompanyId = TestCompanySeeded.Id, Movie = TestMovieSeededWithRelatedInfo, MovieId = TestMovieSeededWithRelatedInfo.Id, }; TestMovieImageSeeded = fixture.Build <MovieImageData>() .With(x => x.Movie, TestMovieSeededWithRelatedInfo) .With(x => x.MovieId, TestMovieSeededWithRelatedInfo.Id) .Create(); TestMovieImageNotSeeded = fixture.Build <MovieImageData>() .With(x => x.Movie, TestMovieNotSeeded) .With(x => x.MovieId, TestMovieNotSeeded.Id) .Create(); TestMovieSimilarSeeded = new MovieSimilar { Similar = TestMovieSeededWithoutRelatedInfo, SimilarId = TestMovieSeededWithoutRelatedInfo.Id, Movie = TestMovieSeededWithRelatedInfo, MovieId = TestMovieSeededWithRelatedInfo.Id, }; TestMovieSeededWithRelatedInfo.DirectorList.Add(TestMovieDirectorSeeded); TestMovieSeededWithRelatedInfo.ActorList.Add(TestMovieActorSeeded); TestMovieSeededWithRelatedInfo.WriterList.Add(TestMovieWriterSeeded); TestMovieSeededWithRelatedInfo.CompanyList.Add(TestMovieCompanySeeded); TestMovieSeededWithRelatedInfo.Images.Add(TestMovieImageSeeded); TestMovieSeededWithRelatedInfo.Similars.Add(TestMovieSimilarSeeded); }
public void Verify_Add_Should_AddTheEntityToTheContext() { // Arrange Mock <IDbSet <MovieWriter> > mockSetMovieWriters; var mockContext = MovieWritersMockingSetup.DoMockingSetupForContext(false, out mockSetMovieWriters); var repository = new MovieWritersRepository(mockContext.Object); var movieWriters = new MovieWriter { Active = true, CustomKey = "SALVATORE-RAA", }; // Act repository.Add(movieWriters); // Assert mockSetMovieWriters.Verify(x => x.Add(movieWriters), Times.Once); }
public void Verify_MapToEntity_WithExistingEntity_AssignsMovieWriterProperties() { // Arrange var mapper = new MovieWriterMapper(); var model = MovieWritersMockingSetup.DoMockingSetupForMovieWriterModel(); // Act IMovieWriter existingEntity = new MovieWriter { Id = 1 }; mapper.MapToEntity(model.Object, ref existingEntity); // Assert // <None> // Related Objects Assert.Equal(model.Object.MovieId, existingEntity.MovieId); Assert.Equal(model.Object.WriterId, existingEntity.WriterId); // Associated Objects // <None> }
public void Verify_MapToEntity_WithExistingEntity_AssignsMovieWriterProperties() { // Arrange var mapper = new MovieWriterMapper(); var model = MovieWritersMockingSetup.DoMockingSetupForMovieWriterModel(); // Act IMovieWriter existingEntity = new MovieWriter { Id = 1 }; mapper.MapToEntity(model.Object, ref existingEntity); // Assert // <None> // Related Objects Assert.Equal(model.Object.MovieId, existingEntity.MovieId); Assert.Equal(model.Object.WriterId, existingEntity.WriterId); // Associated Objects // <None> }
private void UpdateRelatedInfo(UpdateMovieDetailsDto movie) { foreach (var image in movie.Images) { var existingLink = DbContext.MovieImageDatas.Find(new object[] { image.MovieId, image.Id }); if (existingLink != null) { continue; } var existingMovie = DbContext.Movies.Find(new object[] { image.MovieId }); if (existingMovie == null) { throw new InvalidOperationException("Se esperaba encontrar pelicula para agregar personas"); } existingMovie.Images.Add(new MovieImageData { Id = image.Id, Movie = existingMovie, MovieId = existingMovie.Id, Image = image.Image, Title = image.Title }); } //TODO: refactor this foreach (var moviePerson in movie.ActorList) { var existingLink = DbContext.MovieActors.Find(new object[] { moviePerson.MovieId, moviePerson.PersonId }); if (existingLink != null) { continue; } var existingPerson = DbContext.People.Find(new object[] { moviePerson.PersonId }); if (existingPerson == null) { DbContext.People.Add(moviePerson.Person); existingPerson = DbContext.People.Find(new object[] { moviePerson.PersonId }); } var existingMovie = DbContext.Movies.Find(new object[] { moviePerson.MovieId }); if (existingMovie == null) { throw new InvalidOperationException("Se esperaba encontrar pelicula para agregar personas"); } var newLink = new MovieActor { Movie = existingMovie, MovieId = existingMovie.Id, Person = existingPerson, PersonId = existingPerson.Id, AsCharacter = moviePerson.AsCharacter, IsStar = moviePerson.IsStar }; DbContext.MovieActors.Add(newLink); } foreach (var moviePerson in movie.WriterList) { var existingLink = DbContext.MovieWriters.Find(new object[] { moviePerson.MovieId, moviePerson.PersonId }); if (existingLink != null) { continue; } var existingPerson = DbContext.People.Find(new object[] { moviePerson.PersonId }); if (existingPerson == null) { DbContext.People.Add(moviePerson.Person); existingPerson = DbContext.People.Find(new object[] { moviePerson.PersonId }); } var existingMovie = DbContext.Movies.Find(new object[] { moviePerson.MovieId }); if (existingMovie == null) { throw new InvalidOperationException("Se esperaba encontrar pelicula para agregar personas"); } var newLink = new MovieWriter { Movie = existingMovie, MovieId = existingMovie.Id, Person = existingPerson, PersonId = existingPerson.Id, }; DbContext.MovieWriters.Add(newLink); } foreach (var moviePerson in movie.DirectorList) { var existingLink = DbContext.MovieDirectors.Find(new object[] { moviePerson.MovieId, moviePerson.PersonId }); if (existingLink != null) { continue; } var existingPerson = DbContext.People.Find(new object[] { moviePerson.PersonId }); if (existingPerson == null) { DbContext.People.Add(moviePerson.Person); existingPerson = DbContext.People.Find(new object[] { moviePerson.PersonId }); } var existingMovie = DbContext.Movies.Find(new object[] { moviePerson.MovieId }); if (existingMovie == null) { throw new InvalidOperationException("Se esperaba encontrar pelicula para agregar personas"); } var newLink = new MovieDirector { Movie = existingMovie, MovieId = existingMovie.Id, Person = existingPerson, PersonId = existingPerson.Id, }; DbContext.MovieDirectors.Add(newLink); } foreach (var movieSimilar in movie.Similars) { var existingLink = DbContext.MovieSimilars.Find(new object[] { movieSimilar.MovieId, movieSimilar.SimilarId }); if (existingLink != null) { continue; } var existingSimilar = DbContext.Movies.Find(new object[] { movieSimilar.SimilarId }); if (existingSimilar == null) { DbContext.Movies.Add(movieSimilar.Similar); existingSimilar = DbContext.Movies.Find(new object[] { movieSimilar.SimilarId }); } var existingMovie = DbContext.Movies.Find(new object[] { movieSimilar.MovieId }); if (existingMovie == null) { throw new InvalidOperationException("Se esperaba encontrar pelicula para agregar personas"); } var newLink = new MovieSimilar { Movie = existingMovie, MovieId = existingMovie.Id, Similar = existingSimilar, SimilarId = existingSimilar.Id, }; DbContext.MovieSimilars.Add(newLink); } foreach (var movieCompany in movie.CompanyList) { var existingLink = DbContext.MovieCompanies.Find(new object[] { movieCompany.MovieId, movieCompany.CompanyId }); if (existingLink != null) { continue; } var existingCompany = DbContext.Companies.Find(new object[] { movieCompany.CompanyId }); if (existingCompany == null) { DbContext.Companies.Add(movieCompany.Company); existingCompany = DbContext.Companies.Find(new object[] { movieCompany.CompanyId }); } var existingMovie = DbContext.Movies.Find(new object[] { movieCompany.MovieId }); if (existingMovie == null) { throw new InvalidOperationException("Se esperaba encontrar pelicula para agregar personas"); } var newLink = new MovieCompany { Movie = existingMovie, MovieId = existingMovie.Id, Company = existingCompany, CompanyId = existingCompany.Id, }; DbContext.MovieCompanies.Add(newLink); } }
public MovieForm(MovieWriter movie_writer) { InitializeComponent(); movie_Writer = movie_writer; var webClient = new WebClient(); var webClient2 = new WebClient(); movie_title_lbl.Text = movie_Writer.Movie_title; year_of_issue.Text += movie_Writer.Year_of_issue; rating_lbl.Text += movie_Writer.Movie_rating; movie_title_lbl.Left = 750 - movie_title_lbl.Width / 2; year_of_issue.Left = 750 - year_of_issue.Width / 2; if (MainForm.user != null) { mark_lbl.Visible = true; mark_combo.Visible = true; add_lbl.Visible = true; add_combo.Visible = true; data_comments.AllowUserToAddRows = true; } if (movie_Writer.Movie_description != null) { web.DocumentText = movie_Writer.Movie_description; } else { web.DocumentText = Description.empty_description; } string url = "http://94.230.164.34:8080/api/CommentMovie?id=" + movie_Writer.Id_movie; try { string response_comments = Encoding.UTF8.GetString(webClient2.DownloadData(url)); comments = JsonConvert.DeserializeObject <List <Comment_Movie> >(response_comments); data_comments.Rows.Clear(); for (int i = 0; i < comments.Count; i++) { data_comments.Rows.Add(); data_comments.Rows[i].Cells[0].Value = comments[i].Comment; data_comments.Rows[i].Cells[1].Value = comments[i].Nick; data_comments.Rows[i].Cells[2].Value = comments[i].Date.Value.Day.ToString() + "." + comments[i].Date.Value.Month.ToString() + "." + comments[i].Date.Value.Year.ToString(); data_comments.Rows[i].ReadOnly = true; } } catch { Messages.ErrorComments(); } if (MainForm.user != null) { url = "http://94.230.164.34:8080/api/Routes?nick=" + MainForm.user.Nick; try { response = Encoding.UTF8.GetString(webClient.DownloadData(url)); route_writer = JsonConvert.DeserializeObject <List <RouteWriter> >(response); add_combo.Items.Clear(); for (int i = 0; i < route_writer.Count; i++) { add_combo.Items.Add(route_writer[i].Route_name); } } catch { Messages.ErrorRoutes(); } } }