Exemple #1
0
        public string CreateFormTemplate(FormTemplateFormDefinition def)
        {
            if (this.Repository.ContainsKey(def.Name))
            {
                throw new ApplicationException($"The form with the name {def.Name} already exists");
            }

            var form = new SBSFormDefinition(def);

            this.Repository.Add(form.Id, form);

            return(form.Id);
        }
Exemple #2
0
        public bool ChangeFormProperties(FormTemplateFormDefinition def, Dictionary <string, object> changes)
        {
            if (changes == null)
            {
                return(false);
            }

            bool rc = true;

            foreach (var kvp in changes)
            {
                if (kvp.Key.Contains("."))
                {
                    string[] parts     = kvp.Key.Split('.');
                    string   fieldName = parts[0];
                    string   propName  = parts[1];

                    var field = def.Fields.FirstOrDefault(f => f.Name.Equals(fieldName, StringComparison.OrdinalIgnoreCase));
                    if (field != null)
                    {
                        rc = this.ChangeFormOrFieldProp("Field", propName, kvp.Value, field, FieldDefinitionPropsMap);
                    }
                    else
                    {
                        Logger.Error($"Change Field Definition Property: The key {propName} is not valid.");
                        rc = false;
                    }
                }
                else
                {
                    rc = this.ChangeFormOrFieldProp("Form", kvp.Key, kvp.Value, def, FormDefinitionPropsMap);
                }
            }

            return(rc);
        }