/// <summary> /// Shows this dialog for a given account. /// </summary> /// <param name="editableAccount">An <see cref="T:ChangeCoordinator[T]"/> around a given account to show.</param> private static AccountDetailsDialog Show(Workbook workbook, ChangeCoordinator<Account> editableAccount, WizardPageReturnEventHandler returnEventHandler) { AccountDetailsDialog result = null; Account account = null; if (editableAccount != null) { account = editableAccount.OriginalItem; if (account == null) { account = editableAccount.EditableItem; } } if (editableAccount != null && _openWindows.ContainsKey(account)) { result = _openWindows[account]; result.Activate(); } else { WizardPage page = null; if (editableAccount != null) { AccountDetailsPage detailsPage = new AccountDetailsPage(); detailsPage.AccountChangeCoordinator = editableAccount; page = detailsPage; } else { page = new AccountTypePage(workbook); } result = new AccountDetailsDialog(page); if (returnEventHandler != null) { result.Return += returnEventHandler; } result.Show(); if (account != null) { _openWindows[account] = result; result.Closed += new EventHandler( delegate(object sender, EventArgs e) { _openWindows.Remove(account); }); } } return result; }
/// <summary> /// Shows this dialog for a given account. /// </summary> /// <param name="editableAccount">An <see cref="T:ChangeCoordinator[T]"/> around a given account to show.</param> public static AccountDetailsDialog Show(ChangeCoordinator<Account> editableAccount, WizardPageReturnEventHandler returnEventHandler) { return Show(null, editableAccount, returnEventHandler); }