private static void PeselValidationChoice() { int licznik = 0; string p; //tworzenie listy numerów PESEL List <string> pesels = new List <string>(); do { Console.WriteLine(); Console.WriteLine(); Console.WriteLine("Proszę, podaj " + (licznik + 1) + " numer PESEL lub STOP aby zakończyć:"); p = Console.ReadLine(); if (String.Compare(p, "stop", true) != 0) { pesels.Add(p); } licznik++; }while (String.Compare(p, "stop", true) != 0); //tworzenie listy wyników "walidacji" List <PeselValidationResult> peselValidations = new List <PeselValidationResult>(); for (int i = 0; i < pesels.Count; i++) { PeselValidator validator = new PeselValidator(pesels[i]); PeselValidationResult peselValidation = validator.SprawdzPesel(); peselValidations.Add(peselValidation); } //agregacja danych z listy z rezultatami walidacji... zliczanie błędnych i wyświetlanie błędnych oraz zawartości listy bool choiceReportParsed; int choiceReport; do { Console.Clear(); Console.WriteLine("Wybierz typ raportu: (1) na konsolę, (2) do pliku TXT"); Console.WriteLine(); var choiceReportKey = Console.ReadKey(); choiceReportParsed = int.TryParse(choiceReportKey.KeyChar.ToString(), out choiceReport); }while (!choiceReportParsed); IPublisher publisher = null; switch (choiceReport) { case 1: publisher = new ConsolePublisher(); break; case 2: publisher = new FilePublisher(); break; default: publisher = new PublisherKtoryNicNieRobieZebySieNieWysypalo(); break; } Generator generator = new Generator(); Reporter validationsReporter = new Reporter(generator, new IPublisher[] { publisher }); validationsReporter.Report(peselValidations); Console.ReadKey(); }