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); }
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); }
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; }
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)); }