コード例 #1
0
        // Token: 0x06001132 RID: 4402 RVA: 0x000642D8 File Offset: 0x000624D8
        private ADEntry LoadADEntry(XmlReader entryReader, NameNormalizer nameNormalizer, GrammarGenerationLog generationLog)
        {
            base.Logger.TraceDebug(this, "Entering GrammarGenerator.LoadADEntry", new object[0]);
            ADEntry       result        = null;
            string        text          = entryReader.GetAttribute(GrammarRecipientHelper.LookupProperties[2].Name);
            string        attribute     = entryReader.GetAttribute(GrammarRecipientHelper.LookupProperties[0].Name);
            string        attribute2    = entryReader.GetAttribute(GrammarRecipientHelper.LookupProperties[1].Name);
            Guid          guid          = new Guid(entryReader.GetAttribute(GrammarRecipientHelper.LookupProperties[3].Name));
            RecipientType recipientType = (RecipientType)Enum.Parse(typeof(RecipientType), entryReader.GetAttribute(GrammarRecipientHelper.LookupProperties[4].Name));
            string        attribute3    = entryReader.GetAttribute(GrammarRecipientHelper.LookupProperties[6].Name);
            string        attribute4    = entryReader.GetAttribute(GrammarRecipientHelper.LookupProperties[9].Name);

            base.Logger.TraceDebug(this, "GrammarGenerator.LoadADEntry - displayName='{0}', phoneticDisplayName='{1}', smtpAddress='{2}', objectGuid='{3}', recipientType='{4}', dialPlanGuid='{5}', AddressListMembership='{6}'", new object[]
            {
                attribute,
                attribute2,
                text,
                guid,
                recipientType,
                attribute3,
                attribute4
            });
            if (RecipientType.DynamicDistributionGroup != recipientType)
            {
                List <string> list = new List <string>(2);
                if (!string.IsNullOrEmpty(attribute))
                {
                    list.Add(attribute);
                }
                if (!string.IsNullOrEmpty(attribute2))
                {
                    list.Add(attribute2);
                }
                list = NormalizationHelper.GetNormalizedNames(list, nameNormalizer, recipientType, generationLog);
                if (list != null)
                {
                    base.Logger.TraceDebug(this, "GrammarGenerator.LoadADEntry - Valid names found for entry", new object[0]);
                    text = GrammarRecipientHelper.GetNormalizedEmailAddress(text);
                    Guid        dialPlanGuid = string.IsNullOrEmpty(attribute3) ? Guid.Empty : new Guid(attribute3);
                    List <Guid> list2        = new List <Guid>();
                    if (!string.IsNullOrEmpty(attribute4))
                    {
                        char[] separator = new char[]
                        {
                            ','
                        };
                        string[] array = attribute4.Split(separator);
                        foreach (string g in array)
                        {
                            list2.Add(new Guid(g));
                        }
                    }
                    result = new ADEntry(list, text, guid, recipientType, dialPlanGuid, list2);
                }
            }
            return(result);
        }