public async Task <Response <DeleteResult> > Handle(DeleteApiVersion request) { var apiVersion = await _context.ApiVersions .Include(x => x.Api) .SingleOrDefaultAsync(x => x.Api.Name.Equals(request.ApiName) && x.MajorVersion == request.MajorVersion && x.MinorVersion == request.MinorVersion); if (apiVersion == null) { return(new Response <DeleteResult>(DeleteResult.NotFound)); } _context.ApiVersions.Remove(apiVersion); await _context.SaveChangesAsync(); return(new Response <DeleteResult>(DeleteResult.Deleted)); }
public async Task <ActionResult> DeleteVersionAsync([FromRoute] string apiName, [FromRoute] int majorVersion, [FromRoute] int minorVersion) { var deleteApiVersion = new DeleteApiVersion() { ApiName = apiName, MajorVersion = majorVersion, MinorVersion = minorVersion }; var response = await _mediator.Send(deleteApiVersion); if (response.Result == DeleteResult.Deleted) { return(Ok()); } else { return(StatusCode(500)); } }