private void AsyncSqlPuller_StatusChanged(AsyncReplicaOperations.AsyncSQLConnectPuller sender, AsyncStatusChangedEventArgs e) { if (e.NewStatus == RunningStatusEnum.Completed) { if (!pullers.All(x => x.Status == RunningStatusEnum.Completed)) { AsyncSQLConnectPuller puller = pullers.First(x => x.Status == RunningStatusEnum.NotRunning); puller.operatePull(); } else { this.Notify(); } } }
private static void AsyncSqlPuller_StatusChanged(AsyncSQLConnectPuller sender, AsyncStatusChangedEventArgs e) { if (e.NewStatus == RunningStatusEnum.Completed) { Console.WriteLine("Обработка завершена"); Console.WriteLine(String.Format("Количество обработанных записей {0}, из них успешно {1}, с ошибками {2}", sender.LogList.Count, sender.LogList.Count(x => x.Status == TaskRunningStatus.Success), sender.LogList.Count(x => x.Status == TaskRunningStatus.Failure))); Console.WriteLine("Подробности в файлах лога"); Console.WriteLine(""); Console.WriteLine("================================================"); if (!pullers.All(x => x.Status == RunningStatusEnum.Completed)) { AsyncSQLConnectPuller puller = pullers.FirstOrDefault(x => x.Status == RunningStatusEnum.NotRunning); if (puller != null) { Console.WriteLine(""); Console.WriteLine("================================================"); Console.WriteLine(String.Format("Начинается обработка региона {0}", puller.RegionID)); puller.operatePull(); } } else { if (sqlConnection.State == System.Data.ConnectionState.Open) { sqlConnection.Close(); } if (timer.IsRunning) { timer.Stop(); } Console.WriteLine(String.Format("Обработка завершена за {0:d2}:{1:d2}:{2:d2}", timer.Elapsed.Minutes, timer.Elapsed.Seconds, timer.Elapsed.Milliseconds)); } } }