コード例 #1
0
ファイル: LVMoHBA.cs プロジェクト: zhukaixy/xenadmin-yeesan
            public void ShowWarnings()
            {
                bool repeatForRemainingLUNs       = false;
                UserSelectedOption selectedOption = UserSelectedOption.Cancel;

                foreach (LvmOhbaSrDescriptor lvmOhbaSrDescriptor in inputSrDescriptors)
                {
                    if (!repeatForRemainingLUNs)
                    {
                        selectedOption = GetSelectedOption(lvmOhbaSrDescriptor, out repeatForRemainingLUNs);
                    }

                    switch (selectedOption)
                    {
                    case UserSelectedOption.Format:
                        lvmOhbaSrDescriptor.UUID = null;
                        SrDescriptors.Add(lvmOhbaSrDescriptor);
                        break;

                    case UserSelectedOption.Reattach:
                        SrDescriptors.Add(lvmOhbaSrDescriptor);
                        break;

                    case UserSelectedOption.Cancel:
                        SrDescriptors.Clear();
                        Cancelled = true;
                        return;
                    }
                }
            }
コード例 #2
0
ファイル: LVMoHBA.cs プロジェクト: jlmc-miranda/xenadmin
            private void ProcessSelectedOption(UserSelectedOption selectedOption, FibreChannelDescriptor descriptor)
            {
                switch (selectedOption)
                {
                case UserSelectedOption.Format:
                    descriptor.UUID = null;
                    SrDescriptors.Add(descriptor);     // descriptor of requested SR
                    break;

                case UserSelectedOption.Reattach:
                    SrDescriptors.Add(inputSrDescriptors[descriptor]);     // value = descriptor of existing SR
                    break;

                case UserSelectedOption.Cancel:
                    SrDescriptors.Clear();
                    Cancelled = true;
                    return;
                }
            }
コード例 #3
0
ファイル: LVMoHBA.cs プロジェクト: jlmc-miranda/xenadmin
            public void ShowWarnings()
            {
                // process LUNs where existing SRs have been found
                bool repeatForRemainingLUNs       = false;
                UserSelectedOption selectedOption = UserSelectedOption.Cancel;
                var descriptors = inputSrDescriptors.Keys.Where(d => inputSrDescriptors[d] != null).ToList();

                foreach (var descriptor in descriptors)
                {
                    if (!repeatForRemainingLUNs)
                    {
                        var remainingCount = descriptors.Count - 1 - descriptors.IndexOf(descriptor);
                        var existingSrType = inputSrDescriptors[descriptor].SrType;

                        selectedOption = GetSelectedOption(descriptor, remainingCount, true, existingSrType, out repeatForRemainingLUNs);
                    }
                    ProcessSelectedOption(selectedOption, descriptor);
                }

                if (Cancelled)
                {
                    return;
                }

                // process LUNs where no existing have been found
                repeatForRemainingLUNs = false;
                selectedOption         = UserSelectedOption.Cancel;
                descriptors            = inputSrDescriptors.Keys.Where(d => inputSrDescriptors[d] == null).ToList();

                foreach (var descriptor in descriptors)
                {
                    if (!repeatForRemainingLUNs)
                    {
                        var remainingCount = descriptors.Count - 1 - descriptors.IndexOf(descriptor);
                        var existingSrType = descriptor.SrType;
                        selectedOption = GetSelectedOption(descriptor, remainingCount, false, existingSrType, out repeatForRemainingLUNs);
                    }
                    ProcessSelectedOption(selectedOption, descriptor);
                }
            }