public void AddDescription(object sender, ExecutedRoutedEventArgs e) { var databaseInfo = ValidateMenuInfo(sender); if (databaseInfo == null) { return; } try { string desc; ExplorerControl.DescriptionCache = new Helpers.DescriptionHelper().GetDescriptions(databaseInfo.DatabaseInfo); desc = ExplorerControl.DescriptionCache.Where(d => d.Object == null && d.Parent == null).Select(d => d.Description).SingleOrDefault(); var ro = new DescriptionDialog(desc) { IsDatabase = true }; ro.ShowModal(); if (ro.DialogResult.HasValue && ro.DialogResult.Value && !string.IsNullOrWhiteSpace(ro.TableDescription) && ro.TableDescription != desc) { new Helpers.DescriptionHelper().SaveDescription(databaseInfo.DatabaseInfo, ExplorerControl.DescriptionCache, ro.TableDescription, null, null); } DataConnectionHelper.LogUsage("DatabaseAddDescription"); } catch (Exception ex) { DataConnectionHelper.SendError(ex, databaseInfo.DatabaseInfo.DatabaseType, false); } }
internal void UpdateDescriptions(MenuCommandParameters menuInfo, string name) { try { using (var repository = DataConnectionHelper.CreateRepository(menuInfo.DatabaseInfo)) { var tableDesc = ExplorerControl.DescriptionCache.Where(d => d.Object == name && d.Parent == null).Select(d => d.Description).SingleOrDefault(); var ro = new DescriptionDialog(tableDesc) { ColumnsInfo = GetSiblingColumnInfo(repository, name) }; ro.ShowModal(); if (!ro.DialogResult.HasValue || ro.DialogResult.Value != true) { return; } //save table description new Helpers.DescriptionHelper().SaveDescription(menuInfo.DatabaseInfo, ExplorerControl.DescriptionCache, ro.TableDescription, null, menuInfo.Name); //save all columns foreach (var item in ro.ColumnsInfo) { new Helpers.DescriptionHelper().SaveDescription(menuInfo.DatabaseInfo, ExplorerControl.DescriptionCache, item.Description, name, item.Name); } ExplorerControl.DescriptionCache = new Helpers.DescriptionHelper().GetDescriptions(menuInfo.DatabaseInfo); ((ExplorerControl)ParentWindow.Content).RefreshTables(menuInfo.DatabaseInfo); DataConnectionHelper.LogUsage("TableUpdateDescriptions"); } } catch (Exception ex) { DataConnectionHelper.SendError(ex, menuInfo.DatabaseInfo.DatabaseType, false); } }