public override void Execute(ControllerContext context) { var modelState = context.Controller.ViewData.ModelState; if (modelState.IsValid) { var rulesEngine = MvcContrib.Services.DependencyResolver.GetImplementationOf <IRulesEngine>(); ICanSucceed result = rulesEngine.Process(_message); if (result.Successful) { _result = result.Result <TResult>(); Success.ExecuteResult(context); return; } foreach (ErrorMessage errorMessage in result.Errors) { string exception = GetErrorMessage(errorMessage); modelState.AddModelError(UINameHelper.BuildNameFrom(errorMessage.InvalidProperty), exception); } } Failure.ExecuteResult(context); }
public override void Handle(LoginInputMessage message) { var uimessage = new LoginProxyInput { Password = message.Input.Password, Username = message.Input.Username }; ICanSucceed result = _rulesEngine.Process(uimessage); if (result.Successful) { message.Result.Success = true; message.Result.Username = message.Input.Username; } foreach (var errorMessage in result.Errors) { message.Result.Message += errorMessage.Message; } }