Beispiel #1
0
        /// <summary>
        /// 复杂查询
        /// </summary>
        /// <param name="model">查询对象</param>
        /// <param name="Orders">排序字典key:排序的字段,value:asc升序/desc降序</param>
        /// <param name="PageSize">每页行数,默认15</param>
        /// <param name="PageIndex">当前页码,默认100</param>
        /// <returns></returns>
        public DataGrid <T_ProjectPlanModel> Search(T_ProjectPlanModel model, Dictionary <string, string> Orders = null, int PageSize = 15, int PageIndex = 100)
        {
            Expression <Func <T_ProjectPlan, bool> > where = null;                   //最终查询条件
            var lambdaList = new List <Expression <Func <T_ProjectPlan, bool> > >(); //lambda查询条件集合
            int total      = 0;                                                      //总行数

            if (model.ProjectId != null && model.ProjectId > 0)
            {
                lambdaList.Add(c => c.ProjectId == model.ProjectId);
            }
            //将集合表达式树转换成Expression表达式树
            MyVisitor <T_ProjectPlan, T_ProjectPlan> visitor = new MyVisitor <T_ProjectPlan, T_ProjectPlan>();

            where = visitor.Modify(lambdaList);
            var list   = dal.Search(out total, where, Orders, PageSize, PageIndex).DTOList().ToList();
            var result = new DataGrid <T_ProjectPlanModel>()
            {
                rows  = list,
                total = total
            };

            return(result);
        }
Beispiel #2
0
 public int EditData(T_ProjectPlanModel model)
 {
     return(this.Edit(model.ToModel()));
 }
Beispiel #3
0
 public int DeleteData(T_ProjectPlanModel model)
 {
     return(this.Delete(model.Id));
 }
Beispiel #4
0
 public int AddData(T_ProjectPlanModel model)
 {
     return(this.Add(model.ToModel()));
 }