public async Task <GetMessageViewModel> GetMessagesAsync(int senderid, int recipientId, int page, int size) { var sender = await _userService.GetById(senderid); var recipient = await _userService.GetById(recipientId); var usermessages = await _db.Messages .Where(x => (x.Sender == senderid && x.Recipient == recipientId) || (x.Sender == recipientId && x.Recipient == senderid)) .OrderByDescending(x => x.DateSent) .Skip((page - 1) * size) .Take(size) .OrderBy(x => x.DateSent) .ToListAsync(); var count = _db.Messages.Where(x => (x.Sender == senderid && x.Recipient == recipientId) || (x.Sender == recipientId && x.Recipient == senderid)).Count(); var messagesList = new GetMessageViewModel { Messages = usermessages, Count = count, SenderName = sender.UserName, RecipientName = recipient.UserName }; return(messagesList); }
public List <GetMessageViewModel> GetSendedMessagesDetail(int messageId) { var user = _userService.GetUser(); var checkMessages = _messageRepository.GetAll(x => x.SenderUserId == user.UserId).Include("User").ToList(); var messageList = new List <GetMessageViewModel>(); if (checkMessages != null) { foreach (var item in checkMessages) { var message = new GetMessageViewModel(); if (item.Id == messageId) { var checkSelectedMessage = _messageRepository.GetAll(x => x.Id == messageId).Include("SenderUser").FirstOrDefault(); if (checkSelectedMessage != null) { if (checkSelectedMessage.ViewDate == null) { checkSelectedMessage.ViewDate = DateTime.Now; try { _messageRepository.SaveChanges(); } catch (Exception ex) { var errorMessage = ex.Message; throw; } } } message.MessageText = item.MessageText; } message.MessageId = item.Id; message.ReceiverUserId = item.ReceiverUserId; message.SenderUserId = item.SenderUserId; message.CreateDate = item.CreateDate; message.SenderUserName = item.User.UserName; message.ViewDate = item.ViewDate; messageList.Add(message); } } return(messageList); }
public List <GetMessageViewModel> GetSendedMessages() { var user = _userService.GetUser(); var checkMessages = _messageRepository.GetAll(x => x.SenderUserId == user.UserId).Include("User").ToList(); var messageList = new List <GetMessageViewModel>(); if (checkMessages != null) { foreach (var item in checkMessages) { var message = new GetMessageViewModel(); message.MessageId = item.Id; message.ReceiverUserId = item.ReceiverUserId; message.SenderUserId = item.SenderUserId; message.CreateDate = item.CreateDate; message.MessageText = item.MessageText; message.SenderUserName = item.User.UserName; message.ViewDate = item.ViewDate; messageList.Add(message); } } return(messageList); }