Пример #1
0
        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));
        }
Пример #2
0
        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));
        }