//TODO: QUESTION: Shouldn't this listen to MessageGenerated-event? public async void Process(MessageGenerated @event) { var greetingHistory = await _greetingHistories.GetByPhoneNumberAsync(@event.PhoneNumber) ?? new GreetingHistory(@event.DataCollectorId); greetingHistory.PhoneNumber = @event.PhoneNumber; }
/// <summary> /// Returns the message as parseable BaseStation message text. /// </summary> /// <param name="emitExtendedBaseStationFormat">True if MLAT-sourced messages should use a message type of MLAT, false if they should use MSG. Ignored for other message types.</param> /// <returns>The properties of the message formatted up as a text string that can be sent to any application /// that can interpret BaseStation messages.</returns> public string ToBaseStationString(bool emitExtendedBaseStationFormat = false) { StringBuilder result = new StringBuilder(); var messageGeneratedLocal = MessageGenerated.ToLocalTime(); var messageLoggedLocal = MessageLogged.ToLocalTime(); result.AppendFormat(CultureInfo.InvariantCulture, "{0},", BaseStationMessageHelper.ConvertToString(MessageType, IsMlat, emitExtendedBaseStationFormat)); result.AppendFormat(CultureInfo.InvariantCulture, "{0},", MessageType == BaseStationMessageType.Transmission ? BaseStationMessageHelper.ConvertToString(TransmissionType) : ""); result.AppendFormat(CultureInfo.InvariantCulture, "{0},", SessionId); result.AppendFormat(CultureInfo.InvariantCulture, "{0},", AircraftId); result.AppendFormat(CultureInfo.InvariantCulture, "{0},", Icao24); result.AppendFormat(CultureInfo.InvariantCulture, "{0},", FlightId); result.AppendFormat(CultureInfo.InvariantCulture, "{0:yyyy/MM/dd},", messageGeneratedLocal); result.AppendFormat(CultureInfo.InvariantCulture, "{0:HH:mm:ss.fff},", messageGeneratedLocal); result.AppendFormat(CultureInfo.InvariantCulture, "{0:yyyy/MM/dd},", messageLoggedLocal); result.AppendFormat(CultureInfo.InvariantCulture, "{0:HH:mm:ss.fff},", messageLoggedLocal); result.AppendFormat(CultureInfo.InvariantCulture, "{0},", MessageType == BaseStationMessageType.StatusChange ? BaseStationMessageHelper.ConvertToString(StatusCode) : Callsign); result.AppendFormat(CultureInfo.InvariantCulture, "{0},", Altitude); result.AppendFormat(CultureInfo.InvariantCulture, "{0},", Round.GroundSpeed(GroundSpeed)); result.AppendFormat(CultureInfo.InvariantCulture, "{0},", Round.Track(Track)); result.AppendFormat(CultureInfo.InvariantCulture, "{0},", Round.Coordinate(Latitude)); result.AppendFormat(CultureInfo.InvariantCulture, "{0},", Round.Coordinate(Longitude)); result.AppendFormat(CultureInfo.InvariantCulture, "{0},", VerticalRate); result.AppendFormat(CultureInfo.InvariantCulture, "{0},", Squawk); result.AppendFormat(CultureInfo.InvariantCulture, "{0},", SquawkHasChanged == null ? "" : SquawkHasChanged.Value ? "-1" : "0"); result.AppendFormat(CultureInfo.InvariantCulture, "{0},", Emergency == null ? "" : Emergency.Value ? "-1" : "0"); result.AppendFormat(CultureInfo.InvariantCulture, "{0},", IdentActive == null ? "" : IdentActive.Value ? "-1" : "0"); result.AppendFormat(CultureInfo.InvariantCulture, "{0}", OnGround.GetValueOrDefault() ? "-1" : "0"); // Turns out BaseStation never emits a null OnGround value... return(result.ToString()); }
//TODO: QUESTION: Shouldn't this listen to MessageGenerated-event? public void Process(MessageGenerated @event) { var greetingHistory = _greetingHistories.GetByPhoneNumber(@event.PhoneNumber) ?? new GreetingHistory(@event.DataCollectorId); greetingHistory.PhoneNumber = @event.PhoneNumber; _greetingHistories.Update(greetingHistory); }