コード例 #1
0
        public override void OnFinish(object sender, EventArgs e)
        {
            var token      = (FieldValidatorsEntityToken)EntityToken;
            var definition = DynamicFormsFacade.GetFormByName(token.FormName);
            var field      = definition.Model.Fields.Get(token.FieldName);

            var validatorType = Type.GetType(GetBinding <string>("ValidatorType"));
            var message       = GetBinding <string>("Message");
            var attribute     = (FormValidationAttribute)Activator.CreateInstance(validatorType, message);

            field.Attributes.Add(attribute);

            DynamicFormsFacade.SaveForm(definition);

            using (var writer = ResourceFacade.GetResourceWriter())
            {
                var setting = token.FieldName + ".Validation." + attribute.GetType().Name;
                var key     = Localization.GenerateKey(token.FormName, setting);

                writer.AddResource(key, message);
            }

            var editToken     = new FieldValidatorsEntityToken(token.FormName, token.FieldName, validatorType);
            var workflowToken = new WorkflowActionToken(typeof(EditFieldValidatorWorkflow));

            CreateSpecificTreeRefresher().PostRefreshMessages(EntityToken);
            ExecuteAction(editToken, workflowToken);
        }
コード例 #2
0
        private static void UpdateOrder(DynamicFormDefinition formDefinition, string serializedOrder)
        {
            var newOrder = ParseNewOrder(serializedOrder);
            var tmpList  = newOrder.OrderBy(i => i.Value).Select(itm => formDefinition.Model.Fields.Get(itm.Key)).ToList();

            formDefinition.Model.Fields.Clear();

            foreach (var f in tmpList)
            {
                formDefinition.Model.Fields.Add(f);
            }

            DynamicFormsFacade.SaveForm(formDefinition);
        }
コード例 #3
0
        public override void OnFinish(object sender, EventArgs e)
        {
            var name  = GetBinding <string>("Name");
            var model = new DynamicFormDefinition(name);

            DynamicFormsFacade.SaveForm(model);

            var data  = ModelReferenceFacade.GetModelReference(name);
            var token = data.GetDataEntityToken();

            var workflowToken = new WorkflowActionToken(typeof(EditFormWorkflow));

            CreateSpecificTreeRefresher().PostRefreshMessages(EntityToken);
            ExecuteAction(token, workflowToken);
        }
コード例 #4
0
        public override void OnFinish(object sender, EventArgs e)
        {
            var dataSourceToken = (DataSourceEntityToken)EntityToken;

            var entryValue = GetBinding <string>("EntryValue");

            var definition  = DynamicFormsFacade.GetFormByName(dataSourceToken.FormName);
            var field       = definition.Model.Fields.Get(dataSourceToken.FieldName);
            var datasSource = field.DataSource.Select(itm => itm.Key).ToList();

            datasSource.Add(entryValue);

            var dataSourceAttribute = field.Attributes.OfType <StringBasedDataSourceAttribute>().First();

            field.Attributes.Remove(dataSourceAttribute);

            dataSourceAttribute = new StringBasedDataSourceAttribute(datasSource.ToArray());

            field.Attributes.Add(dataSourceAttribute);

            DynamicFormsFacade.SaveForm(definition);

            CreateAddNewTreeRefresher(EntityToken).PostRefreshMessages(new StringBasedDataSourceEntryEntityToken(dataSourceToken.FormName, dataSourceToken.FieldName, entryValue));
        }