Example #1
0
        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);
        }
Example #2
0
        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);
        }
Example #3
0
        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);
        }