コード例 #1
0
        public bool Modificar(Entities.Movie eMovie)
        {
            using (var oTrans = _DBcontext.Database.BeginTransaction())
            {
                try
                {
                    Entities.Movie eMovieAux = this._DBcontext.Movie.FirstOrDefault(e => e.id_Movie == eMovie.id_Movie);
                    eMovieAux.name        = eMovie.name;
                    eMovieAux.id_category = eMovie.id_category;
                    eMovieAux.year        = eMovie.year;

                    this._DBcontext.Entry(eMovieAux).State = EntityState.Modified;
                    this._DBcontext.SaveChanges();



                    oTrans.Commit();
                    return(true);
                }
                catch (Exception ex)
                {
                    oTrans.Rollback();
                    throw ex;
                }
            }
        }
コード例 #2
0
        public async Task <IActionResult> Put(Entities.Movie movie)
        {
            _unityOfWork.Movies.UpdateMovie(movie);
            await _unityOfWork.SaveChanges();

            return(Ok());
        }
コード例 #3
0
        /// <summary>
        /// The GetPosterAsync
        /// </summary>
        /// <param name="movieId">The movieId<see cref="Guid"/></param>
        /// <param name="posterId">The posterId<see cref="Guid"/></param>
        /// <returns>The <see cref="Task{Poster}"/></returns>
        public async Task <Poster> GetPosterAsync(Guid movieId, Guid posterId)
        {
            // Generate the name from the movie title.
            Entities.Movie movie = await this._context.Movies
                                   .FirstOrDefaultAsync(m => m.Id == movieId);

            if (movie == null)
            {
                throw new Exception($"Movie with id {movieId} not found.");
            }

            // generate a movie poster of 500KB
            Random random = new Random();

            byte[] generatedBytes = new byte[524288];
            random.NextBytes(generatedBytes);

            return(new Poster()
            {
                Bytes = generatedBytes,
                Id = posterId,
                MovieId = movieId,
                Name = $"{movie.Title} poster number {DateTime.UtcNow.Ticks}"
            });
        }
コード例 #4
0
        /// <summary>
        /// The GetTrailerAsync
        /// </summary>
        /// <param name="movieId">The movieId<see cref="Guid"/></param>
        /// <param name="trailerId">The trailerId<see cref="Guid"/></param>
        /// <returns>The <see cref="Task{Trailer}"/></returns>
        public async Task <Trailer> GetTrailerAsync(Guid movieId, Guid trailerId)
        {
            // Generate the name from the movie title.
            Entities.Movie movie = await this._context.Movies
                                   .FirstOrDefaultAsync(m => m.Id == movieId);

            if (movie == null)
            {
                throw new Exception($"Movie with id {movieId} not found.");
            }

            // generate a trailer (byte array) between 50 and 100MB
            Random random = new Random();
            int    generatedByteLength = random.Next(52428800, 104857600);

            byte[] generatedBytes = new byte[generatedByteLength];
            random.NextBytes(generatedBytes);

            return(new Trailer()
            {
                Bytes = generatedBytes,
                Id = trailerId,
                MovieId = movieId,
                Name = $"{movie.Title} trailer number {DateTime.UtcNow.Ticks}",
                Description = $"{movie.Title} trailer description {DateTime.UtcNow.Ticks}"
            });
        }
コード例 #5
0
        private async Task <Entities.Movie> SearchMovie(FileInfo file, IEnumerable <TMDbLib.Objects.General.Genre> movieGenres, Action <Entities.Movie, FileInfo> callback, Action <int, string> progressReportCallback)
        {
            SearchContainer <SearchMovie> searchResult = await _tmdbClient.SearchMovieAsync(Path.GetFileNameWithoutExtension(file.Name), includeAdult : true);

            IncrementRequestCount();
            AddProgress(1, $"Retrieving info for '{Path.GetFileNameWithoutExtension(file.Name)}'");

            SearchMovie foundMovie = searchResult.Results.FirstOrDefault();

            if (foundMovie == null)
            {
                return(null);
            }

            Entities.Movie movie = new Entities.Movie(foundMovie);

            movie.ItemGenres = movieGenres
                               .Where(g => foundMovie.GenreIds.Contains(g.Id))
                               .Select(g => new ItemGenre {
                Item  = movie,
                Genre = new Entities.Genre(g)
            }).ToList();

            callback(movie, file);

            return(movie);
        }
コード例 #6
0
        public async Task <IActionResult> PutMovie([FromRoute] int id, [FromBody] Entities.Movie movie)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            if (id != movie.ID)
            {
                return(BadRequest());
            }

            _context.Entry(movie).State = EntityState.Modified;

            try
            {
                await _context.SaveChangesAsync();
            }
            catch (DbUpdateConcurrencyException)
            {
                if (!MovieExists(id))
                {
                    return(NotFound());
                }
                else
                {
                    throw;
                }
            }

            return(NoContent());
        }
コード例 #7
0
        public async Task <IActionResult> Put(int id, Entities.Movie movie)
        {
            await _unityOfWork.Movies.UpdateById(id, movie);

            await _unityOfWork.SaveChanges();

            return(Ok());
        }
コード例 #8
0
        public async Task <IActionResult> Post(Entities.Movie movie)
        {
            await _unityOfWork.Movies.Add(movie);

            await _unityOfWork.SaveChanges();

            return(Ok());
        }
コード例 #9
0
 public MovieDto(Entities.Movie movie)
 {
     Id            = movie.Id;
     Name          = movie.Name;
     Genre         = (Genre)movie.GenreId;
     NumberOfVotes = movie.MoviesClassification?.Count;
     Average       = movie.MoviesClassification?.Sum(x => x.MovieScaleId) / NumberOfVotes;
     CastOfMovie   = movie.CastOfMovies.Select(x => new CastOfMovieDto(x)).ToList();
 }
コード例 #10
0
 public void Update(Entities.Movie movie)
 {
     this.moviesContext.Movies.AsQueryable().Where(m => m.Id == movie.Id).Single().Name        = movie.Name;
     this.moviesContext.Movies.AsQueryable().Where(m => m.Id == movie.Id).Single().Plot        = movie.Plot;
     this.moviesContext.Movies.AsQueryable().Where(m => m.Id == movie.Id).Single().ReleaseDate = movie.ReleaseDate;
     this.moviesContext.Movies.AsQueryable().Where(m => m.Id == movie.Id).Single().Runtime     = movie.Runtime;
     this.moviesContext.Movies.AsQueryable().Where(m => m.Id == movie.Id).Single().CoverLink   = movie.CoverLink;
     this.moviesContext.SaveChanges();
 }
コード例 #11
0
        public async void Remove(Movie model)
        {
            Entities.Movie dbMovie = await _viFlixContext.Movies.FindAsync(model.Id);

            if (dbMovie == null)
            {
                return;
            }

            _viFlixContext.Movies.Remove(dbMovie);
        }
コード例 #12
0
        public async Task <Movie> GetAsync(object id)
        {
            Entities.Movie dbMovie = await _viFlixContext.Movies.FindAsync(id);

            if (dbMovie == null)
            {
                return(new Movie());
            }

            return(Converter.ToModelMovie(dbMovie));
        }
コード例 #13
0
        public async Task <IActionResult> PostMovie([FromBody] Entities.Movie movie)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            _context.Movies.Add(movie);
            await _context.SaveChangesAsync();

            return(CreatedAtAction("GetMovie", new { id = movie.ID }, movie));
        }
コード例 #14
0
        public MovieEditionViewModel(Entities.Movie movie)
        {
            LoadCountries();

            if (movie == null)
            {
                return;
            }

            Id              = movie.Id;
            Name            = movie.Name;
            Year            = movie.Year;
            SelectedCountry = Countries.FirstOrDefault(c => c.Id == movie.CountryId);
        }
コード例 #15
0
        private MovieViewModel CreateMovieViewModel(Entities.Movie movie)
        {
            var movieViewModel = new MovieViewModel();

            movieViewModel.Id          = movie.Id;
            movieViewModel.Name        = movie.Name;
            movieViewModel.Plot        = movie.Plot;
            movieViewModel.ReleaseDate = movie.ReleaseDate;
            movieViewModel.Runtime     = movie.Runtime;
            movieViewModel.CoverLink   = movie.CoverLink;
            //movieViewModel.Genres = this.getMovieGenres(movie.Genres);

            return(movieViewModel);
        }
コード例 #16
0
        public ActionResult editMovie(MovieViewModel movie)
        {
            Entities.Movie movieToEdit = this.servicio.GetMovieById(movie.Id);

            movieToEdit.Name        = movie.Name;
            movieToEdit.ReleaseDate = movie.ReleaseDate;
            movieToEdit.CoverLink   = movie.CoverLink;
            movieToEdit.Plot        = movie.Plot;
            movieToEdit.Runtime     = movie.Runtime;

            this.servicio.Update(movieToEdit);

            return(RedirectToAction("Index"));
        }
コード例 #17
0
        public ActionResult addMovie(MovieViewModel movie)
        {
            movie.Id = Guid.NewGuid();

            Entities.Movie movieToAdd = new Entities.Movie();
            movieToAdd.Id          = Guid.NewGuid();
            movieToAdd.Name        = movie.Name;
            movieToAdd.ReleaseDate = movie.ReleaseDate;
            movieToAdd.CoverLink   = movie.CoverLink;
            movieToAdd.Plot        = movie.Plot;
            movieToAdd.Runtime     = movie.Runtime;
            this.servicio.AddMovie(movieToAdd);
            return(RedirectToAction("Index"));
        }
コード例 #18
0
        public static Movie ToModelMovie(Entities.Movie dbMovie)
        {
            if (dbMovie == null)
            {
                return(null);
            }

            return(new Movie
            {
                Id = dbMovie.Id,
                Name = dbMovie.Name,
                NumberInStock = dbMovie.NumberInStock,
                ReleasedDate = dbMovie.ReleasedDate,
                NumberAvailable = dbMovie.NumberAvailable,
                DateAdded = dbMovie.DateAdded ?? DateTime.Today,
                Genre = (Genre)dbMovie.Genre
            });
        }
コード例 #19
0
        public bool Eliminar(int id)
        {
            using (var oTrans = _DBcontext.Database.BeginTransaction())
            {
                try
                {
                    Entities.Movie eMovie = this.GetMovie(id);

                    //oTrans.Commit();
                    return(true);
                }
                catch (Exception ex)
                {
                    oTrans.Rollback();
                    throw ex;
                }
            }
        }
コード例 #20
0
        public async Task <Movie> GetMovieByNameAsync(string name)
        {
            Entities.Movie dbMovie = await _viFlixContext.Movies.SingleOrDefaultAsync(m => m.Name == name);

            if (dbMovie == null)
            {
                return(new Movie());
            }

            return(new Movie
            {
                Id = dbMovie.Id,
                Name = dbMovie.Name,
                NumberAvailable = dbMovie.NumberAvailable,
                NumberInStock = dbMovie.NumberInStock,
                ReleasedDate = dbMovie.ReleasedDate
            });
        }
コード例 #21
0
        public async Task <Movie> ModifyMovieWithGenreAsync(MovieFormViewModel movieWithGenre)
        {
            Entities.Movie movieToBeUpdated = await _viFlixContext.Movies.FindAsync(movieWithGenre.Movie.Id);

            if (movieToBeUpdated == null)
            {
                return(null);
            }

            movieToBeUpdated.Name          = movieWithGenre.Movie.Name;
            movieToBeUpdated.ReleasedDate  = movieWithGenre.Movie.ReleasedDate;
            movieToBeUpdated.NumberInStock = movieWithGenre.Movie.NumberInStock;
            movieToBeUpdated.Genre         = (Genre)movieWithGenre.Genre;

            // add the missing Genre value
            movieWithGenre.Movie.Genre = movieWithGenre.Genre;

            return(movieWithGenre.Movie);
        }
コード例 #22
0
        public bool Guardar(Entities.Movie eMovie)
        {
            using (var oTrans = _DBcontext.Database.BeginTransaction())
            {
                try
                {
                    //tregistrando empresa
                    this._DBcontext.Movie.Add(eMovie);
                    this._DBcontext.SaveChanges();

                    oTrans.Commit();
                    return(true);
                }
                catch (Exception ex)
                {
                    oTrans.Rollback();
                    throw ex;
                }
            }
        }
コード例 #23
0
        public async Task <IEnumerable <Entities.Movie> > SearchMovie(string query)
        {
            SearchContainer <SearchMovie> searchResult = await _tmdbClient.SearchMovieAsync(query, includeAdult : true);

            //Retrieve all movie genres in one request to assign them fully later
            List <TMDbLib.Objects.General.Genre> movieGenres = await _tmdbClient.GetMovieGenresAsync();

            return(searchResult.Results.Select(r => {
                Entities.Movie movie = new Entities.Movie(r);

                movie.ItemGenres = movieGenres
                                   .Where(g => r.GenreIds.Contains(g.Id))
                                   .Select(g => new ItemGenre {
                    Item = movie,
                    Genre = new Entities.Genre(g)
                }).ToList();

                return movie;
            }));
        }
コード例 #24
0
        public async Task <Response> Handle(GetMovieRequest request, CancellationToken cancellationToken)
        {
            if (request == null)
            {
                AddNotification("Request", Resource.RequestNotbeNull);
                return(new Response(this));
            }

            Entities.Movie movie = _repositoryMovie.GetById(request.Id);

            if (movie == null)
            {
                AddNotification("Request", Resource.MovieNotFound);
                return(new Response(this));
            }

            var response = new Response(this, movie);

            return(await Task.FromResult(response));
        }
コード例 #25
0
        public async Task <Entities.Movie> getMovieById(int Id)
        {
            this.Method = "movie/" + Id.ToString();
            this.Url    = TheMovieDBConnection.mountURLToConsume(this.Method, null);
            Entities.Movie movie = null;

            try
            {
                this.ResponseString = await TheMovieDBConnection.callAPI(this.Url);

                if (!String.IsNullOrEmpty(this.ResponseString))
                {
                    movie = JsonConvert.DeserializeObject <Entities.Movie>(this.ResponseString);
                }

                return(movie);
            }
            catch (Exception e)
            {
                throw e;
            }
        }
コード例 #26
0
ファイル: AddMovieHandle.cs プロジェクト: michael-nel/popcorn
        public async Task <Response> Handle(AddMovieRequest request, CancellationToken cancellationToken)
        {
            if (request == null)
            {
                AddNotification("Request", Resource.RequestNotbeNull);
                return(new Response(this));
            }

            if (_repositoryMovie.Exists(x => x.Title == request.Title))
            {
                AddNotification("Titulo", Resource.TitleExists);
                return(new Response(this));
            }

            if (string.IsNullOrEmpty(request.Duration) || TimeSpan.Zero == TimeSpan.Parse(request.Duration))
            {
                AddNotification("Duração", Resource.DurationIsInvalid);
                return(new Response(this));
            }

            //request.Duration
            Entities.Movie user = new Entities.Movie(request.Image, request.Title, request.Description, TimeSpan.Parse(request.Duration));
            AddNotifications(user);

            if (IsInvalid())
            {
                return(new Response(this));
            }

            user = _repositoryMovie.Add(user);

            AddMovieNotification addMovieNotification = new AddMovieNotification(user);
            var response = new Response(this, user);

            await _mediator.Publish(addMovieNotification);

            return(await Task.FromResult(response));
        }
コード例 #27
0
 public void DeleteMovie(Guid id)
 {
     Entities.Movie movie = this.GetMovieById(id);
     this.moviesContext.Movies.Remove(movie);
     this.moviesContext.SaveChanges();
 }
コード例 #28
0
ファイル: MyDatabase.cs プロジェクト: EneidaLame/MoviesTable
        public MyDatabase()
        {
            Entities.Movie m1 = new Entities.Movie()
            {
                Id = 1, Title = "Godfather"
            };
            Entities.Movie m2 = new Movie.Entities.Movie()
            {
                Id = 2, Title = "Finding Nemo"
            };
            Entities.Movie m3 = new Entities.Movie()
            {
                Id = 3, Title = "28 days later"
            };
            Entities.Movie m4 = new Entities.Movie()
            {
                Id = 4, Title = "Scarface"
            };

            Director d1 = new Director()
            {
                Id = 1, FirstName = "Spielberg"
            };
            Director d2 = new Director()
            {
                Id = 2, FirstName = "Danny Boyle"
            };
            Director d3 = new Director()
            {
                Id = 3, FirstName = "De Palma"
            };

            Actor a1 = new Actor()
            {
                Id = 1, FirstName = "Tom Hardy"
            };
            Actor a2 = new Actor()
            {
                Id = 2, FirstName = "Megan Fox"
            };
            Actor a3 = new Actor()
            {
                Id = 3, FirstName = "Robert Doonie Junie"
            };
            Actor a4 = new Actor()
            {
                Id = 4, FirstName = "Jonny Depp"
            };
            Actor a5 = new Actor()
            {
                Id = 5, FirstName = "De Vito"
            };
            Actor a6 = new Actor()
            {
                Id = 6, FirstName = "Fillipidis"
            };

            Address ad1 = new Address()
            {
                Id = 1, StreetName = "Malibu"
            };
            Address ad2 = new Address()
            {
                Id = 2, StreetName = "Miami"
            };
            Address ad3 = new Address()
            {
                Id = 3, StreetName = "Los Angeles"
            };
            Address ad4 = new Address()
            {
                Id = 4, StreetName = "Santa Barbara"
            };
            Address ad5 = new Address()
            {
                Id = 5, StreetName = "Stavrokopidou 43"
            };
            Address ad6 = new Address()
            {
                Id = 6, StreetName = "Omonoia"
            };
            Address ad7 = new Address()
            {
                Id = 7, StreetName = "Biktoria"
            };
            Address ad8 = new Address()
            {
                Id = 8, StreetName = "Monastiraki"
            };

            ProductionCode p1 = new ProductionCode()
            {
                Id = 1, Code = "AT-23482764"
            };
            ProductionCode p2 = new ProductionCode()
            {
                Id = 2, Code = "FR-56456SDF"
            };
            ProductionCode p3 = new ProductionCode()
            {
                Id = 3, Code = "GF-344543DD"
            };
            ProductionCode p4 = new ProductionCode()
            {
                Id = 4, Code = "FG-45645564"
            };

            //============Assign Directors to Movies
            m1.Director = d1;
            d1.Movies.Add(m1);
            m2.Director = d1;
            d1.Movies.Add(m2);
            m3.Director = d2;
            d2.Movies.Add(m3);
            m4.Director = d3;
            d3.Movies.Add(m4);

            //============Assign Actors to Movies
            m1.Actors.Add(a1);
            m1.Actors.Add(a2);
            m1.Actors.Add(a3);
            a1.Movies.Add(m1);
            a1.Movies.Add(m2);
            a1.Movies.Add(m3);
            m2.Actors.Add(a4);
            m2.Actors.Add(a5);
            m2.Actors.Add(a6);
            a4.Movies.Add(m2);
            a5.Movies.Add(m2);
            a6.Movies.Add(m2);

            //============Assign ProductionCode to Movie
            m1.ProductionCode = p1;
            p1.Movie          = m1;

            m2.ProductionCode = p2;
            p2.Movie          = m2;

            m3.ProductionCode = p3;
            p3.Movie          = m3;

            m4.ProductionCode = p4;
            p4.Movie          = m4;

            //============Assign Addresses to Actors
            a1.Addresses.Add(ad1);
            a1.Addresses.Add(ad2);
            a1.Addresses.Add(ad3);
            ad1.Actor = a1;
            ad2.Actor = a2;
            ad3.Actor = a3;
            a2.Addresses.Add(ad4);
            ad4.Actor = a2;
            a3.Addresses.Add(ad5);
            ad5.Actor = a3;

            a4.Addresses.Add(ad6);
            ad6.Actor = a4;

            a5.Addresses.Add(ad7);
            ad7.Actor = a5;

            a6.Addresses.Add(ad8);
            ad8.Actor = a6;

            Movies.Add(m1);
            Movies.Add(m2);
            Movies.Add(m3);
            Movies.Add(m4);

            Directors.Add(d1);
            Directors.Add(d2);
            Directors.Add(d3);

            Actors.Add(a1);
            Actors.Add(a2);
            Actors.Add(a3);
            Actors.Add(a4);
            Actors.Add(a5);
            Actors.Add(a6);

            Addresses.Add(ad1);
            Addresses.Add(ad2);
            Addresses.Add(ad3);
            Addresses.Add(ad4);
            Addresses.Add(ad5);
            Addresses.Add(ad6);
            Addresses.Add(ad7);
            Addresses.Add(ad8);

            ProductionCodes.Add(p1);
            ProductionCodes.Add(p2);
            ProductionCodes.Add(p3);
            ProductionCodes.Add(p4);
        }
コード例 #29
0
 public AddMovieNotification(Entities.Movie movie)
 {
     Movie = movie;
 }
コード例 #30
0
 public void AddMovie(Entities.Movie movie)
 {
     this.moviesContext.Movies.Add(movie);
     this.moviesContext.SaveChanges();
 }