private void FillName(NamePart namePart) { switch (namePart.Type) { case NameDivisionTypeEnum.FirstName: FirstName = ComposeName(FirstName, namePart); break; case NameDivisionTypeEnum.MiddleName: MiddleName = ComposeName(MiddleName, namePart); break; case NameDivisionTypeEnum.FirstLastName: FirstLastName = ComposeName(FirstLastName, namePart); break; case NameDivisionTypeEnum.SecondLastName: SecondLastName = ComposeName(SecondLastName, namePart); break; case NameDivisionTypeEnum.Undefined: break; default: throw new ArgumentOutOfRangeException(); } }
private static string ComposeName(string actualNameComposed, NamePart namePart) { var newNameComposed = actualNameComposed; newNameComposed += ComposeUnionChar(newNameComposed); newNameComposed += ComposeParticle(namePart.Particle); newNameComposed += namePart.Value; return(newNameComposed); }