private void Run() { var url = this.textBoxUrl.Text; var username = this.textBoxUser.Text; var password = this.textBoxPassword.Text; var groupName = this.textBoxGroup.Text; var tm = new TermStoreManager(url, username, password, groupName) { DefaultLcID = 1041, }; var tbl = this.gridCsv.ToDataTable(); tbl.Select(r => new { セット名 = r[0].ToString().Trim(), セット説明 = r[1].ToString().Trim(), 公開 = r[2].ToBoolean(), タグ = r[3].ToBoolean(), 用語 = r[4].ToString().Trim(), 説明 = r[5].ToString().Trim(), }).GroupBy(r => new { r.セット名, r.セット説明, r.公開, }).ToList().ForEach(v => { var row = v.Select(x => new TermInfo(x.用語) { IsAvailableForTagging = x.タグ, Description = x.説明, }).ToArray(); var info = new TermSetInfo(v.Key.セット名, row) { IsOpenForTermCreation = v.Key.公開, Description = v.Key.セット説明, }; tm.AddTerm(info); }); this.ShowMessageBox("用語セットを登録しました。"); }
protected void Page_Load(object sender, EventArgs e) { // Create a monitored scope for the developer dashboard, etc. using (new SPMonitoredScope("iVision.Menu.ControlTemplates.iVision.Menu.GlobalMenu::Page_Load")) { if (!Page.IsPostBack) { Level = 0; SPSecurity.RunWithElevatedPrivileges(delegate { using ( var thisSite = new SPSite(SPContext.Current.Site.WebApplication.AlternateUrls[0].Uri.AbsoluteUri)) { Site = thisSite; // Get Taxonomy Session, Term Store var session = new TaxonomySession(thisSite); // Use the first TermStore in the list if (session.TermStores.Count == 0) { throw new InvalidOperationException("The Taxonomy Service is offline or missing"); } // Initialize StringWriter instance. var stringWriter = new StringWriter(); // Put HtmlTextWriter in using block because it needs to call Dispose. using (var writer = new HtmlTextWriter(stringWriter)) { TermSet termSetForNav; var stores = session.TermStores; var termStoreGuid = Guid.Empty; if (Guid.TryParse(TermStoreId, out termStoreGuid)) { var termStore = TermStoreManager.GetTermStore(session, termStoreGuid); var termSetGuid = Guid.Empty; if (Guid.TryParse(TermSetId, out termSetGuid)) { termSetForNav = termStore.GetTermSet(termSetGuid); if (null == termSetForNav) { //termSetForNav = termStore.Groups["Navigation"].TermSets["Global"]; } } else { //nTermSet = termStore.Groups["Navigation"].TermSets.GetByName("Global"); termSetForNav = termStore.Groups["Navigation"].TermSets["Global"]; } } else { termSetForNav = stores[0].Groups["Navigation"].TermSets["Global"]; } if (null == termSetForNav) { //return; } var navigationTermSet = NavigationTermSet.GetAsResolvedByWeb(termSetForNav, thisSite.OpenWeb(), StandardNavigationProviderNames.GlobalNavigationTaxonomyProvider); this.CTermSet = new CurrentTermSet { TermSet = termSetForNav, NavigationTermSet = navigationTermSet }; // Begin nav output CssClass = "nav navbar-nav"; //writer.AddAttribute("role", "navigation"); writer.AddAttribute(HtmlTextWriterAttribute.Class, CssClass); writer.RenderBeginTag(HtmlTextWriterTag.Ul); // check nTermSet somehow //buildItems(writer, navTermSet.Terms); //this.buildItems(writer, cTermSet.getTerms()); this.BuildItems(writer, navigationTermSet); writer.RenderEndTag(); } // Return the result. GlobalMenuContainer.Text = ""; GlobalMenuContainer.Text = stringWriter.ToString(); } }); } } }