Ejemplo n.º 1
0
        public async Task <ObservableCollection <MessageModel> > GetByConversationIdAsync(Guid conversationId, int userId)
        {
            if (userId <= 0)
            {
                throw new ArgumentOutOfRangeException(nameof(userId));
            }

            var messages = await _messageStorage.GetByConversationIdAsync(conversationId, userId);

            var orderedMessages = messages.OrderBy(x => x.SendDate);
            var messageList     = new ObservableCollection <MessageModel>();

            foreach (var message in orderedMessages)
            {
                var convertedMessage = new MessageModel
                {
                    Message      = message.MessageStr,
                    IsOwnMessage = message.Sender == userId,
                    UserId       = message.Sender
                };
                messageList.Add(convertedMessage);
            }

            return(messageList);
        }