public async Task <IActionResult> CreateCheese([FromBody] CreateCheeseRequest request, [FromServices] IActionHandlerAsync <CreateCheeseRequest, CreateCheeseResponse> actionHandler, CancellationToken cancellationToken)
        {
            if (!ModelState.IsValid)
            {
                return(new BadRequestObjectResult(ModelState));
            }

            var result = await actionHandler.ProcessAsync(request, cancellationToken);

            return(Ok(result));
        }
        public async Task <IActionResult> DeleteCheese(int cheeseId, [FromServices] IActionHandlerAsync <DeleteCheeseRequest, DeleteCheeseResponse> actionHandler, CancellationToken cancellationToken)
        {
            var result = await actionHandler.ProcessAsync(new DeleteCheeseRequest { Id = cheeseId }, cancellationToken);

            return(Ok(result));
        }
        public async Task <IActionResult> GetCheese([FromServices] IActionHandlerAsync <GetCheeseRequest, IEnumerable <GetCheeseResponse> > actionHandler, CancellationToken cancellationToken)
        {
            var result = await actionHandler.ProcessAsync(new GetCheeseRequest {}, cancellationToken);

            return(Ok(result));
        }