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; } } }
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; } }
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); } }