public VideoEnthusiast(string videoEnthusiastName, string videoEnthusiastSurname, string yearOfBirth, string city) { VideoEnthusiastName = videoEnthusiastName; VideoEnthusiastSurname = videoEnthusiastSurname; YearOfBirth = yearOfBirth; City = city; Videos = new VideoContainer(); }
/// <summary> /// Surašo visus duomenis į failą /// </summary> /// <param name="filename">Įvesties failo pavadinimas</param> /// <param name="container">Įrašų konteineris</param> static void WriteToFileAll(string filename, VideoContainer container) { using (var writer = new StreamWriter(filename)) { for (int i = 0; i < container.Count; i++) { writer.WriteLine(container.Get(i)); } } }
/// <summary> /// Sudaro įrašų sarašą, kuriuos peržiūrėjo visi mėgėjai. /// Jeigu nurodytas enthusiastFor parametras, ieško filmų ir serialų, kuriuos matė visi išskyrus nurodytas enthusiastFor /// </summary> /// <param name="enthusiasts">Įrašų entuziastai</param> /// <param name="enthusiastFor">Kinomanas, kuriam sudarom rekomendacijų sarašą</param> /// <returns></returns> static VideoContainer GetMovies(VideoEnthusiastsContainer enthusiasts, VideoEnthusiast enthusiastFor) { Video[] allMovies = new Video[1000]; int n = 0; // Surenka visus filmus for (int i = 0; i < enthusiasts.Count; i++) { var enthusiast = enthusiasts.Get(i); int m; var videos = enthusiast.GetUniqueVideos(out m); for (int j = 0; j < m; j++) { if (!allMovies.Contains(videos[j])) { allMovies[n++] = videos[j]; } } } VideoContainer allSaw = new VideoContainer(); // Ciklu eina per visus filmus ir kitam cikle tikrina, ar visi kinomanai jį matė for (int i = 0; i < n; i++) { bool all = true; for (int j = 0; j < enthusiasts.Count; j++) { int m; var enthusiastMovies = enthusiasts.Get(j).GetUniqueVideos(out m); // Jeigu tas pats kinomanas matė filmą, reiškia jo neįtrauksim į rekomenduojamų sarasą if (enthusiastFor != null && enthusiastMovies.Contains(allMovies[i]) && enthusiasts.Get(j) == enthusiastFor) { all = false; } // Jeigu tas pats kinomanas, netikrinam ar jis matęs filmą if (enthusiastFor != null && enthusiasts.Get(j) == enthusiastFor) { continue; } if (!enthusiastMovies.Contains(allMovies[i])) { all = false; } } if (all) { allSaw.AddVideo(allMovies[i]); } } return(allSaw); }