/// <summary> /// Please see <seealso cref="IEncodeMessageService{T}.Encode" /> for documentation. /// </summary> /// <param name="queryMessagesParameters">-</param> /// <returns>-</returns> public EncodedMessage Encode(QueryMessagesParameters queryMessagesParameters) { var messageHeaderParameters = new MessageHeaderParameters { ApplicationMessageId = queryMessagesParameters.ApplicationMessageId, TeamSetContextId = queryMessagesParameters.TeamsetContextId ?? "", TechnicalMessageType = TechnicalMessageType, Mode = RequestEnvelope.Types.Mode.Direct }; var messagePayloadParameters = new MessagePayloadParameters { TypeUrl = MessageQuery.Descriptor.FullName }; var messageQuery = new MessageQuery(); queryMessagesParameters.Senders?.ForEach(sender => messageQuery.Senders.Add(sender)); queryMessagesParameters.MessageIds?.ForEach(messageId => messageQuery.MessageIds.Add(messageId)); messageQuery.ValidityPeriod = queryMessagesParameters.ValidityPeriod; messagePayloadParameters.Value = messageQuery.ToByteString(); var encodedMessage = new EncodedMessage { Id = Guid.NewGuid().ToString(), Content = EncodeMessageService.Encode(messageHeaderParameters, messagePayloadParameters) }; return(encodedMessage); }