public async Task <KeyValuePair <bool, string> > SendMessage(MessageToSendDto message, int userId) { try { var Message = new Message { ChatId = message.ChatId, Content = message.Content, MessageSent = message.MessageSent, SenderId = userId }; _unitOfWork.Messages.Add(Message); await _unitOfWork.Complete(); var userFromRepo = await _unitOfWork.Users.GetUserByIdWithAdditionalInformation(userId); await _chat.Clients.Group(message.ChatId.ToString()) .SendAsync("ReceiveMessage", new { Content = Message.Content, Sender = _mapper.Map <UserToReturnMiniDto>(userFromRepo), MessageSent = Message.MessageSent }); return(new KeyValuePair <bool, string>(true, "Message sent successfully!")); } catch (Exception) { return(new KeyValuePair <bool, string>(false, "Message could not be sent!")); } }
public async Task <IActionResult> SendMessage(int id, int recipientId, MessageToSendDto messageToSendDto) { if (await messenger.SendMessage(id, recipientId, messageToSendDto.Content, messageToSendDto.WithSchool)) { await hubContext.Clients.All.Invoke(); return(Ok()); } return(BadRequest("Nie udało się wysłać wiadomości")); }
public IActionResult Send(MessageToSendDto messageToSend) { List <MessageToSendDto> messages = new List <MessageToSendDto>(); messages.Add(messageToSend); IResult result = _publisherService.AddQueue(messages, "Message"); if (result.Success) { return(Ok(result.Message)); } return(BadRequest(result.Message)); }
public async Task <IActionResult> SendMessage(MessageToSendDto message) { var userId = int.Parse(User.FindFirst(ClaimTypes.NameIdentifier).Value); return(Ok(await _chatsService.SendMessage(message, userId))); }