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