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()));
            }
        }
Esempio n. 2
0
        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));
        }