Пример #1
0
 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));
         }
     }
 }
Пример #2
0
 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);
             }
         }
     }
 }
Пример #3
0
        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);
        }