コード例 #1
0
    /// <summary>
    /// Binds the root.
    /// </summary>
    private void BindRoot()
    {
        List <JsonTreeNode> nodes = new List <JsonTreeNode>();

        nodes.Add(JsonTreeNode.CreateNode("CatalogEntrySearch", String.Empty, "Catalog Entry Search", ModuleName,
                                          "CatalogEntrySearch-List", String.Empty, TreeListType.EntrySearch.ToString(), true));
        nodes.Add(JsonTreeNode.CreateNode("Catalogs", String.Empty, "Catalogs", ModuleName, "Catalog-List", String.Empty, TreeListType.Catalogs.ToString()));
        WriteArray(nodes);
    }
コード例 #2
0
    /// <summary>
    /// Binds the root.
    /// </summary>
    private void BindRoot()
    {
        List <JsonTreeNode> nodes = new List <JsonTreeNode>();

        nodes.Add(JsonTreeNode.CreateNode("OrderSearch", String.Empty, "Order Search", ModuleName,
                                          "OrderSearch-List", String.Empty, TreeListType.OrderSearch.ToString(), true));

        // PurchaseOrders node
        JsonTreeNode poNode = JsonTreeNode.CreateNode("PurchaseOrders", String.Empty, "Purchase Orders", ModuleName, "Orders-List", String.Empty, TreeListType.PurchaseOrders.ToString());

        poNode.icon     = Mediachase.Commerce.Shared.CommerceHelper.GetAbsolutePath("~/Apps/Order/images/PurchaseOrders.png");
        poNode.children = new List <JsonTreeNode>();
        poNode.children.Add(JsonTreeNode.CreateNode("PO-TodayOrders", "Today", ModuleName, "Orders-List", "filter=today&class=PurchaseOrder", true));
        poNode.children.Add(JsonTreeNode.CreateNode("PO-WeekOrders", "This Week", ModuleName, "Orders-List", "filter=thisweek&class=PurchaseOrder", true));
        poNode.children.Add(JsonTreeNode.CreateNode("PO-MonthOrders", "This Month", ModuleName, "Orders-List", "filter=thismonth&class=PurchaseOrder", true));
        poNode.children.Add(JsonTreeNode.CreateNode("PO-AllOrders", "All", ModuleName, "Orders-List", "filter=all&class=PurchaseOrder", true));
        nodes.Add(poNode);

        // PurchaseOrdersByStatus node
        JsonTreeNode posNode = JsonTreeNode.CreateNode("PurchaseOrdersByStatus", String.Empty, "Purchase Orders By Status", ModuleName, "Orders-List", String.Empty, TreeListType.PurchaseOrdersByStatus.ToString());

        posNode.children = new List <JsonTreeNode>();

        OrderStatusDto statusDto = OrderStatusManager.GetOrderStatus();

        foreach (OrderStatusDto.OrderStatusRow statusRow in statusDto.OrderStatus.Rows)
        {
            posNode.children.Add(JsonTreeNode.CreateNode("PO-Status-" + statusRow.OrderStatusId, statusRow.Name, ModuleName, "Orders-List", String.Format("status={0}", statusRow.Name), true));
        }
        nodes.Add(posNode);

        // Carts node
        JsonTreeNode cartsNode = JsonTreeNode.CreateNode("Carts", "Carts", ModuleName, "Orders-List", "filter=all&class=ShoppingCart", false);

        cartsNode.children = new List <JsonTreeNode>();
        cartsNode.children.Add(JsonTreeNode.CreateNode("CART-TodayOrders", "Today", ModuleName, "Orders-List", "filter=today&class=ShoppingCart", true));
        cartsNode.children.Add(JsonTreeNode.CreateNode("CART-WeekOrders", "This Week", ModuleName, "Orders-List", "filter=thisweek&class=ShoppingCart", true));
        cartsNode.children.Add(JsonTreeNode.CreateNode("CART-MonthOrders", "This Month", ModuleName, "Orders-List", "filter=thismonth&class=ShoppingCart", true));
        cartsNode.children.Add(JsonTreeNode.CreateNode("CART-AllOrders", "All", ModuleName, "Orders-List", "filter=all&class=ShoppingCart", true));
        nodes.Add(cartsNode);

        // PaymentPlans node
        JsonTreeNode ppNode = JsonTreeNode.CreateNode("PaymentPlans", "Payment Plans (recurring)", ModuleName, "Orders-List", "filter=all&class=PaymentPlan", false);

        ppNode.children = new List <JsonTreeNode>();
        ppNode.children.Add(JsonTreeNode.CreateNode("PP-TodayOrders", "Today", ModuleName, "Orders-List", "filter=today&class=PaymentPlan", true));
        ppNode.children.Add(JsonTreeNode.CreateNode("PP-WeekOrders", "This Week", ModuleName, "Orders-List", "filter=thisweek&class=PaymentPlan", true));
        ppNode.children.Add(JsonTreeNode.CreateNode("PP-MonthOrders", "This Month", ModuleName, "Orders-List", "filter=thismonth&class=PaymentPlan", true));
        ppNode.children.Add(JsonTreeNode.CreateNode("PP-AllOrders", "All", ModuleName, "Orders-List", "filter=all&class=PaymentPlan", true));
        nodes.Add(ppNode);

        WriteArray(nodes);
    }
コード例 #3
0
ファイル: TreeSource.aspx.cs プロジェクト: hdgardner/ECF
    /// <summary>
    /// Binds the policies.
    /// </summary>
    private void BindPolicies()
    {
        List <JsonTreeNode> nodes = new List <JsonTreeNode>();

        // Policies child nodes
        foreach (string key in PromotionGroup.Groups.Keys)
        {
            nodes.Add(JsonTreeNode.CreateNode(key, PromotionGroup.Groups[key], ModuleName, "Policy-List", "group=" + key, true));
        }

        WriteArray(nodes);
    }
コード例 #4
0
ファイル: TreeSource.aspx.cs プロジェクト: hdgardner/ECF
    /// <summary>
    /// Binds the expressions.
    /// </summary>
    private void BindExpressions()
    {
        List <JsonTreeNode> nodes = new List <JsonTreeNode>();

        // Expressions child nodes
        foreach (string key in ExpressionCategory.Categories.Keys)
        {
            nodes.Add(JsonTreeNode.CreateNode(key, ExpressionCategory.Categories[key], ModuleName, "Expression-List", "group=" + key, true));
        }

        WriteArray(nodes);
    }
コード例 #5
0
    /// <summary>
    /// Binds the purchase orders by status.
    /// </summary>
    private void BindPurchaseOrdersByStatus()
    {
        List <JsonTreeNode> nodes = new List <JsonTreeNode>();

        // PurchaseOrdersByStatus node
        OrderStatusDto statusDto = OrderStatusManager.GetOrderStatus();

        foreach (OrderStatusDto.OrderStatusRow statusRow in statusDto.OrderStatus.Rows)
        {
            nodes.Add(JsonTreeNode.CreateNode("PO-Status-" + statusRow.OrderStatusId, statusRow.Name, ModuleName, "Orders-List", String.Format("status={0}", statusRow.Name), true));
        }

        WriteArray(nodes);
    }
コード例 #6
0
ファイル: TreeSource.aspx.cs プロジェクト: hdgardner/ECF
    /// <summary>
    /// Binds the root.
    /// </summary>
    private void BindRoot()
    {
        List <JsonTreeNode> nodes = new List <JsonTreeNode>();

        //check permissions before adding the nodes
        if (ProfileContext.Current.CheckPermission("content:admin:workflow:mng:edit"))
        {
            nodes.Add(JsonTreeNode.CreateNode(MakeNodeId("MyWork"), String.Empty, "My Work", ModuleName, String.Empty, String.Empty, TreeListType.MyWork.ToString()));
        }

        if (ProfileContext.Current.CheckPermission("content:site:mng:view"))
        {
            nodes.Add(JsonTreeNode.CreateNode(MakeNodeId("Sites"), String.Empty, "Sites", ModuleName, "Site-List", String.Empty, TreeListType.Sites.ToString()));
        }
        WriteArray(nodes);
    }
コード例 #7
0
        /// <summary>
        /// Binds the catalogs.
        /// </summary>
        private void BindCatalogs()
        {
            CatalogDto dto = CatalogContext.Current.GetCatalogDto();

            List <JsonTreeNode> nodes = new List <JsonTreeNode>();

            foreach (CatalogDto.CatalogRow row in dto.Catalog.Rows)
            {
                JsonTreeNode cNode = JsonTreeNode.CreateNode(String.Format("c_{0}", row.CatalogId.ToString()), MakeItemId(row.CatalogId.ToString(), ""),
                                                             row.Name, ModuleName, "Node-List", String.Format("catalogid={0}&catalognodeid={1}", row.CatalogId, ""),
                                                             TreeListType.Catalogs.ToString());
                cNode.treeLoader = Request.Url.AbsoluteUri;
                nodes.Add(cNode);
            }

            WriteArray(nodes);
        }
コード例 #8
0
ファイル: TreeSource.aspx.cs プロジェクト: hdgardner/ECF
    /// <summary>
    /// Binds the folders.
    /// </summary>
    private void BindFolders()
    {
        List <JsonTreeNode> nodes = new List <JsonTreeNode>();

        using (IDataReader reader = FileTreeItem.GetItemById(FileTreeItem.GetRoot(SiteId)))
        {
            if (reader.Read())
            {
                string       nodeId = MakeNodeId("folder-" + reader["PageId"].ToString());
                JsonTreeNode node   = JsonTreeNode.CreateNode(nodeId, reader["PageId"].ToString(), "/", "Content", "Folder-List", String.Format("folderid={0}&siteid={1}", reader["PageId"].ToString(), SiteId.ToString()), TreeListType.Folders.ToString());
                nodes.Add(node);
                BindFolders(node, (int)reader["PageId"]);
            }
            reader.Close();
        }

        WriteArray(nodes);
    }
コード例 #9
0
ファイル: TreeSource.aspx.cs プロジェクト: hdgardner/ECF
    /// <summary>
    /// Binds the templates.
    /// </summary>
    private void BindTemplates()
    {
        SecurityManager.CheckRolePermission("content:admin:templates:mng:view");

        List <JsonTreeNode> nodes = new List <JsonTreeNode>();

        using (IDataReader langReader = Language.GetAllLanguages())
        {
            while (langReader.Read())
            {
                int         langId   = Int32.Parse(langReader["LangId"].ToString());
                CultureInfo culture  = CultureInfo.CreateSpecificCulture(langReader["LangName"].ToString());
                string      langName = culture.Name;
                nodes.Add(JsonTreeNode.CreateNode("TemplateLanguage-" + langId, culture.DisplayName, ModuleName, "Templates-List", String.Format("lang={0}", langName.ToLower()), true));
            }
            langReader.Close();
        }

        WriteArray(nodes);
    }
コード例 #10
0
ファイル: TreeSource.aspx.cs プロジェクト: hdgardner/ECF
    /// <summary>
    /// Binds the site.
    /// </summary>
    private void BindSite()
    {
        List <JsonTreeNode> nodes = new List <JsonTreeNode>();

        SiteDto dto = CMSContext.Current.GetSitesDto(CmsConfiguration.Instance.ApplicationId, true);

        foreach (SiteDto.SiteRow row in dto.Site.Rows)
        {
            JsonTreeNode newNode = JsonTreeNode.CreateNode(MakeNodeId(row.SiteId.ToString()), row.SiteId.ToString(), row.Name, ModuleName, String.Empty, String.Format("siteid={0}", row.SiteId), TreeListType.None.ToString());

            string treeLoader = Request.Url.AbsoluteUri;
            if (!row.IsActive)
            {
                newNode.icon = Page.ResolveUrl("~/Apps/Content/images/folder-disabled.gif");
            }

            newNode.children = new List <JsonTreeNode>();

            //check permissions first
            if (ProfileContext.Current.CheckPermission("content:site:nav:mng:view"))
            {
                JsonTreeNode foldersNode = JsonTreeNode.CreateNode(MakeNodeId(row.SiteId.ToString() + "FoldersAndPages"), row.SiteId.ToString(), "Folders & Pages", ModuleName, String.Empty, String.Format("siteid={0}", row.SiteId), TreeListType.Folders.ToString());
                foldersNode.icon       = Page.ResolveUrl("~/Apps/Content/images/Folder-Documents.png");
                foldersNode.treeLoader = treeLoader; // set current page as tree toader for new nodes
                newNode.children.Add(foldersNode);
            }

            //check permissions first
            if (ProfileContext.Current.CheckPermission("content:site:menu:mng:view"))
            {
                JsonTreeNode menusNode = JsonTreeNode.CreateNode(MakeNodeId(row.SiteId.ToString() + "Menus"), row.SiteId.ToString(), "Menus", ModuleName, "Menu-List", String.Format("siteid={0}", row.SiteId), TreeListType.Menus.ToString());
                menusNode.icon       = Page.ResolveUrl("~/Apps/Content/images/Menus.png");
                menusNode.treeLoader = treeLoader;
                newNode.children.Add(menusNode);
            }

            nodes.Add(newNode);
        }

        WriteArray(nodes);
    }
コード例 #11
0
    /// <summary>
    /// Loads the languages.
    /// </summary>
    /// <param name="baseNodeId">The base node id.</param>
    /// <param name="viewId">The view id.</param>
    /// <returns></returns>
    private List <JsonTreeNode> LoadLanguages(string baseNodeId, string viewId)
    {
        List <JsonTreeNode> nodes = new List <JsonTreeNode>();

        // add nodes with languages
        using (IDataReader langReader = Language.GetAllLanguages())
        {
            // add nodes with languages
            while (langReader.Read())
            {
                int         langId   = Int32.Parse(langReader["LangId"].ToString());
                CultureInfo culture  = CultureInfo.CreateSpecificCulture(langReader["LangName"].ToString());
                string      langName = culture.Name;

                nodes.Add(JsonTreeNode.CreateNode(baseNodeId + "-" + langId, culture.DisplayName, ModuleName, viewId, String.Format("lang={0}", langName.ToLower()), true));
            }

            langReader.Close();
        }

        return(nodes);
    }
コード例 #12
0
ファイル: TreeSource.aspx.cs プロジェクト: hdgardner/ECF
    /// <summary>
    /// Binds the folders.
    /// </summary>
    /// <param name="root">The root.</param>
    /// <param name="folderId">The folder id.</param>
    private void BindFolders(JsonTreeNode root, int folderId)
    {
        using (IDataReader reader = FileTreeItem.LoadItemByFolderId(folderId))
        {
            while (reader.Read())
            {
                if ((bool)reader["IsFolder"])
                {
                    string       nodeId = MakeNodeId("folder-" + reader["PageId"].ToString());
                    JsonTreeNode node   = JsonTreeNode.CreateNode(nodeId, reader["PageId"].ToString(), (string)reader["Name"], "Content", "Folder-List", String.Format("folderid={0}&siteid={1}", reader["PageId"].ToString(), SiteId.ToString()), TreeListType.Folders.ToString());

                    if (root.children == null)
                    {
                        root.children = new List <JsonTreeNode>();
                    }

                    root.children.Add(node);
                    BindFolders(node, (int)reader["PageId"]);
                }
            }
            reader.Close();
        }
    }
コード例 #13
0
ファイル: TreeSource.aspx.cs プロジェクト: hdgardner/ECF
    /// <summary>
    /// Binds the list.
    /// </summary>
    private void BindList()
    {
        List <JsonTreeNode> nodes = new List <JsonTreeNode>();

        Mediachase.Ibn.Data.Services.TreeNode[] treeNodes;

        if (NodeId > 0)
        {
            treeNodes = TreeManager.GetChildNodes(Folder.GetAssignedMetaClass(), NodeId);
        }
        else
        {
            treeNodes = TreeManager.GetRootNodes(Folder.GetAssignedMetaClass());
        }

        foreach (Mediachase.Ibn.Data.Services.TreeNode row in treeNodes)
        {
            nodes.Add(JsonTreeNode.CreateNode(row.ObjectId.ToString(), row.ObjectId.ToString(), row.Title, ModuleName,
                                              "Asset-List", "id=" + row.ObjectId.ToString(), String.Empty, !row.HasChildren));
        }

        WriteArray(nodes);
    }
コード例 #14
0
ファイル: TreeSource.aspx.cs プロジェクト: hdgardner/ECF
    /// <summary>
    /// Binds my work.
    /// </summary>
    private void BindMyWork()
    {
        //don't load "my work" subnodes if permissions not allocated
        if (!ProfileContext.Current.CheckPermission("content:admin:workflow:mng:view"))
        {
            return;
        }

        List <JsonTreeNode> nodes = new List <JsonTreeNode>();

        DataTable dtPV = PageVersion.GetWorkVersionByUserId(Page.User.Identity.Name);

        if (dtPV != null && dtPV.Rows.Count > 0)
        {
            DataView dv = dtPV.DefaultView;

            //APPLY FILTER
            int defaultWorkflowId = -1;
            using (IDataReader reader = Workflow.LoadDefault())
            {
                if (reader.Read())
                {
                    defaultWorkflowId = (int)reader["WorkflowId"];
                }
                reader.Close();
            }

            int PublishId = WorkflowStatus.GetLastByWorkflowId(defaultWorkflowId);
            int DraftId   = WorkflowStatus.DraftId;

            dv.RowFilter = String.Format("StateId = 1 AND StatusId NOT IN (-1, {0}, {1})", PublishId, DraftId);
            if (dv.Count > 0)
            {
                nodes.Add(JsonTreeNode.CreateNode(String.Format("{0} <b>({1})</b>", Resources.Admin.ForApprove, dv.Count), ModuleName, "Approve-List", "filter=approve", true));
            }
            else
            {
                nodes.Add(JsonTreeNode.CreateNode(Resources.Admin.ForApprove, ModuleName, "Approve-List", "approve", true));
            }

            dv.RowFilter = String.Format("StateId = 2 AND StatusId NOT IN (-1, {0})", PublishId);
            if (dv.Count > 0)
            {
                nodes.Add(JsonTreeNode.CreateNode(String.Format("{0} <b>({1})</b>", Resources.Admin.Rollbacked, dv.Count), ModuleName, "Reject-List", "filter=reject", true));
            }
            else
            {
                nodes.Add(JsonTreeNode.CreateNode(Resources.Admin.Rollbacked, ModuleName, "Reject-List", "filter=reject", true));
            }

            dv.RowFilter = String.Format("StateId = 1 AND StatusId = {0}", DraftId);
            if (dv.Count > 0)
            {
                nodes.Add(JsonTreeNode.CreateNode(String.Format("{0} <b>({1})</b>", Resources.Admin.Drafts, dv.Count), ModuleName, "Draft-List", "filter=draft", true));
            }
            else
            {
                nodes.Add(JsonTreeNode.CreateNode(Resources.Admin.Drafts, ModuleName, "Draft-List", "filter=draft", true));
            }
        }

        WriteArray(nodes);
    }