internal static WorkflowState GetStateByID(int ID)
            {
                string        CacheKey      = CacheFactory.GetCacheKey(CacheFactory.Keys.Workflow + "GetStateByID", ID);
                WorkflowState WorkflowState = CacheFactory.Get(CacheKey);

                if (WorkflowState == null)
                {
                    WorkflowState = WorkflowState.Query("where StateID=@0", ID).FirstOrDefault();
                    CacheFactory.Set(CacheKey, WorkflowState);
                }
                return(WorkflowState);
            }
            internal static List <WorkflowState> GetAllStatesbyWorkflowID(int WorkflowId)
            {
                string CacheKey = CacheFactory.GetCacheKey(CacheFactory.Keys.Workflow + "GetAllStatesbyWorkflowID", WorkflowId);
                List <WorkflowState> WorkflowStates = CacheFactory.Get(CacheKey) as List <WorkflowState>;

                if (WorkflowStates == null)
                {
                    WorkflowStates = WorkflowState.Query("where WorkflowId=@0", WorkflowId).ToList();
                    CacheFactory.Set(CacheKey, WorkflowStates);
                }
                return(WorkflowStates);
            }