Esempio n. 1
0
        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);
        }
Esempio n. 2
0
        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;
            }
        }