Example #1
0
        void UpdateField()
        {
            var fieldOrder = (int)DataSource[FieldsTableColumn.Order];

            var newFieldType  = cboFieldType.SelectedItem.Value;
            var newHelpText   = txtHelpText.Text.Trim();
            var fieldTitle    = GetFieldTitle();
            var inputSettings = GetInputSettings();
            var formerTitle   = DataSource[FieldsTableColumn.Title].AsString();
            var formerType    = DataType.ByName(DataSource[FieldsTableColumn.Type].AsString());
            var id            = DataSource[FieldsTableColumn.Id].AsInt();

            if (IsAllowedFieldTitle(fieldTitle) && IsUniqueFieldTitle(fieldTitle, formerTitle))
            {
                if (formerType.IsUserDefinedField)
                {
                    if (IsNewField(id))
                    {
                        id = FieldController.AddField(ModuleContext.ModuleId, fieldTitle,
                                                      fieldOrder, newHelpText,
                                                      chkRequired.Checked, newFieldType, txtDefault.Text,
                                                      chkDisplayOnList.Checked, chkShowOnEdit.Checked,
                                                      chkSearchable.Checked, chkRestrictedFormField.Checked,
                                                      chkMultipleValues.Checked, inputSettings,
                                                      txtOutputSettings.Text, chkNormalizeFlag.Checked,
                                                      txtValidationRule.Text, txtValidationMessage.Text,
                                                      txtEditStyle.Text);
                        if (txtDefault.Text != "")
                        {
                            new UserDefinedTableController(ModuleContext).FillDefaultData(id, txtDefault.Text);
                        }
                    }
                    else
                    {
                        FieldController.UpdateField(id, fieldTitle, newHelpText, chkRequired.Checked,
                                                    newFieldType, txtDefault.Text, chkDisplayOnList.Checked,
                                                    chkShowOnEdit.Checked, chkSearchable.Checked,
                                                    chkRestrictedFormField.Checked, chkMultipleValues.Checked,
                                                    inputSettings,
                                                    txtOutputSettings.Text, chkNormalizeFlag.Checked,
                                                    txtValidationRule.Text, txtValidationMessage.Text,
                                                    txtEditStyle.Text);
                    }
                }
                else
                {
                    FieldController.UpdateField(id,
                                                fieldTitle, newHelpText, true, formerType.Name, string.Empty,
                                                chkDisplayOnList.Checked, chkShowOnEdit.Checked, chkSearchable.Checked,
                                                chkRestrictedFormField.Checked, false,
                                                string.Empty,
                                                txtOutputSettings.Text, chkNormalizeFlag.Checked,
                                                string.Empty, string.Empty, string.Empty);
                }
            }
            ListFieldSettings.Update(id, DataType.ByName(newFieldType));
            FormFieldSettings.Update(id, DataType.ByName(newFieldType));
        }