public void Handle(DateTime startDate) { PrepareDataset(); Console.WriteLine("Pripravuje se prostredi"); TaskSearch = RunTask(() => SearchInsolvencyProceedings(startDate, DateTime.Now.AddDays(-1))); TaskWs = RunTasks(WsThreads, () => RequestsToWs()); TaskStore = RunTasks(StoreThreads, () => StoreToHlidacStatu()); var start = DateTime.Now; while (TaskStore.Any(t => t.Status == TaskStatus.Running)) { PrintHeader(); Console.WriteLine($" Nacteno z vyhledavani: {ReadFromSearch}"); Console.WriteLine($" Ceka na nacteni detailu: {ForDetailRequest.Count}"); Console.WriteLine($" Ceka a odeslani do hlidace: {ForStore.Count}"); Console.WriteLine($" Celkove ulozeno: {StoredItems}"); Console.WriteLine(); Console.WriteLine($" Odlisna spisova znacka: {InvalidFileNumber}"); Console.WriteLine($" Znepristupneno: {Disabled}"); Console.WriteLine(); Console.WriteLine($" Posledni nactene obdobi: {LastFinishedPeriodInSearch: dd.MM.yyyy}"); Console.WriteLine($" Posledni ulozeny zaznam: {LastStoredItem: dd.MM.yyyy}"); Console.WriteLine(); Console.WriteLine($" Vyhledavaci vlakno: {TaskSearch.Status}"); Console.WriteLine($" Vlakno WS: {string.Join(", ", TaskWs.Select(t => t.Status.ToString()))}"); Console.WriteLine($" Vlakno ukladani: {string.Join(", ", TaskStore.Select(t => t.Status.ToString()))}"); Console.WriteLine(); var duration = DateTime.Now - start; Console.WriteLine($" Doba behu: {duration.Hours:00}:{duration.Minutes:00}:{duration.Seconds:00}"); Console.WriteLine(); try { if (Errors.Any()) { Console.WriteLine($" Chyby:"); foreach (var error in Errors) { Console.WriteLine($" > {error}"); } } } catch (Exception) { // do nothing } Thread.Sleep(1000); } }