public async Task <IActionResult> Delete(string id) { var command = new DeleteBikeCommand(id); return((await _mediator.Send(command)).Match <IActionResult>( s => Ok(s), f => { if (f is BadRequestException) { return BadRequest(f.Message); } return StatusCode(StatusCodes.Status500InternalServerError); })); }
public async Task <Result <bool> > Handle(DeleteBikeCommand request, CancellationToken cancellationToken) { var result = await _bikeService.DeleteBikeAsync(request.Id); result.IfSucc(s => { var message = new BikeEventMessage() { MessageType = nameof(BikeResponse), Method = ApiMethod.DELETE.ToString(), Message = new BikeResponse() { Id = request.Id } }; _client.PublishEvent(message); }); return(result); }