public ChatSessionCollection GetChatSessionsWithUnreadMessages(int operatorID, int topCount) { if (operatorID <= 0) { ThrowError(new NotLoginError()); return(new ChatSessionCollection()); } if (topCount <= 0) { return(new ChatSessionCollection()); } #if !Passport PassportClientConfig settings = Globals.PassportClient; if (settings.EnablePassport) { ChatSessionProxy[] sessiongs = settings.PassportService.Chat_GetChatSessionsWithUnreadMessages(operatorID, topCount); ChatSessionCollection result = new ChatSessionCollection(); foreach (ChatSessionProxy s in sessiongs) { result.Add(GetChatSession(s)); } return(result); } else #endif { return(ChatDao.Instance.GetChatSessionsWithUnreadMessages(operatorID, topCount)); } }
/// <summary> /// 获取聊天会话,最近聊天的用户将出现在列表顶部 /// </summary> /// <param name="operatorID"></param> /// <param name="pageNumber"></param> /// <param name="pageSize"></param> /// <returns></returns> public ChatSessionCollection GetChatSessions(int operatorID, int pageNumber, int pageSize) { if (!AllSettings.Current.ChatSettings.EnableChatFunction) { return(new ChatSessionCollection()); } if (operatorID <= 0) { ThrowError(new NotLoginError()); return(new ChatSessionCollection()); } #if !Passport PassportClientConfig settings = Globals.PassportClient; if (settings.EnablePassport) { int totalCount; ChatSessionProxy[] sessiongs = settings.PassportService.Chat_GetChatSessions(operatorID, pageNumber, pageSize, out totalCount); ChatSessionCollection result = new ChatSessionCollection(); foreach (ChatSessionProxy s in sessiongs) { result.Add(GetChatSession(s)); } result.TotalRecords = totalCount; return(result); } else #endif { ChatSessionCollection chatSessions = ChatDao.Instance.GetChatSessions(operatorID, pageNumber, pageSize); //UserBO.Instance.getsi return(chatSessions); } }
public ChatSessionCollection AdminGetSessions(int operatorUserID, ChatSessionFilter filter, int pageNumber) { #if !Passport PassportClientConfig settings = Globals.PassportClient; if (settings.EnablePassport) { ChatSessionProxy[] sessons = settings.PassportService.Chat_AdminGetSessions(operatorUserID, GetChatSessionFilterProxy(filter), pageNumber); ChatSessionCollection result = new ChatSessionCollection(); foreach (ChatSessionProxy s in sessons) { result.Add(GetChatSession(s)); } return(result); } else #endif { Guid[] ExcludeRoleIds = PermissionSet.GetNoPermissionTargetRoleIds(operatorUserID, PermissionTargetType.Content); return(ChatDao.Instance.AdminGetSessions(filter, pageNumber, ExcludeRoleIds)); } }