protected override void OnExecute(object parameter)
        {
            var tableDescriptor = parameter as ITableDescriptor;
            var table           = tableDescriptor.Target;
            var tableName       = tableDescriptor.TableInfo.Name;

            var dataBaseName = this.SelectDataBase();

            if (dataBaseName == null)
            {
                return;
            }

            var dataSet1 = this.PreviewOtherTable(dataBaseName, tableName);

            if (dataSet1 != null)
            {
                var dataSet2 = table.Dispatcher.Invoke(() => table.GetDataSet(this.authenticator, -1));
                var dataSet  = new DiffDataSet(dataSet1, dataSet2)
                {
                    Header1 = $"{dataBaseName}: {tableName}",
                    Header2 = $"{this.cremaAppHost.DataBaseName}: {tableName}",
                };

                var dialog = new DiffDataTableViewModel(dataSet.Tables.First())
                {
                    DisplayName = Resources.Title_CompareWithOtherDataBase,
                };
                dialog.ShowDialog();
            }
            else
            {
                AppMessageBox.Show(string.Format(Resources.Message_TableNotFound_Format, tableName));
            }
        }
        protected override void OnExecute(object parameter)
        {
            var viewModel = parameter as LogInfoViewModel;
            var table     = viewModel.Target as ITable;
            var dialog    = new DiffDataTableViewModel(this.Initialize(viewModel, table))
            {
                DisplayName = Resources.Title_CompareWithPreviousResivision,
            };

            dialog.ShowDialog();
        }
        protected override void OnExecute(object parameter)
        {
            var tableDescriptor = parameter as ITableDescriptor;
            var table           = tableDescriptor.Target;

            var dialog = new DiffDataTableViewModel(this.Initialize(table))
            {
                DisplayName = Resources.Title_CompareWithPreviousResivision,
            };

            dialog.ShowDialog();
        }