public async Task <IActionResult> AddPerson([FromRoute] Guid organizationId, [FromBody] AddExistingPersonInput input) { var person = await _organizationPersonService.AddExistingPerson(_agencyOwner, input); return(Ok(person)); }
public async Task <OrganizationPersonResult> AddExistingPerson(IAgencyOwner agencyOwner, AddExistingPersonInput input) { _logger.LogInformation(GetLogMessage("Organization: {0}; Email: {1}"), agencyOwner.OrganizationId, input.EmailAddress); var retVal = new OrganizationPersonResult() { OrganizationId = agencyOwner.OrganizationId }; var foundPerson = await _accountManager.FindByEmailAsync(input.EmailAddress); if (foundPerson != null) { _logger.LogDebug(GetLogMessage("Person Found: {0}"), foundPerson.Id); var orgPersonInput = new OrganizationPersonInput() { PersonId = foundPerson.Id }.InjectFrom(input) as OrganizationPersonInput; retVal = await Create(orgPersonInput, agencyOwner.OrganizationId); _logger.LogDebug(GetLogMessage("Person Result: {@result}"), retVal); } else { _logger.LogWarning(GetLogMessage("User does not exist")); } return(retVal); }