Ejemplo n.º 1
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="role_id"></param>
        /// <param name="actions"></param>
        public void UpdateRoleActions(int role_id, int[] actions)
        {
            if (this.CurrentUserPermission.UPDATE_ROLE_ACTION == 0)
            {
                throw new KMJXCException("没有权限执行此操作");
            }

            using (KuanMaiEntities db = new KuanMaiEntities())
            {
                Admin_Role role = (from r in db.Admin_Role where r.id == role_id select r).FirstOrDefault <Admin_Role>();
                if (role == null)
                {
                    throw new KMJXCException("此权限分组不存在,不能添加任何权限");
                }

                List <Admin_Role_Action> role_actions = (from ra in db.Admin_Role_Action
                                                         where ra.role_id == role_id
                                                         select ra).ToList <Admin_Role_Action>();

                List <Admin_Action> all_actions = (from action in db.Admin_Action select action).ToList <Admin_Action>();

                //add new
                foreach (int action in actions)
                {
                    Admin_Action dbAction = (from dba in all_actions where dba.id == action select dba).FirstOrDefault <Admin_Action>();
                    //No action
                    if (dbAction == null)
                    {
                        continue;
                    }

                    Admin_Role_Action dbRoleAction = (from dbra in role_actions where dbra.role_id == role_id && dbra.action_id == action select dbra).FirstOrDefault <Admin_Role_Action>();
                    //the role already has the action
                    if (dbRoleAction != null)
                    {
                        continue;
                    }

                    dbRoleAction           = new Admin_Role_Action();
                    dbRoleAction.action_id = action;
                    dbRoleAction.role_id   = role_id;
                    db.Admin_Role_Action.Add(dbRoleAction);
                }

                //remove deleted
                foreach (Admin_Role_Action action in role_actions)
                {
                    if (!actions.Contains(action.action_id))
                    {
                        db.Admin_Role_Action.Remove(action);
                    }
                }
                db.SaveChanges();
            }
        }
Ejemplo n.º 2
0
 public int Add(Admin_Role _role)
 {
     try
     {
         this.Admin_Roles.InsertOnSubmit(_role);
         this.SubmitChanges();
         return(Core.Variable.DB_INSERT_SUCCESS);
     }
     catch (Exception _ex)
     {
         throw new Exception(ClassName, _ex);
         //SingletonLogger.Instance.Error(ClassName, _ex);
     }
 }
Ejemplo n.º 3
0
 public int Edit(Admin_Role _role)
 {
     try
     {
         Admin_Role _o = this.Admin_Roles.Single(o => o.Id == _role.Id);
         _o.IsActive = _role.IsActive;
         _o.Name     = _role.Name;
         this.SubmitChanges();
         return(Core.Variable.DB_UPDATE_SUCCESS);
     }
     catch (Exception _ex)
     {
         throw new Exception(ClassName, _ex);
         //SingletonLogger.Instance.Error(ClassName, _ex);
     }
 }
Ejemplo n.º 4
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="name"></param>
        /// <param name="desc"></param>
        /// <param name="shop_id"></param>
        public BAdminRole CreateRole(string name, string desc, int[] actions, int shop_id = 0)
        {
            BAdminRole badminRole = null;

            if (this.CurrentUserPermission.ADD_ADMIN_ROLE == 0)
            {
                throw new KMJXCException("没有权限创建权限分组");
            }

            using (KuanMaiEntities db = new KuanMaiEntities())
            {
                int shop = this.Shop.Shop_ID;
                if (shop_id > 0)
                {
                    shop = shop_id;
                }
                Admin_Role admin_role = (from role in db.Admin_Role where role.shop_id == shop && role.role_name == name select role).FirstOrDefault <Admin_Role>();
                if (admin_role != null)
                {
                    throw new KMJXCException("名为 " + name + " 的分组已经存在");
                }

                admin_role             = new Admin_Role();
                admin_role.role_name   = name;
                admin_role.shop_id     = shop;
                admin_role.enabled     = true;
                admin_role.description = desc;
                admin_role.create_uid  = this.CurrentUser.ID;
                admin_role.create_date = DateTimeUtil.ConvertDateTimeToInt(DateTime.Now);
                admin_role.system_role = false;
                db.Admin_Role.Add(admin_role);
                db.SaveChanges();
                if (actions != null)
                {
                    this.UpdateRoleActions(admin_role.id, actions);
                }

                badminRole = new BAdminRole()
                {
                    ID = admin_role.id, Name = admin_role.role_name, Description = admin_role.description
                };
                return(badminRole);
            }
        }
Ejemplo n.º 5
0
        public void SetAdminRoleStatus(int role_id, bool status)
        {
            if (this.CurrentUserPermission.UPDATE_ADMIN_ROLE == 0)
            {
                throw new KMJXCException("没有权限更新分组状态");
            }

            using (KuanMaiEntities db = new KuanMaiEntities())
            {
                Admin_Role role = (from r in db.Admin_Role where r.id == role_id select r).FirstOrDefault <Admin_Role>();
                if (role == null)
                {
                    throw new KMJXCException("分组信息不存在");
                }

                role.enabled = status;
                db.SaveChanges();
            }
        }