コード例 #1
0
        public FilterWidgetResponse BuildWithData(CustomRequestInfo request, RequestQueryString requestQuery)
        {
            if (request != null && request.Value != null)
            {
                var filtersRes = new List <ViewPage>();
                var filterJson = request.Value;
                var exp        = FilterExpression.BuildFromJson(requestQuery.EntityId, filterJson.ToString());
                foreach (var field in exp.GetAll())
                {
                    var formContext = new EditFormContext(Context, EntityCode.User, requestQuery);
                    formContext.Build();

                    var fieldInfo = formContext.Entity.GetFieldSchema(field.FieldName);
                    CreateWidgets(formContext, fieldInfo, field);

                    var page = new ViewPage(formContext);
                    filtersRes.Add(page);
                }

                return(new FilterWidgetResponse()
                {
                    Filters = filtersRes
                });
            }

            return(null);
        }
コード例 #2
0
        public IActionResult GetFilterFieldData([FromBody] CustomRequestInfo request)
        {
            var form = new UI.View.CustomWidgetBuilder.FilterFormBuilder(this.WebAppContext);
            var page = form.BuildWithData(request, this.RequestQuery);

            return(CreateResult(page));
        }
コード例 #3
0
        public FilterWidgetResponse Generate(CustomRequestInfo request, RequestQueryString requestQuery)
        {
            var formContext = new EditFormContext(Context, requestQuery.EntityId, requestQuery);

            formContext.Build();
            if (request != null && request.Value != null)
            {
                JObject fieldId   = (JObject)request.Value;
                var     fid       = fieldId["Value"];
                var     fieldInfo = formContext.Entity.GetFieldSchema(Convert.ToInt32(fid));
                if (fieldInfo == null)
                {
                    throw new EntityException("Invalid field!");
                }

                CreateWidgets(formContext, fieldInfo);
            }

            var page = new ViewPage(formContext);

            var filtersRes = new List <ViewPage>()
            {
                page
            };

            return(new FilterWidgetResponse()
            {
                Filters = filtersRes
            });
        }
コード例 #4
0
        public IActionResult Testx([FromBody] CustomRequestInfo requestInfo)
        {
            var ent = Core.EntityMetaData.Get(EntityCode.User);
            var m   = ent.GetDefault(WebAppContext);

            m.SetValue("SubmitAmount", 200);
            //m.ResolveComputedFields();

            return(Content(m.GetValue("TotalAmount").ToString()));
        }
コード例 #5
0
        private void SetFormModelMapping(CustomRequestInfo reqInfo)
        {
            DynamicObj mapping = null;

            if (this.Field != null && reqInfo.DependencyContext != null && reqInfo.DependencyContext.Dependency != null)
            {
                var childs = reqInfo.DependencyContext.Dependency.Children;
                if (childs != null && childs.Count > 0)
                {
                    mapping = new DynamicObj();
                    var refmetadat = this.Field.Entity;
                    foreach (var c in childs)
                    {
                        var field = refmetadat.GetFieldSchema(c.WidgetId);
                        if (field.IsRelatedField && field.Related.LinkField == this.Field.Name)
                        {
                            mapping.Add(field.Name, field.Related.Field);
                        }
                    }
                }
            }

            this.FormModelMapping = mapping;
        }
コード例 #6
0
        public static FieldActionResponse ProcessFieldEvent(StackAppContext appContext, string type, CustomRequestInfo requestInfo)
        {
            var res = new FieldActionResponse(null);

            return(res);
        }
コード例 #7
0
        public IActionResult ProcessFieldEvent([FromQuery] string type, [FromBody] CustomRequestInfo requestInfo)
        {
            var res = FormEventProcesser.ProcessFieldEvent(WebAppContext, type, requestInfo);

            return(CreateResult(res));
        }
コード例 #8
0
 public IActionResult ExecFunction([FromBody] CustomRequestInfo requestInfo)
 {
     return(null);
 }