Ejemplo n.º 1
0
 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);
     }
 }
Ejemplo n.º 2
0
        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;
        }