Advertisement
Guest User

Untitled

a guest
Apr 10th, 2019
104
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 4.30 KB | None | 0 0
  1. using Newtonsoft.Json;
  2. using OnlineMoviesCatalog.Data;
  3. using OnlineMoviesCatalog.Models;
  4. using OnlineMoviesCatalog.Service.Providers.Contracts;
  5. using System.IO;
  6.  
  7. namespace OnlineMoviesCatalog.Service.Providers
  8. {
  9.     public class InputProvider : IInputProvider
  10.     {
  11.         private readonly MovieCatalogContext context;
  12.  
  13.         public InputProvider(MovieCatalogContext movieCatalogContext)
  14.         {
  15.             this.context = movieCatalogContext;
  16.         }
  17.  
  18.         public void LoadJsons()
  19.         {
  20.             LoadActors();
  21.  
  22.             LoadGenres();
  23.  
  24.             LoadUsers();
  25.  
  26.             LoadMovies();
  27.  
  28.             LoadReviews();
  29.  
  30.             LoadMovieActors();
  31.  
  32.             LoadMovieGenres();
  33.         }
  34.  
  35.         public void LoadUsers()
  36.         {
  37.             var usersAsJson = File.ReadAllText(@"..\..\..\..\OnlineMoviesCatalog.Data\JsonRaw\users.json");
  38.  
  39.             var users = JsonConvert.DeserializeObject<User[]>(usersAsJson);
  40.  
  41.             foreach (var user in users)
  42.             {
  43.                 context.Users.Add(new User { UserName = user.UserName, Password = user.Password });
  44.             }
  45.             context.SaveChanges();
  46.         }
  47.  
  48.         public void LoadMovies()
  49.         {
  50.             var moviesAsJson = File.ReadAllText(@"..\..\..\..\OnlineMoviesCatalog.Data\JsonRaw\movies.json");
  51.  
  52.             var movies = JsonConvert.DeserializeObject<Movie[]>(moviesAsJson);
  53.  
  54.             foreach (var movie in movies)
  55.             {
  56.                 context.Movies.Add(new Movie { Title = movie.Title, Trailer = movie.Trailer, ReleaseDate = movie.ReleaseDate, Text = movie.Text, UserId = movie.UserId, AverageRating = movie.AverageRating, TotalRating = movie.TotalRating, NumberOfVotes = movie.NumberOfVotes});
  57.             }
  58.  
  59.             context.SaveChanges();
  60.         }
  61.  
  62.         public void LoadActors()
  63.         {
  64.             var actorAsJson = File.ReadAllText(@"..\..\..\..\OnlineMoviesCatalog.Data\JsonRaw\actors.json");
  65.  
  66.             var actors = JsonConvert.DeserializeObject<Actor[]>(actorAsJson);
  67.  
  68.             foreach (var actor in actors)
  69.             {
  70.                 context.Actors.Add(new Actor { FirstName = actor.FirstName, LastName = actor.LastName });
  71.             }
  72.  
  73.             context.SaveChanges();
  74.         }
  75.  
  76.         public void LoadGenres()
  77.         {
  78.             var genresAsJson = File.ReadAllText(@"..\..\..\..\OnlineMoviesCatalog.Data\JsonRaw\genres.json");
  79.  
  80.             var genres = JsonConvert.DeserializeObject<Genre[]>(genresAsJson);
  81.  
  82.             foreach (var genre in genres)
  83.             {
  84.                 context.Genres.Add(new Genre { Name = genre.Name });
  85.             }
  86.  
  87.             context.SaveChanges();
  88.         }
  89.  
  90.    
  91.  
  92.         public void LoadReviews()
  93.         {
  94.             var reviewsAsJson = File.ReadAllText(@"..\..\..\..\OnlineMoviesCatalog.Data\JsonRaw\reviews.json");
  95.  
  96.             var reviews = JsonConvert.DeserializeObject<Review[]>(reviewsAsJson);
  97.  
  98.             foreach (var review in reviews)
  99.             {
  100.                 context.Reviews.Add(new Review { Description = review.Description, IsDeleted = review.IsDeleted, Rating = review.Rating, UserId = review.UserId, CreatedOn = review.CreatedOn, MovieId = review.MovieId});
  101.             }
  102.  
  103.             context.SaveChanges();
  104.         }
  105.  
  106.         public void LoadMovieGenres()
  107.         {
  108.             var movGenresAsJson = File.ReadAllText(@"..\..\..\..\OnlineMoviesCatalog.Data\JsonRaw\moviesGenres.json");
  109.  
  110.             var movieGenres = JsonConvert.DeserializeObject<MovieGenres[]>(movGenresAsJson);
  111.  
  112.             foreach (var movieGenre in movieGenres)
  113.             {
  114.                 context.MovieGenres.Add(new MovieGenres { GenreId = movieGenre.GenreId, MovieId = movieGenre.MovieId });
  115.             }
  116.  
  117.             context.SaveChanges();
  118.         }
  119.  
  120.         public void LoadMovieActors()
  121.         {
  122.             var movieActorsAsString = File.ReadAllText(@"..\..\..\..\OnlineMoviesCatalog.Data\JsonRaw\moviesActors.json");
  123.  
  124.             var movieActors = JsonConvert.DeserializeObject<MovieActors[]>(movieActorsAsString);
  125.  
  126.             foreach (var movActor in movieActors)
  127.             {
  128.                 context.MovieActors.Add(new MovieActors { ActorId = movActor.ActorId, MovieId = movActor.ActorId });
  129.             }
  130.  
  131.             context.SaveChanges();
  132.         }
  133.     }
  134. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement