public static bool IsValid(string candidate)
        {
            string[] candidateParts = candidate.Split('/');

            if (candidateParts.Length != 2)
            {
                return(false);
            }

            var pointPart      = candidateParts[0];
            var speedLevelPart = candidateParts[1];

            // Check point part for each category and check speed level part.
            return(SpeedLevel.IsValid(speedLevelPart) &&
                   (NavaidPoint.IsValid(pointPart) ||
                    CoordinatePoint.IsValid(pointPart) ||
                    NamedPoint.IsValid(pointPart)));
        }
Example #2
0
 private static SignificantPoint GetSignificantPoint(string current)
 {
     if (NavaidPoint.IsValid(current))
     {
         // Create NavaidPoint
         return(new NavaidPoint(current));
     }
     // Check CoordinatePoint
     else if (CoordinatePoint.IsValid(current))
     {
         //Create CoordinatePoint
         return(new CoordinatePoint(current));
     }
     // Definitely NamedPoint
     else
     {
         return(new NamedPoint(current));
     }
 }