16 using System.Collections.Generic;
 
   19 using erminas.SmartAPI.Utils.CachedCollections;
 
   21 namespace erminas.SmartAPI.CMS.Project.Workflows
 
   23     internal class WorkflowActions : RDList<IWorkFlowAction>, IWorkflowActions
 
   25         private readonly Workflow _workflow;
 
   27         internal WorkflowActions(Workflow workflow, 
Caching caching) : base(caching)
 
   30             RetrieveFunc = GetWorkflowActions;
 
   33         public IProject Project
 
   35             get { 
return _workflow.Project; }
 
   38         public ISession Session
 
   40             get { 
return _workflow.Session; }
 
   43         public IWorkflow Workflow
 
   45             get { 
return _workflow; }
 
   48         private List<IWorkFlowAction> GetWorkflowActions()
 
   50             return (from XmlElement node in _workflow.RetrieveObjectInternal().SelectNodes(
"descendant::NODE")
 
   51                     select (IWorkFlowAction) new WorkFlowAction(Project, node)).ToList();