public void Save() { bool hasErrors = false; foreach (KeyValuePair <string, DataEditorSettingType> k in dtSettings) { var result = k.Value.Validate(); Label lbl = _phSettings.FindControlRecursive <Label>("lbl" + k.Key); if (result == null && lbl != null) { if (lbl != null) { lbl.Text = string.Empty; } } else { if (hasErrors == false) { hasErrors = true; } if (lbl != null) { lbl.Text = " " + result.ErrorMessage; } } } if (!hasErrors) { _datatype.DBType = (umbraco.cms.businesslogic.datatype.DBTypes) Enum.Parse(typeof(umbraco.cms.businesslogic.datatype.DBTypes), _dropdownlist.SelectedValue, true); // Generate data-string string data = _dropdownlistUserControl.SelectedValue; // If the add new prevalue textbox is filled out - add the value to the collection. using (var sqlHelper = Application.SqlHelper) { IParameter[] SqlParams = new IParameter[] { sqlHelper.CreateParameter("@value", data), sqlHelper.CreateParameter("@dtdefid", _datatype.DataTypeDefinitionId) }; sqlHelper.ExecuteNonQuery("delete from cmsDataTypePreValues where datatypenodeid = @dtdefid", SqlParams); // we need to populate the parameters again due to an issue with SQL CE SqlParams = new IParameter[] { sqlHelper.CreateParameter("@value", data), sqlHelper.CreateParameter("@dtdefid", _datatype.DataTypeDefinitionId) }; sqlHelper.ExecuteNonQuery( "insert into cmsDataTypePreValues (datatypenodeid,[value],sortorder,alias) values (@dtdefid,@value,0,'')", SqlParams); } //settings DataEditorSettingsStorage ss = new DataEditorSettingsStorage(); //ss.ClearSettings(_datatype.DataTypeDefinitionId); int i = 0; foreach (KeyValuePair <string, DataEditorSettingType> k in dtSettings) { ss.InsertSetting(_datatype.DataTypeDefinitionId, k.Key, k.Value.Value, i); i++; } ss.Dispose(); if (dtSettings.Count == 0) { if (!string.IsNullOrEmpty(Configuration)) { LoadSetttings(Configuration); } } } }