// Public Methods (1) /// <summary> /// /// </summary> /// <see cref="ILogCommand.Execute(ILogMessage)"/> public new ILogCommandExecutionResult Execute(ILogMessage orgMsg) { if (!this.CanExecute(orgMsg)) { return(null); } var result = new LogCommandExecutionResult(); result.Command = this; result.Message = orgMsg; try { var ctx = this.CreateBasicExecutionContext(orgMsg); this.OnExecute(ctx); result.Errors = new Exception[0]; result.DoLogMessage = ctx.DoLogMessage; result.MessageValueToLog = ctx.MessageValueToLog; } catch (Exception ex) { var aggEx = ex as AggregateException; if (aggEx != null) { result.Errors = aggEx.InnerExceptions; } else { result.Errors = new Exception[] { ex }; } result.DoLogMessage = false; result.MessageValueToLog = null; } return(result); }
// Public Methods (1) /// <summary> /// /// </summary> /// <see cref="ILogCommand.Execute(ILogMessage)"/> public new ILogCommandExecutionResult Execute(ILogMessage orgMsg) { if (!this.CanExecute(orgMsg)) { return(null); } LogCommandExecutionResult result = new LogCommandExecutionResult(); result.Command = this; result.Message = orgMsg; try { LogCommandExecutionContext ctx = this.CreateBasicExecutionContext(orgMsg); this.OnExecute(ctx); result.Errors = new Exception[0]; result.DoLogMessage = ctx.DoLogMessage; result.MessageValueToLog = ctx.MessageValueToLog; } catch (Exception ex) { AggregateException aggEx = ex as AggregateException; if (aggEx == null) { aggEx = new AggregateException(new Exception[] { ex }); } result.Errors = CollectionHelper.AsArray(aggEx.Flatten().InnerExceptions); result.DoLogMessage = false; result.MessageValueToLog = null; } return(result); }