public async Task <IActionResult> GetDetails( [FromServices] IMediator mediator, [FromServices] GetTableDetailsPresenter presenter, [FromBody][Required] GetTableDetailsRequest request) { var accountId = this.HttpContext.User.Claims.FirstOrDefault(x => x.Type == "AccountId").Value; var input = new GetTableDetailsInput( new BaseEntityId(new Guid(accountId)), new BaseEntityId(request.TableId)); await mediator.PublishAsync(input); return(presenter.ViewModel); }
public async Task Handle(GetTableDetailsInput input) { if (input is null) { outputPort.WriteError(Message.InputIsNull); return; } try { var table = await tableRepository.GetTableAsync(input.TableId, input.AccountId); BuildOutput(table); } catch (Exception e) { outputPort.WriteError(e.Message); } }