Exemplo n.º 1
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;
            }
        }
Exemplo n.º 2
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;
            }
        }
Exemplo n.º 3
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;
            }
        }
Exemplo n.º 4
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;
            }
        }
Exemplo 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;
     }
 }
Exemplo n.º 6
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;
            }
        }
Exemplo n.º 7
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;
            }
        }
Exemplo n.º 8
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;
            }
        }
Exemplo n.º 9
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;
     }
 }
Exemplo n.º 10
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;
            }
        }
Exemplo n.º 11
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;
            }
        }
Exemplo n.º 12
0
        /// <summary>
        /// 删除角色
        /// </summary>
        /// <param name="roleId"></param>
        /// <param name="errMsg"></param>
        public void DeleteRole(int roleId, ref string errMsg)
        {
            try
            {
                using (HISDataEntities appEntities = new HISDataEntities())
                {
                    var roleItem = appEntities.SYS_ROLE.Where(o => o.ID == roleId).FirstOrDefault();
                    if (roleItem == null)
                    {
                        errMsg = "查无数据";
                        return;
                    }
                    //标记删除角色
                    roleItem.FLAG = -1;
                    //删除角色关联的权限
                    var roleMapping = appEntities.SYS_ROLEACTIONMAPPING.Where(o => o.ROLEID == roleId);
                    if (roleMapping.Count() > 0)
                    {
                        foreach (var item in roleMapping)
                        {
                            appEntities.SYS_ROLEACTIONMAPPING.Remove(item);
                        }
                    }
                    //删除角色关联的用户

                    var userMapping = appEntities.SYS_USERROLEMAPPING.Where(o => o.ROLEID == roleId);
                    if (userMapping.Count() > 0)
                    {
                        foreach (var item in userMapping)
                        {
                            appEntities.SYS_USERROLEMAPPING.Remove(item);
                        }
                    }

                    appEntities.SaveChanges();
                }
            }
            catch (Exception e)
            {
                errMsg = e.Message;
            }
        }
Exemplo n.º 13
0
 /// <summary>
 /// 想修改用户密码
 /// </summary>
 /// <param name="userId"></param>
 /// <param name="errMsg"></param>
 public void ChangePassword(int userId, string password, ref string errMsg)
 {
     try
     {
         using (HISDataEntities appEntities = new HISDataEntities())
         {
             var findUser = appEntities.SYS_USERINFO.Where(o => o.ID == userId).FirstOrDefault();
             if (findUser == null)
             {
                 errMsg = "查无用户";
                 return;
             }
             // 密码使用md5 加密
             findUser.PASSWORD = Common.MD5Helper.MD5Encrypt32bit(password);
             appEntities.SaveChanges();
         }
     }
     catch (Exception e)
     {
         errMsg = e.Message;
     }
 }
Exemplo n.º 14
0
        /// <summary>
        /// 删除菜单
        /// </summary>
        /// <param name="menuId"></param>
        /// <param name="errMsg"></param>
        public void DeleteMenu(int menuId, ref string errMsg)
        {
            try
            {
                using (HISDataEntities appEntities = new HISDataEntities())
                {
                    var menuItem = appEntities.SYS_ITEMMENU.Where(o => o.ID == menuId).FirstOrDefault();
                    if (menuId == null)
                    {
                        errMsg = "查无菜单";
                        return;
                    }

                    appEntities.SYS_ITEMMENU.Remove(menuItem);
                    appEntities.SaveChanges();
                }
            }
            catch (Exception e)
            {
                errMsg = e.Message;
            }
        }
Exemplo n.º 15
0
 /// <summary>
 /// 删除部门
 /// </summary>
 /// <param name="departmentID"></param>
 /// <param name="errMsg"></param>
 public void DeleteDepartment(int departmentID, ref string errMsg)
 {
     try
     {
         using (HISDataEntities appEntitys = new HISDataEntities())
         {
             SYS_Department editItem = appEntitys.SYS_Department.Where(o => o.ID == departmentID).FirstOrDefault();
             if (editItem == null)
             {
                 errMsg = "查无数据";
                 return;
             }
             //标记删除
             editItem.Flag = 0;
             appEntitys.SaveChanges();
         }
     }
     catch (Exception e)
     {
         errMsg = e.Message;
     }
 }
Exemplo n.º 16
0
        /// <summary>
        /// 删除user的role
        /// </summary>
        /// <param name="userid"></param>
        /// <param name="intRoleIds"></param>
        /// <param name="errMsg"></param>
        public void DeleteUserRole(int userid, int roleid, ref string errMsg)
        {
            try
            {
                using (HISDataEntities appEntitys = new HISDataEntities())
                {
                    var item = appEntitys.SYS_USERROLEMAPPING.Where(o => o.USERID == userid && o.ROLEID == roleid).FirstOrDefault();
                    if (item == null)
                    {
                        errMsg = "用户不存在该角色";
                        return;
                    }
                    appEntitys.SYS_USERROLEMAPPING.Remove(item);

                    appEntitys.SaveChanges();
                }
            }
            catch (Exception e)
            {
                errMsg = e.Message;
            }
        }
Exemplo n.º 17
0
        /// <summary>
        /// 设置用户角色
        /// </summary>
        /// <param name="p"></param>
        /// <param name="intRoleIds"></param>
        /// <param name="errMsg"></param>
        public void SetUserRole(int userid, int[] intRoleIds, ref string errMsg, out string existRoleNames)
        {
            try
            {
                using (HISDataEntities appEntitys = new HISDataEntities())
                {
                    existRoleNames = string.Empty;
                    var items = appEntitys.SYS_USERROLEMAPPING.Where(o => o.USERID == userid);
                    foreach (int roleId in intRoleIds)
                    {
                        //存在则不添加
                        if (items.Where(o => o.ROLEID == roleId).Count() > 0)
                        {
                            var appRole = appEntitys.SYS_ROLE.Where(o => o.ID == roleId).FirstOrDefault();
                            if (appRole != null)
                            {
                                existRoleNames += "," + appRole.ROLENAME;
                            }
                            continue;
                        }
                        SYS_USERROLEMAPPING mapping = new SYS_USERROLEMAPPING();
                        mapping.USERID     = userid;
                        mapping.ROLEID     = roleId;
                        mapping.CREATEDATE = DateTime.Now;
                        appEntitys.SYS_USERROLEMAPPING.Add(mapping);
                    }

                    appEntitys.SaveChanges();
                }
            }
            catch (Exception e)
            {
                existRoleNames = string.Empty;
                errMsg         = e.Message;
            }
        }
Exemplo n.º 18
0
        /// <summary>
        /// 编辑菜单
        /// </summary>
        /// <param name="menuItem"></param>
        /// <param name="errMsg"></param>
        public void EditMenu(SYS_ITEMMENU menuItem, ref string errMsg)
        {
            try
            {
                using (HISDataEntities appEntities = new HISDataEntities())
                {
                    var findItem = appEntities.SYS_ITEMMENU.Where(o => o.ID == menuItem.ID).FirstOrDefault();

                    findItem.TEXT     = menuItem.TEXT;
                    findItem.ParentID = menuItem.ParentID;
                    findItem.MenuNum  = menuItem.MenuNum;
                    //findItem.Disc = menuItem.Disc;
                    findItem.ICON       = menuItem.ICON;
                    findItem.URL        = menuItem.URL;
                    findItem.ORDERINDEX = menuItem.ORDERINDEX;

                    appEntities.SaveChanges();
                }
            }
            catch (Exception e)
            {
                errMsg = e.Message;
            }
        }
Exemplo n.º 19
0
        /// <summary>
        /// 编辑权限
        /// </summary>
        /// <param name="actionItem">最新的权限数据</param>
        /// <param name="errMsg">错误提示</param>
        public void EditAction(SYS_Action actionItem, ref string errMsg)
        {
            try
            {
                using (HISDataEntities appEntities = new HISDataEntities())
                {
                    //原来的数据
                    var findItem = (from a in appEntities.SYS_Action
                                    join b in appEntities.SYS_ITEMMENU on a.ActionNum equals b.ActionNum into temp
                                    from b in temp.DefaultIfEmpty()
                                    where a.ID == actionItem.ID
                                    select new { a, b }).FirstOrDefault();

                    SYS_Action updateItem = findItem.a;
                    if (findItem.b != null)
                    {
                        updateItem.ActionMenu = findItem.b.ID;
                    }

                    if (updateItem == null)
                    {
                        errMsg = "查无数据";
                        return;
                    }

                    //关联菜单发生变化
                    //1:菜单权限下关联的菜单发生改变
                    //2: 权限类型按钮权限和控制权限之间互相转换
                    if ((actionItem.ActionMenu != updateItem.ActionMenu) || (actionItem.Type != updateItem.Type))
                    {
                        //如果需要关联的菜单已经被关联了,则限制不能被关联
                        var updateMenu = appEntities.SYS_ITEMMENU.Where(o => o.ID == actionItem.ActionMenu).FirstOrDefault();
                        if (!string.IsNullOrEmpty(updateMenu.ActionNum) && updateMenu.ActionNum != actionItem.ActionNum)
                        {
                            errMsg = "菜单已被权限" + updateMenu.ActionNum + "关联,请选择其他菜单";
                            return;
                        }

                        if (updateItem.Type == 1)
                        {
                            //将原来的关联菜单取消
                            var appMenu = appEntities.SYS_ITEMMENU.Where(o => o.ActionNum == updateItem.ActionNum).FirstOrDefault();
                            if (appMenu != null)
                            {
                                appMenu.ActionNum = string.Empty;
                            }
                        }
                        if (actionItem.Type == 1)
                        {
                            //关联最新的权限Num
                            updateMenu.ActionNum = actionItem.ActionNum;
                        }
                    }

                    updateItem.ActionNum  = actionItem.ActionNum;
                    updateItem.ActionName = actionItem.ActionName;
                    updateItem.ActionMenu = actionItem.ActionMenu;
                    //updateItem.Disc = actionItem.Disc;
                    updateItem.ParentID = actionItem.ParentID;
                    updateItem.Type     = actionItem.Type;

                    appEntities.SaveChanges();
                }
            }
            catch (Exception e)
            {
                errMsg = e.Message;
            }
        }