public override void PageLeave(PageLoadedDirection direction, ref bool cancel) { if (direction == PageLoadedDirection.Forward && IsDirty) { if (IsUri() && !PerformCheck(CheckDownloadFromUri)) { cancel = true; base.PageLeave(direction, ref cancel); return; } if (!PerformCheck(CheckIsSupportedType, CheckPathExists)) { cancel = true; base.PageLeave(direction, ref cancel); return; } if (!PerformCheck(CheckIsCompressed)) { cancel = true; base.PageLeave(direction, ref cancel); return; } var checks = new List <CheckDelegate>(); switch (TypeOfImport) { case ImportWizard.ImportType.Xva: checks.Add(GetDiskCapacityXva); break; case ImportWizard.ImportType.Ovf: checks.Add(LoadAppliance); break; case ImportWizard.ImportType.Vhd: checks.Add(GetDiskCapacityImage); break; } if (!PerformCheck(checks.ToArray())) { cancel = true; base.PageLeave(direction, ref cancel); return; } if (TypeOfImport == ImportWizard.ImportType.Ovf && OVF.HasEncryption(SelectedOvfEnvelope)) { cancel = true; m_tlpEncryption.Visible = true; m_buttonNextEnabled = false; OnPageUpdated(); } } base.PageLeave(direction, ref cancel); }
protected override void PageLeaveCore(PageLoadedDirection direction, ref bool cancel) { if (direction == PageLoadedDirection.Forward && IsDirty) { if (IsUri() && !Download()) { cancel = true; return; } if (!PerformCheck(CheckIsSupportedType, CheckPathExists)) { cancel = true; return; } string extension = Path.GetExtension(FilePath).ToLower(); if (extension == ".gz") { if (!PerformCheck(CheckSourceIsWritable) || !Uncompress()) { cancel = true; return; } } CheckDelegate check = null; switch (TypeOfImport) { case ImportWizard.ImportType.Xva: check = GetDiskCapacityXva; break; case ImportWizard.ImportType.Ovf: check = LoadAppliance; break; case ImportWizard.ImportType.Vhd: check = GetDiskCapacityImage; break; } if (!PerformCheck(check)) { cancel = true; return; } if (TypeOfImport == ImportWizard.ImportType.Ovf && OVF.HasEncryption(SelectedOvfEnvelope)) { cancel = true; m_tlpEncryption.Visible = true; m_buttonNextEnabled = false; OnPageUpdated(); } } }