Exemple #1
0
        //This is ugly, but it's not really the point of the demo...
        public ActionResult Refresh()
        {
            var movies = MovieLoader.LoadMovies();

            _dataContext.ProductionCompanyMovies.Delete();
            _dataContext.MovieGenres.Delete();
            _dataContext.Characters.Delete();
            _dataContext.Actors.Delete();
            _dataContext.Movies.Delete();
            _dataContext.Genres.Delete();
            _dataContext.ProductionCompanies.Delete();
            _dataContext.MovieStatuses.Delete();
            _dataContext.SaveChanges();
            movies.ForEach(movie => _dataContext.Movies.Add(movie));
            if (_dataContext.MovieStatuses.All(status => status.Status != "Cancelled"))
            {
                _dataContext.MovieStatuses.Add(new MovieStatus("Cancelled"));
            }
            if (_dataContext.MovieStatuses.All(status => status.Status != "Planned"))
            {
                _dataContext.MovieStatuses.Add(new MovieStatus("Planned"));
            }
            if (_dataContext.MovieStatuses.All(status => status.Status != "In Production"))
            {
                _dataContext.MovieStatuses.Add(new MovieStatus("In Production"));
            }
            _dataContext.SaveChanges();

            return(new HttpStatusCodeResult(HttpStatusCode.OK));
        }
Exemple #2
0
        public ActionResult Reset()
        {
            var loader = new MovieLoader();

            loader.LoadMovies();
            return(Content("Database reset!"));
        }
        public static void Main()
        {
            // Generate database content if desired
            Console.Write("Do you want to flush the current Neo4j database and load it with movie data from file? (Y=Yes, N=No) ");
            var feedbackKey = Console.ReadKey();

            if (feedbackKey.Key == ConsoleKey.Y)
            {
                MovieLoader.LoadMovies();
            }
            else
            {
                // Examples of typical data manipulation
                using (var repository = new MovieDriverRepository())
                {
                    Console.WriteLine();
                    Console.WriteLine();

                    // Retrieve complete nodes and parse them as typed C# objects
                    var movies = repository.GetAllObjects <Movie>();
                    Console.WriteLine($"{movies.Count} all movies retrieved as typed Movie objects");
                    Console.WriteLine();


                    // Specify custom query and custom result
                    var jediStatement = "MATCH (p:Person) - [r:ACTED_IN] -> (m:Movie) WHERE m.title = 'Return of the Jedi' RETURN p.name AS Name, r.character AS Role, r.order AS Order ORDER BY r.order";
                    var jediActors    = repository.GetNodes(jediStatement);
                    Console.WriteLine();
                    Console.WriteLine($"{jediActors.Count} custom person objects retrieved representing actors in the movie 'Return of the Jedi':");
                    foreach (var jediActor in jediActors)
                    {
                        Console.WriteLine($"{jediActor["Order"],3}  {jediActor["Name"],-20} {jediActor["Role"]} ");
                    }
                    Console.WriteLine();


                    // Delete dummy movie if present
                    const string deleteStatement = "MATCH (m:Movie) WHERE m.tmdbId = 0 DETACH DELETE m";
                    var          summary         = repository.Execute(deleteStatement);
                    Console.WriteLine($"{summary.Counters.NodesDeleted} Movie node deleted");
                    Console.WriteLine();


                    // Add a dummy movie
                    var movie = new Movie {
                        TmdbId = 0, Title = "My movie", Plot = "Very dramatic story", Genres = new[] { "Action", "Comedy" }
                    };
                    var nodeCount = repository.AddNode(movie);
                    Console.WriteLine($"{nodeCount} Movie node created");
                    Console.WriteLine();

                    // Retrieve one single movie
                    var movie1 = repository.GetMovie("tt0240772");
                    Console.WriteLine($"Movie '{movie1.Title}' retrieved");
                }
            }

            Console.WriteLine();
            Console.WriteLine();
            Console.Write("(Click any key to close window)");
            Console.ReadKey();
        }
 public static void Main()
 {
     MovieLoader.LoadMovies();
 }