Пример #1
0
    public static void Main()
    {
        var migrationStrategy = new MigrateDatabaseToLatestVersion <MoviesEntity, Configuration>();

        Database.SetInitializer(migrationStrategy);

        var context = new MoviesEntity();

        var adultMovies = context.Movies
                          .Where(m => m.AgeRestriction == AgeRestriction.Adult)
                          .OrderBy(m => m.Title)
                          .ThenBy(m => m.Ratings.Count())
                          .Select(m => new
        {
            m.Title,
            RatingsGiven = m.Ratings.Count()
        });

        JArray jsonMoviesArray = new JArray();

        foreach (var movie in adultMovies)
        {
            JObject jsonMovie =
                new JObject(new JProperty("title", movie.Title), new JProperty("ratingsGiven", movie.RatingsGiven));
            jsonMoviesArray.Add(jsonMovie);
        }

        var jsonMovies = JsonConvert.SerializeObject(jsonMoviesArray, Formatting.Indented);

        File.WriteAllText("..//..//adult-movies.json", jsonMovies);
    }
Пример #2
0
    public static void Main()
    {
        var context = new MoviesEntity();

        var favouriteMovies = context.Movies
                              .Where(m => m.AgeRestriction == AgeRestriction.Teen)
                              .OrderByDescending(m => m.Users.Count())
                              .ThenBy(m => m.Title)
                              .Select(m => new
        {
            m.Isbn,
            m.Title,
            FavouritedBy = m.Users.Select(u => u.Username)
        })
                              .Take(10);
        JArray jsonFavouriteMoviesArr = new JArray();

        foreach (var movie in favouriteMovies)
        {
            JObject jsonMovie = new JObject(
                new JProperty("isbn", movie.Isbn),
                new JProperty("title", movie.Title),
                new JProperty("favouritedBy", JsonConvert.SerializeObject(movie.FavouritedBy, Formatting.Indented)));

            jsonFavouriteMoviesArr.Add(jsonMovie);
        }

        var jsonFavouriteMovies = JsonConvert.SerializeObject(jsonFavouriteMoviesArr, Formatting.Indented);

        File.WriteAllText("..//..//top10-teen-movies.json", jsonFavouriteMovies);
    }
        public async Task <IActionResult> Put(int id, [FromBody] MoviesEntity moviesEntity)
        {
            try
            {
                MoviesEntity movieList = await _unitOfWork.Movies.GetAsync(x => x.MovieId == id);

                if (movieList == null)
                {
                    return(StatusCode(501, new { message = "Movie Id did not exist" }));
                }

                movieList.MovieTitle       = moviesEntity.MovieTitle;
                movieList.MovieDescription = moviesEntity.MovieDescription;
                movieList.IsRented         = moviesEntity.IsRented;
                movieList.RentalDate       = DateTime.Now;
                _unitOfWork.Movies.Update(movieList);
                _unitOfWork.CompleteUOW();

                return(Ok(new { message = "Data sucessfully updated!" }));
            }
            catch (Exception ex)
            {
                return(StatusCode(501, new { message = ex.Message }));
            }
        }
        public async Task <IActionResult> Post([FromBody] MoviesEntity moviesEntity)
        {
            try
            {
                if (moviesEntity == null)
                {
                    return(StatusCode(400, new { message = "You need to input Movie title, Movie description" }));
                }

                if ((moviesEntity.MovieTitle == null || moviesEntity.MovieTitle == string.Empty) ||
                    (moviesEntity.MovieDescription == null || moviesEntity.MovieDescription == string.Empty))
                {
                    return(StatusCode(400, new { message = "You need to input Movie title, Movie description" }));
                }

                MoviesEntity movieList = await _unitOfWork.Movies.GetAsync(x => x.MovieTitle == moviesEntity.MovieTitle && x.IsDeleted == false);

                if (movieList != null)
                {
                    return(StatusCode(409, new { message = "Movie title already exist and not deleted!" }));
                }

                await _unitOfWork.Movies.AddAsync(moviesEntity);

                _unitOfWork.CompleteUOW();

                return(Ok(new { message = "Data sucessfully saved!" }));
            }
            catch (Exception ex)
            {
                return(StatusCode(501, new { message = ex.Message }));
            }
        }
Пример #5
0
 public IActionResult UpdateMovies(MoviesEntity m)
 {
     if (_moviesRepository.get(m.Id) == null)
     {
         return(BadRequest());
     }
     return(Ok(_moviesRepository.Update(m)));
 }
Пример #6
0
        public IActionResult GetFullMovieByID(int Id)
        {
            MoviesEntity  movieEntity = _moviesRepository.get(Id);
            FullMovieById movie       = _moviesRepository.get(Id).ToApi();

            movie.Director = _personRepository.GetAll().Where(p => p.Id == movieEntity.IdDirector).Select(x => x.ToApi()).SingleOrDefault();
            movie.Writer   = _personRepository.GetAll().Where(p => p.Id == movieEntity.IdWriter).Select(x => x.ToApi()).SingleOrDefault();
            movie.Actor    = _moviesRepository.GetActorByFilmID(movieEntity.Id);
            return(Ok(movie));
        }
Пример #7
0
 public static FullMovieById ToApi(this MoviesEntity movies)
 {
     return(new FullMovieById
     {
         IdMovie = movies.Id,
         Title = movies.Title,
         Synopsis = movies.Synopsis,
         YearRelease = movies.YearRelease
     });
 }
Пример #8
0
    static void Main()
    {
        Console.WriteLine("Please enter a username to export rated movies: ");

        string username = Console.ReadLine();
        var    context  = new MoviesEntity();

        if (!context.Users.Any(u => u.Username == username))
        {
            Console.WriteLine("No such user in database");
            return;
        }

        var ratedMovies = context.Movies
                          .Where(m => m.Ratings.Any(r => r.User.Username == username))
                          .Select(m => new
        {
            m.Title,
            UserRating    = m.Ratings.Where(r => r.User.Username == username).Select(r => r.Stars).FirstOrDefault(),
            AverageRating = m.Ratings.Select(r => r.Stars).Average()
        });

        JObject jsonRatedMovies      = new JObject(new JProperty("username", username));
        JArray  jsonRatedMoviesArray = new JArray();

        foreach (var movie in ratedMovies)
        {
            JObject jsonMovie =
                new JObject(
                    new JProperty("title", movie.Title),
                    new JProperty("userRating", movie.UserRating),
                    new JProperty("averageRating", movie.AverageRating));
            jsonRatedMoviesArray.Add(jsonMovie);
        }

        jsonRatedMovies.Add(new JProperty("ratedMovies", jsonRatedMoviesArray));

        var jsonRatedMoviesText = JsonConvert.SerializeObject(jsonRatedMovies, Formatting.Indented);

        File.WriteAllText("..//..//" + username + "-rated-movies.json", jsonRatedMoviesText);
    }
        public async Task <IActionResult> Delete(int id)
        {
            try
            {
                MoviesEntity movieList = await _unitOfWork.Movies.GetAsync(x => x.MovieId == id);

                if (movieList == null)
                {
                    return(StatusCode(501, new { message = "Movie Id did not exist" }));
                }

                movieList.IsDeleted = true;
                _unitOfWork.Movies.Update(movieList);
                _unitOfWork.CompleteUOW();

                return(Ok(new { message = "Data sucessfully deleted!" }));
            }
            catch (Exception ex)
            {
                return(StatusCode(501, new { message = ex.Message }));
            }
        }
Пример #10
0
 public IActionResult Details(MoviesEntity model)
 {
     return(this.View(model));
 }