public List <MWSelection> checkForPotentialCurveData() { List <MWSelection> returnSelectionList = new List <MWSelection>(); //find any potential curve data with the use of the curve keyword int i = 0; do { MWSelection nextCurve = findNextCurve(i); if (nextCurve.getEndIndex() == -1) { //no curve info found i = theString.Length; //loop will exit } else { returnSelectionList.Add(nextCurve); i = nextCurve.getEndIndex(); } } while (i < theString.Length); return(returnSelectionList); }
public MWSelection findNextString(string theString, int startingIndex, string searchString) { MWSelection selectionObject = new MWSelection(); int i = startingIndex; if (startingIndex == -1) { i = 0; } while (i < (theString.Length - searchString.Length + 1) && selectionObject.getEndIndex() < 0) { if (theString[i] == searchString[0]) //possbile hit { //test if the word matches string testword = theString.Substring(i, searchString.Length); if (testword == searchString) { //we have a matching word selectionObject.setStartIndex(i); selectionObject.setEndIndex(i + searchString.Length - 1); } } ++i; }//end while return(selectionObject); }
public MWSelection findNextPotentialCall(int startingIndex) { MWSelection returnSelection = new MWSelection(); MWSelection nextStart = findStartDirection(startingIndex); MWSelection nextEnd = findEndDirection(startingIndex); MWSelection nextFeet = findFeet(startingIndex); int lenghthOfBearing = nextEnd.getEndIndex() - nextStart.getEndIndex(); bool potentialBearing = false; if (lenghthOfBearing >= 10 && lenghthOfBearing <= 25) { potentialBearing = true; } int lengthOfDistance = nextFeet.getEndIndex() - nextEnd.getEndIndex(); bool potentialDistance = false; if (lengthOfDistance >= 8 && lengthOfDistance <= 200) { potentialDistance = true; } if (potentialBearing == false || potentialDistance == false) { returnSelection.setEndIndex(-1); returnSelection.setStartIndex(-1); } else { returnSelection.setStartIndex(nextStart.getStartIndex()); returnSelection.setEndIndex(nextFeet.getEndIndex() + 1); } //if it is a potential call then it will return the position //if it does not look like the right lengths it will return -1 and -1 return(returnSelection); }
public double extractRadius(string aCallString) { double returnVal = -1; MWNumberSelection aNumberSelection = new MWNumberSelection(); MWSelection radiusSelection = new MWSelection(); radiusSelection = findRadius(0, aCallString); if (radiusSelection.getStartIndex() > -1) { aNumberSelection = extractNextNumberVal(radiusSelection.getEndIndex() + 1, aCallString); } returnVal = aNumberSelection.getNumberValue(); return(returnVal); }
public DeconstructedCallString(string aCallString, int _gStartindex, int _gEndIndex) { LegalDescriptionStringUtility util = new LegalDescriptionStringUtility(aCallString); theString = aCallString; globalStart = _gStartindex; globalEnd = _gEndIndex; //is is a curve and is it left or right if (util.findCurveKeyword(0, theString) == false) { curveLeftRight = CurveLeftRightCategory.NA; } else { curveLeftRight = util.findRightLeftKeyword(theString); } Console.WriteLine("Stop for Test"); if (curveLeftRight.Value == CurveLeftRightCategory.Left.Value || curveLeftRight.Value == CurveLeftRightCategory.Right.Value) { //find the radius radius = util.extractRadius(theString); } //set north or south MWSelection NSlocation = util.findStartDirection(0, theString); int begIndex = NSlocation.getStartIndex(); if (theString[begIndex] == 'N' || theString[begIndex] == 'n') { startDirection = StartDirectionCategory.North; } else { startDirection = StartDirectionCategory.South; } //set east or west MWSelection EWlocation = util.findEndDirection(0, theString); begIndex = EWlocation.getStartIndex(); if (theString[begIndex] == 'E' || theString[begIndex] == 'e') { endDirection = EndDirectionCategory.East; } else { endDirection = EndDirectionCategory.West; } //Find the degrees and its location in the string MWNumberSelection degreesSelection = util.extractDegrees(NSlocation.getEndIndex(), theString); degrees = Convert.ToInt32(degreesSelection.getNumberValue()); //find the minutes MWNumberSelection minutesSelection = util.extractMinutes(degreesSelection.getEndIndex(), theString); this.minutes = Convert.ToInt32(minutesSelection.getNumberValue()); //find the seconds MWNumberSelection secondsSelection = util.extractSeconds(minutesSelection.getEndIndex(), theString); //three might not be any seconds if (secondsSelection.getEndIndex() < EWlocation.getStartIndex()) { this.seconds = Convert.ToInt32(secondsSelection.getNumberValue()); } else { this.seconds = 0; } //find the length //find the seconds MWNumberSelection lengthSelection = util.extractLength(EWlocation.getEndIndex(), theString); this.length = Convert.ToDouble(lengthSelection.getNumberValue()); }