Ejemplo n.º 1
0
        public async Task <BonusSearchResult> GetModelListAsync(long?userId, string keyword, DateTime?startTime, DateTime?endTime, int pageIndex, int pageSize)
        {
            using (MyDbContext dbc = new MyDbContext())
            {
                BonusSearchResult result = new BonusSearchResult();
                var entities             = dbc.GetAll <BonusEntity>().AsNoTracking();
                if (userId != null)
                {
                    entities = entities.Where(a => a.UserId == userId);
                }
                if (!string.IsNullOrEmpty(keyword))
                {
                    entities = entities.Where(g => g.Source.Contains(keyword));
                }
                if (startTime != null)
                {
                    entities = entities.Where(a => a.CreateTime >= startTime);
                }
                if (endTime != null)
                {
                    entities = entities.Where(a => SqlFunctions.DateDiff("day", endTime, a.CreateTime) <= 0);
                }
                result.PageCount = (int)Math.Ceiling((await entities.LongCountAsync()) * 1.0f / pageSize);
                var addressResult = await entities.OrderByDescending(a => a.CreateTime).Skip((pageIndex - 1) * pageSize).Take(pageSize).ToListAsync();

                result.List = addressResult.Select(a => ToDTO(a)).ToArray();
                return(result);
            }
        }
Ejemplo n.º 2
0
        //奖金发放记录
        public async Task <BonusSearchResult> BoussListAsync(long?userId, long?typeId, int pageIndex, int pageSize)
        {
            using (MyDbContext dbc = new MyDbContext())
            {
                BonusSearchResult result = new BonusSearchResult();
                var logs = dbc.GetAll <BonusEntity>().AsNoTracking();
                if (userId != null && userId > 0)
                {
                    logs = logs.Where(a => a.UserId == userId);
                }
                if (typeId != null && typeId > 0)
                {
                    logs = logs.Where(a => a.TypeID == typeId);
                }
                result.PageCount = (int)Math.Ceiling((await logs.LongCountAsync()) * 1.0f / pageSize);
                var logsResult = await logs.OrderByDescending(a => a.CreateTime).Skip((pageIndex - 1) * pageSize).Take(pageSize).ToListAsync();

                result.List = logsResult.Select(a => ToDTO(a)).ToArray();
                return(result);
            }
        }