Exemple #1
0
        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));
            }
        }
Exemple #2
0
        /// <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);
            }
        }
Exemple #3
0
        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));
            }
        }