예제 #1
0
        /// <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;
                }
            }
        }
예제 #2
0
        /// <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;
            }
        }