private void ProcessableBusiness_OnUpdate(object sender, ProcessorEventArgs e) { var process = sender as IProcessable; Value = e.Progress; OnUpdate?.Invoke(process, e); }
protected virtual void OnUpdate(object sender, ProcessorEventArgs e) { if (e == null) { return; } }
public void MultiplierCallback(object sender, ProcessorEventArgs args) { lock (pblock) { var dbBatch = _batchRepository.GetBatches(args.BatchId, GroupId); if (dbBatch != null) { dbBatch.Total += args.ComputedNumber; dbBatch.TotalRemainingItem = --dbBatch.TotalRemainingItem; dbBatch.TotalProcessedItem = ++dbBatch.TotalProcessedItem; _batchRepository.SaveBatch(dbBatch, EntityState.Modified); } else { Batch batch = new Batch() { GroupId = GroupId, BatchId = args.BatchId, Total = args.ComputedNumber, TotalRemainingItem = ItemsPerBatch - 1, TotalProcessedItem = 1 }; _batchRepository.SaveBatch(batch, EntityState.Added); } } }
private void ProcessableBusiness_OnStart(object sender, ProcessorEventArgs e) { var process = sender as IProcessable; Maximum = process.MaxValue; Minimum = process.MinValue; Value = e.Progress; OnStart?.Invoke(process, e); }
public void ActiveAsync(ProcessorEventArgs <T> e) { try { _handler.OnPeristalticEventAsync(e.Item, _callback); } catch { } }
public void Active(ProcessorEventArgs <T> e) { try { if (_resulter.ContainsKey(e.Id)) { _resulter.GetValue(e.Id).Invoke(_handler.OnPeristalticEvent(e.Item)); } } catch (Exception ex) { return; } }
protected virtual void OnFinished(object sender, ProcessorEventArgs e) { if (InvokeRequired) { BeginInvoke((MethodInvoker) delegate() { UseWaitCursor = false; DialogResult = DialogResult.OK; }); } else { UseWaitCursor = false; DialogResult = DialogResult.OK; } }
protected virtual void OnStart(object sender, ProcessorEventArgs e) { if (InvokeRequired) { BeginInvoke((MethodInvoker) delegate() { UseWaitCursor = true; ProgressBar.Dock = DockStyle.Fill; panelProgress.Controls.Add(ProgressBar); }); } else { UseWaitCursor = true; ProgressBar.Dock = DockStyle.Fill; panelProgress.Controls.Add(ProgressBar); } }
public void Multiplier(int batchId, int number) { int randNum = new Random().Next(2, 5); ProcessorEventArgs ProcessorEventArgs = new ProcessorEventArgs { BatchId = batchId, ComputedNumber = randNum * number, }; _logger.LogInformation("Batch Id: =" + batchId + " GeneratedNo =" + number + " Multiplier Number: =" + randNum + " Computed No= " + randNum * number); Task b = Task.Delay(5000); b.Wait(); OnNumberGeneration(ProcessorEventArgs); }
public Task GetGenerateNumberTask(int batchId) { return(Task.Run(() => { int generatedNumber = GenerateNumber(); _logger.LogInformation("Batch Id: =" + batchId + "Generated No: =" + generatedNumber); Task.Delay(5000).Wait(); ProcessorEventArgs generatorEventArgs = new ProcessorEventArgs { BatchId = batchId, ComputedNumber = generatedNumber }; OnNumberGeneration(generatorEventArgs); })); }
/// <summary> /// Handles the BeginProcessing event, which occurs immediately before the processor begins /// processing the filter stack. /// </summary> /// <param name="sender">The instance of the image processor</param> /// <param name="e">The processor event arguments.</param> protected virtual void OnBeginProcessing(object sender, ProcessorEventArgs e) { }
/// <summary> /// Handles the BeginProcessing event, which occurs immediately before the processor begins /// processing the filter stack. /// </summary> /// <param name="sender">The instance of the image processor</param> /// <param name="e">The processor event arguments.</param> protected virtual void OnBeginProcessing(object sender, ProcessorEventArgs e) { }
void OnNumberGeneration(ProcessorEventArgs generatorEventArgs) { MultiplierEventHandler?.Invoke(this, generatorEventArgs); }
/// <summary> /// 触发Action /// </summary> /// <typeparam name="T"></typeparam> /// <param name="e"></param> public void Active(ProcessorEventArgs <T> e) { Handler.OnPeristalticEvent(e.Item); }
/// <summary> /// 触发Action并进行异步回调 /// </summary> /// <typeparam name="T"></typeparam> /// <param name="e"></param> public void ActiveAsync(ProcessorEventArgs <T> e) { Handler.OnPeristalticEventAsync(e.Item, Callback); }
public void OnNumberGeneration(ProcessorEventArgs generatorEventArgs) { GeneratorEventHandler?.Invoke(this, generatorEventArgs); }
public void GeneratorCallback(object sender, ProcessorEventArgs args) { _multiplierManager.Multiplier(args.BatchId, args.ComputedNumber); }