Пример #1
0
        public IList <TEntity> GetList(SF.Framework.Mvc.Search.Model.QueryModel model)
        {
            var query = (this.DbSet.AsQueryable().Where(model));
            var list  = query.ToList();

            return(list);
        }
Пример #2
0
        public Mvc.Pager.PagedList <object> GetList(Func <IQueryable <TEntity>, List <object> > selector,
                                                    SF.Framework.Mvc.Search.Model.QueryModel model,
                                                    string orderByString,
                                                    string order,
                                                    int PageIndex = 1,
                                                    int PageSize  = 24)
        {
            var query = order.Trim().ToLower().Equals("desc")
                ?
                        (this.DbSet.AsQueryable().Where(model).OrderBy(orderByString, true))
                :
                        (this.DbSet.AsQueryable().Where(model).OrderBy(orderByString));
            var result = query.Skip((PageIndex - 1) * PageSize).Take(PageSize);
            var list   = new Mvc.Pager.PagedList <object>(selector(result), PageIndex, PageSize, query.Count());

            return(list);

            #region reflection
            //PropertyInfo property = typeof(TEntity).GetProperty(orderByString);
            //string type = property.PropertyType.FullName;

            //Type generic = typeof(CreateExpression<,>);
            //Type[] typeArgs2 = { typeof(TEntity), Type.GetType(type) };
            //generic = generic.MakeGenericType(typeArgs2);
            //var dic = Activator.CreateInstance(generic);

            //MethodInfo mi = dic.GetType().GetMethod("GetExpressionByStringColumn");
            //Expression<Func<TEntity, int>> result = mi.Invoke(null, new object[] { orderByString }) as Expression<Func<TEntity, int>>;
            #endregion
        }
Пример #3
0
        public Mvc.Pager.PagedList <object> GetList(Func <IQueryable <TEntity>, List <object> > selector,
                                                    SF.Framework.Mvc.Search.Model.QueryModel model,
                                                    Dictionary <string, bool> paramNames,
                                                    int PageIndex = 1,
                                                    int PageSize  = 24)
        {
            var query  = this.DbSet.Where(model).OrderBy(paramNames);
            var result = query.Skip((PageIndex - 1) * PageSize).Take(PageSize);
            var list   = new Mvc.Pager.PagedList <object>(selector(result), PageIndex, PageSize, query.Count());

            return(list);
        }
Пример #4
0
        public Mvc.Pager.PagedList <TEntity> GetList(SF.Framework.Mvc.Search.Model.QueryModel model,
                                                     string orderByString,
                                                     string order,
                                                     int PageIndex = 1,
                                                     int PageSize  = 24)
        {
            var query = order.Trim().ToLower().Equals("desc")
                ?
                        (this.DbSet.Where(model).OrderBy(orderByString, true))
                :
                        (this.DbSet.Where(model).OrderBy(orderByString));
            var result = query.Skip((PageIndex - 1) * PageSize).Take(PageSize).ToList();
            var list   = new Mvc.Pager.PagedList <TEntity>(result, PageIndex, PageSize, query.Count());

            return(list);
        }
Пример #5
0
 public static SF.Framework.Mvc.Search.Model.QueryModel GetGeneralResult(SF.Framework.Mvc.Search.Model.QueryModel model)
 {
     if (model != null)
     {
         foreach (var item in model.Items)
         {
             if (item.Method == Model.QueryMethod.Like)
             {
                 item.Value = "*" + item.Value + "*";
             }
             //note: StdIn Method,Convert item.Value to array
             //else if (item.Method == Model.QueryMethod.StdIn)
             //{
             //    item.Value = item.Value.ToString().Split(',');
             //}
         }
     }
     return(model);
 }