/// <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("Закончили обработку информации о ещё " + "не прочитанных сообщениях"); }
/// <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("Закончили обработку информации о ещё " + "не прочитанных сообщениях"); }