Beispiel #1
0
        private void LookThroughStick()
        {
            foreach (DirectoryInfo dir in GetMovieFolders())
            {
                foreach (DirectoryInfo film in dir.GetDirectories())
                {
                    if (film.GetDirectories().Length == 0)                     //Heeft geen sequels --> is gewoon de film
                    {
                        string     naam = Toolbox.GetTitel(film.Name);
                        int        jaar = Toolbox.GetJaartal(film.Name);
                        FileInfo[] info = film.GetFiles();

                        if (info[0].Length > 2000000000)
                        {
                            decimal lengte = Math.Round(Decimal.Parse(info[0].Length.ToString()) / 1000000000, 2);
                            Errors.Add(film.ToString() + ": Bestand is groter dan 2GB\t(" + lengte + " Gb)");
                        }

                        if (info.Length != 2)
                        {
                            if (info.Length > 2)
                            {
                                Errors.Add(film.ToString() + ": Meer dan 2 bestanden in map.");
                            }
                            else
                            {
                                if (info.Length == 0)
                                {
                                    Errors.Add(film.ToString() + ": Geen bestanden in map.");
                                }
                                else
                                {
                                    if (info[0].Extension.ToLower().ToLower() == ".srt")
                                    {
                                        Errors.Add(film.ToString() + ": Geen video bestand in map.");
                                    }
                                    else
                                    {
                                        Errors.Add(film.ToString() + ": Geen ondertiteling in map.");
                                    }
                                }
                            }
                        }
                        else
                        {
                            var movieFile = info.FirstOrDefault(f => f.Extension.ToLower() != ".srt");

                            if (movieFile != null)
                            {
                                if (movieFile.Extension.ToLower() != ".mkv")
                                {
                                    Errors.Add(film.ToString() + ": Videobestand is niet van formaat .mkv");
                                }
                            }
                        }

                        Films.Add(new Film(naam, jaar, film.FullName, info[0].Length));
                    }
                    else
                    {
                        Film mov = new Film(Toolbox.GetTitel(film.Name), 0, film.FullName);
                        mov.HeeftSequel = true;

                        foreach (DirectoryInfo sequel in film.GetDirectories())
                        {
                            FileInfo[] info = sequel.GetFiles();

                            if (info[0].Length > 2000000000)
                            {
                                decimal lengte = Math.Round(Decimal.Parse(info[0].Length.ToString()) / 1000000000, 2);
                                Errors.Add(sequel.ToString() + ": Bestand is groter dan 2GB\t(" + lengte + " Gb)");
                            }

                            if (info.Length != 2)
                            {
                                if (info.Length > 2)
                                {
                                    Errors.Add(mov.Titel + " - " + sequel.ToString() + ": Meer dan 2 bestanden in map.");
                                }
                                else
                                {
                                    if (info.Length == 0)
                                    {
                                        Errors.Add(mov.Titel + " - " + sequel.ToString() + ": Geen bestanden in map.");
                                    }
                                    else
                                    {
                                        if (info[0].Extension.ToLower() == ".srt")
                                        {
                                            Errors.Add(mov.Titel + " - " + sequel.ToString() + ": Geen video bestand in map.");
                                        }
                                        else
                                        {
                                            Errors.Add(mov.Titel + " - " + sequel.ToString() + ": Geen ondertiteling in map.");
                                        }
                                    }
                                }
                            }
                            else
                            {
                                var movieFile = info.FirstOrDefault(f => f.Extension.ToLower() != ".srt");

                                if (movieFile != null)
                                {
                                    if (movieFile.Extension.ToLower() != ".mkv")
                                    {
                                        Errors.Add(mov.Titel + " - " + sequel.ToString() + ": Videobestand is niet van formaat .mkv");
                                    }
                                }
                            }

                            Film seq = new Film(Toolbox.GetTitel(film.Name) + " - " + Toolbox.GetTitel(sequel.Name), Toolbox.GetJaartal(sequel.Name), sequel.FullName, info[0].Length);
                            mov.VoegSequelToe(seq);
                        }

                        mov.Jaar = mov.Sequels.ElementAt(0).Jaar;
                        mov.size = mov.Sequels.Sum(m => m.size);

                        Sequels.Add(mov);
                        Films.Add(mov);
                    }
                }
            }
        }
Beispiel #2
0
        static void Main()
        {
            Console.BufferHeight = Int16.MaxValue - 1;

            Console.WriteLine("Selecteer de map die de films bevat:");
            FolderBrowserDialog fbd = new FolderBrowserDialog();

            if (fbd.ShowDialog() != DialogResult.OK)
            {
                Console.WriteLine("Geen map gekozen, programma wordt afgesloten.");
                Console.ReadKey();
                return;
            }

            Console.Clear();

            Stick stick = new Stick(fbd.SelectedPath);

            Console.WriteLine("In welke mappen zitten geen films?");
            Toolbox.PrintList(stick.GetAllFolders(), '\t');
            Console.Write("Mappen die beginnen met: ");
            stick.SetUitzondering(Console.ReadLine());

            int code = -1;

            while (code != 0)
            {
                do
                {
                    Console.Clear();

                    Console.WriteLine("Kies wat je wil doen:");
                    Console.WriteLine("1) Toon alle films");
                    Console.WriteLine("2) Toon alle film mappen");
                    Console.WriteLine("3) Toon films die ... in naam hebben");
                    Console.WriteLine("4) Toon een random film om te kijken");
                    Console.WriteLine("5) Toon resultaten");
                    Console.WriteLine("6) Schrijf resultaten naar bestand");
                    Console.WriteLine("7) Verander mappen die films bevatten");
                    Console.WriteLine("8) Export alle films naar XML");
                    Console.WriteLine("0) Afsluiten");

                    try
                    {
                        code = int.Parse(Console.ReadLine().ToString());
                    }
                    catch
                    {
                        code = -1;
                    }
                } while (code < 0 || code > 8);

                switch (code)
                {
                case 0:
                    break;

                case 1:
                    Toolbox.PrintList(stick.Films, charVoorString: '\t');
                    break;

                case 2:
                    Toolbox.PrintList(stick.GetMovieFolders());
                    break;

                case 3:
                    Console.WriteLine("Film moet ... bevatten:");
                    string par = Console.ReadLine();
                    Toolbox.PrintList(stick.Films, contains: par);
                    break;

                case 4:
                    Random rand = new Random();
                    int    film = rand.Next(0, stick.Films.Count);
                    Console.WriteLine("Gekozen film:");
                    Console.WriteLine("\t" + stick.Films[film].Titel + " - " + stick.Films[film].Jaar);
                    break;

                case 5:
                    Toolbox.PrintList(stick.Errors);
                    break;

                case 6:
                    stick.PrintFilmsToFile();
                    stick.PrintErrorsToFile();
                    break;

                case 7:
                    stick = new Stick(fbd.SelectedPath);
                    Console.WriteLine("In welke mappen zitten geen films?");
                    Toolbox.PrintList(stick.GetAllFolders(), '\t');
                    Console.Write("Mappen die beginnen met: ");
                    stick.SetUitzondering(Console.ReadLine());

                    Console.Clear();
                    break;

                case 8:
                    Toolbox.ExportMoviesToXML("films.xml", stick);
                    break;
                }


                if (code != 0)
                {
                    Console.WriteLine("Enter om door te gaan");
                    Console.Read();
                }
            }
        }