Пример #1
0
        public async Task <IActionResult> Show([FromRoute] Guid id)
        {
            var message = await _directMessageService.GetDirectMessageByIdAsync(id);

            if (message == null)
            {
                return(NotFound());
            }
            return(Ok(new { Message = DirectMessageViewModel.FromEntity(message) }));
        }
Пример #2
0
        public async Task <IActionResult> SendDirectMessage(SendDirectMessageDto sendDirectMessageDto)
        {
            sendDirectMessageDto.From = await GetAuthenticatedUserAccount();

            var result = await _directMessageService.SendDirectMessageAsync(sendDirectMessageDto);

            if (result.Failed)
            {
                return(BadRequest(new ValidationErrorResponse(result.Error)));
            }
            var vm = DirectMessageViewModel.FromEntity(result.Data);

            await _hubContext.Clients
            .User(result.Data.To.Id.ToString())
            .SendAsync(
                DirectMessageHub.DirectMessageReceivedMessage,
                vm
                );

            var url = Url.Link("GetDirectMessageById", new { id = result.Data.Id });

            return(Created(url, new { Message = vm }));
        }