public bool SaveDriverMessage(ChatMessagePayload payload) { var user = _userRepository.Query(p => p.DriverC == payload.DriverC).FirstOrDefault(); if (user != null) { var message = new ChatMessage() { DriverUserId = user.Id, Message = payload.Message, Create_At = DateTime.Now, IsDriver = true }; _chatMessageRepository.Add(message); SaveChatMessage(); return(true); } return(false); }
public ChatMessage CreateChatMessage(Guid userId, Guid roomId, string text) { var user = _userService.GetUser(userId); var message = new ChatMessage() { User = user, ChatRoomId = roomId, Text = text }; _chatMessageRepository.Add(message); _unitOfWork.Commit(); return(message); }
public async Task SendChatMessage(ChatMessage msg) { if (_acessor.Type == UserType.Provider) { msg.ProviderId = _acessor.UserId; } else { msg.ClientId = _acessor.UserId; } msg.SenderName = _acessor.Name; await _chatRepository.Add(msg); await _chatRepository.SaveChanges(); await Clients.User(_acessor.Type == UserType.Provider?msg.ClientId.ToString() : msg.ProviderId.ToString()) .SendAsync("receiveChatMessage", msg); }