Beispiel #1
0
        public virtual ActionResult Validate()
        {
            var parameter = dispatcher.Query(new GetMvdParameterQuery()
            {
                Params = HttpContext.Request.Params
            });
            // ReSharper disable once UnusedVariable
            var instance = dispatcher.Query(new CreateByTypeQuery()
            {
                Type = parameter.Type, ControllerContext = this.ControllerContext, ModelState = ModelState
            });

            return(ModelState.IsValid ? IncodingResult.Success() : IncodingResult.Error(ModelState));
        }
        public virtual ActionResult Query(string incType, string incGeneric, bool?incValidate)
        {
            var query = Create(incType, incGeneric);

            if (incValidate.GetValueOrDefault(false) && !ModelState.IsValid)
            {
                return(IncodingResult.Error(ModelState));
            }

            var result = dispatcher.GetType()
                         .GetMethod("Query")
                         .MakeGenericMethod(query.GetType().BaseType.With(r => r.GetGenericArguments()[0]))
                         .Invoke(dispatcher, new[] { query, null });

            return(IncJson(result));
        }
Beispiel #3
0
        public ActionResult SignIn(GetUserByCredentialQuery query)
        {
            var user = this.dispatcher.Query(query);

            if (user == null)
            {
                ModelState.AddModelError("Server", "Invalid login or password");
                return(IncodingResult.Error(ModelState));
            }

            if (!user.Activated)
            {
                ModelState.AddModelError("Server", "Your account not confirmed");
                return(IncodingResult.Error(ModelState));
            }

            IoCFactory.Instance.TryResolve <IFormAuthentication>().SignIn(user.Id.ToString(), true);
            return(IncRedirectToAction("Index", "Browsio"));
        }
Beispiel #4
0
        public virtual ActionResult Query()
        {
            var parameter = dispatcher.Query(new GetMvdParameterQuery()
            {
                Params = HttpContext.Request.Params
            });
            var query = dispatcher.Query(new CreateByTypeQuery()
            {
                Type = parameter.Type, ControllerContext = this.ControllerContext, ModelState = ModelState
            });

            if (parameter.IsValidate && !ModelState.IsValid)
            {
                return(IncodingResult.Error(ModelState));
            }

            var composite = new CommandComposite((IMessage)query);

            return(TryPush(commandComposite => dispatcher.Query(new MVDExecute(HttpContext)
            {
                Instance = composite
            }), composite, setting => setting.SuccessResult = () => IncodingResult.Success(composite.Parts[0].Result), isAjax: true));
        }
Beispiel #5
0
        public virtual ActionResult Render()
        {
            var parameter = dispatcher.Query(new GetMvdParameterQuery()
            {
                Params = HttpContext.Request.Params
            });
            object model = null;

            if (!string.IsNullOrWhiteSpace(parameter.Type))
            {
                var instance = dispatcher.Query(new CreateByTypeQuery()
                {
                    Type = parameter.Type,
                    ControllerContext = ControllerContext,
                    ModelState        = ModelState,
                    IsModel           = parameter.IsModel
                });

                if (parameter.IsValidate && !ModelState.IsValid)
                {
                    return(IncodingResult.Error(ModelState));
                }

                model = parameter.IsModel ? instance : dispatcher.Query(new MVDExecute(HttpContext)
                {
                    Instance = new CommandComposite((IMessage)instance)
                });
            }

            ModelState.Clear();

            var isAjaxRequest = HttpContext.Request.IsAjaxRequest();

            return(isAjaxRequest
                           ? (ActionResult)IncPartialView(parameter.View, model)
                           : Content(RenderToString(parameter.View, model)));
        }