public async Task <IActionResult> SendChatMessage(PostMessageToChatDto messageData) { var userId = User.FindFirst("UserId")?.Value; if (string.IsNullOrEmpty(userId)) { return(BadRequest()); } messageData.UserId = userId; var response = await _messagesManager.ProcessChatMessage(messageData); if (!response.Success) { return(BadRequest(response.ErrorMessage)); } var groupName = messageData.ChatId.ToString(); var senderId = messageData.UserId; await _hub.Clients .GroupExcept(groupName, senderId) .SendAsync("receivemessage", response.Message); return(Ok(response.Message)); }