/// <summary> /// Spausdina filmų duomenys /// </summary> /// <param name="moviesContainer"></param> /// <param name="file"></param> private static void WriteMovieData(MoviesContainer moviesContainer, string file) { using (var writer = new StreamWriter(file, false, Encoding.UTF8)) { writer.WriteLine("Filmo pavadinimas;Leidimo metai;Žanras;Kino studija;Režisierius;Pirmasis aktorius;Antrasis Aktorius;Pelnas \u20AC"); for (int i = 0; i < moviesContainer.Count; i++) { writer.WriteLine(moviesContainer.GetMovie(i).ToString()); } } }
/// <summary> /// Kino megėjui sudaro rekomenduojamų filmų sąrašą /// </summary> /// <param name="filmEnthusiastMovies"></param> /// <param name="uniqueMovies"></param> /// <returns> Rekomenduojamų filmų sąrašą </returns> private static MoviesContainer FilmEnthusiastsRecommendations(MoviesContainer filmEnthusiastMovies, MoviesContainer uniqueMovies) { var recommendationList = new MoviesContainer(); for (int i = 0; i < uniqueMovies.Count; i++) { if (!filmEnthusiastMovies.Contains(uniqueMovies.GetMovie(i))) { recommendationList.AddMovie(uniqueMovies.GetMovie(i)); } } return(recommendationList); }
/// <summary> /// Suranda filmus, kuriuos peržiūrėjo visi kino megėjai /// </summary> /// <param name="filmEnthusiastsContainer"></param> /// <returns> Gražina filmus, kuriuos peržiūrėjo visi kino megėjai </returns> private static MoviesContainer FilterSeenMovies(FilmEnthusiastsContainer filmEnthusiastsContainer) { var filteredMovies = new MoviesContainer(); var uniqueMovies = new HashSet <Movie>(); for (var i = 0; i < filmEnthusiastsContainer.Count; i++) { for (int j = 0; j < filmEnthusiastsContainer.FilmEnthusiasts[i].MoviesContainer.Count; j++) { uniqueMovies.Add(filmEnthusiastsContainer.FilmEnthusiasts[i].MoviesContainer.GetMovie(j)); } } foreach (var uniqueMovie in uniqueMovies) { filteredMovies.AddMovie(uniqueMovie); } return(filteredMovies); }
/// <summary> /// Įrašo rekomenduojamus filmus į csv failą /// </summary> /// <param name="filmEnthusiastsContainer"></param> /// <param name="uniqueMovies"></param> private static void PrintRecommendedMovies(FilmEnthusiastsContainer filmEnthusiastsContainer, MoviesContainer uniqueMovies) { for (var i = 0; i < filmEnthusiastsContainer.Count; i++) { var recommendedMovies = FilmEnthusiastsRecommendations(filmEnthusiastsContainer.FilmEnthusiasts[i].MoviesContainer, uniqueMovies); if (recommendedMovies.Count != 0) { WriteMovieData(recommendedMovies, $"Rekomendacija_{filmEnthusiastsContainer.FilmEnthusiasts[i].FilmEnthusiastName}_" + $"{filmEnthusiastsContainer.FilmEnthusiasts[i].FilmEnthusiastSurname}.csv"); } } }