public string GetHeader(string inputString, CultureInfo cultureInfo)
        {
            List <PeopleHeader> localeHeaderList = this.GetLocaleHeaderList(cultureInfo);

            for (int i = localeHeaderList.Count - 1; i >= 0; i--)
            {
                PeopleHeader peopleHeader = localeHeaderList[i];
                if (cultureInfo.CompareInfo.Compare(inputString, peopleHeader.StartChar, PeopleStringUtils.StringCompareOptions) >= 0)
                {
                    return(peopleHeader.DisplayName);
                }
            }
            string message = string.Format(CultureInfo.InvariantCulture, "List of headers should cover the entire unicode range. Input String: {0}, LCID: {1}, LocaleName: {2}", new object[]
            {
                inputString,
                LocaleMap.GetLcidFromCulture(cultureInfo),
                cultureInfo.Name
            });

            PeopleHeaderProvider.Tracer.TraceError(0L, message);
            return(PeopleHeaderProvider.FirstHeader.DisplayName);
        }
Example #2
0
        public override bool Equals(object obj)
        {
            PeopleHeader peopleHeader = obj as PeopleHeader;

            return(peopleHeader != null && this.DisplayName == peopleHeader.DisplayName && this.StartChar == peopleHeader.StartChar);
        }