private static string JsonStringForPersonName(IPersonName personName) { if (personName == null) { return(null); } var stringBuilder = new System.Text.StringBuilder(); stringBuilder.Append("{"); TryAddKeyValue(StringDictionaryFormat, "_namePrefix", personName.NamePrefix, stringBuilder); TryAddKeyValue(StringDictionaryFormat, "_givenName", personName.GivenName, stringBuilder); TryAddKeyValue(StringDictionaryFormat, "_middleName", personName.MiddleName, stringBuilder); TryAddKeyValue(StringDictionaryFormat, "_familyName", personName.FamilyName, stringBuilder); TryAddKeyValue(StringDictionaryFormat, "_nameSuffix", personName.NameSuffix, stringBuilder); TryAddKeyValue(StringDictionaryFormat, "_nickname", personName.Nickname, stringBuilder); var phoneticRepresentationJson = JsonStringForPersonName(personName.PhoneticRepresentation); TryAddKeyValue(StringObjectFormat, "_phoneticRepresentation", phoneticRepresentationJson, stringBuilder); stringBuilder.Append("}"); return(stringBuilder.ToString()); }
public void SetName_WhenFullNameIsWhiteSpace_ThrowsArgumentNullException() { IPersonName sut = CreateSut(); ArgumentNullException result = Assert.Throws <ArgumentNullException>(() => sut.SetName(" ")); Assert.That(result.ParamName, Is.EqualTo("fullName")); }
/// <summary> /// Gets the formatted full name of the patient. /// </summary> /// <returns>The full name of the patient.</returns> public static string GetFullName(this IPersonName value) { return(string.Format( "{0}{1}{2}", value.Forename, string.IsNullOrWhiteSpace(value.Forename) || string.IsNullOrWhiteSpace(value.Surname) ? string.Empty : " ", value.Surname)); }
public void SetName_WhenFullNameHasOnlyValueForSurname_AssertSurnameIsSetToValue() { IPersonName sut = CreateSut(); string surname = _fixture.Create <string>().Replace(" ", string.Empty); sut.SetName(surname); Assert.That(sut.Surname, Is.EqualTo(surname)); }
public void SetName_WhenFullNameHasValueForGivenNameAndSurname_AssertGivenNameIsExtractedAndSet() { IPersonName sut = CreateSut(); string givenName = _fixture.Create <string>().Replace(" ", string.Empty); string surname = _fixture.Create <string>().Replace(" ", string.Empty); sut.SetName($"{givenName} {surname}"); Assert.That(sut.GivenName, Is.EqualTo(givenName)); }
public void SetName_WhenFullNameHasValueForGivenNameAndSurname_AssertMiddleNameIsSetToNull() { IPersonName sut = CreateSut(); string givenName = _fixture.Create <string>().Replace(" ", string.Empty); string surname = _fixture.Create <string>().Replace(" ", string.Empty); sut.SetName($"{givenName} {surname}"); Assert.That(sut.MiddleName, Is.Null); }
/// <summary> /// Creates a PersonName instance from a CN instance. /// </summary> /// <param name="name">The HL7 V2 CN instance.</param> /// <returns></returns> internal static IPersonName GetPersonNameFromCn(CN name) { IPersonName personName = BaseCDAModel.CreatePersonName(); personName.FamilyName = name.familyname; personName.GivenNames = new List <string> { name.givenname }; if (!string.IsNullOrWhiteSpace(name.prefix)) { personName.Titles = new List <string> { name.prefix }; } return(personName); }
public static string ToLocalizedString( this IPersonName personName, PersonNameFormatterStyle style = PersonNameFormatterStyle.Default, bool usePhoneticRepresentation = false) { #if NATIVE_PERSON_NAME_COMPONENTS_AVAILABLE var jsonString = JsonStringForPersonName(personName); var localizedString = PInvoke.AppleAuth_GetPersonNameUsingFormatter(jsonString, (int)style, usePhoneticRepresentation); if (localizedString != null) { return(localizedString); } #endif var orderedParts = new System.Collections.Generic.List <string>(); if (string.IsNullOrEmpty(personName.NamePrefix)) { orderedParts.Add(personName.NamePrefix); } if (string.IsNullOrEmpty(personName.GivenName)) { orderedParts.Add(personName.GivenName); } if (string.IsNullOrEmpty(personName.MiddleName)) { orderedParts.Add(personName.MiddleName); } if (string.IsNullOrEmpty(personName.FamilyName)) { orderedParts.Add(personName.FamilyName); } if (string.IsNullOrEmpty(personName.NameSuffix)) { orderedParts.Add(personName.NameSuffix); } return(string.Join(" ", orderedParts.ToArray())); }
public static string ToLocalizedString( this IPersonName personName, PersonNameFormatterStyle style = PersonNameFormatterStyle.Default, bool usePhoneticRepresentation = false) { #if UNITY_IOS && !UNITY_EDITOR var jsonString = JsonStringForPersonName(personName); return(PInvoke.AppleAuth_IOS_GetPersonNameUsingFormatter(jsonString, (int)style, usePhoneticRepresentation)); #else var orderedParts = new System.Collections.Generic.List <string>(); if (string.IsNullOrEmpty(personName.NamePrefix)) { orderedParts.Add(personName.NamePrefix); } if (string.IsNullOrEmpty(personName.GivenName)) { orderedParts.Add(personName.GivenName); } if (string.IsNullOrEmpty(personName.MiddleName)) { orderedParts.Add(personName.MiddleName); } if (string.IsNullOrEmpty(personName.FamilyName)) { orderedParts.Add(personName.FamilyName); } if (string.IsNullOrEmpty(personName.NameSuffix)) { orderedParts.Add(personName.NameSuffix); } return(string.Join(" ", orderedParts)); #endif }
public void Parse(string name, IName person, string format = null) { if (guard) { return; } guard = true; try { if (!(person is IPersonName)) { throw new ArgumentException("Cannot parse as object is not an IPersonName"); } // Assign the person Person = (IPersonName)person; // Initialise the person and ourselves Initialise(); // Process the supplied name Lex.Source = new StringReader(name); var symbol = Lex.GetToken(); while (symbol.Token != TokenClass.EOF) { switch (symbol.Token) { case TokenClass.Comma: SurnameHint += 1; break; case TokenClass.Value: var nameSymbol = symbol as NameSymbol; if (nameSymbol == null) { AddValue(symbol); } else { switch (nameSymbol.NameType) { case NameToken.Title: AddTitle(nameSymbol); break; case NameToken.Given: AddForename(symbol); break; case NameToken.Prefix: AddPrefix(symbol); break; case NameToken.Family: AddSurname(symbol); break; case NameToken.Suffix: AddSuffix(symbol); break; case NameToken.Civil: case NameToken.Military: case NameToken.Academic: case NameToken.Professional: AddLetters(symbol); break; case NameToken.Multiple: AddMultiple(nameSymbol); break; } } break; case TokenClass.Minus: AddMinus(symbol); break; case TokenClass.SingleQuote: case TokenClass.Apostrophe: AddSurname(symbol); break; } symbol = Lex.GetToken(); } AdjustHints(); // Rebuild the name from the parsed components ConstructName(); // Tidy up the elements TidyName(); // Push the values back into the name AssignName(lastTitle == 0 ? "TFS" : "FTS"); } finally { guard = false; } }
public User SetPersonName(IPersonName value) { PersonName = new PersonName(value.FamilyName, value.GivenName, value.MiddleName); return(this); }