/// <summary> Метод прочтения всех сообщений </summary> private void MarkReadAll() { var listModelChat = CurrentListModelChat.Where(obj => obj.ExistNewMessages).ToArray(); if (!listModelChat.Any()) { return; } foreach (var i in listModelChat) { if (i.LastMessage != null) { DataSourceChat.MarkReadModelChatMessage(i.LastMessage); // кастыль, т.к. из бизнес логики не приходяк колбеки об изменении чатов !!! i.NewMessagesCount = 0; i.LastMessage.Readed = true; } } }
/// <summary> Метод прочтения сообщений </summary> public void MarkReadModelMessage() { if (ListModelChatMessage.Count == 0) { return; } if (DataSourceChat.MarkReadModelChatMessage(ListModelChatMessage.Last())) { foreach (var i in ListModelChatMessage) { i.Readed = true; } if (CurrentModelChat.LastMessage != null) { CurrentModelChat.LastMessage.Readed = true; } //кастыль, т.к.пока СВ сказал что мы всегда помечаем все сообщения как прочитанные CurrentModelChat.NewMessagesCount = 0; } }