示例#1
0
        public void Add(string name, long[] permissionIds)
        {
            using (MyDbContext dbContext = new MyDbContext())
            {
                BaseService <RoleEntity> baseService = new BaseService <RoleEntity>(dbContext);
                RoleEntity roleEntity = new RoleEntity()
                {
                    Name = name
                };
                baseService.Add(roleEntity);
                BaseService <PermissionEntity> permissionService = new BaseService <PermissionEntity>(dbContext);

                /*
                 * 连接数据库的操作太多 不建议这样使用
                 * var plist = permissionService.GetAll();
                 * foreach (var pid in permissionIds)
                 * {
                 *  var permissionObj = plist.SingleOrDefault(x => x.Id == pid);
                 *  item.PermissionEntities.Add(permissionObj);
                 *
                 * }*/
                var permissionList = permissionService.GetAll().Where(x => permissionIds.Contains(x.Id)).ToArray();
                foreach (var permissionObj in permissionList)
                {
                    roleEntity.PermissionEntities.Add(permissionObj);
                }
                dbContext.SaveChanges();
            }
        }
示例#2
0
 public int AddPermission(PermissionDTO permissionDTO)
 {
     using (MyDbContext myDbContext = new MyDbContext())
     {
         BaseService <PermissionEntity> baseService = new BaseService <PermissionEntity>(myDbContext);
         PermissionEntity permission = new PermissionEntity();
         permission.Name        = permissionDTO.Name;
         permission.Description = permissionDTO.Description;
         return(baseService.Add(permission));
     }
 }