private static void CreateReportTable(VideoEnthusiast videoEnthusiast, string file) { for (int i = 0; i < videoEnthusiast.VideosEnthusiastsContainer.Count; i++) { using (StreamWriter writer = new StreamWriter(@file)) { writer.WriteLine("Duomenys apie įrašo mėgėją ir jo peržiurėtus įrašus"); writer.WriteLine(new string('-', 218)); writer.WriteLine("| Vardas: {0, -97} |", videoEnthusiast.VideosEnthusiastsContainer.GetVideoEnthusiast(i).VideoEnthusiastName); writer.WriteLine(new string('-', 218)); writer.WriteLine("| Pavardė: {0, -97} |", videoEnthusiast.VideosEnthusiastsContainer.GetVideoEnthusiast(i).VideoEnthusiastSurname); writer.WriteLine(new string('-', 218)); writer.WriteLine("| Gimimo metai: {0, -97} |", videoEnthusiast.VideosEnthusiastsContainer.GetVideoEnthusiast(i).YearOfBirth); writer.WriteLine(new string('-', 218)); writer.WriteLine("| Miestas: {0, -97} |", videoEnthusiast.VideosEnthusiastsContainer.GetVideoEnthusiast(i).City); writer.WriteLine(new string('-', 218)); writer.WriteLine("| {0, -40} | {1,-14} | {2,-30} | {3,-35} | {4,-20} | {5,-20} | {6,-20} | {7,-14} | {8,-14} | {9,-14} | {10,-14} | {11,-14} |", "Pavadinimas", "Filmo leidimo metai", "Žanras", "Studija", "Filmo režisierius", "Aktorius 1", "Aktorius 2", "Filmo Pelnas", "Serialo pradžios metai", "Serialo pabaigos metai", "Serialo serijų skaičius", "Ar tęsiasi serialas"); writer.WriteLine(new string('-', 218)); for (int j = 0; j < videoEnthusiast.VideosContainer.Count; j++) { writer.WriteLine(videoEnthusiast.VideosContainer.GetVideo(j)); } writer.WriteLine(new string('-', 218)); } } }
/// <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); }
/// <summary> /// Skaito įrašų duomenis iš failo /// </summary> /// <param name="file">Įvesties duomenų failo pavadinimas</param> /// <returns>Įrašo entuziastus </returns> private static VideoEnthusiast ReadVideoEnthusiastData(string file) { VideoEnthusiast videoEnthusiast; using (StreamReader reader = new StreamReader(file)) { string line = reader.ReadLine(); string[] values = line.Split(','); string VideoEnthusiastName = values[0]; string VideoEnthusiastSurname = values[1]; string YearOfBirth = reader.ReadLine(); string City = reader.ReadLine(); videoEnthusiast = new VideoEnthusiast(VideoEnthusiastName, VideoEnthusiastSurname, YearOfBirth, City); while (null != (line = reader.ReadLine())) { values = line.Split(','); char type = line[0]; string Name = values[1]; string Genre = values[2]; string Studio = values[3]; string Actor1 = values[4]; string Actor2 = values[5]; switch (type) { case 'M': int Release = int.Parse(values[6]); string Director = values[7]; double Profit = double.Parse(values[8]); Movie movie = new Movie(Name, Genre, Studio, Actor1, Actor2, Release, Director, Profit); if (!videoEnthusiast.Videos.Contains(movie)) { videoEnthusiast.AddVideo(movie); } break; case 'S': string StartDate = values[6]; string EndDate = values[7]; int Episodes = int.Parse(values[8]); string Airing = values[9]; Series series = new Series(Name, Genre, Studio, Actor1, Actor2, StartDate, EndDate, Episodes, Airing); if (!videoEnthusiast.Videos.Contains(series)) { videoEnthusiast.AddVideo(series); } break; } } } return(videoEnthusiast); }
public bool Contains(VideoEnthusiast videoEnthusiast) { return(VideoEnthusiasts.Contains(videoEnthusiast)); }
public void AddVideoEnthusiast(VideoEnthusiast videoEnthusiast, int index) { VideoEnthusiasts[index] = videoEnthusiast; }
public void AddVideoEnthusiast(VideoEnthusiast videoEnthusiast) { VideoEnthusiasts[Count++] = videoEnthusiast; }