示例#1
0
        /// <summary>
        /// 菜单主页显示
        /// </summary>
        /// <returns></returns>
        public ActionResult MainPage()
        {
            int alarmCount = warnlogSer.QueryWhere(w => w.Status.Equals("0")).GroupBy(g => g.WarnType).Count();

            ViewBag.count = alarmCount;
            // 通过Session获得登录后的用户的ID
            SB_User users = (SB_User)Session[Keys.userInfo];

            ViewBag.userInfo = users.Account;
            ViewBag.userId   = users.ID;
            // 通过用户的ID查询用户角色表
            var userRolesDistinct = sysroleuserSer.QueryWhere(s => s.UserID == users.ID).Distinct();
            //已获得角色集合,通过角色id去获得角色权限表,多个角色的话,权限可能有重复
            //获取系统校色页面表
            var rolePages = sysrolepageSer.QueryWhere(x => true);
            //获取页面表
            var pages = pageSer.QueryWhere(x => true).OrderBy(x => x.SortN).ToList();
            //通过系统角色ID查询出该角色页面
            var userPages = userRolesDistinct.Join(rolePages, x => x.SysRoleID, y => y.SysRoleID, (x, y) =>
                                                   new
            {
                x.UserID,
                x.SysRoleID,
                y.PageID
            }).Distinct();
            //获取该角色所有页面
            var query = pages.Join(userPages, x => x.ID, y => y.PageID, (x, y) => x).GroupBy(g => g.ID).Select(s => s.FirstOrDefault()).ToList();

            return(View(query));
        }
示例#2
0
        /// <summary>
        /// 报警提示
        /// </summary>
        /// <returns></returns>
        public ActionResult WarnTip()
        {
            var time  = DateTime.Now;
            var time1 = time.AddSeconds(-6);
            var res   = warnlogSer.QueryWhere(w => w.WarnTime >= time1 && w.WarnTime <= time && w.Status.Equals("0"));
            List <Model.SB_WarnLog> warnlog = new List <Model.SB_WarnLog>();

            foreach (var item in res)
            {
                var checkres = warnlogSer.QueryWhere(w => w.WarnType.Equals(item.WarnType) && w.Status.Equals("0") && w.WarnTime < time1).FirstOrDefault();
                if (checkres == null)
                {
                    warnlog.Add(checkres);
                }
            }
            if (warnlog.Count > 0)
            {
                return(Json(warnlog, JsonRequestBehavior.AllowGet));
            }

            return(Json("0", JsonRequestBehavior.AllowGet));
        }