public WebFleetMessage Map(MessageTO msg) { var result = new WebFleetMessage() { MessageId = msg.messageId, MessageTime = msg.messageTime, MessageText = msg.messageText, PositionText = msg.positionText, ObjectNumber = [email protected], }; SetMessageStatusFromText(result); return(result); }
public WebFleetMessage Map(QueueServiceData msg) { var result = new WebFleetMessage() { MessageId = msg.msgid.messageId, MessageTime = msg.msgTime, MessageText = msg.msgText, PositionText = msg.posText, ObjectNumber = msg.objectNo.objectNo, }; SetMessageStatusFromText(result); return(result); }
/// <summary> /// Analyzes the MessageText property of the provided WebFleetMessage /// and sets the MessageStatus, InformationalStatus, and InformationPosition /// information based upon the status string /// </summary> /// <param name="messageObject"></param> private void SetMessageStatusFromText(WebFleetMessage messageObject) { var messageText = messageObject.MessageText; if (messageText.StartsWith("Message \"")) { if (messageText.EndsWith("read")) { messageObject.Status = MessageStatus.Read; messageObject.MessageText = messageText.Substring(9, messageText.Length - (9 + 6)); } else if (messageText.EndsWith("received")) { messageObject.Status = MessageStatus.Received; messageObject.MessageText = messageText.Substring(9, messageText.Length - (9 + 10)); } } else if (messageText.Length > 17) { switch (messageText.Substring(0, 18).ToLower()) { case "destination reache": messageObject.Status = MessageStatus.Informational; messageObject.InformationalStatusType = InformationalStatusType.DestinationReached; messageObject.InformationStatusPositionText = GetParenthesisText(messageText); messageObject.MessageText = "Destination reached"; break; case "navigation cancell": messageObject.Status = MessageStatus.Informational; messageObject.InformationalStatusType = InformationalStatusType.NavigationCancelled; messageObject.InformationStatusPositionText = GetParenthesisText(messageText); messageObject.MessageText = "Navigation cancelled"; break; case "navigation started": messageObject.Status = MessageStatus.Informational; messageObject.InformationalStatusType = InformationalStatusType.NavigationStarted; messageObject.InformationStatusPositionText = GetParenthesisText(messageText); messageObject.MessageText = "Navigation started"; break; } } }