AutomatedTagging.Program.GetTermSetsByInternalName C# (CSharp) Method

GetTermSetsByInternalName() static private method

static private GetTermSetsByInternalName ( List taxonomyFields ) : TermSetLookup>.Dictionary
taxonomyFields List
return TermSetLookup>.Dictionary
        static Dictionary<string, TermSetLookup> GetTermSetsByInternalName(List<TaxonomyField> taxonomyFields)
        {
            Dictionary<string, TermSetLookup> termSetsByInternalName
              = new Dictionary<string, TermSetLookup>(StringComparer.OrdinalIgnoreCase);

            TaxonomySession taxonomySession = TaxonomySession.GetTaxonomySession(Program.clientContext);
            taxonomySession.UpdateCache();

            foreach (TaxonomyField field in taxonomyFields)
            {
                TermStore termStore = taxonomySession.TermStores.GetById(field.SspId);
                TermSet termSet = termStore.GetTermSet(field.TermSetId);
                termSetsByInternalName.Add(field.InternalName, new TermSetLookup(field, termSet));
            }

            Program.clientContext.ExecuteQuery();
            foreach (TermSetLookup termSetLookup in termSetsByInternalName.Values)
            {
                termSetLookup.LoadResults();
            }
            return termSetsByInternalName;
        }