How to Get WSS ID from Term using Server Side Object Model

  1. public int FetchWssIdByTerm(SPWeb rootWeb, Term term)  
  2. {  
  3.     int wssID;  
  4.     if (rootWeb.Properties.ContainsKey("TaxonomyHiddenList"))   
  5.     {  
  6.         Guid taxonomyHiddenListId = new  
  7.         Guid(rootWeb.Properties["TaxonomyHiddenList"]);  
  8.         SPList taxonomyHiddenList = rootWeb.Lists[taxonomyHiddenListId];  
  9.         SPQuery query = new SPQuery();  
  10.         query.Query = string.Format(@  
  11.         "<Where><And>                                                  
  12.             <Eq><FieldRef Name='IdForTerm' />    
  13.             <Value Type='Text'>{0}</Value>    
  14.             </Eq>    
  15.             <Eq><FieldRef Name='IdForTermSet' />    
  16.             <Value Type='Text'>{1}</Value>    
  17.             </Eq>    
  18.             </And>    
  19.             </Where>", term.Id, term.TermSet.Id);  
  20.         SPListItemCollection items = taxonomyHiddenList.GetItems(query);  
  21.         if (items.Count > 0) {  
  22.             wssID = int.Parse(items[0]["ID"].ToString());  
  23.         }  
  24.     }  
  25.     return wssID;  
  26. }