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); }