private async void ReceiveMessages(object sender, EventArgs e) { IEnumerable <Message> messages = (await clientService.ReceiveMessages()).OrderBy(x => x.PostDate); IEnumerable <string> interlocutors = ChatTabs.Select(x => x.Interlocutor); foreach (Message message in messages) { if (!interlocutors.Contains(message.Sender)) { ChatTabs.Add(new ChatTabViewModel(message.Sender, clientService)); } ChatTabs.Single(x => x.Interlocutor == message.Sender).Messages.Add(message); } }