/// <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 }
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); } } }
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); }
/// <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> /// <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()); } }
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 }