diff --git a/src/MigrationTools.Clients.AzureDevops.ObjectModel/Processors/TfsTeamSettingsProcessor.cs b/src/MigrationTools.Clients.AzureDevops.ObjectModel/Processors/TfsTeamSettingsProcessor.cs index 98d8fa5f3..48e338395 100644 --- a/src/MigrationTools.Clients.AzureDevops.ObjectModel/Processors/TfsTeamSettingsProcessor.cs +++ b/src/MigrationTools.Clients.AzureDevops.ObjectModel/Processors/TfsTeamSettingsProcessor.cs @@ -296,7 +296,33 @@ private void MigrateCapacities(WorkHttpClient sourceHttpClient, WorkHttpClient t sourceDisplayName = sourceDisplayName.Substring(0, index).Trim(); } + // Match: + // "Doe, John" to "Doe, John" + // "John Doe" to "John Doe" var targetTeamFoundatationIdentity = _targetTeamFoundationIdentitiesLazyCache.Value.FirstOrDefault(i => i.DisplayName == sourceDisplayName); + if (targetTeamFoundatationIdentity == null) + { + if (sourceDisplayName.Contains(", ")) + { + // Match: + // "Doe, John" to "John Doe" + var splitName = sourceDisplayName.Split(','); + sourceDisplayName = $"{splitName[1].Trim()} {splitName[0].Trim()}"; + targetTeamFoundatationIdentity = _targetTeamFoundationIdentitiesLazyCache.Value.FirstOrDefault(i => i.DisplayName == sourceDisplayName); + } + else + { + if (sourceDisplayName.Contains(' ')) + { + // Match: + // "John Doe" to "Doe, John" + var splitName = sourceDisplayName.Split(' '); + sourceDisplayName = $"{splitName[1].Trim()}, {splitName[0].Trim()}"; + targetTeamFoundatationIdentity = _targetTeamFoundationIdentitiesLazyCache.Value.FirstOrDefault(i => i.DisplayName == sourceDisplayName); + } + } + } + if (targetTeamFoundatationIdentity != null) { targetCapacities.Add(new TeamMemberCapacityIdentityRef