public static ISBSFormField Create(ISBSForm form, string fieldTypeName)
        {
            if (string.IsNullOrEmpty(fieldTypeName) || fieldTypeName.Equals("text", StringComparison.OrdinalIgnoreCase))
            {
                fieldTypeName = "edit";
            }

            var fieldType = FormFieldTypeRepository.Get(fieldTypeName);

            if (fieldType == null)
            {
                string errorMsg = $"The field type {fieldTypeName} is not recognized";
                throw new ApplicationException(errorMsg);
            }

            SBSFormField instance = Activator.CreateInstance(fieldType.DotNetType) as SBSFormField;

            if (instance != null)
            {
                instance.FieldTypeName = fieldTypeName;
                instance.Form          = form;
            }

            return(instance);
        }
Esempio n. 2
0
 internal SBSFormFieldType(string typename, Type dotnetType)
 {
     this.TypeName   = typename.ToLower();
     this.DotNetType = dotnetType;
     FormFieldTypeRepository.Add(this);
 }