public void Execute(object parameter) { var context = new ExitContext(); try { OnExecuteEntry(); execute(parameter); } catch (Exception ex) { context.AddException(ex); } finally { OnExecuteExit(context); } }
protected override void OnExecuteExit(ExitContext context) { viewModel.SetState(context.ExceptionsOccured ? ViewModelState.Faulted : ViewModelState.Still); base.OnExecuteExit(context); }
/// <summary> /// Runs after Execute call even if it raised exceptions in process /// </summary> protected virtual void OnExecuteExit(ExitContext context) { }