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); }
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; } } }
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; } } }