示例#1
0
        public OperateResult <IEnumerable <Auth_RoleFeature> > BindFeatures(RoleBindFeaturesParam param)
        {
            //校验角色
            if (!_db.Auth_Role.Any(l => l.Id == param.RoleId))
            {
                return(OperateResult <IEnumerable <Auth_RoleFeature> > .Error("角色不存在"));
            }
            //删除角色功能项
            var roleFeatures = _db.Auth_RoleFeature.Where(l => l.RoleId == param.RoleId);
            var repo         = _unitOfWork.GetRepository <Auth_RoleFeature>();

            repo.Delete(roleFeatures);
            //生成实体
            var list = new List <Auth_RoleFeature>();

            foreach (var featureId in param.FeatureIds)
            {
                var obj = new Auth_RoleFeature()
                {
                    Id        = Guid.NewGuid(),
                    FeatureId = featureId,
                    RoleId    = param.RoleId
                };
                list.Add(obj);
                repo.Insert(obj);
            }
            _unitOfWork.SaveChanges();
            return(OperateResult <IEnumerable <Auth_RoleFeature> > .Ok("成功", list));
        }
        public ActionResult <OperateResult <IEnumerable <Auth_RoleFeature> > > BindFeatures([FromBody] RoleBindFeaturesParam param)
        {
            var result = Json(_service.BindFeatures(param));

            _cacheHelp.UpdateRoleFeatureCache();
            return(result);
        }