private IEnumerable <AxisGridLine> CreateAlphaGridLines(AxisMap map, List <string> values, double lower, double upper) { var lowerString = map.SortOrder == SortOrder.Ascending ? (string)map.MapInverse(lower) : (string)map.MapInverse(upper); var upperString = map.SortOrder == SortOrder.Ascending ? (string)map.MapInverse(upper) : (string)map.MapInverse(lower); var lowerChar = IsFirstCharacterValid(lowerString) ? lowerString[0] : StartChar; var upperChar = IsFirstCharacterValid(upperString) ? upperString[0] : EndChar; for (var c = lowerChar; c <= upperChar; c++) { var first = values.Where(p => p != string.Empty) .FirstOrDefault(p => p[0].ToString().ToUpper() == c.ToString().ToUpper()); if (first != null) { yield return(CreateAxisGridLine(map.Map(first).GetValueOrDefault(), c.ToString().ToUpper())); } } }
// TODO: This is duplicated across multiple classes... must refactor private AxisGridLine CreateAxisGridLine(AxisMap map, DateTime value, string label) { var position = map.Map(value); var line = new AxisGridLine() { LabelName = label, Position = position.GetValueOrDefault() }; return(line); }
// TODO: This is duplicated across multiple classes... must refactor private static AxisGridLine CreateAxisGridLine(AxisMap map, DateTime value) { var position = map.Map(value); var line = new AxisGridLine() { LabelName = value.ToLongTimeString(), Position = position.GetValueOrDefault() }; return(line); }
private static AxisGridLine CreateAxisLine(AxisMap map, bool value) { var location = map.Map(value); var line = new AxisGridLine() { LabelName = value.ToString(), Position = location ?? 0d }; return(line); }
private IEnumerable <AxisGridLine> CreateValueGridLines(AxisMap map, List <object> values, double lower, double upper) { if (map.SortOrder == SortOrder.Descending) { values.Reverse(); } foreach (var value in values) { var location = map.Map(value).GetValueOrDefault(); if (location >= lower && location <= upper) { yield return(CreateAxisGridLine(location, value.ToString())); } } }
private double GetPosition(AxisMap map, double value) { return(map.Map(value).GetValueOrDefault()); }