public async Task <Result <CreateRoomReserveResult> > Handle(CreateRoomReserveCommand request, CancellationToken cancellationToken) { try { var entity = await _repository.AddAsync( new RoomReserve(request.RoomNumber, request.CustomerName, request.ReservedFor)); return(Result <CreateRoomReserveResult> .Success(new CreateRoomReserveResult(entity.Id))); } catch (Exception e) { _logger.LogError(e, e.Message); return(Result <CreateRoomReserveResult> .Fail(Error.Default())); } }
public IActionResult Create([FromBody] CreateRoomReserveInput input) { ApiResponse response; var command = new CreateRoomReserveCommand(input.RoomNumber, input.CustomerName, input.ReservedFor); var result = RabbitMq.Publish <CreateRoomReserveCommand, Result <CreateRoomReserveResult> >(command); if (!result.IsSucceeded) { response = new ApiResponse(result.Error.Code, result.Error.Description); return(BadRequest(response)); } response = new ApiResponse("OK", "Success"); return(Ok(response)); }