public async Task RequestSortedList(MessageSortType type) { await Clients.Caller.SendThreads(_messageService.GetLatest("Alle berichten", 10, type)); }
public List <ThreadView> GetLatest(string tag, int amount, MessageSortType sort = MessageSortType.New) { bool all = tag.ToLower() == "alle berichten"; List <Message> messages = new List <Message>(); if (tag.ToLower() == "alle berichten") { messages = _unitOfWork.Message.GetLatest(amount); } else { messages = _unitOfWork.Message.GetLatestWithTag(tag, amount); } switch (sort) { case MessageSortType.Top: if (all) { return(GetTop(10)); } else { messages = _unitOfWork.Message.GetTopWithTag(tag, amount); } break; case MessageSortType.Old: if (all) { return(GetOldest(10)); } else { messages = _unitOfWork.Message.GetOldestWithTag(tag, amount); } break; case MessageSortType.New: if (all) { messages = _unitOfWork.Message.GetLatest(amount); } else { messages = _unitOfWork.Message.GetLatestWithTag(tag, amount); } break; } List <ThreadView> replies = new List <ThreadView>(); foreach (Message msg in messages) { replies.Add(msg.GetThreadView()); } return(replies); }