public async Task <IActionResult> DeleteProfileAsync( [BindRequired, FromQuery] string profileId, [BindRequired, FromQuery] Iri activityId, [FromQuery] Guid?registration = null, CancellationToken cancelToken = default) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } var profile = await _mediator.Send( GetActivityProfileQuery.Create(activityId, profileId, registration), cancelToken); if (profile == null) { return(NotFound()); } if (Request.TryConcurrencyCheck(profile.Document.Checksum, profile.Document.LastModified, out int statusCode)) { return(StatusCode(statusCode)); } await _mediator.Send(DeleteActivityProfileCommand.Create( profileId, activityId, registration), cancelToken); return(NoContent()); }
public async Task <Unit> Handle(DeleteActivityProfileCommand request, CancellationToken cancellationToken) { var profile = await GetProfile(request.ActivityId, request.ProfileId, request.Registration, cancellationToken); _context.ActivityProfiles.Remove(profile); await _context.SaveChangesAsync(cancellationToken); return(await Unit.Task); }
/// <inheritdoc/> public Task DeleteActivityProfile(Iri activityId, string profileId, Guid?registration = null, CancellationToken cancellationToken = default) { return(mediator.Send(DeleteActivityProfileCommand.Create(profileId, activityId, registration), cancellationToken)); }