public static Task <ServiceResult <DeleteWidgetResponseDto> > DeleteWidgetAsync(this IExampleApi service, string id, CancellationToken cancellationToken = default(CancellationToken)) { var request = new DeleteWidgetRequestDto { Id = id }; return(service.DeleteWidgetAsync(request, cancellationToken)); }
public async Task <ServiceResult <DeleteWidgetResponseDto> > DeleteWidgetAsync(DeleteWidgetRequestDto request, CancellationToken cancellationToken) { if (request == null) { throw new ArgumentNullException(nameof(request)); } if (string.IsNullOrEmpty(request.Id)) { return(ServiceResult.Failure(ExampleApiErrors.CreateInvalidRequestMissingWidgetId())); } bool wasDeleted = await m_repository.TryDeleteWidgetAsync(request.Id, cancellationToken).ConfigureAwait(false); if (!wasDeleted) { return(ServiceResult.Failure(ExampleApiErrors.CreateNotFoundWidget(request.Id))); } return(ServiceResult.Success(new DeleteWidgetResponseDto())); }