コード例 #1
0
        public MovieListItem GetTopMovie()
        {
            using (var ctx = new ApplicationDbContext())
            {
                var movies = ctx.Movies;
                if (movies.Count() == 0)
                {
                    return(null);
                }
                var orderedMovies = movies.OrderByDescending(m => m.AnticipationValue);

                Movie movie = orderedMovies.First();

                MovieListItem movieItem = new MovieListItem()
                {
                    Id          = movie.Id,
                    PosterUrl   = movie.PosterUrl,
                    Title       = movie.Title,
                    Description = movie.Description,
                    Franchise   = movie.Franchise,
                    ReleaseDate = movie.ReleaseDate
                };

                return(movieItem);
            }
        }
コード例 #2
0
        public MovieListItem UpdateMovie(int id, [FromBody] UpdateMovieRequest movieRequest)
        {
            var movies        = _ctx.Movies;
            var matchingMovie = movies.Find(id);

            if (matchingMovie == null)
            {
                Response.StatusCode = 404;
                var    jsonString = "{\"Error\":\"No Matching Movie with MovieId\"}";
                byte[] data       = Encoding.UTF8.GetBytes(jsonString);
                Response.ContentType = "application/json";
                Response.Body.Write(data, 0, data.Length);
            }

            matchingMovie.MovieName   = movieRequest.MovieName ?? matchingMovie.MovieName;
            matchingMovie.MovieRating = movieRequest.MovieRating ?? matchingMovie.MovieRating;

            _ctx.Movies.Update(matchingMovie);
            _ctx.SaveChanges();

            var matchingMovieListItem = new MovieListItem()
            {
                MovieId     = matchingMovie.MovieId,
                MovieName   = matchingMovie.MovieName,
                MovieRating = matchingMovie.MovieRating
            };

            return(matchingMovieListItem);
        }
コード例 #3
0
        public MovieListItem[] GetFullMoviesInfo()
        {
            var model = new List <MovieListItem>();

            using (var context = new CinemaContext())
            {
                foreach (var movie in context.Movies.Where(x => !x.IsDeleted).ToArray())
                {
                    var movieListItem = new MovieListItem
                    {
                        Movie = movie,
                        AvailableTimeSlots = context.TimeSlots
                                             .Where(x => x.MovieId == movie.Id)
                                             .Select(x => new TimeSlotTag
                        {
                            Cost       = x.Cost,
                            StartTime  = x.StarTime,
                            TimeSlotId = x.Id
                        })
                                             .ToArray()
                    };
                    model.Add(movieListItem);
                }
            }

            return(model.ToArray());
        }
コード例 #4
0
        public void AddMovie(string list_id, Movie movie)
        {
            MovieList movieList = _listContext.Find(list_id);

            if (movieList.AuthorID != _loggedInUserID)
            {
                return;
            }

            Movie findMovie = _allMoviesContext.Collection().FirstOrDefault(i => i.TMDB_ID == movie.TMDB_ID);

            if (findMovie == null)
            {
                _allMoviesContext.Insert(movie);
                _allMoviesContext.Commit();
            }
            else
            {
                movie = findMovie;
            }

            if (_listItemsContext.Collection().FirstOrDefault(i => i.ListID == list_id && i.MovieID == movie.ID) == null)
            {
                MovieListItem listItem = new MovieListItem(list_id, movie.ID);

                movieList.IncrementSize();
                listItem.Rank = movieList.Size;

                _listItemsContext.Insert(listItem);
                _listItemsContext.Commit();

                _listContext.Update(movieList);
                _listContext.Commit();
            }
        }
コード例 #5
0
        public void Properties_Correctly_Mapped()
        {
            Movie source = new Movie {
                MovieId = 1, Details = "Some details", Thumbnail = new byte[] { }
            };
            MovieListItem subject = new MovieListItem(source);

            Assert.AreEqual(1, subject.MovieId);
            Assert.AreEqual(0, subject.Thumbnail.Length);

            //etc etc
        }
コード例 #6
0
        public void SaveList(string list_id, string movie_id, string new_rank)
        {
            MovieList movieList = _listContext.Find(list_id);

            if (movieList.AuthorID != _loggedInUserID)
            {
                return;
            }

            MovieListItem listItem = (from item in _listItemsContext.Collection()
                                      where item.ListID == list_id && item.MovieID == movie_id
                                      select item).FirstOrDefault();

            listItem.Rank = Convert.ToInt32(new_rank);
            _listItemsContext.Update(listItem);
            _listItemsContext.Commit();
        }
コード例 #7
0
        public ActionResult RemoveMovie(string list_id, string movie_id)
        {
            MovieList movieList = _listContext.Find(list_id);

            if (movieList.AuthorID != _loggedInUserID)
            {
                return(RedirectToPage("~/Views/Shared/Error.cshtml"));
            }

            MovieListItem listItem = _listItemsContext.Collection().FirstOrDefault(i => (i.ListID == list_id && i.MovieID == movie_id));

            _listItemsContext.Delete(listItem.ID);
            _listItemsContext.Commit();

            movieList.DecrementSize();
            _listContext.Update(movieList);
            _listContext.Commit();

            return(RedirectToAction("View", new { list_id }));
        }
コード例 #8
0
        public MovieListItem AddMovie(AddMovieRequest movieRequest)
        {
            var movie = new Movie()
            {
                MovieName   = movieRequest.MovieName,
                MovieRating = movieRequest.MovieRating.Value
            };

            _ctx.Movies.Add(movie);
            _ctx.SaveChanges();

            var matchingMovie = _ctx.Movies.Find(movie.MovieId);

            var matchingMovieListItem = new MovieListItem()
            {
                MovieId     = matchingMovie.MovieId,
                MovieName   = matchingMovie.MovieName,
                MovieRating = matchingMovie.MovieRating
            };

            return(matchingMovieListItem);
        }
コード例 #9
0
        public MovieListItem GetMovie(int id)
        {
            var movies        = _ctx.Movies;
            var matchingMovie = movies.Find(id);

            if (matchingMovie == null)
            {
                Response.StatusCode = 404;
                var    jsonString = "{\"Error\":\"No Matching Movie with MovieId\"}";
                byte[] data       = Encoding.UTF8.GetBytes(jsonString);
                Response.ContentType = "application/json";
                Response.Body.Write(data, 0, data.Length);
            }
            var matchingMovieListItem = new MovieListItem()
            {
                MovieId     = matchingMovie.MovieId,
                MovieName   = matchingMovie.MovieName,
                MovieRating = matchingMovie.MovieRating
            };

            return(matchingMovieListItem);
        }
コード例 #10
0
 private int Compare(FranchiseListItem left, MovieListItem right) =>
 this.CompareEntries(left, right, right.Movie.Entry);
コード例 #11
0
 private int Compare(SeriesListItem left, MovieListItem right) =>
 this.CompareEntries(left, right, left.Series.Entry, right.Movie.Entry);
コード例 #12
0
 private int Compare(MovieListItem left, FranchiseListItem right) =>
 this.Compare(right, left) * -1;
コード例 #13
0
 private int Compare(MovieListItem left, MovieListItem right) =>
 left.Movie.Id == right.Movie.Id
         ? 0
         : this.CompareEntries(left, right, left.Movie.Entry, right.Movie.Entry);
コード例 #14
0
 private int Compare(MovieListItem left, MovieSeriesListItem right)
 => this.Compare(right, left) * -1;