public async Task <BaseResponse> GetDeviceHisDataAsync(string DeviceSn, DeviceHisDataPageRequest req) { var data = _dhr.FindWithDevice(a => a.DeviceSn == DeviceSn); //if (!string.IsNullOrWhiteSpace(req.Search)) //{ // data = data.Where(a => a.Name.Contains(req.Search)); //} data = data.Where(a => a.Dt > req.Begin && a.Dt < req.End); int count = data.Count(); string OrderExpression = ""; if (string.IsNullOrEmpty(req.OrderBy)) { OrderExpression = "dt desc"; } else { OrderExpression = string.Format("{0} {1}", req.OrderBy, req.OrderType); } var list = await data.OrderBy(OrderExpression).Skip((req.PageNo - 1) * req.PageSize).Take(req.PageSize).ToListAsync(); var dtos = _mapper.Map <List <DeviceHisDataDto> >(list); var br = new BasePageResponse <List <DeviceHisDataDto> >() { Success = true, Message = "获取数据成功", PageSize = req.PageSize, CurrentPage = req.PageNo, Count = count, TotalPage = (int)Math.Ceiling((decimal)count / req.PageSize), Data = dtos }; return(br); }
public async Task <ActionResult <BaseResponse> > GetDeviceHisDataAsync(string GroupId, string DeviceSn, [FromQuery] DeviceHisDataPageRequest req) { if (req.Begin > req.End) { return(new BaseResponse { Success = false, Message = "开始时间不能大于结束时间" }); } var ret = await _dhs.GetDeviceHisDataAsync(DeviceSn, req); return(ret); }