public ActionResult List(DoingState?fState = null, BaseState?state = null)
        {
            var parameter = new FlowNodeViewParameter
            {
                fState = fState,
                State  = state
            };
            var list = Core.FlowNodeViewManager.Search(parameter);

            ViewBag.List = list;
            return(View());
        }
        public List <FlowNodeView> Search(FlowNodeViewParameter parameter)
        {
            var query = Db.FlowNodeView.AsQueryable();

            if (parameter.UserID.HasValue)
            {
                query = query.Where(e => e.UserID == parameter.UserID.Value);
            }
            if (parameter.Credit.HasValue)
            {
                query = query.Where(e => e.Credit == parameter.Credit.Value);
            }
            if (parameter.Degree.HasValue)
            {
                query = query.Where(e => e.CreditDegree == parameter.Degree.Value);
            }
            if (parameter.StartTime.HasValue)
            {
                query = query.Where(e => e.CreateTime >= parameter.StartTime.Value);
            }
            if (parameter.EndTime.HasValue)
            {
                query = query.Where(e => e.CreateTime <= parameter.EndTime.Value);
            }
            if (parameter.MaxScore.HasValue)
            {
                query = query.Where(e => e.Score <= parameter.MaxScore.Value);
            }
            if (parameter.MinScore.HasValue)
            {
                query = query.Where(e => e.Score >= parameter.MinScore.Value);
            }
            if (!string.IsNullOrEmpty(parameter.Name))
            {
                query = query.Where(e => e.Name.ToLower().Contains(parameter.Name.ToLower()));
            }
            if (!string.IsNullOrEmpty(parameter.sName))
            {
                query = query.Where(e => e.sName.ToLower().Contains(parameter.sName.ToLower()));
            }
            if (parameter.State.HasValue)
            {
                query = query.Where(e => e.State == parameter.State.Value);
            }
            if (parameter.fUserID.HasValue)
            {
                query = query.Where(e => e.fUserID == parameter.fUserID.Value);
            }
            if (parameter.fState.HasValue)
            {
                query = query.Where(e => e.fState == parameter.fState.Value);
            }
            if (parameter.SystemData.HasValue)
            {
                query = query.Where(e => e.SystemData == parameter.SystemData.Value);
            }
            if (parameter.StartUpdateTime.HasValue)
            {
                query = query.Where(e => e.UpdateTime >= parameter.StartUpdateTime.Value);
            }
            if (parameter.EndUpdateTime.HasValue)
            {
                query = query.Where(e => e.UpdateTime <= parameter.EndUpdateTime.Value);
            }
            query = query.OrderByDescending(e => e.CreateTime).SetPage(parameter.Page);
            return(query.ToList());
        }