public ICreateMessageDTO GetPublishMessageBody(IPublishMessageParameters parameters) { ICreateMessageDTO createMessageDTO = _createMessageDTOFactory.Create(); createMessageDTO.Event = _eventDTOFactory.Create(); createMessageDTO.Event.Type = EventType.MessageCreate; createMessageDTO.Event.MessageCreate = _messageCreateDTOFactory.Create(); createMessageDTO.Event.MessageCreate.Target = _messageCreateTargetDTOFactory.Create(); createMessageDTO.Event.MessageCreate.Target.RecipientId = parameters.RecipientId; createMessageDTO.Event.MessageCreate.MessageData = _messageDataDTOFactory.Create(); createMessageDTO.Event.MessageCreate.MessageData.Text = parameters.Text; // If there is media attached, include it if (parameters.AttachmentMediaId != null) { createMessageDTO.Event.MessageCreate.MessageData.Attachment = _attachmentDTOFactory.Create(); createMessageDTO.Event.MessageCreate.MessageData.Attachment.Type = AttachmentType.Media; createMessageDTO.Event.MessageCreate.MessageData.Attachment.Media = _mediaEntityFactory.Create(); createMessageDTO.Event.MessageCreate.MessageData.Attachment.Media.Id = parameters.AttachmentMediaId; } // If there are quick reply options, include them if (parameters.QuickReplyOptions != null && parameters.QuickReplyOptions.Length > 0) { createMessageDTO.Event.MessageCreate.MessageData.QuickReply = _quickReplyDTOFactory.Create(); createMessageDTO.Event.MessageCreate.MessageData.QuickReply.Type = QuickReplyType.Options; createMessageDTO.Event.MessageCreate.MessageData.QuickReply.Options = parameters.QuickReplyOptions; } return(createMessageDTO); }
public IMessage GenerateMessageFromCreateMessageDTO(ICreateMessageDTO createMessageDTO) { if (createMessageDTO?.Event == null || createMessageDTO.Event.Type != EventType.MessageCreate) { return(null); } return(GenerateMessageFromEventDTO(createMessageDTO.Event)); }
private void ArrangeQueryGeneratorPublishMessage(IPublishMessageParameters parameters, string query, ICreateMessageDTO createMessageDTO) { _fakeMessageQueryGenerator .CallsTo(x => x.GetPublishMessageQuery(parameters)) .Returns(query); _fakeMessageQueryGenerator .CallsTo(x => x.GetPublishMessageBody(parameters)) .Returns(createMessageDTO); }
public IMessage CreateMessage(ICreateMessageDTO createMessageDTO) { return(CreateMessage(createMessageDTO?.MessageEvent)); }