Beispiel #1
0
        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);
        }
Beispiel #2
0
        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);
        }