private void StoreLocally(ProcessCompletedEventArgs e, MeasurementPersistResult result) { if (string.IsNullOrEmpty(this.LocalStoreFolder)) { log.Append(string.Format("Local storage is disabled. Data from {0} is lost.", e.Source), EventLogEntryType.Warning, true); return; } if (!System.IO.Directory.Exists(this.LocalStoreFolder)) { System.IO.Directory.CreateDirectory(this.LocalStoreFolder); } string filename = string.Format("{0}-{1}.xml", DateTime.Now.ToString("yyyyMMddHHmmssfff"), e.Source.GetSafeFileName()); if (null != result && null != result.SaveResult) { // remove successfully saved measurements from package before local storage List <MeasurementModel> failedMeasurements = new List <MeasurementModel>(); foreach (var f in result.SaveResult.Failures) { // list failed measurements failedMeasurements.Add(e.MeasurementPackage.Measurements[f.Index]); } // remowe all measurements and add failed measurements e.MeasurementPackage.Measurements.Clear(); e.MeasurementPackage.Measurements = failedMeasurements; } this.SerializeToFile(e.MeasurementPackage, System.IO.Path.Combine(this.LocalStoreFolder, filename)); }
// Default event handler pattern, see: https://msdn.microsoft.com/en-us/library/w369ty8x.aspx private void OnProcessCompleted(ProcessCompletedEventArgs e) { var handler = ProcessCompleted; if (null != handler) { handler(this, e); } }
static void im_ProcessCompleted(object sender, ProcessCompletedEventArgs e) { sw.Stop(); Console.WriteLine("Got results from measurer. {0}Plugin Process method took {1}.", Environment.NewLine, sw.Elapsed); var xml = SerializeHelper.SerializeToStringWithDCS <MeasurementPackage>(e.MeasurementPackage); System.IO.File.WriteAllText(Output, xml); Console.WriteLine(string.Format("{0} measurements with key {1} serialized to {2}.", e.MeasurementPackage.Measurements.Count, e.MeasurementPackage.Key, Output)); Console.WriteLine(string.Format("{0}Press any key to exit.", Environment.NewLine)); }
private bool Persist(ProcessCompletedEventArgs e, bool storeLocallyIfFailed = true) { bool saved = false; MeasurementPersistResult result = null; try { result = this.repository.Persist(e.MeasurementPackage); if (null == result || !result.Persisted) { if (storeLocallyIfFailed) { this.StoreLocally(e, result); if (null != result.Exception) { log.Append(string.Format("Persist to {1} failed for {2} with exception.{0}{0}Measurements stored locally.{0}{0}Exception details: {3}", Environment.NewLine, this.repository.Name, e.Source, result.Exception.ToString()), EventLogEntryType.Warning, true); } else { log.Append(string.Format("Persist to {1} failed for {2}.{0}{0}Measurements stored locally.", Environment.NewLine, this.repository.Name, e.Source), EventLogEntryType.Warning, true); } } lock (locker) { this.lastSaveState = false; } } else { saved = true; // save was successfull lock (locker) { this.lastSaveState = true; } } } catch (Exception ex) { lock (locker) { this.lastSaveState = false; } log.Append(string.Format("Persist to {1} failed for {2}.{0}{0}Exception details: {3}", Environment.NewLine, this.repository.Name, e.Source, ex.ToString()), EventLogEntryType.Error, true); if (storeLocallyIfFailed) { this.StoreLocally(e, result); } } return(saved); }
private void FFmpeg_Completed(object sender, ProcessCompletedEventArgs e) { Dispatcher.Invoke(() => { ProcessWorker Proc = sender as ProcessWorker; if (e.Status == CompletionStatus.Failed && !Proc.WorkProcess.StartInfo.FileName.EndsWith("avs2pipemod.exe")) { FFmpegErrorWindow.Instance(Owner, Proc); } if (autoClose) { this.Close(); } }); }
void localStoreTimer_Elapsed(object sender, System.Timers.ElapsedEventArgs e) { if (!this.lastSaveState) { // do nothing if last save state was false. return; } System.IO.DirectoryInfo di = new DirectoryInfo(this.LocalStoreFolder); if (!di.Exists) { return; } // pause timer System.Timers.Timer t = (System.Timers.Timer)sender; t.Stop(); // get files var files = di.GetFiles("*.xml").Take(this.localStorePurgeCount); if (null != files && files.Count() > 0) { log.Append(string.Format("Read {0} xml files from local store {1}.", files.Count(), this.LocalStoreFolder), EventLogEntryType.Information, true); Measurements.Models.MeasurementPackage mp; ProcessCompletedEventArgs pe; bool saveSuccessfull = false; foreach (var f in files) { try { mp = SerializeHelper.DeserializeWithDCS <Measurements.Models.MeasurementPackage>(System.IO.File.ReadAllText(f.FullName)); if (!string.IsNullOrEmpty(mp.Key)) { // try to save only packages with key. pe = new ProcessCompletedEventArgs("local store", mp); saveSuccessfull = this.Persist(pe, false); if (saveSuccessfull) { // local store data successfully saved to back end --> delete local file f.Delete(); log.Append(string.Format("Successfully saved measurements from file {0}. The file was deleted.", f.FullName), EventLogEntryType.Information, true); } else { log.Append(string.Format("Could not save measurements from file {0}.", f.FullName), EventLogEntryType.Warning, true); } } } catch (Exception ex) { log.Append(string.Format("Deserializing local store file {1} failed.{0}{0}Details: {2}", Environment.NewLine, f.FullName, ex.ToString()), EventLogEntryType.Warning, 300, true); } if (!this.lastSaveState) { // break looping if lastSaveState changes to false during local store purge. break; } } } t.Start(); // re-start local store timer. }
void measurer_ProcessCompleted(object sender, ProcessCompletedEventArgs e) { this.Persist(e); }
/// <summary> /// Handles response from Cancel Order Command. /// </summary> void OnProcessCompleted(object sender, ProcessCompletedEventArgs e) { tbResult.Text = e.Error == null?Enum.GetName(typeof(ErrorCodes), e.Result) : e.Error.Message; }
/// <summary> /// Handles response from Cancel Order Command. /// </summary> void OnProcessCompleted(object sender, ProcessCompletedEventArgs e) { tbResult.Text = e.Error == null ? Enum.GetName(typeof(ErrorCodes), e.Result) : e.Error.Message; }
private static void Crawler_OnProcessCompleted(object sender, ProcessCompletedEventArgs e) { Console.Beep(1000, 100); }
private ProcessCompletedEventArgs OnProcessCompletedForOut() { ProcessCompletedEventArgs args = new ProcessCompletedEventArgs(); OnProcessCompleted(args); return args; }
protected virtual void OnProcessCompleted(ProcessCompletedEventArgs e) { if (ProcessCompleted != null) ProcessCompleted(this, e); }