Esempio n. 1
0
        /// <summary>
        /// 分页获取AppUserList
        /// </summary>
        /// <param name="pageIndex"></param>
        /// <param name="pageSize"></param>
        /// <param name="name"></param>
        /// <param name="count"></param>
        /// <returns></returns>
        public List <SYS_USERINFO> GetAppUserList(int pageIndex, int pageSize, string name, ref int count)
        {
            try
            {
                //查询数据
                using (HISDataEntities appEntities = new HISDataEntities())
                {
                    var queryResult = (from a in appEntities.SYS_USERINFO
                                       join b in appEntities.SYS_Department on a.DepartmentID equals b.ID into temp
                                       from b in temp.DefaultIfEmpty()
                                       select new { a, b });
                    if (!String.IsNullOrEmpty(name))
                    {
                        queryResult = queryResult.Where(p => p.a.NAME.Contains(name) || p.a.LoginName.Contains(name));
                    }
                    count = queryResult.Count();

                    if (count < 1)
                    {
                        return(new List <SYS_USERINFO>());
                    }
                    //分页
                    queryResult = queryResult.OrderByDescending(p => p.a.ID).Skip((pageIndex - 1) * pageSize).Take(pageSize);

                    //转换
                    List <SYS_USERINFO> result = new List <SYS_USERINFO>();
                    foreach (var item in queryResult)
                    {
                        SYS_USERINFO user = new SYS_USERINFO();
                        user.ID         = item.a.ID;
                        user.NAME       = item.a.NAME;
                        user.Tel        = item.a.Tel;
                        user.Email      = item.a.Email;
                        user.CreateTime = item.a.CreateTime;
                        user.HeadImg    = item.a.HeadImg;
                        user.LoginName  = item.a.LoginName;
                        user.QQ         = item.a.QQ;
                        user.Position   = item.a.Position;
                        if (item.b == null)
                        {
                            user.DepartmentID   = 0;
                            user.DepartmentName = "无部门";
                        }
                        else
                        {
                            user.DepartmentID   = item.b.ID;
                            user.DepartmentName = item.b.Department;
                        }

                        result.Add(user);
                    }

                    return(result);
                }
            }
            catch (Exception e)
            {
                return(null);
            }
        }
Esempio n. 2
0
        /// <summary>
        /// 获取权限的Tree数据源,如果Role不为空,则根据roleID自动选中
        /// </summary>
        /// <param name="p"></param>
        /// <param name="errMsg"></param>
        /// <param name="count"></param>
        /// <returns></returns>
        public List <Hashtable> GetRoleActionRoleTreeList(int roleId, ref string errMsg)
        {
            try
            {
                List <SYS_Action>            queryList   = null;
                List <SYS_ROLEACTIONMAPPING> roleMapping = null;

                //获取权限列表和当前的权限列表
                using (HISDataEntities appEntities = new HISDataEntities())
                {
                    queryList   = (from a in appEntities.SYS_Action where a.Flag == 1 select a).ToList();
                    roleMapping = (from a in appEntities.SYS_ROLEACTIONMAPPING where a.ROLEID == roleId select a).ToList();
                    if (queryList.Count() < 1)
                    {
                        return(new List <Hashtable>());
                    }
                }

                List <Hashtable> htList = new List <Hashtable>();
                var findList            = queryList.Where(o => o.ParentID == 0 && o.Flag == 1);

                foreach (SYS_Action parentItem in findList)
                {
                    Hashtable ht = InitActionTreeChildren(queryList, parentItem, roleMapping);
                    htList.Add(ht);
                }

                return(htList);
            }
            catch (Exception e)
            {
                errMsg = e.Message;
                return(new List <Hashtable>());
            }
        }
Esempio n. 3
0
        private string CreateDeptNum(SYS_Department dept)
        {
            string         actionCount = "01";
            string         deptNum     = "DT";
            SYS_Department parentMenu  = null;
            SYS_Department lastMenu    = null;

            using (HISDataEntities hisEntities = new HISDataEntities())
            {
                //查找上级菜单
                parentMenu = hisEntities.SYS_Department.Where(o => o.ID == dept.ParentID).FirstOrDefault();
                //查询菜单下最大编号不包括自己和已经删除的
                lastMenu = hisEntities.SYS_Department.Where(o => o.ParentID == dept.ParentID).OrderByDescending(o => o.DepartmentNum).FirstOrDefault();
            }
            if (lastMenu != null)
            {
                var str    = lastMenu.DepartmentNum.Substring(lastMenu.DepartmentNum.Length - 2, 2);
                int number = Convert.ToInt32(str) + 1;
                actionCount = number.ToString().PadLeft(2, '0');
            }

            if (parentMenu != null)
            {
                deptNum = parentMenu.DepartmentNum + actionCount;
                return(deptNum);
            }
            return(deptNum + actionCount);
        }
Esempio n. 4
0
 /// <summary>
 /// 获取部门Tree
 /// </summary>
 /// <param name="count"></param>
 /// <param name="errMsg"></param>
 /// <returns></returns>
 public List <Hashtable> GetDepartmentTree(ref int count, ref string errMsg)
 {
     try
     {
         using (HISDataEntities appEntitys = new HISDataEntities())
         {
             IQueryable <SYS_Department> departmentList = appEntitys.SYS_Department.Where(o => o.Flag == 1 && o.ParentID == 0);
             count = departmentList.Count();
             List <Hashtable> tableList = new List <Hashtable>();
             Hashtable        noneTable = new Hashtable();
             noneTable.Add("id", 0);
             noneTable.Add("text", "无部门");
             tableList.Add(noneTable);
             if (count < 1)
             {
                 return(tableList);
             }
             foreach (var item in departmentList)
             {
                 Hashtable ht = new Hashtable();
                 ht.Add("id", item.ID);
                 ht.Add("text", item.Department);
                 InitDepartmentChildren(appEntitys, ht, item.ID);
                 tableList.Add(ht);
             }
             return(tableList);
         }
     }
     catch (Exception e)
     {
         errMsg = e.Message;
         return(new List <Hashtable>());
     }
 }
Esempio n. 5
0
 /// <summary>
 /// 添加部门
 /// </summary>
 /// <param name="department"></param>
 /// <param name="errMsg"></param>
 public void AddDepartment(SYS_Department department, ref string errMsg)
 {
     try
     {
         department.Flag = 1;
         using (HISDataEntities appEntitys = new HISDataEntities())
         {
             if (department.ParentID == null)
             {
                 department.ParentID = 0;
             }
             //检查部门编号和部门名称不能重复
             var queryList = appEntitys.SYS_Department.Where(o => o.Department == department.Department || o.DepartmentNum == department.DepartmentNum);
             if (queryList.Count() > 0)
             {
                 errMsg = "部门名称或部门编号重复";
                 return;
             }
             department.DepartmentNum = CreateDeptNum(department);
             appEntitys.SYS_Department.Add(department);
             appEntitys.SaveChanges();
         }
     }
     catch (Exception e)
     {
         errMsg = e.Message;
     }
 }
Esempio n. 6
0
        /// <summary>
        /// 编辑部门
        /// </summary>
        /// <param name="department"></param>
        /// <param name="errMsg"></param>
        public void EditDepartment(SYS_Department department, ref string errMsg)
        {
            try
            {
                using (HISDataEntities appEntitys = new HISDataEntities())
                {
                    SYS_Department editItem = appEntitys.SYS_Department.Where(o => o.ID == department.ID).FirstOrDefault();
                    if (editItem == null)
                    {
                        errMsg = "查无数据";
                        return;
                    }

                    editItem.DepartmentNum = department.DepartmentNum;
                    editItem.Department    = department.Department;
                    //editItem.Disc = department.Disc;
                    editItem.ParentID = department.ParentID;
                    editItem.Flag     = department.Flag;

                    appEntitys.SaveChanges();
                }
            }
            catch (Exception e)
            {
                errMsg = e.Message;
            }
        }
Esempio n. 7
0
        /// <summary>
        /// 获取TreeGrid 格式数据
        /// </summary>
        /// <param name="pageIndex"></param>
        /// <param name="pageSize"></param>
        /// <param name="name"></param>
        /// <param name="count"></param>
        /// <param name="errMsg"></param>
        /// <returns></returns>
        public List <Hashtable> GetDepartmentTreeGridList(ref int count, ref string errMsg)
        {
            try
            {
                List <SYS_Department> queryList = null;
                using (HISDataEntities appEntities = new HISDataEntities())
                {
                    queryList = appEntities.SYS_Department.Where(o => o.Flag == 1).ToList();
                    count     = queryList.Count();
                    if (count < 1)
                    {
                        return(null);
                    }
                }

                List <Hashtable> htList = new List <Hashtable>();
                var parentList          = queryList.Where(o => o.ParentID == 0);
                foreach (SYS_Department actionItem in parentList)
                {
                    Hashtable ht = InitDepartmentGridChildren(queryList, actionItem);
                    htList.Add(ht);
                }
                return(htList);
            }
            catch (Exception e)
            {
                errMsg = e.Message;
                count  = 0;
                return(null);
            }
        }
Esempio n. 8
0
        private string CreateMenuNum(SYS_ITEMMENU menu)
        {
            string       actionCount = "01";
            string       menuNum     = "MN";
            SYS_ITEMMENU parentMenu  = null;
            SYS_ITEMMENU lastMenu    = null;

            using (HISDataEntities hisEntities = new HISDataEntities())
            {
                //查找上级菜单
                parentMenu = hisEntities.SYS_ITEMMENU.Where(o => o.ID == menu.ParentID).FirstOrDefault();
                //查询菜单下最大编号不包括自己和已经删除的
                lastMenu = hisEntities.SYS_ITEMMENU.Where(o => o.ParentID == menu.ParentID).OrderByDescending(o => o.MenuNum).FirstOrDefault();
            }
            if (lastMenu != null)
            {
                var str    = lastMenu.MenuNum.Substring(lastMenu.MenuNum.Length - 2, 2);
                int number = Convert.ToInt32(str) + 1;
                actionCount = number.ToString().PadLeft(2, '0');
            }

            if (parentMenu != null)
            {
                menuNum = parentMenu.MenuNum + actionCount;
                return(menuNum);
            }
            return(menuNum + actionCount);
        }
Esempio n. 9
0
        /// <summary>
        /// 添加菜单
        /// </summary>
        /// <param name="menuItem"></param>
        /// <param name="errMsg"></param>
        public void AddMenu(SYS_ITEMMENU menuItem, ref string errMsg)
        {
            try
            {
                using (HISDataEntities hisEntities = new HISDataEntities())
                {
                    menuItem.MenuNum    = CreateMenuNum(menuItem);
                    menuItem.CREATETIME = DateTime.Now;
                    menuItem.STATE      = "open";

                    //更新上级菜单state 为 closeed
                    var findItem = hisEntities.SYS_ITEMMENU.Where(o => o.ID == menuItem.ParentID).FirstOrDefault();
                    if (findItem != null)
                    {
                        findItem.STATE = "closed";
                    }

                    menuItem.CHECKED = true;
                    menuItem.SEQ     = 1;//排序

                    hisEntities.SYS_ITEMMENU.Add(menuItem);
                    hisEntities.SaveChanges();
                }
            }
            catch (Exception e)
            {
                errMsg = e.Message;
            }
        }
Esempio n. 10
0
 /// <summary>
 /// 根据name获取菜单列表
 /// </summary>
 /// <param name="name"></param>
 /// <param name="count"></param>
 /// <returns></returns>
 public List <Hashtable> GetAppActionTreeGridList(ref int count)
 {
     try
     {
         List <Models.SYS_Action> queryList = null;
         using (HISDataEntities appEntities = new HISDataEntities())
         {
             queryList = appEntities.SYS_Action.Where(o => o.Flag == 1).ToList();
             count     = queryList.Count();
             if (count < 1)
             {
                 return(null);
             }
         }
         List <Hashtable> htList = new List <Hashtable>();
         var parentList          = queryList.Where(o => o.ParentID == 0);
         foreach (SYS_Action actionItem in parentList)
         {
             Hashtable ht = CreateTreeGridList(queryList, actionItem);
             htList.Add(ht);
         }
         return(htList);
     }
     catch (Exception e)
     {
         count = 0;
         return(null);
     }
 }
Esempio n. 11
0
 /// <summary>
 /// 删除权限
 /// </summary>
 public void DeleteAction(int actionId, ref string errMsg)
 {
     try
     {
         List <SYS_Action> deleteList = null;
         using (HISDataEntities appEntities = new HISDataEntities())
         {
             SYS_Action actionItem = appEntities.SYS_Action.Where(o => o.ID == actionId).FirstOrDefault();
             if (actionItem == null)
             {
                 errMsg = "查无数据";
                 return;
             }
             actionItem.Flag = 0;
             deleteList      = DeleteActionChildren(appEntities, actionId);
             deleteList.Add(actionItem);
             //更新菜单中的ActionNum
             SYS_ITEMMENU findMenu = appEntities.SYS_ITEMMENU.Where(o => o.ActionNum == actionItem.ActionNum).FirstOrDefault();
             if (findMenu != null)
             {
                 findMenu.ActionNum = string.Empty;
             }
             // 保存
             appEntities.SaveChanges();
         }
     }
     catch (Exception e)
     {
         errMsg = e.Message;
     }
 }
Esempio n. 12
0
        /// <summary>
        /// 新增用户
        /// </summary>
        /// <param name="user"></param>
        public void AddUser(SYS_USERINFO user, ref string errMsg)
        {
            try
            {
                using (HISDataEntities appEntity = new HISDataEntities())
                {
                    //检查重复用户名
                    IQueryable <SYS_USERINFO> appList = appEntity.SYS_USERINFO.Where(o => o.LoginName == user.LoginName);
                    if (appList.Count() > 0)
                    {
                        errMsg = "用户名已经存在";
                        return;
                    }
                    user.GUID     = Guid.NewGuid();
                    user.PASSWORD = Common.MD5Helper.MD5Encrypt32bit(user.PASSWORD);
                    appEntity.SYS_USERINFO.Add(user);

                    //为用户设置默认角色
                    appEntity.SaveChanges();
                }
            }
            catch (Exception e)
            {
                errMsg = e.Message;
            }
        }
Esempio n. 13
0
        public List <Hashtable> GetAppActionComboTreeList(ref int count)
        {
            try
            {
                List <SYS_Action> queryList = null;
                using (HISDataEntities appEntities = new HISDataEntities())
                {
                    queryList = appEntities.SYS_Action.Where(o => o.Flag == 1).ToList();
                    count     = queryList.Count();
                }

                List <Hashtable> htList    = new List <Hashtable>();
                Hashtable        firstItem = new Hashtable();
                firstItem.Add("id", 0);
                firstItem.Add("text", "无上级");
                htList.Add(firstItem);

                if (count < 1)
                {
                    return(htList);
                }

                var parentList = queryList.Where(o => o.ParentID == 0);
                foreach (SYS_Action actionItem in parentList)
                {
                    Hashtable ht = CreateComboTreeList(queryList, actionItem);
                    htList.Add(ht);
                }
                return(htList);
            }
            catch (Exception e)
            {
                return(null);
            }
        }
Esempio n. 14
0
        /// <summary>
        /// 根据用户Id获取所有角色
        /// </summary>
        /// <param name="userId"></param>
        /// <returns></returns>
        public List <SYS_ROLE> GetAppUserRoleList(int userId, ref string errMsg)
        {
            try
            {
                using (HISDataEntities appEntities = new HISDataEntities())
                {
                    var query = (from a in appEntities.SYS_ROLE
                                 join b in appEntities.SYS_USERROLEMAPPING on a.ID equals b.ROLEID
                                 where b.USERID == userId
                                 select a);

                    if (query == null)
                    {
                        return(null);
                    }

                    return(query.ToList());
                }
            }
            catch (Exception e)
            {
                errMsg = e.Message;
                return(null);
            }
        }
Esempio n. 15
0
        /// <summary>
        /// 删除用户数据
        /// </summary>
        /// <param name="userId"></param>
        /// <param name="errMsg"></param>
        public void DeleteUser(int userId, ref string errMsg)
        {
            try
            {
                using (HISDataEntities appEntitys = new HISDataEntities())
                {
                    var appUser = appEntitys.SYS_USERINFO.Where(o => o.ID == userId).FirstOrDefault();
                    if (appUser == null)
                    {
                        errMsg = "查找不到数据数据";
                        return;
                    }
                    //删除用户
                    appEntitys.SYS_USERINFO.Remove(appUser);
                    //删除用户级联的角色
                    var roleMapping = appEntitys.SYS_USERROLEMAPPING.Where(o => o.USERID == userId);
                    if (roleMapping.Count() > 0)
                    {
                        foreach (var item in roleMapping)
                        {
                            appEntitys.SYS_USERROLEMAPPING.Remove(item);
                        }
                    }

                    appEntitys.SaveChanges();
                }
            }
            catch (Exception e)
            {
                errMsg = e.Message;
            }
        }
Esempio n. 16
0
        /// <summary>
        /// 根据权限获取该用户的菜单列表
        /// </summary>
        /// <param name="userId"></param>
        /// <returns></returns>
        public List <SYS_ITEMMENU> GetAppUserMenuList(int userId)
        {
            try
            {
                using (HISDataEntities appEntities = new HISDataEntities())
                {
                    //级联角色,如果角色删除,排除删除的角色
                    //将菜单存到数据库
                    var quertList = from a in appEntities.SYS_ITEMMENU
                                    join b in appEntities.SYS_Action on a.ActionNum equals b.ActionNum
                                    join c in appEntities.SYS_ROLEACTIONMAPPING on b.ID equals c.ACTIONID
                                    join d in appEntities.SYS_USERROLEMAPPING on c.ROLEID equals d.ROLEID
                                    join e in appEntities.SYS_ROLE on d.ROLEID equals e.ID
                                    where d.USERID == userId && b.Flag == 1 && e.FLAG == 1
                                    orderby a.ORDERINDEX ascending
                                    select a;

                    return(quertList.Distinct().ToList());
                }
            }
            catch (Exception e)
            {
                return(null);
            }
        }
Esempio n. 17
0
        /// <summary>
        /// 根据用户id,获取用户下的权限列表
        /// </summary>
        /// <param name="userid">用户id</param>
        /// <param name="actionType">权限类型</param>
        /// <returns></returns>
        public List <SYS_Action> GetAppUserActionList(int userid, Models.HIS.AppActionType actionType)
        {
            try
            {
                using (HISDataEntities appEntities = new HISDataEntities())
                {
                    //查询
                    var queryList = (from a in appEntities.SYS_Action
                                     join b in appEntities.SYS_ROLEACTIONMAPPING on a.ID equals b.ACTIONID
                                     join c in appEntities.SYS_USERROLEMAPPING on b.ROLEID equals c.ROLEID
                                     where c.USERID == userid
                                     select a).Distinct();

                    if (queryList.Count() < 1)
                    {
                        return(null);
                    }

                    //过滤菜单权限还是按钮权限
                    if (actionType == Models.HIS.AppActionType.AllAction)
                    {
                        return(queryList.ToList());
                    }
                    int typeInt = Convert.ToInt32(actionType);
                    queryList = queryList.Where(o => o.Type == typeInt);
                    return(queryList.ToList());
                }
            }
            catch
            {
                return(null);
            }
        }
Esempio n. 18
0
        /// <summary>
        /// 编辑角色
        /// </summary>
        /// <param name="roleInfo"></param>
        /// <param name="errMsg"></param>
        public void EditRole(SYS_ROLE roleInfo, ref string errMsg)
        {
            try
            {
                using (HISDataEntities appEntities = new HISDataEntities())
                {
                    SYS_ROLE roleItem = appEntities.SYS_ROLE.Where(o => o.ID == roleInfo.ID).FirstOrDefault();
                    if (roleItem == null)
                    {
                        errMsg = "查无数据";
                        return;
                    }

                    //检查用户编码不能重复
                    if (appEntities.SYS_ROLE.Where(o => o.ROLENUM == roleInfo.ROLENUM && o.ID != roleInfo.ID).Count() > 0)
                    {
                        errMsg = "角色编码不能重复";
                        return;
                    }

                    roleItem.ROLENAME = roleInfo.ROLENAME;
                    roleItem.ROLENUM  = roleInfo.ROLENUM;
                    //roleItem.Disc = roleInfo.Disc;

                    appEntities.SaveChanges();
                }
            }
            catch (Exception e)
            {
                errMsg = e.Message;
            }
        }
Esempio n. 19
0
        /// <summary>
        /// 获取分页数据
        /// </summary>
        /// <param name="pageIndex"></param>
        /// <param name="pageSize"></param>
        /// <param name="name"></param>
        /// <returns></returns>
        public List <SYS_ROLE> GetAppRoleList(int pageIndex, int pageSize, ref int count, string name)
        {
            try
            {
                using (HISDataEntities appEntites = new HISDataEntities())
                {
                    var roleList = appEntites.SYS_ROLE.Where(o => o.FLAG == 1);
                    if (!string.IsNullOrEmpty(name))
                    {
                        roleList = roleList.Where(o => o.ROLENAME.Contains(name));
                    }

                    count = roleList.Count();
                    if (count < 1)
                    {
                        return(new List <SYS_ROLE>());
                    }
                    roleList = roleList.OrderByDescending(o => o.ID).Skip((pageIndex - 1) * pageSize).Take(pageSize);
                    return(roleList.ToList());
                }
            }
            catch (Exception e)
            {
                return(null);
            }
        }
Esempio n. 20
0
        /// <summary>
        /// 自动生成权限编码
        /// </summary>
        /// <param name="actionItem"></param>
        /// <returns></returns>
        private string CreateActionNum(SYS_Action actionItem)
        {
            SYS_Action parentAction = null;
            SYS_Action lastAction   = null;
            string     actionCount  = "01";
            string     actionNum    = "RT";

            using (HISDataEntities appEntities = new HISDataEntities())
            {
                //查找上级菜单
                parentAction = appEntities.SYS_Action.Where(o => o.ID == actionItem.ParentID).FirstOrDefault();
                //查询菜单下最大编号不包括自己和已经删除的
                lastAction = appEntities.SYS_Action.Where(o => o.ParentID == actionItem.ParentID).OrderByDescending(o => o.ActionNum).FirstOrDefault();
            }

            if (lastAction != null)
            {
                var str    = lastAction.ActionNum.Substring(lastAction.ActionNum.Length - 2, 2);
                int number = Convert.ToInt32(str) + 1;
                actionCount = number.ToString().PadLeft(2, '0');
            }

            if (parentAction != null)
            {
                actionNum = parentAction.ActionNum + actionCount;
                return(actionNum);
            }
            return(actionNum + actionCount);
        }
Esempio n. 21
0
        /// <summary>
        /// 添加角色
        /// </summary>
        /// <param name="roleInfo"></param>
        /// <param name="errMsg"></param>
        public void AddRole(SYS_ROLE roleInfo, ref string errMsg)
        {
            try
            {
                using (HISDataEntities appEntities = new HISDataEntities())
                {
                    roleInfo.FLAG       = 1;
                    roleInfo.CREATETIME = DateTime.Now;

                    //判断角色编码不能重复
                    var existRole = appEntities.SYS_ROLE.Where(o => (o.ROLENUM == roleInfo.ROLENUM || o.ROLENAME == roleInfo.ROLENAME) && o.FLAG != -1).FirstOrDefault();
                    if (existRole != null)
                    {
                        errMsg = "角色编码/名称不能重复";
                        return;
                    }
                    roleInfo.ROLENUM = CreateRoleNum(roleInfo);
                    appEntities.SYS_ROLE.Add(roleInfo);
                    appEntities.SaveChanges();
                }
            }
            catch (Exception e)
            {
                errMsg = e.Message;
            }
        }
Esempio n. 22
0
        /// <summary>
        /// 获取GridTree
        /// </summary>
        /// <param name="count"></param>
        /// <param name="errMsg"></param>
        /// <returns></returns>
        public object GetAppMenuGridTree(ref int count, ref string errMsg)
        {
            try
            {
                List <SYS_ITEMMENU> queryList = null;
                using (HISDataEntities appEntities = new HISDataEntities())
                {
                    queryList = appEntities.SYS_ITEMMENU.OrderBy(o => o.ORDERINDEX).ToList();
                    count     = queryList.Count();
                    if (count < 1)
                    {
                        return(null);
                    }
                }

                List <Hashtable> htList = new List <Hashtable>();
                var parentList          = queryList.Where(o => o.ParentID == 0).OrderBy(o => o.ORDERINDEX);
                foreach (SYS_ITEMMENU actionItem in parentList)
                {
                    Hashtable ht = InitMenuGridTreeChildren(queryList, actionItem);
                    htList.Add(ht);
                }
                return(htList);
            }
            catch (Exception e)
            {
                errMsg = e.Message;
                count  = 0;
                return(null);
            }
        }
Esempio n. 23
0
        /// <summary>
        /// 编辑User
        /// </summary>
        /// <param name="user"></param>
        /// <param name="errMsg"></param>
        public void EditUser(SYS_USERINFO user, ref string errMsg)
        {
            try
            {
                using (HISDataEntities appEntity = new HISDataEntities())
                {
                    var item = appEntity.SYS_USERINFO.Where(o => o.ID == user.ID).FirstOrDefault();

                    if (item == null)
                    {
                        errMsg = "无此数据";
                        return;
                    }
                    item.NAME         = user.NAME;
                    item.LoginName    = user.LoginName;
                    item.Position     = user.Position;
                    item.QQ           = user.QQ;
                    item.Tel          = user.Tel;
                    item.Email        = user.Email;
                    item.DepartmentID = user.DepartmentID;
                    item.HeadImg      = user.HeadImg;

                    appEntity.SaveChanges();
                }
            }
            catch (Exception e)
            {
                errMsg = e.Message;
            }
        }
Esempio n. 24
0
 /// <summary>
 /// 根据ID获取权限Model
 /// </summary>
 /// <param name="p"></param>
 /// <param name="errMsg"></param>
 /// <returns></returns>
 public SYS_Action GetActionByID(int actionId, ref string errMsg)
 {
     try
     {
         using (HISDataEntities appEntities = new HISDataEntities())
         {
             SYS_Action actionItem = appEntities.SYS_Action.Where(o => o.ID == actionId && o.Flag == 1).FirstOrDefault();
             if (actionItem == null)
             {
                 errMsg = "查无数据";
                 return(null);
             }
             //根据action num 获取菜单id
             var appMenu = appEntities.SYS_ITEMMENU.Where(o => o.ActionNum == actionItem.ActionNum).FirstOrDefault();
             if (appMenu != null)
             {
                 actionItem.ActionMenu = appMenu.ID;
             }
             return(actionItem);
         }
     }
     catch (Exception e)
     {
         errMsg = e.Message;
         return(null);
     }
 }
Esempio n. 25
0
 public SYS_USERINFO ValidateLogin(SYS_USERINFO info)
 {
     using (HISDataEntities appEntitys = new HISDataEntities())
     {
         var pwd  = Common.MD5Helper.MD5Encrypt32bit(info.PASSWORD);
         var item = appEntitys.SYS_USERINFO.Where(p => p.LoginName == info.LoginName && p.PASSWORD == pwd).FirstOrDefault();
         return(item);
     }
 }
Esempio n. 26
0
        /// <summary>
        /// 设置角色的权限
        /// </summary>
        /// <param name="roleid">角色Id</param>
        /// <param name="p">权限Id</param>
        /// <param name="errMsg"></param>
        public void SaveRoleAction(int roleid, string[] actionIds, ref string errMsg)
        {
            try
            {
                List <SYS_ROLEACTIONMAPPING> existList = null;
                using (HISDataEntities appEntities = new HISDataEntities())
                {
                    existList = appEntities.SYS_ROLEACTIONMAPPING.Where(o => o.ROLEID == roleid).ToList();
                    //检查是否存在,存在则忽略,不存在则插入
                    foreach (string actionId in actionIds)
                    {
                        int intActionId = Convert.ToInt32(actionId);

                        var actionItem = existList.Where(o => o.ACTIONID == intActionId).ToList();
                        if (actionItem != null && actionItem.Count() > 0)
                        {
                            continue;
                        }

                        //不存在的插入进数据库
                        SYS_ROLEACTIONMAPPING newMapping = new SYS_ROLEACTIONMAPPING();
                        newMapping.ROLEID     = roleid;
                        newMapping.ACTIONID   = intActionId;
                        newMapping.CREATETIME = DateTime.Now;
                        appEntities.SYS_ROLEACTIONMAPPING.Add(newMapping);
                    }

                    //遍历数据库中的数据,数据库存在但是参数中没有的,需要删除
                    foreach (var item in existList)
                    {
                        if (!actionIds.Contains(item.ACTIONID.ToString()))
                        {
                            var deleteItem = appEntities.SYS_ROLEACTIONMAPPING.Where(o => o.ID == item.ID).FirstOrDefault();
                            appEntities.SYS_ROLEACTIONMAPPING.Remove(deleteItem);
                        }
                    }

                    //提交所做的更改
                    appEntities.SaveChanges();
                }
            }
            catch (Exception e)
            {
                errMsg = e.Message;
            }
        }
Esempio n. 27
0
        //递归获取所有的子权限
        private List <SYS_Action> DeleteActionChildren(HISDataEntities appEntities, int actionId)
        {
            List <SYS_Action> listAction = new List <SYS_Action>();
            var childrenAction           = appEntities.SYS_Action.Where(o => o.ParentID == actionId);

            if (childrenAction.Count() > 0)
            {
                foreach (SYS_Action actionItem in childrenAction)
                {
                    listAction.Add(actionItem);
                    listAction.AddRange(DeleteActionChildren(appEntities, actionItem.ID));
                    actionItem.Flag      = 0;
                    actionItem.ActionNum = string.Empty;
                }
            }
            return(listAction);
        }
Esempio n. 28
0
        /// <summary>
        /// 添加权限
        /// </summary>
        /// <param name="actionItem"></param>
        /// <param name="errMsg"></param>
        public void AddAction(SYS_Action actionItem, ref string errMsg)
        {
            try
            {
                string actionNum = CreateActionNum(actionItem);
                //创建权限
                actionItem.ActionNum = actionNum;
                if (actionItem.ParentID == null)
                {
                    actionItem.ParentID = 0;
                }
                using (HISDataEntities appEntities = new HISDataEntities())
                {
                    actionItem.CREATETIME = DateTime.Now;
                    actionItem.Flag       = 1;
                    //新增权限名称不能重复
                    var findList = appEntities.SYS_Action.Where(o => o.Flag == 1 && o.ActionName == actionItem.ActionName && o.ParentID == actionItem.ParentID);
                    if (findList.Count() > 0)
                    {
                        errMsg = "权限名称已经存在";
                        return;
                    }

                    if (actionItem.Type == 1)
                    {
                        //给菜单编写权限编码
                        var appMenu = appEntities.SYS_ITEMMENU.Where(o => o.ID == actionItem.ActionMenu).FirstOrDefault();
                        //如果菜单已被其他权限关联,则不能继续被关联
                        if (!string.IsNullOrEmpty(appMenu.ActionNum))
                        {
                            errMsg = "菜单已被权限" + appMenu.ActionNum + "关联,请选择其他菜单";
                            return;
                        }
                        appMenu.ActionNum = actionItem.ActionNum;
                    }

                    appEntities.SYS_Action.Add(actionItem);
                    appEntities.SaveChanges();
                }
            }
            catch (Exception e)
            {
                errMsg = e.Message;
            }
        }
Esempio n. 29
0
        /// <summary>
        /// 获取分页用户角色
        /// </summary>
        /// <param name="pageIndex">页码</param>
        /// <param name="pageSize">每页显示的记录数</param>
        /// <param name="name">用于检索的记录数</param>
        /// <param name="userId">用户Id</param>
        /// <param name="count"></param>
        /// <returns>返回角色列表页</returns>
        public List <SYS_ROLE> GetAppUserRoleList(int pageIndex, int pageSize, string name, int userId, ref int count)
        {
            try
            {
                using (HISDataEntities appEntities = new HISDataEntities())
                {
                    var query = (from a in appEntities.SYS_ROLE
                                 join b in appEntities.SYS_USERROLEMAPPING on a.ID equals b.ROLEID
                                 join c in appEntities.SYS_USERINFO on b.USERID equals c.ID
                                 where b.USERID == userId && a.FLAG == 1
                                 select new { a });

                    if (query == null)
                    {
                        count = 0;
                        return(null);
                    }
                    //筛选
                    query = query.Where(o => o.a.ROLENAME.Contains(name));
                    count = query.Count();
                    //分页
                    query = query.OrderByDescending(o => o.a.CREATETIME).Skip((pageIndex - 1) * pageSize).Take(pageSize);

                    List <SYS_ROLE> roleList = new List <SYS_ROLE>();
                    foreach (var item in query)
                    {
                        SYS_ROLE model = new SYS_ROLE();
                        model.ID         = item.a.ID;
                        model.ROLENAME   = item.a.ROLENAME;
                        model.ROLENUM    = item.a.ROLENUM;
                        model.CREATETIME = item.a.CREATETIME;
                        model.FLAG       = item.a.FLAG;
                        //model.Disc = item.a.Disc;
                        roleList.Add(model);
                    }

                    return(roleList);
                }
            }
            catch (Exception e)
            {
                count = 0;
                return(null);
            }
        }
Esempio n. 30
0
        /// <summary>
        /// 获取角色权限
        /// </summary>
        /// <param name="name">查询字段</param>
        /// <param name="roleid">角色名称</param>
        /// <param name="errMsg">发生错误返回结果</param>
        /// <param name="count">查询数据总记录数</param>
        /// <returns></returns>
        public List <Hashtable> GetAppRoleActionTreeGrid(int roleid, ref string errMsg, ref int count)
        {
            try
            {
                List <SYS_Action> queryList = null;
                using (HISDataEntities appEntities = new HISDataEntities())
                {
                    //查询跟该角色相关的所有权限数据
                    var query = (from a in appEntities.SYS_ROLEACTIONMAPPING
                                 join b in appEntities.SYS_Action on a.ACTIONID equals b.ID
                                 where a.ROLEID == roleid && b.Flag == 1
                                 select new { b });

                    queryList = new List <SYS_Action>();
                    foreach (var item in query)
                    {
                        SYS_Action action = item.b;
                        queryList.Add(action);
                    }
                }

                List <Hashtable> list = new List <Hashtable>();
                if (queryList.Count < 1)
                {
                    return(list);
                }

                //生成所有数据的集合
                var actionList = queryList.Where(o => o.ParentID == 0);
                foreach (SYS_Action actionItem in actionList)
                {
                    Hashtable ht = CreateAppRoleActionTreeGrid(queryList, actionItem);
                    list.Add(ht);
                }

                count = queryList.Count;
                return(list);
            }
            catch (Exception e)
            {
                errMsg = e.Message;
                return(new List <Hashtable>());
            }
        }