private void menuItemDropProcedue_Click(object sender, RoutedEventArgs e) { Window owner = App.FindVisualParent <Window>(this); MessageBoxResult ret = MessageBox.Show(owner, (string)Resources["messageDropSequence"], Properties.Resources.MessageBoxCaption_Drop, MessageBoxButton.YesNo, MessageBoxImage.Warning, MessageBoxResult.Cancel); if (ret != MessageBoxResult.Yes) { return; } Db2SourceContext ctx = Target.Context; string[] sql = ctx.GetDropSQL(Target, string.Empty, string.Empty, 0, false, false); SqlLogger logger = new SqlLogger(); bool failed = false; try { ctx.ExecSqls(sql, logger.Log); } catch (Exception t) { logger.Buffer.AppendLine(ctx.GetExceptionMessage(t)); failed = true; } string s = logger.Buffer.ToString().TrimEnd(); if (!string.IsNullOrEmpty(s)) { if (failed) { MessageBox.Show(owner, s, Properties.Resources.MessageBoxCaption_Error, MessageBoxButton.OK, MessageBoxImage.Error); } else { MessageBox.Show(owner, s, Properties.Resources.MessageBoxCaption_Result, MessageBoxButton.OK, MessageBoxImage.Information); } } if (failed) { return; } TabItem tab = App.FindLogicalParent <TabItem>(this); if (tab != null) { (tab.Parent as TabControl).Items.Remove(tab); Target.Release(); MainWindow.Current.FilterTreeView(true); } }
public void DropTarget(bool cascade) { Window owner = App.FindVisualParent <Window>(this); Db2SourceContext ctx = Target.Context; string[] sql = ctx.GetDropSQL(Target, string.Empty, string.Empty, 0, cascade, false); SqlLogger logger = new SqlLogger(); bool failed = false; try { ctx.ExecSqls(sql, logger.Log); } catch (Exception t) { logger.Buffer.AppendLine(ctx.GetExceptionMessage(t)); failed = true; } string s = logger.Buffer.ToString().TrimEnd(); if (!string.IsNullOrEmpty(s)) { if (failed) { MessageBox.Show(owner, s, Properties.Resources.MessageBoxCaption_Error, MessageBoxButton.OK, MessageBoxImage.Error); } else { MessageBox.Show(owner, s, Properties.Resources.MessageBoxCaption_Result, MessageBoxButton.OK, MessageBoxImage.Information); } } if (failed) { return; } TabItem tab = App.FindLogicalParent <TabItem>(this); if (tab != null) { (tab.Parent as TabControl).Items.Remove(tab); Target.Release(); MainWindow.Current.FilterTreeView(true); } }