/// <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(); }
/// <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); }