/// <summary>
        /// Поиск ещё не прочитанных от всех аккаунтов сообщений.
        /// </summary>
        /// <param name="unreadedMsgsInfo">Краткая информация по
        /// непрочитанным сообщениям.</param>
        protected override void ChatFerm_onUnreadMessagesCount(List <idxLong> unreadedMsgsInfo)
        {
            Logger.Debug("Начинаем получать и обрабатывать информацию о ещё " +
                         "не прочитанных сообщениях");
            // Здесь мы сортируем по аккаунтам непрочитанные сообщения.
            foreach (var msgInfo in unreadedMsgsInfo)
            {
                foreach (var acc in Accounts)
                {
                    if (msgInfo.idx == acc.idx)
                    {
                        acc.CountNotReadedMessages = msgInfo.value;
                    }
                }
            }
            // Здесь мы находим сообщения связанные с перепиской по конкретному макету.

            string query = $"select * from chatmsg where " +
                           $"(doc_id = {CurrentDoc.idx} and doc_connection_id = " +
                           $"{CurrentDoc.connection.idx} and from_id <> " +
                           $"{DBConnector.CurrentSintezUser.idx} and readed = 'False')";
            List <ChatMsgRec> chats = ChatFerm.getMessages(query); //dbrec.loadRange<ChatMsgRec>(

            //query, DBConnector.Sintez_Connection);
            foreach (var item in chats)
            {
                Messages.Add(item);
                item.readed = true;
                item.save();
            }
            Logger.Debug("Закончили обработку информации о ещё " +
                         "не прочитанных сообщениях");
        }
Exemplo n.º 2
0
        /// <summary>
        /// Поиск ещё не прочитанных от всех аккаунтов сообщений.
        /// </summary>
        /// <param name="unreadedMsgsInfo">Краткая информация по
        /// непрочитанным сообщениям.</param>
        protected virtual void ChatFerm_onUnreadMessagesCount(List <idxLong> unreadedMsgsInfo)
        {
            Logger.Debug("Начинаем получать и обрабатывать информацию о ещё " +
                         "не прочитанных сообщениях");
            // Здесь мы сортируем по аккаунтам непрочитанные сообщения.
            foreach (var msgInfo in unreadedMsgsInfo)
            {
                foreach (var acc in Accounts)
                {
                    if (msgInfo.idx == acc.idx)
                    {
                        acc.CountNotReadedMessages = msgInfo.value;
                    }
                }
            }
            // Здесь мы находим сообщения связанные с перепиской по конкретному аккаунту.
            if (Talker == null)
            {
                return;
            }
            System.Threading.Tasks.Task.Run(() =>
            {
                System.Threading.Thread.Sleep(2000);
                if (Talker != null)
                {
                    Talker.CountNotReadedMessages = 0;
                }
            });
            string query = $"select * from chatmsg where " +
                           $"(from_id = {Talker.idx} and to_id = " +
                           $"{DBConnector.CurrentSintezUser.idx} and readed = 'False')";
            List <ChatMsgRec> chats = ChatFerm.getMessages(query); //dbrec.loadRange<ChatMsgRec>(

            //query, DBConnector.Sintez_Connection);
            foreach (var item in chats)
            {
                Messages.Add(item);
                item.readed = true;
                item.save();
            }
            Logger.Debug("Закончили обработку информации о ещё " +
                         "не прочитанных сообщениях");
        }