/// <summary> /// Returns the specified grade system representation of the current route grade. /// </summary> /// <param name="gradeSystem">Grade system to apply.</param> /// <returns>The specified grade system representation of the current route grade.</returns> public string ToGrade(RouteGradeSystem gradeSystem) { return ToGrade(null, gradeSystem); }
/// <summary> /// Returns the specified grade system representation of the current route grade. /// </summary> /// <param name="route">Owning route.</param> /// <param name="gradeSystem">Grade system to apply.</param> /// <returns>The specified grade system representation of the current route grade.</returns> public string ToGrade(Route route, RouteGradeSystem gradeSystem) { string ret = string.Empty; if (route != null) { if (route.Climbing.HasFlag(ClimbingTypes.Bouldering)) ret = ToHueco(); } if (string.IsNullOrEmpty(ret)) { switch (gradeSystem) { case RouteGradeSystem.YDS: ret = ToYDS(); break; case RouteGradeSystem.French: ret = ToFrench(); break; case RouteGradeSystem.Hueco: ret = ToHueco(); break; case RouteGradeSystem.Ewbank: ret = ToEwbank(); break; } } if (string.IsNullOrEmpty(ret)) ret = "-"; return ret; }
/// <summary> /// Parses the route grade from the specified representation. /// </summary> /// <param name="grade">Route grade in specified representation.</param> /// <param name="gradeSystem">Grade system the value is expressed in.</param> /// <returns>Route grade.</returns> public static RouteGrade FromGrade(string grade, RouteGradeSystem gradeSystem) { RouteGrade ret = null; switch (gradeSystem) { case RouteGradeSystem.YDS: ret = RouteGrade.FromYDS(grade); break; case RouteGradeSystem.French: ret = RouteGrade.FromFrench(grade); break; case RouteGradeSystem.Hueco: ret = RouteGrade.FromHueco(grade); break; case RouteGradeSystem.Ewbank: ret = RouteGrade.FromEwbank(grade); break; } return ret; }