public bool Delete(int id)
        {
            MovieRepository movieRepository = new MovieRepository();

            movieRepository.DeleteById(id);
            return(true);
        }
Exemplo n.º 2
0
        private static void ImportTitles(string filepath, MovieRepository repo)
        {
            var reader = File.OpenText(filepath + "movie_titles.csv");

            repo.DeleteGenres();
            //repo.DeleteAll();

            var titlesimported = 0;

            int testlimit = 0;

            while (!reader.EndOfStream && testlimit < Int32.MaxValue)
            {
                string line = reader.ReadLine();

                var items = line.Split(",".ToCharArray(), StringSplitOptions.RemoveEmptyEntries);

                int year, id;

                if (Int32.TryParse(items[0], out id) && Int32.TryParse(items[1], out year) && !string.IsNullOrEmpty(items[2]))
                {
                    Movie m = new Movie()
                    {
                        Id    = Int32.Parse(items[0]),
                        Year  = Int32.Parse(items[1]),
                        Title = items[2]
                    };

                    OMDBItem o = repo.GetOMDBData(m.Title);

                    if (o != null && o.imdbID != null)
                    {
                        m.IMDBId    = o.imdbID;
                        m.PosterUrl = "http://img.omdbapi.com/?i=" + m.IMDBId + "&h=200&apikey=7e6ca2d5";

                        repo.DeleteById(m);
                        repo.Add(m);

                        repo.AddGenresForMovie(m.Id, o.Genre);
                        titlesimported++;
                    }



                    testlimit++;
                }
            }

            Console.WriteLine(titlesimported + " titles imported");
        }
Exemplo n.º 3
0
        static void Main(string[] args)
        {
            // get the configuration from file
            var builder = new ConfigurationBuilder()
                          .SetBasePath(Directory.GetCurrentDirectory())
                          .AddJsonFile("appsettings.json", optional: true, reloadOnChange: true);

            IConfigurationRoot configuration = builder.Build();

            // now i can access the connection string like this
            // this will be null if there isn't an appsettings with this connection string
            Console.WriteLine(configuration.GetConnectionString("MoviesDB"));

            // ORM: object-relational mapper
            // our ORM in .NET is: Entity Framework
            // we will use database-first approach to EF
            Console.WriteLine("Hello World!");

            // provide the connection string to the dbcontext
            var optionsBuilder = new DbContextOptionsBuilder <MoviesDBContext>();

            optionsBuilder.UseSqlServer(configuration.GetConnectionString("MoviesDB"));

            var repo = new MovieRepository(new MoviesDBContext(optionsBuilder.Options));

            var movies = repo.GetMoviesWithGenres();

            foreach (var item in movies)
            {
                Console.WriteLine($"Name {item.Name}," +
                                  $" genre {item.Genre.Name}");
            }

            //edit a movie
            var aMovie = movies.First();

            aMovie.Name = "A New Hope";
            repo.Edit(aMovie);
            repo.AddMovie("Die Hard", DateTime.Now, "action");
            repo.DeleteById(aMovie.Id);
            repo.SaveChanges();

            movies = repo.GetMoviesWithGenres();
            Console.WriteLine();
            foreach (var item in movies)
            {
                Console.WriteLine($"Name {item.Name}," +
                                  $" genre {item.Genre.Name}");
            }
        }