public List <UserMessageDTO> ListMessage(Guid SenderId, Guid ReceiverId) { var userMessageDTO = new List <UserMessageDTO>(); var userMessagelist = _context.UserMessages.Where(p => (p.SenderApplicationUserId == SenderId && p.ReceiverApplicationUserId == ReceiverId) || (p.SenderApplicationUserId == ReceiverId && p.ReceiverApplicationUserId == SenderId)).OrderBy(s => s.SendDate); var senderUser = _context.ApplicationUsers.Where(p => p.Id == SenderId).FirstOrDefault(); var receiverUser = _context.ApplicationUsers.Where(c => c.Id == ReceiverId).FirstOrDefault(); string k = receiverUser.UserName; foreach (var message in userMessagelist) { var usermessage = new UserMessageDTO() { Id = message.Id, MessageText = message.MessageText, SendDate = message.SendDate, SenderFirstName = senderUser.FirstName, SenderLastName = senderUser.LastName, SenderImage = senderUser.LastName, SenderUserName = senderUser.UserName, ReceiverFirstName = receiverUser.FirstName, ReceiverImage = receiverUser.Image, ReceiverLastName = receiverUser.LastName, ReceiverUserName = receiverUser.UserName }; userMessageDTO.Add(usermessage); } //return _context.UserMessages.Where(p => (p.SenderApplicationUserId == SenderId && p.ReceiverApplicationUserId == ReceiverId) || (p.SenderApplicationUserId == ReceiverId && p.ReceiverApplicationUserId == SenderId)).OrderBy(s => s.SendDate).Select(p => new UserMessageDTO //{ // Id = p.Id, // MessageText = p.MessageText, // SendDate = p.SendDate, //}); return(userMessageDTO); }
public async Task <IActionResult> RenderMessage([FromRoute] Guid?msgId, [FromBody] UserMessageDTO msg) { if (msgId != null && msgId != Guid.Empty) { msg = await _UserMessageService.GetAsync(msgId.Value); } return(PartialView("~/Pages/Discussions/Partials/MessageRender.cshtml", msg)); }
public bool Create(UserMessageDTO note) { using (var connection = new SqlConnection(connectionString)) { var add_user_message = connection.CreateCommand(); add_user_message.CommandText = $"INSERT INTO dbo.UserMessage (UserId, MessageId) VALUES (@UserId, @MessageId)"; add_user_message.Parameters.AddWithValue("@MessageId", note.MessageId); add_user_message.Parameters.AddWithValue("@UserId", note.UserId); connection.Open(); var result = add_user_message.ExecuteNonQuery(); return(result > 0); } }
public bool Create(UserMessageDTO note) { try { return(dal.Create(note)); } catch (Exception e) { Logger.Logger.WriteLog(e); throw e; } }
public bool Update(UserMessageDTO note) { using (var connection = new SqlConnection(connectionString)) { var update_user_message = connection.CreateCommand(); update_user_message.CommandText = $"UPDATE dbo.UserMessage SET UserId = @UserId, MessageId = @MessageId WHERE Id = @Id"; update_user_message.Parameters.AddWithValue("@Id", note.Id); update_user_message.Parameters.AddWithValue("@UserId", note.UserId); update_user_message.Parameters.AddWithValue("@MessageId", note.MessageId); connection.Open(); var result = update_user_message.ExecuteNonQuery(); return(result > 0); } }
public bool Update(UserMessageDTO note) { try { dal.Update(note); return(true); } catch (Exception e) { Logger.Logger.WriteLog(e); throw e; } }
public async Task MessageSeen(UserMessageDTO _msgDTO) { if (_msgDTO.CreatorId == CurrentUser.Id.Value) { return; } _msgDTO.IsReceived = true; _msgDTO.IsReaded = true; var msgDTO = await _UserMessageService.UpdateAsync(_msgDTO.Id, _msgDTO); msgDTO.Photo = _msgDTO.Photo; msgDTO.DisplayName = _msgDTO.DisplayName; await ExtractAffectedUser(msgDTO.MessGroupId.ToString()); // Gửi tin nhắn đến tất cả người dùng trong danh sách await Clients.Users(AffectedUser.Select(x => x.ToString())).SendAsync("MessageSeenNotify", msgDTO); }
public async Task SendGlobalMessage(string msg) { if (msg.IsNullOrEmpty() || msg.IsNullOrWhiteSpace() || msg.Length > 5120) { return; } AffectedUser.Clear(); var currentUser = UserConnecteds.FirstOrDefault(x => x.Id == CurrentUser.Id.Value); var msgDTO = new UserMessageDTO { MessGroupId = Guid.Empty, Message = msg, Photo = currentUser.Picture, DisplayName = currentUser.DisplayName, IsReceived = true, CreationTime = DateTime.Now, CreatorId = currentUser.Id }; await Clients.All.SendAsync("ReceiveGlobalMessage", msgDTO); }
public async Task SendMessage(string roomId, string msg) { if (roomId.IsNullOrEmpty() || roomId.IsNullOrWhiteSpace() || roomId.Length > 5120) { return; } if (msg.IsNullOrEmpty() || msg.IsNullOrWhiteSpace() || msg.Length > 5120) { return; } await ExtractAffectedUser(roomId); var currentUser = UserConnecteds.FirstOrDefault(x => x.Id == CurrentUser.Id.Value); var msgDTO = new UserMessageDTO { Message = msg, IsReceived = true, IsReaded = false, MessGroupId = CurrentRoomId }; // Lưu tin nhắn vào CSDL msgDTO = await _UserMessageService.CreateAsync(msgDTO); msgDTO.Photo = currentUser.Picture; msgDTO.DisplayName = currentUser.DisplayName; if (msgDTO.Id != Guid.Empty) { // Gửi tin nhắn đến tất cả người dùng trong danh sách await _NotificationHub.Clients .Users(AffectedUser.Where(x => x != CurrentUser.Id.Value).Select(x => x.ToString())) .SendAsync("NotyHaveNewMsgReciver", msgDTO); await Clients.Users(AffectedUser.Select(x => x.ToString())).SendAsync("ReceiveMessage", msgDTO); } }