public async Task <Unit> Handle(Command request, CancellationToken cancellationToken) { UrlRole roleToRemove = await _arpaContext.UrlRoles .FirstOrDefaultAsync(ar => ar.RoleId == request.RoleId && ar.UrlId == request.UrlId, cancellationToken); _arpaContext.UrlRoles.Remove(roleToRemove); if (await _arpaContext.SaveChangesAsync(cancellationToken) > 0) { return(Unit.Value); } throw new Exception("Problem removing role from url"); }
public async Task <Unit> Handle(Command request, CancellationToken cancellationToken) { Url existingUrl = await _arpaContext.Urls.FindAsync(new object[] { request.UrlId }, cancellationToken); Role existingRole = await _roleManager.Roles.SingleAsync(r => r.Id == request.RoleId, cancellationToken); var urlRole = new UrlRole(null, existingUrl, existingRole); _arpaContext.UrlRoles.Add(urlRole); if (await _arpaContext.SaveChangesAsync(cancellationToken) > 0) { return(Unit.Value); } throw new Exception("Problem adding role to url"); }