Exemple #1
0
        /// <summary>
        /// 获取用户的未读系统通知
        /// </summary>
        /// <param name="operatorUser"></param>
        public static void GetMySystemNotifys(AuthUser operatorUser)
        {
            int maxID = 0;
            SystemNotifyCollection allNotifys = Instance.AllSystemNotifys;

            if (operatorUser.SystemNotifyVersion == Instance.NotifyVersion)
            {
                return;
            }

            SystemNotifyCollection myNotifys = new SystemNotifyCollection();
            UserRoleCollection     myRoles   = operatorUser.Roles;

            string myUserIDTag = string.Concat(",", operatorUser.UserID, ",");

            foreach (SystemNotify notify in allNotifys)
            {
                if (maxID < notify.NotifyID)
                {
                    maxID = notify.NotifyID;
                }
                if (!notify.Available)
                {
                    continue;
                }

                if (notify.NotifyID <= operatorUser.LastReadSystemNotifyID)//
                {
                    continue;
                }

                if (!string.IsNullOrEmpty(notify.ReadUserIDs) && notify.ReadUserIDs.Contains(myUserIDTag))//是否已读
                {
                    continue;
                }


                if (notify.ReceiveUserIDs.Contains(operatorUser.UserID))
                {
                    myNotifys.Add(notify);
                }
                else
                {
                    foreach (UserRole ur in myRoles)
                    {
                        if (notify.ReceiveRoles.Contains(ur.RoleID))
                        {
                            myNotifys.Add(notify);
                            break;
                        }
                    }
                }
            }

            operatorUser.SystemNotifys       = myNotifys;
            operatorUser.SystemNotifyVersion = Instance.NotifyVersion;
            //user.LastReadSystemNotifyID = maxid;
            //UserBO.Instance.UpdateMaxSystemNotifyID(user.UserID, maxid);
            //Instance.AllSystemNotifys
        }
Exemple #2
0
 public override SystemNotifyCollection GetSystemNotifies()
 {
     using (SqlQuery query = new SqlQuery())
     {
         query.CommandText = " SELECT * FROM bx_SystemNotifies WHERE EndDate> GETDATE() ORDER BY NotifyID DESC";
         using (XSqlDataReader reader = query.ExecuteReader())
         {
             SystemNotifyCollection notifys = new SystemNotifyCollection(reader);
             return(notifys);
         }
     }
 }
Exemple #3
0
        public List <SystemNotifyProxy> Notify_GetSystemNotifys()
        {
            if (!CheckClient())
            {
                return(null);
            }

            SystemNotifyCollection   temp   = NotifyBO.Instance.GetSystemNotifys();
            List <SystemNotifyProxy> result = new List <SystemNotifyProxy>();

            foreach (SystemNotify notify in temp)
            {
                result.Add(ProxyConverter.GetSystemNotifyProxy(notify));
            }

            return(result);
        }
Exemple #4
0
        /// <summary>
        /// 获取用户的所有系统通知,包括已读未读的。
        /// </summary>
        /// <param name="operateUser">操作者</param>
        /// <param name="unreadIDs">返回集合内未读的系统通知编号</param>
        /// <returns></returns>
        public static SystemNotifyCollection GetMyAllSystemNotifies(AuthUser operateUser, out List <int> unreadIDs)
        {
            SystemNotifyCollection allNotifys = Instance.AllSystemNotifys;

            SystemNotifyCollection myNotifys = new SystemNotifyCollection();
            UserRoleCollection     myRoles   = operateUser.Roles;

            unreadIDs = new List <int>();
            string myUserIDTag = string.Concat(",", operateUser.UserID, ",");

            foreach (SystemNotify notify in allNotifys)
            {
                if (!notify.Available)
                {
                    continue;
                }

                if (notify.ReceiveUserIDs.Contains(operateUser.UserID))
                {
                    if (!string.IsNullOrEmpty(notify.ReadUserIDs) && !notify.ReadUserIDs.Contains(myUserIDTag))//是否已读
                    {
                        unreadIDs.Add(notify.NotifyID);
                    }
                    myNotifys.Add(notify);
                }
                else
                {
                    foreach (UserRole ur in myRoles)
                    {
                        if (notify.ReceiveRoles.Contains(ur.RoleID))
                        {
                            if (!string.IsNullOrEmpty(notify.ReadUserIDs) && !notify.ReadUserIDs.Contains(myUserIDTag))//是否已读
                            {
                                unreadIDs.Add(notify.NotifyID);
                            }
                            myNotifys.Add(notify);
                            break;
                        }
                    }
                }
            }

            return(myNotifys);
        }
Exemple #5
0
        /// <summary>
        /// 获取系统通知列表
        /// </summary>
        /// <returns></returns>
        public SystemNotifyCollection GetSystemNotifys()
        {
#if !Passport
            PassportClientConfig settings = Globals.PassportClient;
            if (settings.EnablePassport)
            {
                SystemNotifyProxy[] proxys = settings.PassportService.Notify_GetSystemNotifys();

                SystemNotifyCollection result = new SystemNotifyCollection();
                foreach (SystemNotifyProxy proxy in proxys)
                {
                    result.Add(ProxyToSystemNotify(proxy));
                }
                return(result);
            }
            else
#endif
            {
                return(NotifyDao.Instance.GetSystemNotifies());
            }
        }
Exemple #6
0
        public SystemNotifyCollection GetUserSystemNotifies(AuthUser operateUser, out List <int> unreadIDs)
        {
            SystemNotifyCollection results = SystemNotifyProvider.GetMyAllSystemNotifies(operateUser, out unreadIDs);

            return(results);
        }
        /// <summary>
        /// 获取用户的所有系统通知,包括已读未读的。
        /// </summary>
        /// <param name="operateUser">操作者</param>
        /// <param name="unreadIDs">返回集合内未读的系统通知编号</param>
        /// <returns></returns>
        public static SystemNotifyCollection GetMyAllSystemNotifies( AuthUser operateUser,out  List<int> unreadIDs )
        {
            SystemNotifyCollection allNotifys = Instance.AllSystemNotifys;

            SystemNotifyCollection myNotifys = new SystemNotifyCollection();
            UserRoleCollection myRoles = operateUser.Roles;
            unreadIDs = new List<int>();
            string myUserIDTag = string.Concat(",", operateUser.UserID, ",");

            foreach (SystemNotify notify in allNotifys)
            {
                if (!notify.Available)
                    continue;

                if (notify.ReceiveUserIDs.Contains(operateUser.UserID))
                {
                    if (!string.IsNullOrEmpty(notify.ReadUserIDs) && !notify.ReadUserIDs.Contains(myUserIDTag))//是否已读
                    {
                        unreadIDs.Add(notify.NotifyID);
                    }
                    myNotifys.Add(notify);
                }
                else
                {
                    foreach (UserRole ur in myRoles)
                    {
                        if (notify.ReceiveRoles.Contains(ur.RoleID))
                        {
                            if (!string.IsNullOrEmpty(notify.ReadUserIDs) && !notify.ReadUserIDs.Contains(myUserIDTag))//是否已读
                            {
                                unreadIDs.Add(notify.NotifyID);
                            }
                            myNotifys.Add(notify);
                            break;
                        }
                    }
                }
            }

            return myNotifys;
        }
        /// <summary>
        /// 获取用户的未读系统通知
        /// </summary>
        /// <param name="operatorUser"></param>
        public static void GetMySystemNotifys(AuthUser operatorUser)
        {
            int maxID = 0;
            SystemNotifyCollection allNotifys = Instance.AllSystemNotifys;
            if (operatorUser.SystemNotifyVersion == Instance.NotifyVersion)
                return;
            
            SystemNotifyCollection myNotifys=new SystemNotifyCollection();
            UserRoleCollection myRoles = operatorUser.Roles;

            string myUserIDTag = string.Concat(",", operatorUser.UserID, ",");

            foreach (SystemNotify notify in allNotifys)
            {
                if (maxID < notify.NotifyID)
                    maxID = notify.NotifyID;
                if (!notify.Available)
                    continue;

                if (notify.NotifyID <= operatorUser.LastReadSystemNotifyID)//
                    continue;

                if (!string.IsNullOrEmpty(notify.ReadUserIDs) && notify.ReadUserIDs.Contains(myUserIDTag))//是否已读
                    continue;
                

                if (notify.ReceiveUserIDs.Contains(operatorUser.UserID))
                {
                    myNotifys.Add(notify);
                }
                else
                {
                    foreach (UserRole ur in myRoles)
                    {
                        if (notify.ReceiveRoles.Contains(ur.RoleID))
                        {
                            myNotifys.Add(notify);
                            break;
                        }
                    }
                }
            }

            operatorUser.SystemNotifys = myNotifys;
            operatorUser.SystemNotifyVersion = Instance.NotifyVersion;
            //user.LastReadSystemNotifyID = maxid;
            //UserBO.Instance.UpdateMaxSystemNotifyID(user.UserID, maxid);               
            //Instance.AllSystemNotifys
        }