Advertisement
Guest User

Untitled

a guest
Aug 2nd, 2015
322
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 2.50 KB | None | 0 0
  1. namespace QueryTheDatabase
  2. {
  3.     using System.Linq;
  4.  
  5.     using Movies_EF_CodeFirst;
  6.     using Movies_EF_CodeFirst.Models;
  7.  
  8.     using Newtonsoft.Json;
  9.     using System.IO;
  10.  
  11.     public class QueryTheDatabase
  12.     {
  13.         public static void Main()
  14.         {
  15.             var context = new MoviesEntities();
  16.  
  17.             // Query 1.Adult Movies:
  18.             var adultMovies = context.Movies
  19.                 .Where(m => m.AgeRestriction == AgeRestriction.Adult)
  20.                 .OrderBy(m => m.Title)
  21.                 .ThenByDescending(m => m.Ratings.Count)
  22.                 .Select(m => new
  23.                 {
  24.                     title = m.Title,
  25.                     ratingsGiven = m.Ratings.Count
  26.                 });
  27.  
  28.             string adultMoviesJson = JsonConvert.SerializeObject(adultMovies, Formatting.Indented);
  29.             File.WriteAllText("../../adult-movies.json", adultMoviesJson);
  30.  
  31.             // Query 2.Rated Movies by User:
  32.             var ratedMoviesByUser = context.Users
  33.                 .Where(u => u.Username == "jmeyery")
  34.                 .Select(u => new
  35.                 {
  36.                     username = u.Username,
  37.                     ratedMovies = u.Ratings
  38.                         .OrderBy(r => r.Movie.Title)
  39.                         .Select(r => new
  40.                         {
  41.                             title = r.Movie.Title,
  42.                             userRating = r.Stars,
  43.                             averageRating = r.Movie.Ratings.Average(rStars => rStars.Stars)
  44.                         })
  45.                 });
  46.  
  47.             string ratedMoviesByUserJson = JsonConvert.SerializeObject(ratedMoviesByUser, Formatting.Indented);
  48.             File.WriteAllText("../../rated-movies-by-jmeyery.json", ratedMoviesByUserJson);
  49.  
  50.             // Query 3.Top 10 Favourite Movies:
  51.             var favouriteMovies = context.Movies
  52.                 .Where(m => m.AgeRestriction == AgeRestriction.Teen)
  53.                 .OrderByDescending(m => m.UsersThatMovieIsFavourite.Count)
  54.                 .ThenBy(m => m.Title)
  55.                 .Take(10)
  56.                 .Select(m => new
  57.                 {
  58.                     isbn = m.Isbn,
  59.                     title = m.Title,
  60.                     favouritedBy = m.UsersThatMovieIsFavourite.Select(u => u.Username)
  61.                 });
  62.  
  63.             string favouriteMoviesJson = JsonConvert.SerializeObject(favouriteMovies, Formatting.Indented);
  64.             File.WriteAllText("../../top-10-favourite-movies.json", favouriteMoviesJson);
  65.         }
  66.     }
  67. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement