/// <summary> /// See interface docs. /// </summary> /// <param name="json"></param> /// <returns></returns> public IEnumerable <BaseStationMessageEventArgs> ConvertIntoBaseStationMessageEventArgs(AirnavXRangeJson json) { var result = new List <BaseStationMessageEventArgs>(); foreach (var jsonAircraft in json.Aircraft) { var message = new BaseStationMessage() { MessageType = BaseStationMessageType.Transmission, TransmissionType = BaseStationTransmissionType.AirToAir, // This needs to be something other than "None" or "AllCallReply" if we want to have these messages work with the message compressor StatusCode = BaseStationStatusCode.None, }; if (jsonAircraft.SignalLevel != null) { message.SignalLevel = (int)(jsonAircraft.SignalLevel + -0.5); } if (jsonAircraft.Icao24 != null) { message.Icao24 = jsonAircraft.Icao24; } if (jsonAircraft.Altitude != null) { message.Altitude = jsonAircraft.Altitude; } if (jsonAircraft.Callsign != null) { message.Callsign = jsonAircraft.Callsign; } if (jsonAircraft.GroundSpeed != null) { message.GroundSpeed = jsonAircraft.GroundSpeed; } if (jsonAircraft.Track != null) { message.Track = jsonAircraft.Track; } if (jsonAircraft.Squawk != null) { message.Squawk = jsonAircraft.Squawk; } if (jsonAircraft.VerticalRate != null) { message.VerticalRate = jsonAircraft.VerticalRate; } if (jsonAircraft.OnGround != null) { message.OnGround = jsonAircraft.OnGround; } if (jsonAircraft.Latitude != null || jsonAircraft.Longitude != null) { if (jsonAircraft.Latitude != null) { message.Latitude = jsonAircraft.Latitude; } if (jsonAircraft.Longitude != null) { message.Longitude = jsonAircraft.Longitude; } } result.Add(new BaseStationMessageEventArgs(message)); } return(result); }
public void TestInitialise() { _Converter = Factory.Resolve <IAirnavXRangeMessageConverter>(); _Json = new AirnavXRangeJson(); }