private void GenerateDataAfterUpdate(object sender, EventArgs e) { _srcMLService.UpdateArchivesCompleted -= GenerateDataAfterUpdate; IsUpdating = true; _srcMonitor.UpdateArchivesAsync() .ContinueWith((t) => { _srcMonitor.Save(); CurrentWorkingSet.InitializeAsync().Wait(); }, TaskContinuationOptions.OnlyOnRanToCompletion) .ContinueWith((t) => { IsUpdating = false; _srcMonitor.StartMonitoring(); CurrentWorkingSet.StartMonitoring(); }, TaskContinuationOptions.OnlyOnRanToCompletion); }
private void RespondToMonitoringStopped(object sender, EventArgs e) { try { if (null != CurrentWorkingSet) { IsMonitoring = false; CurrentWorkingSet.StopMonitoring(); _srcMonitor.StopMonitoring(); CurrentWorkingSet.Dispose(); _srcMonitor.Dispose(); CurrentWorkingSet = null; CurrentDataArchive = null; _srcMonitor = null; } } catch (Exception ex) { SrcMLFileLogger.DefaultLogger.Error(SrcMLExceptionFormatter.CreateMessage(ex, "Exception in SrcMLDataService.RespondToMonitoringStopped")); } }