public async Task <IActionResult> GetAgentProfile( [BindRequired, FromQuery] Agent agent, CancellationToken cancellationToken = default) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } var person = await _mediator.Send(GetPersonQuery.Create(agent), cancellationToken); if (person == null) { return(NotFound()); } return(Ok(person)); }
public async Task <Person> GetPerson(Agent agent, CancellationToken cancellationToken = default) { var fallback = new Person(); fallback.Add(agent); var storedAgent = await mediator.Send(GetAgentQuery.Create(agent)); if (storedAgent == null) { return(fallback); } var person = await mediator.Send(GetPersonQuery.Create(storedAgent.ObjectType, storedAgent.AgentId), cancellationToken); if (person == null) { return(fallback); } return(mapper.Map <Person>(person)); }