public static IFolderRanges CreateIntFolderRangeIterator(TreeNode ownerTreeNode, List<Tuple<string, string>> ranges, bool includeWildCard) { IntFolderRanges folderRanges = new IntFolderRanges(); int counter = 0; int? lastMaxValue = null; foreach (Tuple<string, string> range in ranges) { int minValue = 0; int maxValue = 0; bool isMinOpenEnded = range.Item1 == ""; bool isMaxOpenEnded = range.Item2 == ""; if ((range.Item1 != "") && (int.TryParse(range.Item1, out minValue) == false)) { ownerTreeNode.AddValidationError("TreeValidationError.Range.WrongFormat"); return null; } if ((range.Item2 != "") && (int.TryParse(range.Item2, out maxValue) == false)) { ownerTreeNode.AddValidationError("TreeValidationError.Range.WrongFormat"); return null; } if ((isMinOpenEnded == false) && (isMaxOpenEnded == false) && (minValue >= maxValue)) { ownerTreeNode.AddValidationError("TreeValidationError.Range.MinMaxError", minValue, maxValue); return null; } if (lastMaxValue.HasValue == false) { lastMaxValue = maxValue; } else if (lastMaxValue.Value >= minValue) { ownerTreeNode.AddValidationError("TreeValidationError.Range.NextRangeError"); } IntFolderRange folderRange = new IntFolderRange( counter++, minValue, maxValue, isMinOpenEnded, isMaxOpenEnded ); folderRanges.AddFolderRange(folderRange); } if (includeWildCard) { IntFolderRange folderRange = new IntFolderRange( -1, 0, 0, false, false ); folderRanges.AddFolderRange(folderRange); } return folderRanges; }
public static IFolderRanges CreateIntFolderRangeIterator(TreeNode ownerTreeNode, List <Tuple <string, string> > ranges, bool includeWildCard) { IntFolderRanges folderRanges = new IntFolderRanges(); int counter = 0; int?lastMaxValue = null; foreach (Tuple <string, string> range in ranges) { int minValue = 0; int maxValue = 0; bool isMinOpenEnded = range.Item1 == ""; bool isMaxOpenEnded = range.Item2 == ""; if ((range.Item1 != "") && (int.TryParse(range.Item1, out minValue) == false)) { ownerTreeNode.AddValidationError("TreeValidationError.Range.WrongFormat"); return(null); } if ((range.Item2 != "") && (int.TryParse(range.Item2, out maxValue) == false)) { ownerTreeNode.AddValidationError("TreeValidationError.Range.WrongFormat"); return(null); } if ((isMinOpenEnded == false) && (isMaxOpenEnded == false) && (minValue >= maxValue)) { ownerTreeNode.AddValidationError("TreeValidationError.Range.MinMaxError", minValue, maxValue); return(null); } if (lastMaxValue.HasValue == false) { lastMaxValue = maxValue; } else if (lastMaxValue.Value >= minValue) { ownerTreeNode.AddValidationError("TreeValidationError.Range.NextRangeError"); } IntFolderRange folderRange = new IntFolderRange( counter++, minValue, maxValue, isMinOpenEnded, isMaxOpenEnded ); folderRanges.AddFolderRange(folderRange); } if (includeWildCard) { IntFolderRange folderRange = new IntFolderRange( -1, 0, 0, false, false ); folderRanges.AddFolderRange(folderRange); } return(folderRanges); }