Пример #1
0
        /// <summary>
        /// Loads the data and data bind.
        /// </summary>
        /// <param name="sortExpression">The sort expression.</param>
        private void LoadDataAndDataBind(string sortExpression)
        {
            MyListView.CurrentListView.PrimaryKeyId = EcfListView.MakePrimaryKeyIdString("VersionId");
            DataTable dtPV;

            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 = Mediachase.Cms.Workflow.LoadDefault())
                {
                    if (reader.Read())
                    {
                        DefaultWorkflowId = (int)reader["WorkflowId"];
                    }
                    reader.Close();
                }
                int PublishId = WorkflowStatus.GetLastByWorkflowId(DefaultWorkflowId);
                int DraftId   = WorkflowStatus.DraftId;

                string filter = Parameters["filter"];
                if (!String.IsNullOrEmpty(filter))
                {
                    if (filter.Equals("draft"))
                    {
                        dv.RowFilter = String.Format("StateId = 1 AND StatusId = {0}", DraftId);
                    }
                    else if (filter.Equals("approve"))
                    {
                        dv.RowFilter = String.Format("StateId = 1 AND StatusId NOT IN (-1, {0}, {1})", PublishId, DraftId);
                    }
                    else if (filter.Equals("reject"))
                    {
                        dv.RowFilter = String.Format("StateId = 2 AND StatusId NOT IN (-1, {0})", PublishId);
                    }
                }
                else
                {
                    dv.RowFilter = String.Format("StateId = 1 AND StatusId NOT IN (-1, {0}, {1})", PublishId, DraftId);;
                }
                //END:APPLY FILTER

                dv.Sort = sortExpression;
                MyListView.DataSource = dv;
            }

            MyListView.DataBind();
        }
Пример #2
0
    /// <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);
    }