internal override void PerformAction() { CountryConfig.SystemRow systemRow = (_senderColumn.Tag as SystemTreeListTag).GetSystemRow(); string newSystemName = systemRow.Name, oldSystemName = systemRow.Name, newSystemYear = systemRow.Year; if (!SystemValidation.GetSystemNameAndYear(_dataConfigFacade != null, ref newSystemName, ref newSystemYear, _senderColumn.TreeList)) { _actionIsCanceled = true; return; } // main action: rename system systemRow.Name = newSystemName; systemRow.Year = newSystemYear; // rename references in database-system-connection (if 'country' isn't an add-on) if (_dataConfigFacade != null) { _dataConfigFacade.RenameSystemInDBSystemConfigRows(systemRow.ID, newSystemName); } // rename references in conditional formatting _countryConfigFacade.RenameSystemInConditionalFormats(oldSystemName, newSystemName); if (_dataConfigFacade != null) { // rename standard-output-files (last parameter (request): ask user if she actually wants this to happen) CopySystemAction.RenameOutputFiles(_countryConfigFacade, systemRow, oldSystemName, true); // change name in global exchange rate file ChangeNameInExchangeRatesConfig(systemRow, oldSystemName); // warn about not-adaptation of AddOn_Applic-policy OptionalWarningsManager.Show(OptionalWarningsManager._renameSystemWarning); } }