public async Task <ViewModels.Permission> CreateAsync(ViewModels.Permission permission, CancellationToken ct) { if (!(await _authorizationService.AuthorizeAsync(_user, null, new FullRightsRequirement())).Succeeded) { throw new ForbiddenException(); } permission.DateCreated = DateTime.UtcNow; var permissionEntity = Mapper.Map <PermissionEntity>(permission); _context.Permissions.Add(permissionEntity); await _context.SaveChangesAsync(ct); return(await GetAsync(permissionEntity.Id, ct)); }
public async Task <ViewModels.Permission> UpdateAsync(Guid id, ViewModels.Permission permission, CancellationToken ct) { if (!(await _authorizationService.AuthorizeAsync(_user, null, new FullRightsRequirement())).Succeeded) { throw new ForbiddenException(); } var permissionToUpdate = await _context.Permissions.SingleOrDefaultAsync(v => v.Id == id, ct); if (permissionToUpdate == null) { throw new EntityNotFoundException <Permission>(); } permission.CreatedBy = permissionToUpdate.CreatedBy; permission.DateCreated = permissionToUpdate.DateCreated; permission.DateModified = DateTime.UtcNow; Mapper.Map(permission, permissionToUpdate); _context.Permissions.Update(permissionToUpdate); await _context.SaveChangesAsync(ct); return(_mapper.Map(permissionToUpdate, permission)); }