public void onMUCRoomSubjectMessage(MUCRoomSubjectMessage mucRoomSubject) { string to = Utils.getBareJidFromFullJid(mucRoomSubject.getTo()); string from = Utils.getBareJidFromFullJid(mucRoomSubject.getFrom()); string id = ChatTable.generateId(from, to); MUCDBManager.INSTANCE.setMUCSubject(id, mucRoomSubject.SUBJECT, true); }
public void OnMUCRoomSubjectMessage(MUCRoomSubjectMessage mucRoomSubject) { string to = Utils.getBareJidFromFullJid(mucRoomSubject.getTo()); string from = Utils.getBareJidFromFullJid(mucRoomSubject.getFrom()); ChatModel chat; using (SemaLock semaLock = DataCache.INSTANCE.NewChatSemaLock()) { chat = DataCache.INSTANCE.GetChat(to, from, semaLock); } if (chat is null || chat.muc is null || (chat.muc.state == MucState.DISCONNECTED && string.Equals(chat.muc.subject, mucRoomSubject.SUBJECT))) { return; } using (SemaLock semaLock = chat.muc.NewSemaLock()) { chat.muc.subject = mucRoomSubject.SUBJECT; using (MainDbContext ctx = new MainDbContext()) { ctx.Update(chat.muc); } } }