Exemple #1
0
        /// <summary>
        /// 为用户分配角色
        /// </summary>
        /// <param name="userId"></param>
        /// <param name="roleIdList"></param>
        /// <returns></returns>
        public bool SetUserOrderInfo(int userId, List <int> roleIdList)
        {
            var result = false;
            //获取要分配的用户信息
            var userInfo = GetCurrentSession.UserInfoDal.LoadEntities(u => u.UserID == userId).FirstOrDefault();

            if (userInfo != null)
            {
                //我的实现:
                //直接向中间表插入userid和roleIdList,完成角色的分配。但是这样就是直接操作数据库,和EF还有导航属性无关。

                //EF的实现:直接利用导航属性来操作中间表。
                //删除用户已有的角色
                userInfo.RoleInfo.Clear();
                foreach (var roleId in roleIdList)
                {
                    var roleInfo = GetCurrentSession.RoleInfoDal.LoadEntities(r => r.ID == roleId).FirstOrDefault();
                    userInfo.RoleInfo.Add(roleInfo);//给用户分配角色
                }

                //调用SaveChanges()之前,所有的操作都在内存中完成,不会操作数据库。
                result = GetCurrentSession.SaveChanges();
            }
            return(result);
        }
Exemple #2
0
        /// <summary>
        /// 删除权限
        /// </summary>
        /// <param name="listId"></param>
        /// <returns></returns>
        public bool DeleteEntities(List <int> listId)
        {
            GetCurrentSession.ActionInfoDal.LoadEntities(a => listId.Contains(a.ID)).ToList()
            .ForEach(a => GetCurrentSession.ActionInfoDal.DeleteEntity(a));

            return(GetCurrentSession.SaveChanges());
        }
Exemple #3
0
        public bool DeleteEntities(List <int> list)
        {
            GetCurrentSession.RoleInfoDal
            .LoadEntities(c => list.Contains(c.ID)).ToList()
            .ForEach(k => GetCurrentSession.RoleInfoDal.DeleteEntity(k));

            return(GetCurrentSession.SaveChanges());
        }
Exemple #4
0
        /// <summary>
        /// 删除特殊用户权限,方法一
        /// </summary>
        /// <param name="userId"></param>
        /// <param name="actionId"></param>
        /// <returns></returns>
        public bool DeleteUserActionInfo(int userId, int actionId)
        {
            var r_UserInfo_ActionInfo = GetCurrentSession.R_UserInfo_ActionInfoDal
                                        .LoadEntities(r => r.UserInfoID == userId && r.ActionInfoID == actionId)
                                        .FirstOrDefault();

            if (r_UserInfo_ActionInfo != null)
            {
                GetCurrentSession.R_UserInfo_ActionInfoDal.DeleteEntity(r_UserInfo_ActionInfo);
            }

            return(GetCurrentSession.SaveChanges());
        }
Exemple #5
0
        /// <summary>
        /// 为特殊用户分配权限
        /// </summary>
        /// <param name="userId"></param>
        /// <param name="actionId"></param>
        /// <param name="isPass"></param>
        /// <returns></returns>
        public bool SetUserActionInfo(int userId, int actionId, bool isPass)
        {
            var r_UserInfo_ActionInfo = GetCurrentSession.R_UserInfo_ActionInfoDal
                                        .LoadEntities(r => r.UserInfoID == userId && r.ActionInfoID == actionId)
                                        .FirstOrDefault();

            if (r_UserInfo_ActionInfo == null)//当前用户没有添加这个权限
            {
                var r_userInfo_actionInfo = new R_UserInfo_ActionInfo
                {
                    ActionInfoID = actionId,
                    UserInfoID   = userId,
                    IsPass       = isPass
                };
                GetCurrentSession.R_UserInfo_ActionInfoDal.AddEntity(r_userInfo_actionInfo);
            }
            else
            {
                r_UserInfo_ActionInfo.IsPass = isPass;
            }
            return(GetCurrentSession.SaveChanges());
        }
Exemple #6
0
        /// <summary>
        /// 为权限分配角色
        /// </summary>
        /// <param name="actionId"></param>
        /// <param name="roleIdList"></param>
        /// <returns></returns>
        public bool SetActionRoleInfo(int actionId, List <int> roleIdList)
        {
            var actionInfo = this.GetCurrentSession.ActionInfoDal
                             .LoadEntities(a => a.ID == actionId)
                             .FirstOrDefault();

            if (actionInfo != null)
            {
                actionInfo.RoleInfo.Clear();
                foreach (var roleId in roleIdList)
                {
                    var roleInfo = this.GetCurrentSession.RoleInfoDal
                                   .LoadEntities(r => r.ID == roleId)
                                   .FirstOrDefault();
                    actionInfo.RoleInfo.Add(roleInfo);
                }
                return(GetCurrentSession.SaveChanges());
            }
            else
            {
                return(false);
            }
        }
Exemple #7
0
 public T AddEntity(T entity)
 {
     CurrentDal.AddEntity(entity);
     GetCurrentSession.SaveChanges();
     return(entity);
 }
Exemple #8
0
 public bool EditEntity(T entity)
 {
     CurrentDal.EditEntity(entity);
     return(GetCurrentSession.SaveChanges());
 }
Exemple #9
0
 public bool DeleteEntity(T entity)
 {
     CurrentDal.DeleteEntity(entity);
     return(GetCurrentSession.SaveChanges());
 }