Exemplo n.º 1
0
        public Song(string fileName, SongMetadata metadata, string format, string duration) : base(fileName, format, duration)
        {
            MetaData = metadata;
            Artist per;
            string artist = metadata.GetArtist();
            bool   artEX  = Spotflix.GetPeopleDB.ContainsKey(artist);

            if (artEX)
            {
                per = Spotflix.GetPeopleDB[artist];
                per.AddProfession("Musical Artist");
                per.AddWork(this);
            }
            else
            {
                per = new Artist(artist);
                per.AddProfession("Musical Artist");
                per.AddWork(this);
                Spotflix.AddPerson(per);
            }
            string album = metadata.GetAlbum();
            bool   alEx  = per.GetAlbums().ContainsKey(album);

            if (alEx)
            {
                per.GetAlbums()[album].AddSong(this);
            }
            else
            {
                Album newAl = new Album(album, per);
                newAl.AddSong(this);
                per.AddAlbum(album, newAl);
            }
            Spotflix.ImportMedia(this);
        }
        public Video(string fileName, VideoMetadata vm, string format, string duration) : base(fileName, format, duration)
        {
            MetaData = vm;
            Artist per;
            string director = vm.GetDirector();
            bool   dirEx    = Spotflix.GetPeopleDB.ContainsKey(director);

            if (dirEx)
            {
                per = Spotflix.GetPeopleDB[director];
                per.AddProfession("Director");
                per.AddWork(this);
            }
            else
            {
                per = new Artist(director);
                per.AddProfession("Director");
                per.AddWork(this);
                Spotflix.AddPerson(per);
            }
            List <string> actorList = vm.GetActors();

            foreach (string act in actorList)
            {
                Artist art;
                bool   acEx = Spotflix.GetPeopleDB.ContainsKey(act);
                if (acEx)
                {
                    art = Spotflix.GetPeopleDB[act];
                    art.AddProfession("Actor");
                    art.AddWork(this);
                }
                else
                {
                    art = new Artist(act);
                    art.AddProfession("Actor");
                    art.AddWork(this);
                    Spotflix.AddPerson(art);
                }
            }
            Spotflix.ImportMedia(this);
        }
Exemplo n.º 3
0
        public void Add()
        {
            List <string> metaMenu = new List <string>()
            {
                "Name: ", "Artist: ", "Album: ", "Genre: ", "Release Year: ", "Record Label: ",
                "Done!", "Back"
            };
            string name   = "";
            string artist = "";
            string genre  = "";
            string album  = "";
            string label  = "";
            string rYear  = "";

            Artist artObj   = null;
            Album  alObj    = null;
            int    relYear  = 0;
            bool   artExist = false;



            while (true)
            {
                string sel = RegexUtilities.GetMenu(metaMenu);

                if (sel == metaMenu[0]) //Name[0]
                {
                    metaMenu[0] = metaMenu[0].Substring(0, 6);
                    Console.Clear();
                    Console.CursorVisible = true;
                    name = RegexUtilities.WriteData(metaMenu[0]);
                    Console.CursorVisible = false;
                    metaMenu[0]          += name;
                    Console.Clear();
                }

                else if (sel == metaMenu[1]) //Artist[1]
                {
                    metaMenu[1] = metaMenu[1].Substring(0, 8);
                    Console.Clear();
                    Console.CursorVisible = true;
                    artist = RegexUtilities.WriteData(metaMenu[1]);
                    Console.CursorVisible = false;
                    metaMenu[1]          += artist;
                    Console.Clear();
                }

                else if (sel == metaMenu[2]) //Album[2]
                {
                    metaMenu[2] = metaMenu[2].Substring(0, 7);
                    Console.Clear();
                    Console.CursorVisible = true;
                    album = RegexUtilities.WriteData(metaMenu[2]);
                    Console.CursorVisible = false;
                    metaMenu[2]          += album;
                    Console.Clear();
                }

                else if (sel == metaMenu[3]) //Genre[3]
                {
                    metaMenu[3] = metaMenu[3].Substring(0, 7);
                    Console.Clear();
                    Console.CursorVisible = true;
                    genre = RegexUtilities.WriteData(metaMenu[3]);
                    Console.CursorVisible = false;
                    metaMenu[3]          += genre;
                    Console.Clear();
                }


                else if (sel == metaMenu[4]) //Release Year[4]int
                {
                    metaMenu[4] = metaMenu[4].Substring(0, 14);
                    Console.Clear();
                    Console.CursorVisible = true;
                    while (true)
                    {
                        rYear = RegexUtilities.WriteData(metaMenu[4]);
                        try
                        {
                            relYear = Convert.ToInt32(rYear);
                            break;
                        }
                        catch (Exception)
                        {
                            Console.WriteLine("Please write a valid number");
                            Console.Clear();
                        }
                    }
                    Console.CursorVisible = false;
                    metaMenu[4]          += rYear;
                    Console.Clear();
                }

                else if (sel == metaMenu[5]) //Label[5]
                {
                    metaMenu[5] = metaMenu[5].Substring(0, 14);
                    Console.Clear();
                    Console.CursorVisible = true;
                    label = RegexUtilities.WriteData(metaMenu[5]);
                    Console.CursorVisible = false;
                    metaMenu[5]          += label;
                    Console.Clear();
                }



                else if (sel == metaMenu[6]) //Done[6]
                {
                    if (name != "" && artist != "" && genre != "" && album != "" && label != "" &&
                        relYear > 0)
                    {
                        foreach (Artist ar in Spotflix.GetPeopleDB)
                        {
                            if (ar.GetName() == artist)
                            {
                                artExist = true;
                                artObj   = ar;
                                break;
                            }
                        }
                        if (artExist == false)
                        {
                            artObj = new Artist(artist);
                            Spotflix.AddPerson(artObj);
                            alObj = new Album(album);
                            artObj.AddAlbum(alObj);
                        }

                        else if (artExist == true)
                        {
                            foreach (Album item in artObj.GetAlbums())
                            {
                                if (item.GetName() == album)
                                {
                                    alObj = item;
                                    break;
                                }
                            }

                            if (alObj == null)
                            {
                                alObj = new Album(album);
                                artObj.AddAlbum(alObj);
                            }
                        }
                        Name            = name;
                        Artist          = artObj;
                        Album           = alObj;
                        Genre           = genre;
                        RecordLabel     = label;
                        PublicationYear = relYear;
                        return;
                    }


                    else
                    {
                        Console.Clear();
                        Console.WriteLine("There is missing information, please fill all the fields.");
                    }
                }
                else if (sel == metaMenu[7]) //Back[7]
                {
                    return;
                }
            }
        }
Exemplo n.º 4
0
        public void Add()
        {
            List <string> metaMenu = new List <string>()
            {
                "Name: ", "Creator: ", "Genre: ", "Category: ", "Actors: ", "Director: ",
                "Studio: ", "Release Year: ", "Description: ", "Resolution: ", "Aspect Ratio: ", "Done!", "Back"
            };
            string        name        = "";
            string        creator     = "";
            string        genre       = "";
            string        category    = "";
            string        studio      = "";
            string        rYear       = "";
            string        description = "";
            Person        dirObj      = null;
            int           relYear     = 0;
            bool          dirExist    = false;
            string        director    = "";
            string        resolution  = "";
            string        aspectRatio = "";
            List <string> resList     = new List <string>()
            {
                "480p (720 x 480)", "720p (1280 x 720)", "1080p (1920 x 1080)",
                "1440p (2560 x 1440)", "4K (3840 x 2160)", "8K (7680 x 4320)"
            };
            List <string> ratioList = new List <string>()
            {
                "Standard (4:3)", "Widescrenn 16:9", "Ultra Widescreen 21:9"
            };
            List <string> actors = new List <string>();

            while (true)
            {
                string sel = RegexUtilities.GetMenu(metaMenu);

                if (sel == metaMenu[0]) //Name[0]
                {
                    metaMenu[0] = metaMenu[0].Substring(0, 6);
                    Console.Clear();
                    Console.CursorVisible = true;
                    name = RegexUtilities.WriteData(metaMenu[0]);
                    Console.CursorVisible = false;
                    metaMenu[0]          += name;
                    Console.Clear();
                }

                else if (sel == metaMenu[1]) //Creator[1]
                {
                    metaMenu[1] = metaMenu[1].Substring(0, 9);
                    Console.Clear();
                    Console.CursorVisible = true;
                    creator = RegexUtilities.WriteData(metaMenu[1]);
                    Console.CursorVisible = false;
                    metaMenu[1]          += creator;
                    Console.Clear();
                }

                else if (sel == metaMenu[2]) //Genre[2]
                {
                    metaMenu[2] = metaMenu[2].Substring(0, 7);
                    Console.Clear();
                    Console.CursorVisible = true;
                    genre = RegexUtilities.WriteData(metaMenu[2]);
                    Console.CursorVisible = false;
                    metaMenu[2]          += genre;
                    Console.Clear();
                }

                else if (sel == metaMenu[3]) //Category[3]
                {
                    metaMenu[3] = metaMenu[3].Substring(0, 10);
                    Console.Clear();
                    Console.CursorVisible = true;
                    category = RegexUtilities.WriteData(metaMenu[3]);
                    Console.CursorVisible = false;
                    metaMenu[3]          += category;
                    Console.Clear();
                }

                else if (sel == metaMenu[4])//Actors[4] list<person>
                {
                    metaMenu[4] = metaMenu[4].Substring(0, 8);
                    Console.Clear();
                    Console.CursorVisible = true;
                    actors = RegexUtilities.WriteList(metaMenu[4].Substring(0, 5));
                    Console.CursorVisible = false;
                    metaMenu[4]          += "✔";
                    Console.Clear();
                }

                else if (sel == metaMenu[5]) //Director[5] Person
                {
                    metaMenu[5] = metaMenu[5].Substring(0, 10);
                    Console.Clear();
                    Console.CursorVisible = true;
                    director = RegexUtilities.WriteData(metaMenu[5]);

                    foreach (Person person in Spotflix.GetPeopleDB)
                    {
                        if (person.GetName() == director)
                        {
                            dirExist = true;
                            dirObj   = person;
                            break;
                        }
                    }
                    Console.CursorVisible = false;
                    metaMenu[5]          += director;
                    Console.Clear();
                }

                else if (sel == metaMenu[6]) //Studio[6]
                {
                    metaMenu[6] = metaMenu[6].Substring(0, 8);
                    Console.Clear();
                    Console.CursorVisible = true;
                    studio = RegexUtilities.WriteData(metaMenu[6]);
                    Console.CursorVisible = false;
                    metaMenu[6]          += studio;
                    Console.Clear();
                }

                else if (sel == metaMenu[7]) //Release Year[7]int
                {
                    metaMenu[7] = metaMenu[7].Substring(0, 14);
                    Console.Clear();
                    Console.CursorVisible = true;
                    while (true)
                    {
                        rYear = RegexUtilities.WriteData(metaMenu[7]);
                        try
                        {
                            relYear = Convert.ToInt32(rYear);
                            break;
                        }
                        catch (Exception)
                        {
                            Console.WriteLine("Please write a valid number");
                            Console.Clear();
                        }
                    }
                    Console.CursorVisible = false;
                    metaMenu[7]          += rYear;
                    Console.Clear();
                }

                else if (sel == metaMenu[8]) //Description[8]
                {
                    metaMenu[8] = metaMenu[8].Substring(0, 13);
                    Console.Clear();
                    Console.CursorVisible = true;
                    description           = RegexUtilities.WriteData(metaMenu[8]);
                    Console.CursorVisible = false;
                    metaMenu[8]          += description;
                    Console.Clear();
                }

                else if (sel == metaMenu[9]) //Res[9]
                {
                    metaMenu[9] = metaMenu[9].Substring(0, 12);
                    Console.Clear();
                    resolution = "";
                    while (resolution == "")
                    {
                        resolution = RegexUtilities.GetMenu(resList);
                    }
                    Console.CursorVisible = false;
                    metaMenu[9]          += resolution;
                    Console.Clear();
                }

                else if (sel == metaMenu[10]) //ratio[10]
                {
                    metaMenu[10] = metaMenu[10].Substring(0, 14);
                    Console.Clear();
                    aspectRatio = "";
                    while (aspectRatio == "")
                    {
                        aspectRatio = RegexUtilities.GetMenu(ratioList);
                    }
                    Console.CursorVisible = false;
                    metaMenu[10]         += aspectRatio;
                    Console.Clear();
                }
                else if (sel == metaMenu[11]) //Done[11]
                {
                    if (dirExist == true)
                    {
                        dirObj.AddProfession("Director");
                    }
                    else
                    {
                        dirObj = new Person(director);
                        Spotflix.AddPerson(dirObj);
                    }

                    List <Person> actrs = new List <Person>();
                    Person        actr  = null;
                    foreach (string act in actors)
                    {
                        bool actExist = false;
                        foreach (Person ppl in Spotflix.GetPeopleDB)
                        {
                            if (ppl.GetName() == act)
                            {
                                ppl.AddProfession("Actor");
                                actExist = true;
                                actrs.Add(ppl);
                                break;
                            }
                        }
                        if (actExist == false)
                        {
                            actr = new Person(act);
                            Spotflix.AddPerson(actr);
                            actrs.Add(actr);
                        }
                    }


                    if (name != "" && creator != "" && genre != "" && category != "" && actrs.Count > 0 && director != "" && studio != "" &&
                        relYear > 0 && description != "" && resolution != "" && aspectRatio != "")
                    {
                        Console.Clear();
                        Name        = name;
                        Creator     = creator;
                        Genre       = genre;
                        Category    = category;
                        Actors      = actrs;
                        Director    = dirObj;
                        Studio      = studio;
                        PubYear     = relYear;
                        Description = description;
                        Resolution  = resolution;
                        AspectRatio = aspectRatio;
                        return;
                    }
                    Console.Clear();
                }

                else if (sel == metaMenu[12]) //Back[12]
                {
                    return;
                }
            }
        }