コード例 #1
0
 /// <summary>
 /// 获取分页数据列表
 /// </summary>
 /// <param name="expression">查询条件</param>
 /// <param name="pageSize">每页条数</param>
 /// <param name="pageIndex">页码</param>
 /// <param name="orderColumn">排序字段</param>
 /// <param name="orderBy">排序方式</param>
 /// <param name="totalCount"></param>
 /// <returns></returns>
 public List <T> GetPageList <T>(Expression <Func <T, bool> > expression, int pageSize, int pageIndex, out int totalCount, string orderColumn, OrderBySort orderBySort = OrderBySort.Desc) where T : class
 {
     try
     {
         if (pageIndex < 1)
         {
             pageIndex = 1;
         }
         int skipCount = (pageIndex - 1) * pageSize;
         totalCount = _efCoreContext.Set <T>().Where <T>(expression).Count();
         IQueryable <T> quary = _efCoreContext.Set <T>().AsNoTracking().AsQueryable().Where(expression);
         return(orderBySort == OrderBySort.Desc ? quary.OrderByDescending(orderColumn).Skip(skipCount).Take(pageSize).ToList() : quary.OrderBy(orderColumn).Skip(skipCount).Take(pageSize).ToList());
     }
     catch (Exception ex)
     {
         totalCount = 0;
         return(null);
     }
 }
コード例 #2
0
        public static IEnumerable <DeviceTwinFlatModel> GetOrderedDevices(IEnumerable <DeviceTwinFlatModel> devices, string orderByField, OrderBySort orderBySort)
        {
            if (string.IsNullOrEmpty(orderByField))
            {
                return(devices);
            }

            switch (orderBySort)
            {
            case OrderBySort.Ascending:
                if (InMemoryLambdaExpressionsHelper.FieldsStringLambdas.ContainsKey(orderByField))
                {
                    return(devices.OrderBy(InMemoryLambdaExpressionsHelper.FieldsStringLambdas[orderByField]));
                }
                else if (InMemoryLambdaExpressionsHelper.FieldsIntegerLambdas.ContainsKey(orderByField))
                {
                    return(devices.OrderBy(InMemoryLambdaExpressionsHelper.FieldsIntegerLambdas[orderByField]));
                }
                else if (InMemoryLambdaExpressionsHelper.FieldsDateLambdas.ContainsKey(orderByField))
                {
                    return(devices.OrderBy(InMemoryLambdaExpressionsHelper.FieldsDateLambdas[orderByField]));
                }
                else if (InMemoryLambdaExpressionsHelper.FieldsDoubleLambdas.ContainsKey(orderByField))
                {
                    return(devices.OrderBy(InMemoryLambdaExpressionsHelper.FieldsDoubleLambdas[orderByField]));
                }
                else if (InMemoryLambdaExpressionsHelper.FieldsBoolLambdas.ContainsKey(orderByField))
                {
                    return(devices.OrderBy(InMemoryLambdaExpressionsHelper.FieldsBoolLambdas[orderByField]));
                }
                else
                {
                    return(devices);
                }

            case OrderBySort.Descending:
                if (InMemoryLambdaExpressionsHelper.FieldsStringLambdas.ContainsKey(orderByField))
                {
                    return(devices.OrderByDescending(InMemoryLambdaExpressionsHelper.FieldsStringLambdas[orderByField]));
                }
                else if (InMemoryLambdaExpressionsHelper.FieldsIntegerLambdas.ContainsKey(orderByField))
                {
                    return(devices.OrderByDescending(InMemoryLambdaExpressionsHelper.FieldsIntegerLambdas[orderByField]));
                }
                else if (InMemoryLambdaExpressionsHelper.FieldsDateLambdas.ContainsKey(orderByField))
                {
                    return(devices.OrderByDescending(InMemoryLambdaExpressionsHelper.FieldsDateLambdas[orderByField]));
                }
                else if (InMemoryLambdaExpressionsHelper.FieldsDoubleLambdas.ContainsKey(orderByField))
                {
                    return(devices.OrderByDescending(InMemoryLambdaExpressionsHelper.FieldsDoubleLambdas[orderByField]));
                }
                else if (InMemoryLambdaExpressionsHelper.FieldsBoolLambdas.ContainsKey(orderByField))
                {
                    return(devices.OrderByDescending(InMemoryLambdaExpressionsHelper.FieldsBoolLambdas[orderByField]));
                }
                else
                {
                    return(devices);
                }
            }
            return(devices);
        }
コード例 #3
0
 /// <summary>
 /// 获取数据列表
 /// </summary>
 /// <param name="orderColumn">排序字段</param>
 /// <param name="expression">查询条件</param>
 /// <param name="orderBy">排序方式</param>
 /// <returns></returns>
 public List <T> GetList <T>(string orderColumn, Expression <Func <T, bool> > expression = null, OrderBySort orderBySort = OrderBySort.Desc) where T : class
 {
     try
     {
         IQueryable <T> quary;
         if (expression != null)
         {
             quary = _efCoreContext.Set <T>().AsNoTracking().AsQueryable();
         }
         else
         {
             quary = _efCoreContext.Set <T>().AsNoTracking().AsQueryable().Where(expression);
         }
         return(orderBySort == OrderBySort.Desc? quary.OrderByDescending(orderColumn).ToList() : quary.OrderBy(orderColumn).ToList());
     }
     catch (Exception ex)
     {
         return(null);
     }
 }
コード例 #4
0
        public static IEnumerable <DeviceGroup> GetDevicesGroups(IEnumerable <DeviceTwinFlatModel> filteredQuery, string groupByField, OrderBySort sortBy)
        {
            IEnumerable <DeviceGroup> groups = null;

            if (InMemoryLambdaExpressionsHelper.FieldsStringLambdas.ContainsKey(groupByField))
            {
                groups = filteredQuery.GroupBy(InMemoryLambdaExpressionsHelper.FieldsStringLambdas[groupByField]).Select(p => new DeviceGroup()
                {
                    Name = p.Key, ItemsCount = p.Count(), ItemsIds = p.Select(x => x.DeviceId)
                });
            }
            else if (InMemoryLambdaExpressionsHelper.FieldsIntegerLambdas.ContainsKey(groupByField))
            {
                groups = filteredQuery.GroupBy(InMemoryLambdaExpressionsHelper.FieldsIntegerLambdas[groupByField]).Select(p => new DeviceGroup()
                {
                    Name = p.Key.ToString(), ItemsCount = p.Count(), ItemsIds = p.Select(x => x.DeviceId)
                });
            }
            else if (InMemoryLambdaExpressionsHelper.FieldsDateLambdas.ContainsKey(groupByField))
            {
                groups = filteredQuery.GroupBy(InMemoryLambdaExpressionsHelper.FieldsDateLambdas[groupByField]).Select(p => new DeviceGroup()
                {
                    Name = p.Key.ToShortDateString(), ItemsCount = p.Count(), ItemsIds = p.Select(x => x.DeviceId)
                });
            }
            else if (InMemoryLambdaExpressionsHelper.FieldsDoubleLambdas.ContainsKey(groupByField))
            {
                groups = filteredQuery.GroupBy(InMemoryLambdaExpressionsHelper.FieldsDoubleLambdas[groupByField]).Select(p => new DeviceGroup()
                {
                    Name = p.Key.ToString(), ItemsCount = p.Count(), ItemsIds = p.Select(x => x.DeviceId)
                });
            }
            else if (InMemoryLambdaExpressionsHelper.FieldsBoolLambdas.ContainsKey(groupByField))
            {
                groups = filteredQuery.GroupBy(InMemoryLambdaExpressionsHelper.FieldsBoolLambdas[groupByField]).Select(p => new DeviceGroup()
                {
                    Name = p.Key.ToString(), ItemsCount = p.Count(), ItemsIds = p.Select(x => x.DeviceId)
                });
            }
            else
            {
                return(new List <DeviceGroup>());
            }

            groups = sortBy == OrderBySort.Ascending ? groups.OrderBy(p => p.Name) : groups.OrderByDescending(p => p.Name);

            return(groups);
        }