Exemplo n.º 1
0
        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);
        }
Exemplo n.º 2
0
        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);
        }
Exemplo n.º 3
0
        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();
        }
Exemplo n.º 4
0
        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>
 }
Exemplo n.º 8
0
        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);
            }
        }
Exemplo n.º 9
0
        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();
                }
            }
        }