public static TaxonomyFieldValueCollection GetTaxonomyFieldValues(TermSet termSet, IEnumerable <string> values, bool addIfDoesNotExist, out bool newTermsAdded) { TaxonomyFieldValueCollection termValues = TaxonomyFieldControl.GetTaxonomyCollection(""); newTermsAdded = false; if (values != null && values.Count() > 0) { bool[] newTermAddedResult = new bool[values.Count()]; termValues.AddRange(values.Where(termValue => termValue != null) .Select((value, i) => { bool newTermAdded; TaxonomyFieldValue val = GetTaxonomyFieldValue(termSet, value, addIfDoesNotExist, out newTermAdded); newTermAddedResult[i] = newTermAdded; return(val); })); newTermsAdded = newTermAddedResult.Any(newTermAdded => newTermAdded); } return(termValues); }
public static TaxonomyFieldValueCollection GetTaxonomyFieldValues(SPSite site, TaxonomyField field, IEnumerable <string> values, bool addIfDoesNotExist /*, out bool newTermsAdded*/) { if (values == null) { throw new ArgumentNullException("values"); } TaxonomySession taxonomySession = new TaxonomySession(site); TermStore termStore = taxonomySession.TermStores[field.SspId]; TermSet termSet = termStore.GetTermSet(field.TermSetId); TaxonomyFieldValueCollection termValues = new TaxonomyFieldValueCollection(field); bool newTermsAdded = false; if (values != null && values.Count() > 0) { bool[] newTermAddedResult = new bool[values.Count()]; termValues.AddRange( values.Where(termValue => termValue != null) .Select((value, i) => { bool newTermAdded; TaxonomyFieldValue val = GetTaxonomyFieldValue(termSet, value, addIfDoesNotExist, out newTermAdded); newTermAddedResult[i] = newTermAdded; return(val); })); newTermsAdded = newTermAddedResult.Any(newTermAdded => newTermAdded); } if (newTermsAdded) { termStore.CommitAll(); } return(termValues); }
public static TaxonomyFieldValueCollection GetTaxonomyFieldValues(SPSite site, TaxonomyField field, string values, out List <int> wssIds) { if (values == null) { throw new ArgumentNullException("values"); } TaxonomySession taxonomySession = new TaxonomySession(site); TermStore termStore = taxonomySession.TermStores[field.SspId]; TermSet termSet = termStore.GetTermSet(field.TermSetId); TaxonomyFieldValueCollection termValues = new TaxonomyFieldValueCollection(field); termValues.AddRange(TaxonomyFieldControl.GetTaxonomyCollection(values)); wssIds = new List <int>(); foreach (TaxonomyFieldValue termValue in termValues) { wssIds.AddRange(TaxonomyField.GetWssIdsOfTerm(site, termStore.Id, termSet.Id, new Guid(termValue.TermGuid), false, 500)); } return(termValues); }
public static TaxonomyFieldValueCollection GetTaxonomyFieldValues(SPSite site, TaxonomyField field, string values, out List<int> wssIds) { if (values == null) throw new ArgumentNullException("values"); TaxonomySession taxonomySession = new TaxonomySession(site); TermStore termStore = taxonomySession.TermStores[field.SspId]; TermSet termSet = termStore.GetTermSet(field.TermSetId); TaxonomyFieldValueCollection termValues = new TaxonomyFieldValueCollection(field); termValues.AddRange(TaxonomyFieldControl.GetTaxonomyCollection(values)); wssIds = new List<int>(); foreach (TaxonomyFieldValue termValue in termValues) { wssIds.AddRange(TaxonomyField.GetWssIdsOfTerm(site, termStore.Id, termSet.Id, new Guid(termValue.TermGuid), false, 500)); } return termValues; }
public static TaxonomyFieldValueCollection GetTaxonomyFieldValues(SPSite site, TaxonomyField field, IEnumerable<string> values, bool addIfDoesNotExist/*, out bool newTermsAdded*/) { if (values == null) throw new ArgumentNullException("values"); TaxonomySession taxonomySession = new TaxonomySession(site); TermStore termStore = taxonomySession.TermStores[field.SspId]; TermSet termSet = termStore.GetTermSet(field.TermSetId); TaxonomyFieldValueCollection termValues = new TaxonomyFieldValueCollection(field); bool newTermsAdded = false; if (values != null && values.Count() > 0) { bool[] newTermAddedResult = new bool[values.Count()]; termValues.AddRange( values.Where(termValue => termValue != null) .Select((value, i) => { bool newTermAdded; TaxonomyFieldValue val = GetTaxonomyFieldValue(termSet, value, addIfDoesNotExist, out newTermAdded); newTermAddedResult[i] = newTermAdded; return val; })); newTermsAdded = newTermAddedResult.Any(newTermAdded => newTermAdded); } if (newTermsAdded) { termStore.CommitAll(); } return termValues; }