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);
            }
        }