@@ -213,37 +213,7 @@ private static void ProcessFullNames(Dictionary<NameRecord, List<string>> nameTy
213
213
{
214
214
if ( ! surnames . Contains ( aliasRecord . Name ) && ! givenNames . Contains ( aliasRecord . Name ) )
215
215
{
216
- string fullAliasWithoutAnyWhiteSpace = string . Join ( "" , aliasRecord . Name . Split ( ) ) ;
217
- if ( sex is not null )
218
- {
219
- nameTypesDict . AddIfNotExists ( new NameRecord ( fullAliasWithoutAnyWhiteSpace , aliasRecord . NameInRomaji ) , sex ) ;
220
- }
221
-
222
- _ = convertedRecords . Add ( new ConvertedNameRecord ( fullAliasWithoutAnyWhiteSpace , aliasRecord . NameInRomaji , sex , definition ) ) ;
223
- List < ( NameRecord surnameRecord , NameRecord givenNameRecord ) > ? aliasSurnameAndNameRecords = GetSurnameAndNameRecords ( aliasRecord . Name , aliasRecord . NameInRomaji ) ;
224
- if ( aliasSurnameAndNameRecords is not null )
225
- {
226
- string [ ] aliasSurnames = aliasSurnameAndNameRecords . Select ( static r => r . surnameRecord . Name ) . ToArray ( ) ;
227
- string [ ] aliasGivenNames = aliasSurnameAndNameRecords . Select ( static r => r . givenNameRecord . Name ) . ToArray ( ) ;
228
- foreach ( ( NameRecord aliasSurnameRecord , NameRecord aliasGivenNameRecord ) in aliasSurnameAndNameRecords )
229
- {
230
- if ( ! aliasSurnames . Contains ( aliasSurnameRecord . Name ) )
231
- {
232
- nameTypesDict . AddIfNotExists ( aliasSurnameRecord , Utils . SurnameNameType ) ;
233
- _ = convertedRecords . Add ( new ConvertedNameRecord ( aliasSurnameRecord . Name , aliasSurnameRecord . NameInRomaji ) ) ;
234
- }
235
-
236
- if ( ! aliasGivenNames . Contains ( aliasGivenNameRecord . Name ) )
237
- {
238
- if ( sex is not null )
239
- {
240
- nameTypesDict . AddIfNotExists ( aliasGivenNameRecord , sex ) ;
241
- }
242
-
243
- _ = convertedRecords . Add ( new ConvertedNameRecord ( aliasGivenNameRecord . Name , aliasGivenNameRecord . NameInRomaji ) ) ;
244
- }
245
- }
246
- }
216
+ ProcessAlias ( nameTypesDict , convertedRecords , aliasRecord , definition , sex ) ;
247
217
}
248
218
}
249
219
}
@@ -252,28 +222,40 @@ private static void ProcessFullNames(Dictionary<NameRecord, List<string>> nameTy
252
222
{
253
223
foreach ( NameRecord aliasRecord in aliasRecords )
254
224
{
255
- string fullAliasWithoutAnyWhiteSpace = string . Join ( "" , aliasRecord . Name . Split ( ) ) ;
256
- if ( sex is not null )
225
+ ProcessAlias ( nameTypesDict , convertedRecords , aliasRecord , definition , sex ) ;
226
+ }
227
+ }
228
+ }
229
+
230
+ private static void ProcessAlias ( Dictionary < NameRecord , List < string > > nameTypesDict , HashSet < ConvertedNameRecord > convertedRecords , NameRecord aliasRecord , string definition , string ? sex )
231
+ {
232
+ string fullAliasWithoutAnyWhiteSpace = string . Join ( "" , aliasRecord . Name . Split ( ) ) ;
233
+ if ( sex is not null )
234
+ {
235
+ nameTypesDict . AddIfNotExists ( new NameRecord ( fullAliasWithoutAnyWhiteSpace , aliasRecord . NameInRomaji ) , sex ) ;
236
+ }
237
+
238
+ _ = convertedRecords . Add ( new ConvertedNameRecord ( fullAliasWithoutAnyWhiteSpace , aliasRecord . NameInRomaji , sex , definition ) ) ;
239
+ List < ( NameRecord surnameRecord , NameRecord givenNameRecord ) > ? aliasSurnameAndNameRecords = GetSurnameAndNameRecords ( aliasRecord . Name , aliasRecord . NameInRomaji ) ;
240
+ if ( aliasSurnameAndNameRecords is not null )
241
+ {
242
+ for ( int i = 0 ; i < aliasSurnameAndNameRecords . Count ; i ++ )
243
+ {
244
+ ( NameRecord aliasSurnameRecord , NameRecord aliasGivenNameRecord ) = aliasSurnameAndNameRecords [ i ] ;
245
+ if ( ! aliasSurnameAndNameRecords . Where ( ( record , index ) => index != i && aliasSurnameRecord . Name == record . surnameRecord . Name ) . Any ( ) )
257
246
{
258
- nameTypesDict . AddIfNotExists ( new NameRecord ( fullAliasWithoutAnyWhiteSpace , aliasRecord . NameInRomaji ) , sex ) ;
247
+ nameTypesDict . AddIfNotExists ( aliasSurnameRecord , Utils . SurnameNameType ) ;
248
+ _ = convertedRecords . Add ( new ConvertedNameRecord ( aliasSurnameRecord . Name , aliasSurnameRecord . NameInRomaji ) ) ;
259
249
}
260
250
261
- _ = convertedRecords . Add ( new ConvertedNameRecord ( fullAliasWithoutAnyWhiteSpace , aliasRecord . NameInRomaji , sex , definition ) ) ;
262
- List < ( NameRecord surnameRecord , NameRecord givenNameRecord ) > ? aliasSurnameAndNameRecords = GetSurnameAndNameRecords ( aliasRecord . Name , aliasRecord . NameInRomaji ) ;
263
- if ( aliasSurnameAndNameRecords is not null )
251
+ if ( ! aliasSurnameAndNameRecords . Where ( ( record , index ) => index != i && aliasGivenNameRecord . Name == record . givenNameRecord . Name ) . Any ( ) )
264
252
{
265
- foreach ( ( NameRecord aliasSurnameRecord , NameRecord aliasGivenNameRecord ) in aliasSurnameAndNameRecords )
253
+ if ( sex is not null )
266
254
{
267
- nameTypesDict . AddIfNotExists ( aliasSurnameRecord , Utils . SurnameNameType ) ;
268
- _ = convertedRecords . Add ( new ConvertedNameRecord ( aliasSurnameRecord . Name , aliasSurnameRecord . NameInRomaji ) ) ;
269
-
270
- if ( sex is not null )
271
- {
272
- nameTypesDict . AddIfNotExists ( aliasGivenNameRecord , sex ) ;
273
- }
274
-
275
- _ = convertedRecords . Add ( new ConvertedNameRecord ( aliasGivenNameRecord . Name , aliasGivenNameRecord . NameInRomaji ) ) ;
255
+ nameTypesDict . AddIfNotExists ( aliasGivenNameRecord , sex ) ;
276
256
}
257
+
258
+ _ = convertedRecords . Add ( new ConvertedNameRecord ( aliasGivenNameRecord . Name , aliasGivenNameRecord . NameInRomaji ) ) ;
277
259
}
278
260
}
279
261
}
0 commit comments