コード例 #1
0
    protected void btSave_Click(object sender, EventArgs e)
    {
        try
        {
            string id = Request["id"];

            Category         category;
            IList <Category> categories = GetAllViewableCategories();

            //Edit
            if (id != null)
            {
                category             = DocoManager.GetCategory(id);
                category.DisplayName = txtDisplayName.Text;
            }
            else //New
            {
                category = DocoManager.CreateCategory(txtDisplayName.Text);
            }

            Category parentCategory = categories[cmbParentCategory.SelectedIndex];
            // The parent category can be assiged as the same category, do not allow this.
            // Also do not allow the root category (with parent null) to be changed.
            if (!parentCategory.Id.Equals(category.Id) && category.ParentCategory != null)
            {
                category.ParentCategory = categories[cmbParentCategory.SelectedIndex];
            }
            category.Description = txtDescription.Text;
            DocoManager.UpdateCategory(category);
            IList <Access> currentAccess = AccessManager.GetItemAccess(category.Id);

            foreach (Access access in currentAccess)
            {
                AccessManager.RemoveAccess(access.Id);
            }

            foreach (Access a in AccessControl1.AccessList)
            {
                a.Id       = null;
                a.ItemId   = category.Id;
                a.ItemType = ItemType.DocoCategory;
                AccessManager.AddAccess(a);
            }

            ((IFeedback)this.Page.Master).QueueFeedback(
                BusiBlocksConstants.Blocks.Documents.LongName,
                "Category",
                Feedback.Actions.Saved,
                category.DisplayName
                );

            Navigation.Admin_ManageDoco().Redirect(this);
        }
        catch (Exception ex)
        {
            throw ex;
            ((IFeedback)Master).SetException(GetType(), ex);
        }
    }
コード例 #2
0
        public void CreateCategoryTest()
        {
            BusiBlocksDocoProvider target = new BusiBlocksDocoProvider();            // TODO: Initialize to an appropriate value
            string   displayName          = "Unit Test Category";                    // TODO: Initialize to an appropriate value
            Category expected             = DocoManager.CreateCategory(displayName); // TODO: Initialize to an appropriate value
            Category actual;

            actual = target.CreateCategory(displayName);
            Assert.AreEqual(expected, actual);
            Assert.Inconclusive("Able to create a test category");
        }
コード例 #3
0
    protected void AddCategoryClick(object sender, EventArgs e)
    {
        string categoryName     = popAddCategory.Value;
        string categoryId       = popAddCategory.ReferrerId;
        string categoryTypeName = string.Empty;

        // Need to figure out if this is a comms block category or a doco block category.
        if (!string.IsNullOrEmpty(categoryId))
        {
            BusiBlocks.CommsBlock.News.Category news = null;
            try
            {
                news             = NewsManager.GetCategory(categoryId);
                categoryTypeName = news.GetType().Name;
            }
            catch (NewsCategoryNotFoundException) { }
            if (news != null)
            {
                BusiBlocks.CommsBlock.News.Category childCategory = NewsManager.CreateCategory(categoryName);
                childCategory.ParentCategory = news;
                NewsManager.UpdateCategory(childCategory);
                this.PopulateTreeView <BusiBlocks.CommsBlock.News.Category>(NewsManager.GetAllCategories(), true, false, string.Empty);
            }
            else
            {
                BusiBlocks.DocoBlock.Category doco = null;
                try
                {
                    doco             = DocoManager.GetCategory(categoryId);
                    categoryTypeName = doco.GetType().Name;
                }
                catch (DocoCategoryNotFoundException) { }
                if (doco != null)
                {
                    BusiBlocks.DocoBlock.Category childDocoCategory = DocoManager.CreateCategory(categoryName);
                    childDocoCategory.ParentCategory = doco;
                    DocoManager.UpdateCategory(childDocoCategory);
                    this.PopulateTreeView <BusiBlocks.DocoBlock.Category>(DocoManager.GetAllCategories(), true, false, string.Empty);
                }
            }
            RadTreeView1.DataBind();
            RadTreeView1.FindNodeByText(categoryName).ExpandParentNodes();
            RadTreeView1.FindNodeByText(categoryName).Selected = true;

            ((IFeedback)this.Page.Master).ShowFeedback(
                BusiBlocksConstants.Blocks.Administration.LongName,
                categoryTypeName,
                Feedback.Actions.Created,
                categoryName
                );
        }
    }