/// <summary> /// Updated the person assigned to the initiative /// </summary> /// <param name="idea"></param> /// <param name="assigneeEmail"></param> /// <param name="assigneeDisplayName"></param> /// <returns>True if the assignee was changed from its previous value</returns> private async Task <bool> UpdateIdeaAssignee(Initiative idea, string assigneeEmail, string assigneeDisplayName) { //Person assignee = null; int?assigneeId = 0; if (!string.IsNullOrWhiteSpace(assigneeEmail)) { assigneeId = await _personRepository.GetPersonIdByEmailAsync(assigneeEmail); _logger.Information("PersonId for assigneeEmail {EmailAddress} is {PersonId}", assigneeEmail, assigneeId); // TODO: create the user if they don't exist? } else { _logger.Information("Assignee email is {EmailAddress}", assigneeEmail); } if (idea.AssigneeId != assigneeId) { _logger.Information("Updating assignee from id " + idea.AssigneeId + " to {AssigneeId}", assigneeId); idea.SetAssigneeId(assigneeId); return(true); } else { _logger.Information("Not updating assignee because the AssigneeId has not changed ({AssigneeId})", assigneeId); return(false); } }