/// <summary> /// Display the selected word properties /// </summary> /// <param name="selWord">word</param> void UpdateDataEdit(string selWord) { SessionState.swFilterWord = txtFilter.Text; SessionState.swPageIndexWord = dg.DisplayLayout.Pager.CurrentPageIndex.ToString(); //DDL_Cultures.Enabled = false; panelGrid.Visible = false; webTab.EnableViewState = false; webTab.Tabs.GetTab(0).ContentPane.TargetUrl = "./SpellChecker/Word_properties.aspx?w=" + selWord + "&l=" + ViewState["LanguageCode"]; webTab.SelectedTabIndex = 0; if (selWord == "-1") { #region New Word lbTitle.Text = "New word"; #endregion } else { #region Word selected SpecificDictionaryWord w = SpecificDictionaryWord.GetByKey(selWord, ViewState["LanguageCode"].ToString()); if (selWord.Length > 50) { selWord = selWord.Substring(0, 50) + "..."; } lbTitle.Text = "Word: " + selWord; #endregion } panelTabWord.Visible = true; }
/// <summary> /// Display word properties /// </summary> private void ShowWord() { #region Retrieve information about the current container SpecificDictionaryWord specificWord = SpecificDictionaryWord.GetByKey(word, languageCode); if (specificWord != null) { txtValue.Text = specificWord.Text; txtComment.Text = specificWord.Comment; hlSubmitter.Text = specificWord.SubmitterName; hlSubmitter.NavigateUrl = "mailto:" + UITools.GetDisplayEmail(specificWord.Submitter.Email) + Server.HtmlEncode("?subject=The word you've submitted [" + word + "]"); lbOrganizationSubmitter.Text = specificWord.Submitter.OrgName; lbSubmittedOn.Text = SessionState.User.FormatUtcDate(specificWord.SubmitDate.Value, true, SessionState.User.FormatDate + ' ' + SessionState.User.FormatTime); panelSubmitter.Visible = true; if (specificWord.Approver != null) { hlApprover.Text = specificWord.ApproverName; hlApprover.NavigateUrl = "mailto:" + UITools.GetDisplayEmail(specificWord.Approver.Email) + Server.HtmlEncode("?subject=The word you've apporved [" + word + "]"); lbOrganizationApprover.Text = specificWord.Approver.OrgName; lbApprovedOn.Text = SessionState.User.FormatUtcDate(specificWord.ApproveDate.Value, true, SessionState.User.FormatDate + ' ' + SessionState.User.FormatTime); panelApprover.Visible = true; } UITools.ShowToolBarButton(uwToolbar, "Delete"); UITools.ShowToolBarSeparator(uwToolbar, "SepDelete"); } else { UITools.HideToolBarButton(uwToolbar, "Delete"); UITools.HideToolBarSeparator(uwToolbar, "SepDelete"); } #endregion }
/// <summary> /// Save the word properties /// </summary> private void BtnSave() { SpecificDictionaryWord w = SpecificDictionaryWord.GetByKey(txtValue.Text, languageCode); string m = string.Empty; if (w == null) { w = new HyperCatalog.SpellChecker.SpecificDictionaryWord(txtValue.Text, languageCode, txtComment.Text, SessionState.User.Id, SessionState.User.FullName, SessionState.User.Id, SessionState.User.FullName, null, null, DateTime.UtcNow, DateTime.UtcNow, false); m = "Word created"; } else { w.ApproverId = SessionState.User.Id; w.ApproveDate = DateTime.UtcNow; w.Comment = txtComment.Text.Trim(); w.Approved = false; m = "Word updated"; } if (w.Save()) { lbMessage.Text = m; lbMessage.CssClass = "hc_success"; lbMessage.Visible = true; } else { lbMessage.Text = "Error: Word can't be created/updated"; lbMessage.CssClass = "hc_error"; lbMessage.Visible = true; } }
/// <summary> /// Approve words selected /// </summary> private void ApproveSelectedItems() { lbMessage.Text = string.Empty; int nbApprovedRows = 0; int nbSelectedRows = 0; foreach (UltraGridRow dr in dg.Rows) { TemplatedColumn col = (TemplatedColumn)dr.Cells.FromKey("Select").Column; CheckBox cb = (CheckBox)((CellItem)col.CellItems[dr.Index]).FindControl("g_sd"); if (cb.Checked) { nbSelectedRows++; SpecificDictionaryWord w = SpecificDictionaryWord.GetByKey(dr.Cells.FromKey("word").ToString(), ViewState["LanguageCode"].ToString()); if (w != null) { if (!w.Approved) { w.Approved = true; w.ApproveDate = DateTime.UtcNow; w.ApproverId = SessionState.User.Id; if (!w.Save()) { lbMessage.Text = "Error: word [" + dr.Cells.FromKey("word").ToString() + "] can't be approved<br>"; lbMessage.CssClass = "hc_error"; lbMessage.Visible = true; break; } else { nbApprovedRows++; } } } else { lbMessage.Text = "Error: word [" + dr.Cells.FromKey("word").ToString() + "] not found<br>"; lbMessage.CssClass = "hc_error"; lbMessage.Visible = true; break; } } } if (nbSelectedRows == 0) { lbMessage.Text = "No words selected"; lbMessage.CssClass = "hc_error"; lbMessage.Visible = true; } else { lbMessage.Text = nbApprovedRows.ToString() + " words approved"; lbMessage.CssClass = "hc_success"; lbMessage.Visible = true; UpdateDataView(); dg.DisplayLayout.Pager.CurrentPageIndex = 1; } }
/// <summary> /// Delete the word /// </summary> private void BtnDelete() { if (!SpecificDictionaryWord.DeleteByKey(word, languageCode, SessionState.User.Id)) { lbMessage.Text = "Error: Word can't be deleted"; lbMessage.CssClass = "hc_error"; lbMessage.Visible = true; } else { Page.ClientScript.RegisterClientScriptBlock(this.GetType(), "clientScript", "<script>back();</script>"); } }
/// <summary> /// Delete words selected /// </summary> private void DeleteSelectedItems() { lbMessage.Text = string.Empty; int nbDeletedRows = 0; int nbSelectedRows = 0; foreach (Infragistics.WebUI.UltraWebGrid.UltraGridRow dr in dg.Rows) { TemplatedColumn col = (TemplatedColumn)dr.Cells.FromKey("Select").Column; CheckBox cb = (CheckBox)((CellItem)col.CellItems[dr.Index]).FindControl("g_sd"); if (cb.Checked) { nbSelectedRows++; if (!SpecificDictionaryWord.DeleteByKey(dr.Cells.FromKey("word").ToString(), ViewState["LanguageCode"].ToString(), SessionState.User.Id)) { lbMessage.Text = "Error: word [" + dr.Cells.FromKey("word").ToString() + "] can't be deleted<br>"; lbMessage.CssClass = "hc_error"; lbMessage.Visible = true; break; } else { nbDeletedRows++; } } } if (nbSelectedRows == 0) { lbMessage.Text = "No words selected"; lbMessage.CssClass = "hc_error"; lbMessage.Visible = true; } else { lbMessage.Text = nbDeletedRows.ToString() + " words deleted"; lbMessage.CssClass = "hc_success"; lbMessage.Visible = true; UpdateDataView(); dg.DisplayLayout.Pager.CurrentPageIndex = 1; } }
/// <summary> /// Display all words by culture /// </summary> private void UpdateDataView() { string filter = txtFilter.Text; string sSql = " LanguageCode = '" + ViewState["LanguageCode"].ToString() + "'"; SessionState.swNotApproved = false; if (uwToolbar.Items.FromKeyButton("NotApproved").Selected) { SessionState.swNotApproved = true; sSql += " AND Approved = 0"; } #region Definition Search if (filter != string.Empty) { if (sSql != string.Empty) { sSql += " AND "; } string cleanFilter = filter.Replace("'", "''").ToLower(); cleanFilter = cleanFilter.Replace("[", "[[]"); cleanFilter = cleanFilter.Replace("_", "[_]"); cleanFilter = cleanFilter.Replace("%", "[%]"); sSql += " LOWER(Text) like '%" + cleanFilter.ToLower() + "%' "; } #endregion using (SpecificDictionaryWordList wordlist = SpecificDictionaryWord.GetAll(sSql)) { #region No result if (wordlist == null) { lbNoresults.Text = "No record match in " + HyperCatalog.Business.Language.GetByKey(ViewState["LanguageCode"].ToString()).Name; lbNoresults.Visible = true; UITools.HideToolBarButton(uwToolbar, "Delete"); UITools.HideToolBarSeparator(uwToolbar, "SepDelete"); dg.Visible = false; } else { if (wordlist.Count == 0) { lbNoresults.Text = "No record match in " + HyperCatalog.Business.Language.GetByKey(ViewState["LanguageCode"].ToString()).Name; lbNoresults.Visible = true; UITools.HideToolBarButton(uwToolbar, "Delete"); UITools.HideToolBarSeparator(uwToolbar, "SepDelete"); dg.Visible = false; } #endregion #region Results else { dg.DataSource = wordlist; lbNoresults.Visible = false; dg.Columns[1].HeaderText = "Words [" + wordlist.Count.ToString() + " item(s)]"; dg.Bands[0].ColHeadersVisible = Infragistics.WebUI.UltraWebGrid.ShowMarginInfo.Yes; Utils.InitGridSort(ref dg); dg.DataBind(); dg.Columns.FromKey("Submitted").Format = SessionState.User.FormatDate; dg.Columns.FromKey("Approved").Format = SessionState.User.FormatDate; dg.Visible = true; UITools.ShowToolBarButton(uwToolbar, "Delete"); UITools.ShowToolBarSeparator(uwToolbar, "SepDelete"); #region PageIndex session if (SessionState.swPageIndexWord != string.Empty) { dg.DisplayLayout.Pager.CurrentPageIndex = Convert.ToInt32(SessionState.swPageIndexWord); } else { dg.DisplayLayout.Pager.CurrentPageIndex = 1; SessionState.swPageIndexWord = string.Empty; } #endregion } } #endregion } }