コード例 #1
0
        public async Task <ActionResult <Message> > SendMessage(Message message)
        {
            if (!(await _emailSender.SendEmailAsync(message)))
            {
                message.IsSent = false;
            }
            await _repository.CreateMessageAsync(message);

            return(CreatedAtAction(
                       nameof(GetMessage),
                       new { id = message.Id },
                       message));
        }
コード例 #2
0
        public async Task <ResponseMessageDto> CreateMessageAsync(Guid boardId, Guid topicId, RequestMessageDto message)
        {
            var messageEntity = _mapper.Map <Message>(message);

            messageEntity.Id      = Guid.NewGuid();
            messageEntity.TopicId = topicId;

            var createdEntity = await _messageRepository.CreateMessageAsync(messageEntity);

            var responseDto = _mapper.Map <ResponseMessageDto>(createdEntity);

            return(responseDto);
        }
コード例 #3
0
ファイル: MessageService.cs プロジェクト: EndreoT/texter
        public async Task <MessageResponse> CreateMessageAsync(SaveMessageDTO messageDTO)
        {
            try
            {
                string sourceAddr   = messageDTO.SourceAddr;
                string destAddr     = messageDTO.DestinationAddr;
                Device sourceDevice = await _deviceRepository.GetByAddrAsync(sourceAddr);

                Device destDevice = await _deviceRepository.GetByAddrAsync(destAddr);

                if (sourceDevice == null || destDevice == null)
                {
                    string messageStr;
                    if (sourceDevice == null)
                    {
                        messageStr = DeviceNotFoundMessage(sourceAddr);
                    }
                    else
                    {
                        messageStr = DeviceNotFoundMessage(destAddr);
                    }
                    return(new MessageResponse(messageStr));
                }
                Message message = new Message()
                {
                    Content                 = messageDTO.Content,
                    SourceAddr              = sourceDevice,
                    SourceAddrDeviceId      = sourceDevice.DeviceId,
                    DestinationAddr         = destDevice,
                    DestinationAddrDeviceId = destDevice.DeviceId
                };
                //Save the message
                await _messageRepository.CreateMessageAsync(message);

                await _unitOfWork.CompleteAsync();

                _inMemoryMessageService.AddMessage(destAddr, message);

                FromMessageDTO messageResource = _mapper.Map <Message, FromMessageDTO>(message);

                return(new MessageResponse(messageResource));
            }
            catch (Exception ex)
            {
                // Do some logging stuff
                return(new MessageResponse($"An error occurred when saving the message: {ex.Message}"));
            }
        }
コード例 #4
0
        public async Task ExecuteAsync(UserCreateNewPaperCommand command)
        {
            var groupId = await _messageRepository.CreateMessageAsync();

            await _bus.RaiseEventAsync(new UserCreateNewPaperEvent { ConnectionId = command.ConnectionId, GroupId = groupId });
        }