/// <summary> /// Wrapper for Processing Code. Adding Events. /// </summary> /// <param name="args"></param> private void ProcessingWrapper(object state) { var args = (EventArgsContainer)state; var started = new EventProcessingStartedEventArgs(args); Config.Instance.WriteLog(this, $"Invoking ProcessingStarted Event for {args?.Sender?.StringRepresentation} and Event {args?.EventDefinition?.EventType}.", LogType.Info); try { InvokeCancelEvent(ProcessingStarted, started); } catch (Exception e) { Config.Instance.WriteLog(this, $"Exception on user defined ProcessingStarted EventHandler: \r\n {e.ToString()}".AttachCallerInformation(), LogType.Error); } if (started.Cancel) { Config.Instance.WriteLog(this, $"ProcessingStarted canceled further processing for {args?.Sender?.StringRepresentation} and Event {args?.EventDefinition?.EventType}.", LogType.Info); } if (started.Cancel) { return; } var finished = new EventProcessingFinishedEventArgs(args, started); Config.Instance.WriteLog(this, $"Invoking ProcessingFinished Event for {args?.Sender?.StringRepresentation} and Event {args?.EventDefinition?.EventType}.", LogType.Info); try { InvokeCancelEvent(ProcessingFinished, finished); }catch (Exception e) { Config.Instance.WriteLog(this, $"Exception on user defined ProcessingFinished EventHandler: \r\n {e.ToString()}".AttachCallerInformation(), LogType.Error); } if (finished.Cancel) { Config.Instance.WriteLog(this, $"ProcessingFinished canceled further processing for {args?.Sender?.StringRepresentation} and Event {args?.EventDefinition?.EventType}.", LogType.Info); } if (finished.Cancel) { return; } Storing(finished); }
internal EventProcessingFinishedEventArgs(IEventStore eventArgsContainer, EventProcessingStartedEventArgs eventProcessingStartedEventArgs) { EventArgsContainer = eventArgsContainer; ProcessingStarted = eventProcessingStartedEventArgs.ProcessingStarted; ProcessingFinished = DateTime.Now; }