private DataUri[] GetItems(WorkflowState state, IWorkflow workflow)
        {
            ArrayList list = new ArrayList();

            DataUri[] items = workflow.GetItems(state.StateID);
            if (items != null)
            {
                foreach (DataUri uri in items)
                {
                    Item item = Context.ContentDatabase.Items[uri];
                    if ((((item != null) && item.Access.CanRead()) && (item.Access.CanReadLanguage() && item.Access.CanWriteLanguage())) && ((Context.IsAdministrator || item.Locking.CanLock()) || item.Locking.HasLock()))
                    {
                        list.Add(uri);
                    }
                }
            }
            return(list.ToArray(typeof(DataUri)) as DataUri[]);
        }
Пример #2
0
        //        Returns all items in a specific state of a specific workflow
        public static IEnumerable <Item> GetItemsInState(IWorkflow workflow, string stateId)
        {
            using (new SecurityModel.SecurityDisabler())
            {
                Database    masterDb    = Factory.GetDatabase(DbName);
                List <Item> itemsInSate = new List <Item>();

                var itemsDataUri = workflow.GetItems(stateId);
                foreach (var uri in itemsDataUri)
                {
                    var item = masterDb.GetItem(uri);
                    if (item != null)
                    {
                        itemsInSate.Add(item);
                    }
                }

                return(itemsInSate);
            }
        }
        //        Returns all items in a specific state of a specific workflow
        public static IEnumerable<Item> GetItemsInState(IWorkflow workflow, string stateId)
        {
            using (new SecurityModel.SecurityDisabler())
            {
                Database masterDb = Factory.GetDatabase(DbName);
                List<Item> itemsInSate = new List<Item>();

                var itemsDataUri = workflow.GetItems(stateId);
                foreach (var uri in itemsDataUri)
                {
                    var item = masterDb.GetItem(uri);
                    if (item != null)
                    {
                        itemsInSate.Add(item);
                    }
                }

                return itemsInSate;
            }
        }
        protected virtual IEnumerable<Item> GetItems(IWorkflow workflow)
        {
            Assert.ArgumentNotNull(workflow, "workflow");

            List<Item> items = new List<Item>();
            DataUri[] uris = workflow.GetItems(WorkflowStateId);
            {
                foreach (DataUri uri in uris)
                {
                    if (items.Count >= MaxItems.Value)
                    {
                        break;
                    }
                    Item item = Database.Items[uri];
                    if ((((item != null) && item.Access.CanRead()) && (item.Access.CanReadLanguage() && item.Access.CanWriteLanguage())) && ((Sitecore.Context.IsAdministrator || item.Locking.CanLock()) || item.Locking.HasLock()))
                    {
                        items.Add(item);
                    }
                }
            }
            return items;
        }
Пример #5
0
 /// <summary>
 /// Gets the items.
 /// </summary>
 /// <param name="state">
 /// The state.
 /// </param>
 /// <param name="workflow">
 /// The workflow.
 /// </param>
 /// <returns>
 /// Array of item DataUri.
 /// </returns>
 private DataUri[] GetItems(WorkflowState state, IWorkflow workflow)
 {
     Assert.ArgumentNotNull(state, "state");
     Assert.ArgumentNotNull(workflow, "workflow");
     ArrayList arrayLists = new ArrayList();
     DataUri[] items = workflow.GetItems(state.StateID);
     if (items != null)
     {
         DataUri[] dataUriArray = items;
         for (int i = 0; i < (int)dataUriArray.Length; i++)
         {
             DataUri dataUri = dataUriArray[i];
             Item item = Context.ContentDatabase.Items[dataUri];
             if (item != null && item.Access.CanRead() && item.Access.CanReadLanguage() && item.Access.CanWriteLanguage() && (Context.IsAdministrator || item.Locking.CanLock() || item.Locking.HasLock()))
             {
                 arrayLists.Add(dataUri);
             }
         }
     }
     return arrayLists.ToArray(typeof(DataUri)) as DataUri[];
 }
 private DataUri[] GetItems(WorkflowState state, IWorkflow workflow)
 {
     ArrayList list = new ArrayList();
     DataUri[] items = workflow.GetItems(state.StateID);
     if (items != null)
     {
         foreach (DataUri uri in items)
         {
             Item item = Context.ContentDatabase.Items[uri];
             if ((((item != null) && item.Access.CanRead()) && (item.Access.CanReadLanguage() && item.Access.CanWriteLanguage())) && ((Context.IsAdministrator || item.Locking.CanLock()) || item.Locking.HasLock()))
             {
                 list.Add(uri);
             }
         }
     }
     return (list.ToArray(typeof(DataUri)) as DataUri[]);
 }
 /// <summary>
 /// Gets the state of the workflow items of.
 /// </summary>
 /// <param name="workFlow">The work flow.</param>
 /// <param name="workFlowState">State of the work flow.</param>
 /// <param name="language">The language.</param>
 /// <returns></returns>
 public static List<string> GetWorkflowItemsOfState(IWorkflow workFlow, WorkflowState workFlowState, Language language)
 {
     List<string> list = new List<string>();
     foreach (DataUri dataUri in workFlow.GetItems(workFlowState.StateID))
     {
         try
         {
             if (dataUri.Language == language)
             {
                 if (!list.Contains(dataUri.ItemID.ToString()))
                     list.Add(dataUri.ItemID.ToString());
             }
         }
         catch (Exception ex)
         {
             Log.Error("GetWorkflowItemsOfState", ex, typeof(SitecoreHelper));
         }
     }
     return list;
 }
 /// <summary>
 /// Gets the state of the workflow items of.
 /// </summary>
 /// <param name="workFlow">The work flow.</param>
 /// <param name="workFlowState">State of the work flow.</param>
 /// <returns></returns>
 public static Hashtable GetWorkflowItemsOfState(IWorkflow workFlow, WorkflowState workFlowState)
 {
     Hashtable hashtable = new Hashtable();
     foreach (DataUri dataUri in workFlow.GetItems(workFlowState.StateID))
     {
         try
         {
             if (!hashtable.Contains((object)dataUri.ItemID.ToString()))
                 hashtable.Add((object)dataUri.ItemID.ToString(), (object)dataUri.ItemID.ToString());
         }
         catch (Exception ex)
         {
             Log.Error("GetWorkflowItemsOfState", ex, typeof(SitecoreHelper));
         }
     }
     return hashtable;
 }