protected void Page_Load(object sender, EventArgs e) { try { if (!IsPostBack) { lnkManage.NavigateUrl = EditUrl("ManageCategories"); string PageName = TabController.CurrentPage.TabPath.Remove(0, 1); lnkSettings.NavigateUrl = "javascript:dnnModal.show('http://" + Request.Url.Host + PageName + "/ctl/Module/ModuleId/" + ModuleId + "?ReturnURL=" + PageName + "&popUp=true#msSpecificSettings',/*showReturn*/false,550,950,true,'')"; bool categoryPresent = false; var cc = new CategoryController(); var ac = cc.GetCategories(ModuleId); foreach (Category c in ac) { if (c != null) { categoryPresent = true; ddCategory.Items.Add(c.CategoryName); } } var fc = new FAQController(); if (FaqId > 0) { btnSave.Text = "Update"; btnSave.CssClass = "btnSubmit btn btn-primary"; btnSaveClose.Text = "Update and Close"; btnSaveClose.CssClass = "btnSubmit btn btn-primary"; lblGroupStatusHolder.CssClass = "group-stat-holder link-save"; var f = fc.GetFAQ(FaqId, ModuleId); if (f != null) { if (f.FaqCategory == "NotCategorized") { rblCategoryOption.SelectedValue = "empty"; txtQuestion.Text = f.FaqQuestion; txtAnswer.Text = f.FaqAnswer; cbHideFAQ.Checked = !f.ShowFaq; } else { rblCategoryOption.SelectedValue = "list"; ddCategory.SelectedValue = f.FaqCategory; txtQuestion.Text = f.FaqQuestion; txtAnswer.Text = f.FaqAnswer; cbHideFAQ.Checked = !f.ShowFaq; } } else { if (categoryPresent) { rblCategoryOption.SelectedValue = "list"; } else { rblCategoryOption.SelectedValue = "new"; foreach (ListItem li in rblCategoryOption.Items) { if (li.Value == "list") { li.Enabled = false; } } } } } else { btnSave.Text = "Add"; btnSave.CssClass = "btnSubmit btn btn-primary"; btnSaveClose.Text = "Add and Close"; btnSaveClose.CssClass = "btnSubmit btn btn-primary"; lblGroupStatusHolder.CssClass = "group-stat-holder link-add"; if (categoryPresent) { rblCategoryOption.SelectedValue = "list"; } else { rblCategoryOption.SelectedValue = "new"; foreach (ListItem li in rblCategoryOption.Items) { if (li.Value == "list") { li.Enabled = false; } } } } } } catch (Exception exc) //Module failed to load { Exceptions.ProcessModuleLoadException(this, exc); } }
protected void Save() { var cc = new CategoryController(); var fc = new FAQController(); string status; if (FaqId > 0) { switch (rblCategoryOption.SelectedValue) { case "new": var c = new Category() { CategoryName = txtCategoryName.Text.Trim(), CategoryDescription = txtCategoryDescription.Text.Trim(), ShowCategory = true, ModuleId = ModuleId }; cc.CreateCategory(c); var f = fc.GetFAQ(FaqId, ModuleId); f.FaqCategory = txtCategoryName.Text.Trim(); f.FaqQuestion = txtQuestion.Text.Trim(); f.FaqAnswer = txtAnswer.Text.Trim(); f.ShowFaq = !cbHideFAQ.Checked; f.Categorized = true; f.ModuleId = ModuleId; fc.UpdateFAQ(f); break; case "list": var lf = fc.GetFAQ(FaqId, ModuleId); lf.FaqCategory = ddCategory.SelectedValue; lf.FaqQuestion = txtQuestion.Text.Trim(); lf.FaqAnswer = txtAnswer.Text.Trim(); lf.ShowFaq = !cbHideFAQ.Checked; lf.Categorized = true; lf.ModuleId = ModuleId; fc.UpdateFAQ(lf); break; case "empty": var ef = fc.GetFAQ(FaqId, ModuleId); ef.FaqCategory = "NotCategorized"; ef.FaqQuestion = txtQuestion.Text.Trim(); ef.FaqAnswer = txtAnswer.Text.Trim(); ef.ShowFaq = !cbHideFAQ.Checked; ef.Categorized = false; ef.ModuleId = ModuleId; fc.UpdateFAQ(ef); break; default: break; } lblSubTitle.Text = "FAQ Entry Updated!"; status = "success"; } else { bool faqExists = false; foreach (var faq in fc.GetFAQs(ModuleId)) { if (faq.FaqQuestion == txtQuestion.Text.Trim()) { faqExists = true; } } if (!faqExists) { switch (rblCategoryOption.SelectedValue) { case "new": var c = new Category() { CategoryName = txtCategoryName.Text.Trim(), CategoryDescription = txtCategoryDescription.Text.Trim(), ShowCategory = true, ModuleId = ModuleId }; cc.CreateCategory(c); var f = new FAQ() { FaqCategory = txtCategoryName.Text.Trim(), FaqQuestion = txtQuestion.Text.Trim(), FaqAnswer = txtAnswer.Text.Trim(), ShowFaq = !cbHideFAQ.Checked, Categorized = true, ModuleId = ModuleId }; fc.CreateFAQ(f); break; case "list": var lf = new FAQ() { FaqCategory = ddCategory.SelectedValue, FaqQuestion = txtQuestion.Text.Trim(), FaqAnswer = txtAnswer.Text.Trim(), ShowFaq = !cbHideFAQ.Checked, Categorized = true, ModuleId = ModuleId }; fc.CreateFAQ(lf); break; case "empty": var ef = new FAQ() { FaqCategory = "NotCategorized", FaqQuestion = txtQuestion.Text.Trim(), FaqAnswer = txtAnswer.Text.Trim(), ShowFaq = !cbHideFAQ.Checked, Categorized = false, ModuleId = ModuleId }; fc.CreateFAQ(ef); break; default: break; } lblSubTitle.Text = "FAQ Entry Added!"; status = "success"; } else { lblSubTitle.Text = "FAQ with that Question already Exists!!"; status = "error"; } } headerMenu.CssClass = "dnnFormMessage two-controls dnnFormTitle no-spacing " + status; lnkManage.CssClass = "btn btn-primary link-manage no-txt " + status; lnkSettings.CssClass = "btn btn-primary link-settings no-txt " + status; }