public async Task <IActionResult> Get(
            [FromServices] IGetAccountUseCase useCase,
            [FromRoute][Required] GetAccountDetailsRequestV2 request)
        {
            useCase.SetOutputPort(this);

            await useCase.Execute(new GetAccountInput(request.AccountId))
            .ConfigureAwait(false);

            return(this._viewModel !);
        }
        public async Task <IActionResult> Get(
            [FromServices] IMediator mediator,
            [FromServices] GetAccountDetailsPresenterV2 presenter,
            [FromRoute][Required] GetAccountDetailsRequestV2 request)
        {
            var input = new GetAccountInput(request.AccountId);
            await mediator.PublishAsync(input, "GetAccountDetailsV2")
            .ConfigureAwait(false);

            return(presenter.ViewModel);
        }