public async Task ImportOrUpdateLegacyUser(string legacyCaseManagerUsername, PerformContext context, int runId) { if (legacyCaseManagerUsername == null) { return; } var legacyCaseManager = await _migrationRepository.GetLegacyUserByUsername(legacyCaseManagerUsername); var existingCaseManager = await _userRepository.GetUserByUsername(legacyCaseManagerUsername); var ntbsCaseManager = existingCaseManager ?? new User { IsActive = false, IsCaseManager = false, Username = legacyCaseManager.Username, CaseManagerTbServices = new List <CaseManagerTbService>() }; if (!ntbsCaseManager.IsActive) { ntbsCaseManager.GivenName = legacyCaseManager.GivenName; ntbsCaseManager.FamilyName = legacyCaseManager.FamilyName; ntbsCaseManager.DisplayName = $"{legacyCaseManager.GivenName} {legacyCaseManager.FamilyName}"; } ntbsCaseManager.IsCaseManager = true; await _userRepository.AddOrUpdateUser(ntbsCaseManager, ntbsCaseManager.CaseManagerTbServices.Select(cmtb => cmtb.TbService)); _logger.LogInformation(context, runId, "Added/Updated the case manager assigned to the notification."); }