コード例 #1
0
        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);
        }
コード例 #2
0
        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();
                }
            }
        }