示例#1
0
        static void Main(string[] args)
        {
            //Utility.InitDB();
            var context = new IMDbEntities();

            ListAllMovies(context);
        }
示例#2
0
 public static void AddMovies(IEnumerable <MoviesDTo> movies)
 {
     using (var context = new IMDbEntities())
     {
         foreach (var MoviesDTo in movies)
         {
             Console.WriteLine($"Succesfully added movie {MoviesDTo.title}");
         }
         context.SaveChanges();
     }
 }
示例#3
0
 public static void AddGenres(IEnumerable <GenresDTo> genres)
 {
     using (var context = new IMDbEntities())
     {
         foreach (var gen in genres)
         {
             Console.WriteLine($"Succesfully added Genre {gen.name}");
         }
         context.SaveChanges();
     }
 }
示例#4
0
        static void ListAllMovies(IMDbEntities context)
        {
            int pageSize = 14;

            var movies   = context.Movies.ToList();
            int page     = 0;
            int maxPages = (int)Math.Ceiling(movies.Count / (double)pageSize);
            int pointer  = 1;

            while (true)
            {
                Console.BackgroundColor = ConsoleColor.Black;
                Console.ForegroundColor = ConsoleColor.White;

                Console.Clear();
                Console.WriteLine($" ID | Movie Title (Page {page + 1} of {maxPages})");
                Console.WriteLine("----+----------------------------");

                int current = 1;
                foreach (var mov in movies.Skip(pageSize * page).Take(pageSize))
                {
                    Console.BackgroundColor = ConsoleColor.Black;
                    Console.ForegroundColor = ConsoleColor.White;
                    if (current == pointer)
                    {
                        Console.BackgroundColor = ConsoleColor.White;
                        Console.ForegroundColor = ConsoleColor.Black;
                    }
                    Console.WriteLine($"{mov.Title} | {mov.Director}");
                    current++;
                }

                var key = Console.ReadKey();

                switch (key.Key.ToString())
                {
                case "Enter":
                    var currentMovie = movies.Skip(pageSize * page + pointer - 1).First();
                    ShowDetails(currentMovie);
                    Console.WriteLine("Enter pressed");
                    break;

                case "UpArrow":
                    if (pointer > 1)
                    {
                        pointer--;
                    }
                    else if (page > 0)
                    {
                        page--;
                        pointer = pageSize;
                    }
                    break;

                case "DownArrow":
                    if (pointer < pageSize)
                    {
                        pointer++;
                    }
                    else if (page + 1 <= maxPages)
                    {
                        page++;
                        pointer = 1;
                    }
                    break;

                case "Escape":
                    return;
                }
            }
        }