/// <summary> /// Creates and returns a model from an <see cref="IPolarPlotter"/>. /// </summary> /// <param name="feedId"></param> /// <param name="polarPlotter"></param> /// <returns></returns> public static PolarPlotsJson ToModel(int feedId, IPolarPlotter polarPlotter) { PolarPlotsJson result = null; if (polarPlotter != null) { result = new PolarPlotsJson() { FeedId = feedId, }; result.Slices.AddRange(polarPlotter.TakeSnapshot().Select(r => PolarPlotsSliceJson.ToModel(r))); } return(result); }
/// <summary> /// Returns a new <see cref="PolarPlotsSliceJson"/> built from a listener's polar plot slice. /// </summary> /// <param name="slice"></param> /// <returns></returns> public static PolarPlotsSliceJson ToModel(PolarPlotSlice slice) { PolarPlotsSliceJson result = null; if (slice != null) { result = new PolarPlotsSliceJson() { StartAltitude = slice.AltitudeLower, FinishAltitude = slice.AltitudeHigher, }; result.Plots.AddRange(slice.PolarPlots.OrderBy(r => r.Key).Select(r => PolarPlotJson.ToModel(r.Value))); } return(result); }