/// <summary>
        ///     Закриває всі підключення до БД
        /// </summary>
        /// <returns></returns>
        public bool CloseConnection()
        {
            try
            {
                if (FirstDatabase != null &&
                    FirstDatabase.connection != null &&
                    FirstDatabase.connection.State != ConnectionState.Closed)
                {
                    FirstDatabase.CloseConnection();
                }
                if (SecondDatabase != null &&
                    SecondDatabase.connection != null &&
                    SecondDatabase.connection.State != ConnectionState.Closed)
                {
                    SecondDatabase.CloseConnection();
                }
            }
            catch (Exception e)
            {
                Console.WriteLine(e);
                return(false);
            }

            return(true);
        }
        /// <summary>
        ///     Читає дані з 1-ї і 2-ї БД.
        ///     Запити генеруються на основі SelectedColumns
        /// </summary>
        /// <returns></returns>
        public bool ReadDataFromDb()
        {
            try
            {
                var sw = new Stopwatch();
                AdditionalInfo = new Statistic();
                var FirstTask = new Task(() =>
                {
                    FirstData = FirstDatabase.Read(FirstDatabase.BuildSelectQuery(),
                                                   FirstDatabase.FullStringArraySelector);
                    AdditionalInfo.Rows.Add(1, FirstData.Count);
                });
                sw.Start();
                FirstTask.Start();
                var SecondTask = new Task(() =>
                {
                    SecondData = SecondDatabase.Read(SecondDatabase.BuildSelectQuery(),
                                                     SecondDatabase.FullStringArraySelector);
                    AdditionalInfo.Rows.Add(2, SecondData.Count);
                });
                SecondTask.Start();
                Task.WaitAll(FirstTask, SecondTask);
                sw.Stop();
                AdditionalInfo.SelectTime = sw.Elapsed;
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex);
                return(false);
            }

            return(true);
        }