Describe() public method

public Describe ( ) : IList
return IList
        public dynamic Build(string formName, string prefix = "")
        {
            var context = new DescribeContext();

            foreach (var provider in _formProviders)
            {
                provider.Describe(context);
            }

            var descriptor = context.Describe().FirstOrDefault(x => x.Name == formName);

            if (descriptor == null)
            {
                return(null);
            }

            var shape           = descriptor.Shape(_shapeFactory);
            var buildingContext = new BuildingContext {
                Shape = shape
            };

            _formEventHandlers.Invoke(dispatch => dispatch.Building(buildingContext), Logger);
            // alter the shapes tree (validation, ajax, ...));
            _formEventHandlers.Invoke(dispatch => dispatch.Built(buildingContext), Logger);

            return(shape);
        }
示例#2
0
        public string Import(string formName, string state, ImportContentContext importContext) {
            var describeContext = new DescribeContext();
            foreach (var provider in _formProviders) {
                provider.Describe(describeContext);
            }

            var descriptor = describeContext.Describe().FirstOrDefault(x => x.Name == formName);

            if (descriptor == null || descriptor.Import == null) {
                return state;
            }

            var dynamicState = FormParametersHelper.ToDynamic(state);
            descriptor.Import(dynamicState, importContext);

            return FormParametersHelper.ToString(dynamicState);
        }
示例#3
0
        public dynamic Build(string formName, string prefix = "") {
            var context = new DescribeContext();
            foreach (var provider in _formProviders) {
                provider.Describe(context);
            }

            var descriptor = context.Describe().FirstOrDefault(x => x.Name == formName);

            if (descriptor == null) {
                return null;
            }

            var shape = descriptor.Shape(_shapeFactory);
            var buildingContext = new BuildingContext { Shape = shape };

            _formEventHandlers.Invoke(dispatch => dispatch.Building(buildingContext), Logger);
            // alter the shapes tree (validation, ajax, ...));
            _formEventHandlers.Invoke(dispatch => dispatch.Built(buildingContext), Logger);

            return shape;
        }
示例#4
0
        public string Import(string formName, string state, ImportContentContext importContext)
        {
            var describeContext = new DescribeContext();

            foreach (var provider in _formProviders)
            {
                provider.Describe(describeContext);
            }

            var descriptor = describeContext.Describe().FirstOrDefault(x => x.Name == formName);

            if (descriptor == null || descriptor.Import == null)
            {
                return(state);
            }

            var dynamicState = FormParametersHelper.ToDynamic(state);

            descriptor.Import(dynamicState, importContext);

            return(FormParametersHelper.ToString(dynamicState));
        }