/// <summary> /// Stores data and raises OnSaved event. /// </summary> public void SaveData() { // Clear old values mFields = new SearchSettings(); Changed = false; // Create new SearchSettingInfos foreach (ColumnDefinition column in mAttributes) { SearchSettingsInfo ssiOld = null; // Return old data to compare changes if (mInfos != null) { DataRow[] dr = mInfos.Tables[0].Select("name = '" + column.ColumnName + "'"); if ((dr.Length > 0) && (mSearchSettings != null)) { ssiOld = mSearchSettings.GetSettingsInfo((string)dr[0]["id"]); } } var name = column.ColumnName; var content = false; var searchable = false; var tokenized = false; var fieldname = string.Empty; CMSCheckBox chk = (CMSCheckBox)pnlContent.FindControl(name + SearchSettings.CONTENT); if (chk != null) { content = chk.Checked; } chk = (CMSCheckBox)pnlContent.FindControl(name + SearchSettings.SEARCHABLE); if (chk != null) { searchable = chk.Checked; } chk = (CMSCheckBox)pnlContent.FindControl(name + SearchSettings.TOKENIZED); if (chk != null) { tokenized = chk.Checked; } TextBox txt = (TextBox)pnlContent.FindControl(name + SearchSettings.IFIELDNAME); if (txt != null) { fieldname = txt.Text; } bool fieldChanged; var ssi = SearchHelper.CreateSearchSettings(name, content, searchable, tokenized, fieldname, ssiOld, out fieldChanged); if (fieldChanged) { Changed = true; } mFields.SetSettingsInfo(ssi); } // Store values to DB if (mDci != null) { mDci.ClassSearchSettings = mFields.GetData(); DataClassInfoProvider.SetDataClassInfo(mDci); } if (DisplaySaved) { ShowChangesSaved(); } RaiseOnSaved(); }
/// <summary> /// Stores data and raises OnSaved event. /// </summary> public void SaveData() { // Clear old values mFields = new SearchSettings(); Changed = false; // Create new SearchSettingInfos foreach (ColumnDefinition column in mAttributes) { SearchSettingsInfo ssiOld = null; // Return old data to compare changes if (mInfos != null) { DataRow[] dr = mInfos.Tables[0].Select("name = '" + column.ColumnName + "'"); if ((dr.Length > 0) && (mSearchSettings != null)) { ssiOld = mSearchSettings.GetSettingsInfo((string)dr[0]["id"]); } } var name = column.ColumnName; bool content = (pnlContent.FindControl(name + SearchSettings.CONTENT) as CMSCheckBox)?.Checked ?? false; bool searchable = (pnlContent.FindControl(name + SearchSettings.SEARCHABLE) as CMSCheckBox)?.Checked ?? false; bool tokenized = (pnlContent.FindControl(name + SearchSettings.TOKENIZED) as CMSCheckBox)?.Checked ?? false; bool azureContent = (pnlContent.FindControl(name + AzureSearchFieldFlags.CONTENT) as CMSCheckBox)?.Checked ?? false; bool azureRetrievable = (pnlContent.FindControl(name + AzureSearchFieldFlags.RETRIEVABLE) as CMSCheckBox)?.Checked ?? false; bool azureSearchable = (pnlContent.FindControl(name + AzureSearchFieldFlags.SEARCHABLE) as CMSCheckBox)?.Checked ?? false; bool azureFacetable = (pnlContent.FindControl(name + AzureSearchFieldFlags.FACETABLE) as CMSCheckBox)?.Checked ?? false; bool azureFilterable = (pnlContent.FindControl(name + AzureSearchFieldFlags.FILTERABLE) as CMSCheckBox)?.Checked ?? false; bool azureSortable = (pnlContent.FindControl(name + AzureSearchFieldFlags.SORTABLE) as CMSCheckBox)?.Checked ?? false; TextBox txt = pnlContent.FindControl(name + SearchSettings.IFIELDNAME) as TextBox; string fieldname = txt != null ? txt.Text : String.Empty; bool fieldChanged; var flags = new Dictionary <string, bool>(StringComparer.OrdinalIgnoreCase); flags.Add(SearchSettings.CONTENT, content); flags.Add(SearchSettings.SEARCHABLE, searchable); flags.Add(SearchSettings.TOKENIZED, tokenized); if (DisplayAzureFields) { flags.Add(AzureSearchFieldFlags.CONTENT, azureContent); flags.Add(AzureSearchFieldFlags.RETRIEVABLE, azureRetrievable); flags.Add(AzureSearchFieldFlags.SEARCHABLE, azureSearchable); flags.Add(AzureSearchFieldFlags.FACETABLE, azureFacetable); flags.Add(AzureSearchFieldFlags.SORTABLE, azureSortable); flags.Add(AzureSearchFieldFlags.FILTERABLE, azureFilterable); } var ssi = SearchHelper.CreateSearchSettings(name, flags, fieldname, ssiOld, out fieldChanged); if (fieldChanged) { Changed = true; } mFields.SetSettingsInfo(ssi); } // Store values to DB if (mDci != null) { mDci.ClassSearchSettings = mFields.GetData(); DataClassInfoProvider.SetDataClassInfo(mDci); } if (DisplaySaved) { ShowChangesSaved(); } RaiseOnSaved(); }
/// <summary> /// Stores data and raises OnSaved event. /// </summary> public void SaveData() { // Clear old values fields = new SearchSettings(); SearchSettingsInfo ssi; CheckBox chk; TextBox txt; changed = false; // Create new SearchSettingInfos foreach (object[] item in attributes) { object[] obj = item; ssi = new SearchSettingsInfo(); SearchSettingsInfo ssiOld = null; ssi.ID = Guid.NewGuid(); ssi.Name = obj[0].ToString(); // Return old data to compare changes if (infos != null) { DataRow[] dr = infos.Tables[0].Select("name = '" + (string)obj[0] + "'"); if ((dr != null) && (dr.Length > 0) && (ss != null)) { ssiOld = ss.GetSettingsInfo((string)dr[0]["id"]); } } // Store 'Content' value chk = (CheckBox)pnlContent.FindControl(obj[0] + CONTENT); if (chk != null) { // Check change if ((ssiOld != null) && (ssiOld.Content != chk.Checked)) { changed = true; } ssi.Content = chk.Checked; } // Store 'Searchable' value chk = (CheckBox)pnlContent.FindControl(obj[0] + SEARCHABLE); if (chk != null) { // Check change if ((ssiOld != null) && (ssiOld.Searchable != chk.Checked)) { changed = true; } ssi.Searchable = chk.Checked; } // Store 'Tokenized' value chk = (CheckBox)pnlContent.FindControl(obj[0] + TOKENIZED); if (chk != null) { // Check change if ((ssiOld != null) && (ssiOld.Tokenized != chk.Checked)) { changed = true; } ssi.Tokenized = chk.Checked; } // Store 'iFieldname' value txt = (TextBox)pnlContent.FindControl(obj[0] + IFIELDNAME); if (txt != null) { string fieldname = ValidationHelper.GetCodeName(txt.Text.Trim(), null, null); if (fieldname.Length > 200) { fieldname = fieldname.Substring(0, 200); } if (!String.IsNullOrEmpty(fieldname)) { // Check change if ((ssiOld != null) && (ssiOld.FieldName != fieldname)) { changed = true; } ssi.FieldName = fieldname; } } fields.SetSettingsInfo(ssi); } // Store values to DB if (dci != null) { dci.ClassSearchSettings = fields.GetData(); DataClassInfoProvider.SetDataClass(dci); } if (DisplaySaved) { ShowChangesSaved(); } RaiseOnSaved(); }