private void SortByFromModel(AircraftListJsonBuilderArgs args, GetAircraftListModel model) { if(model == null || model.SortBy == null || model.SortBy.Count == 0) { SetDefaultAircraftListSortBy(args); } else { for(var i = 0;i < Math.Min(2, model.SortBy.Count);++i) { var sortBy = model.SortBy[i]; args.SortBy.Add(new KeyValuePair<string, bool>(sortBy.Col, sortBy.Asc)); } } }
private void PreviousAircraftFromModel(AircraftListJsonBuilderArgs args, GetAircraftListModel model) { if(model != null && model.PreviousAircraft != null && model.PreviousAircraft.Count > 0) { foreach(var icao in model.PreviousAircraft) { var id = CustomConvert.Icao24(icao); if(id != -1) { args.PreviousAircraft.Add(id); } } } }
public AircraftListJson AircraftList(GetAircraftListModel model, int feedId = -1) { var args = new AircraftListJsonBuilderArgs() { BrowserLatitude = model?.Latitude, BrowserLongitude = model?.Longitude, IsFlightSimulatorList = model?.FlightSimulator ?? false, PreviousDataVersion = model?.LastDataVersion ?? -1L, ResendTrails = model?.ResendTrails ?? false, SelectedAircraftId = model?.SelectedAircraft ?? -1, ServerTimeTicks = model?.ServerTicks ?? -1L, SourceFeedId = feedId, Filter = ExpandModelFilters(model?.Filters), TrailType = model?.TrailType ?? TrailType.None, }; SortByFromModel(args, model); PreviousAircraftFromModel(args, model); return BuildAircraftList(args); }