public override void PageLeave(XenAdmin.Controls.PageLoadedDirection direction, ref bool cancel) { if (!cancel) { bool targetDisconnected = cancel; Program.Invoke(Program.MainWindow, delegate { if (Connection == null || !Connection.IsConnected) { CrossPoolMigrateWizard.ShowWarningMessageBox(Messages.CPM_WIZARD_ERROR_TARGET_DISCONNECTED); targetDisconnected = true; } }); cancel = targetDisconnected; } if (!cancel && !CrossPoolMigrateWizard.AllVMsAvailable(selectedVMs)) { cancel = true; SetButtonNextEnabled(false); } base.PageLeave(direction, ref cancel); }
protected override bool PerformCheck() { if (ChosenItem != null && (ChosenItem.Connection == null || !ChosenItem.Connection.IsConnected)) { CrossPoolMigrateWizard.ShowWarningMessageBox(Messages.CPM_WIZARD_ERROR_TARGET_DISCONNECTED); return(false); } if (selectedVMs == null || selectedVMs.Count == 0 || Connection == null || selectedVMs.Any(vm => Connection.Resolve(new XenRef <VM>(vm)) == null)) { CrossPoolMigrateWizard.ShowWarningMessageBox(Messages.CPM_WIZARD_VM_MISSING_ERROR); return(false); } return(true); }