internal static List <StringValue> GetStatesforReview(int PortalID, int UserID)
            {
                string             CacheKey = CacheFactory.GetCacheKey(CacheFactory.Keys.Workflow + "GetStatesforReview" + "PortalID", UserID, PortalID);
                List <StringValue> result   = CacheFactory.Get(CacheKey) as List <StringValue>;

                if (result == null)
                {
                    Sql Query = WorkflowScript.GetStatesforPendingReview(PortalID, UserID);
                    using (VanjaroRepo db = new VanjaroRepo())
                    {
                        result = db.Fetch <StringValue>(Query).ToList();
                    }
                    CacheFactory.Set(CacheKey, result);
                }
                return(result);
            }
            internal static List <WorkflowPage> GetReviewPagesbyUserID(int UserID, int Page, int PageSize, int StateID)
            {
                string CacheKey           = CacheFactory.GetCacheKey(CacheFactory.Keys.Workflow + "GetReviewPagesbyUserID", UserID, Page, PageSize, StateID);
                List <WorkflowPage> Pages = CacheFactory.Get(CacheKey) as List <WorkflowPage>;

                if (Pages == null)
                {
                    Sql Query = WorkflowScript.GetPagesByUserID(UserID, Page, PageSize, StateID);
                    using (VanjaroRepo db = new VanjaroRepo())
                    {
                        Pages = db.Fetch <WorkflowPage>(Query).ToList();
                    }
                    CacheFactory.Set(CacheKey, Pages);
                }
                return(Pages);
            }
            internal static int GetReviewPagesCountByUserID(int UserID, int Page, int PageSize, int StateID)
            {
                string CacheKey = CacheFactory.GetCacheKey(CacheFactory.Keys.Workflow + "GetReviewPagesCountByUserID", UserID, Page, PageSize, StateID);
                int?   Count    = CacheFactory.Get(CacheKey);

                if (Count == null)
                {
                    Count = 0;
                    Sql Query = WorkflowScript.GetPagesCountByUserID(UserID, StateID);
                    using (VanjaroRepo db = new VanjaroRepo())
                    {
                        Count = db.Fetch <int>(Query).FirstOrDefault();
                    }
                    CacheFactory.Set(CacheKey, Count);
                }
                return(Count.Value);
            }
            internal static List <WorkflowPage> GetPagesbyUserID(int PortalID, int UserID)
            {
                string CacheKey = CacheFactory.GetCacheKey(CacheFactory.Keys.Workflow + "GetPagesbyUserID" + "PortalID", UserID, PortalID);
                List <WorkflowPage> WorkflowPages = CacheFactory.Get(CacheKey) as List <WorkflowPage>;

                if (WorkflowPages == null)
                {
                    Sql Query = WorkflowScript.GetPagesByUserID(PortalID, UserID);
                    using (VanjaroRepo db = new VanjaroRepo())
                    {
                        WorkflowPages = db.Fetch <WorkflowPage>(Query).ToList();
                    }

                    CacheFactory.Set(CacheKey, WorkflowPages);
                }
                return(WorkflowPages);
            }