static public Result Run(Window parent, Table table, string tableName) { var dialog = new GenerateDeletesDialog(table, tableName) { Owner = parent }; return dialog.ShowDialog() ? dialog.result : null; }
void Command_Table_Database_GenerateDeletes(GenerateDeletesDialog.Result result) { var table = GetTable(); var output = Enumerable.Range(0, table.NumRows).Select(row => $"DELETE FROM {result.TableName} WHERE {string.Join(" AND ", result.Where.Select(column => $"{table.GetHeader(column)} = {GetDBValue(table[row, column])}"))}{Data.DefaultEnding}").ToList(); Replace(new List<Range> { FullRange }, new List<string> { string.Join("", output) }); var offset = 0; var sels = new List<Range>(); foreach (var item in output) { sels.Add(Range.FromIndex(offset, item.Length)); offset += item.Length; } Selections.Replace(sels); }