public async Task AddMessageAsync(ChatMessageDetailDTO message) { var newMessage = new ChatMessage() { Text = message.Text, SentDateTime = message.SentDateTime, ChatMembers = new List <ChatMember>() { new ChatMember() { Type = ChatMemberType.Sender, UserId = message.SenderId }, new ChatMember() { Type = ChatMemberType.Receiver, UserId = message.ReceiverId } } }; await _context.ChatMessages.AddAsync(newMessage); await _context.SaveChangesAsync(); }
public async Task AddNewMessage() { if (string.IsNullOrWhiteSpace(NewMessageText)) { return; } var newMessage = new ChatMessageDetailDTO() { Text = NewMessageText, SentDateTime = DateTime.Now, SenderId = _currentUserProvider.Id, ReceiverId = ChatMemberUserId }; await _chatMessageService.AddChatMessageAsync(newMessage); NewMessageText = string.Empty; }
public static async Task AddChatMessageAsync(this IHubContext <ChatHub> chatHub, ChatMessageDetailDTO chatMessage) { await chatHub.Clients .Group($"{chatMessage.SenderId}_{chatMessage.ReceiverId}") .SendAsync("addChatMessage", CancellationToken.None); await chatHub.Clients .Group($"{chatMessage.ReceiverId}_{chatMessage.SenderId}") .SendAsync("addChatMessage", CancellationToken.None); await chatHub.Clients .Group($"{chatMessage.SenderId}") .SendAsync("addChatMessage", CancellationToken.None); await chatHub.Clients .Group($"{chatMessage.ReceiverId}") .SendAsync("addChatMessage", CancellationToken.None); }
public async Task AddChatMessageAsync(ChatMessageDetailDTO chatMessage) { await _chatMessageRepository.AddMessageAsync(chatMessage); await _chatHubContext.AddChatMessageAsync(chatMessage); }