void Grid_OnAction(string actionName, object actionArgument) { ((CMSChatPage)Page).CheckModifyPermission(SiteID); int chatMessageID = ValidationHelper.GetInteger(actionArgument, 0); switch (actionName) { case "delete": ChatMessageInfoProvider.DeleteChatMessageInfo(chatMessageID); break; case "reject": ChatMessageInfo cmi = ChatMessageInfoProvider.GetChatMessageInfo(chatMessageID); if (cmi != null) { if (cmi.ChatMessageRejected) { // Set message as 'not rejected' cmi.ChatMessageRejected = false; } else { // Set message as 'rejected' cmi.ChatMessageRejected = true; } ChatMessageInfoProvider.SetChatMessageInfo(cmi); } break; } }
// Init event void CMSModules_Chat_CMSPages_OfflineSupportForm_Init(object sender, EventArgs e) { if (!RequestHelper.IsPostBack()) { int roomID = QueryHelper.GetInteger("roomid", 0); try { if (ChatUserHelper.CheckJoinRoomRights(roomID)) { ChatRoomUserInfo chatRoomUser = ChatRoomUserInfoProvider.GetChatRoomUser(ChatOnlineUserHelper.GetLoggedInChatUser().ChatUserID, roomID); IEnumerable <MessageData> messages = ChatMessageInfoProvider.GetLatestMessages(roomID, 300, chatRoomUser.ChatRoomUserJoinTime); StringBuilder sb = new StringBuilder(); // Iterate backwards over the messages, take only non-system messages foreach (MessageData message in messages.Where(m => !m.SystemMessageType.IsSystemMessage()).Reverse()) { sb.AppendFormat("{0} {1}: {2}", message.LastModified, message.Nickname, message.MessageText); sb.NewLine(); } messageEditElem.MessageText = sb.ToString(); } } catch (Exception ex) { EventLogProvider.LogException("CMSModules_Chat_CMSPages_OfflineSupportForm", "GET ROOM MESSAGES", ex); } } }