public async Task <Role> Add(Role role) { role.Id = Guid.NewGuid(); var roleEntity = role.ToEntity(); roleEntity.SecurableItem = AuthorizationDbContext.SecurableItems.First(s => !s.IsDeleted && s.Name == role.SecurableItem); if (role.ChildRoles.Any()) { var childRoles = await AuthorizationDbContext.Roles.Where(r => role.ChildRoles.Contains(r.RoleId)) .ToListAsync(); foreach (var childRole in childRoles) { childRole.ParentRole = roleEntity; } } AuthorizationDbContext.Roles.Add(roleEntity); await AuthorizationDbContext.SaveChangesAsync(); await EventService.RaiseEventAsync(new EntityAuditEvent <Role>(EventTypes.EntityCreatedEvent, role.Id.ToString(), roleEntity.ToModel())); return(roleEntity.ToModel()); }
public async Task <Role> Add(Role model) { model.Id = Guid.NewGuid(); var entity = model.ToEntity(); entity.SecurableItem = _authorizationDbContext.SecurableItems.First(s => !s.IsDeleted && s.Name == model.SecurableItem); _authorizationDbContext.Roles.Add(entity); await _authorizationDbContext.SaveChangesAsync(); return(entity.ToModel()); }
public async Task Update(Role model) { var role = await _authorizationDbContext.Roles .SingleOrDefaultAsync(r => r.RoleId == model.Id && !r.IsDeleted); if (role == null) { throw new NotFoundException <Role>($"Could not find {typeof(Role).Name} entity with ID {model.Id}"); } model.ToEntity(role); _authorizationDbContext.Roles.Update(role); await _authorizationDbContext.SaveChangesAsync(); }
public async Task Update(Role role) { var roleEntity = await AuthorizationDbContext.Roles .SingleOrDefaultAsync(r => r.RoleId == role.Id && !r.IsDeleted); if (roleEntity == null) { throw new NotFoundException <Role>($"Could not find {typeof(Role).Name} entity with ID {role.Id}"); } role.ToEntity(roleEntity); AuthorizationDbContext.Roles.Update(roleEntity); await AuthorizationDbContext.SaveChangesAsync(); await EventService.RaiseEventAsync(new EntityAuditEvent <Role>(EventTypes.EntityUpdatedEvent, role.Id.ToString(), roleEntity.ToModel())); }