Example #1
0
        /// <summary>
        /// 获取设备分页操作日志
        /// </summary>
        /// <param name="DeviceSn">设备序列号</param>
        /// <param name="req">请求参数</param>
        /// <returns>返回分页数据</returns>
        public async Task <BaseResponse> GetDeviceLogsAsync(string DeviceSn, DeviceLogPageRequest req)
        {
            var data = _dlr.Find(a => a.DeviceSn == DeviceSn);

            if (req.BeginTime == null)
            {
                req.BeginTime = DateTime.Now.AddMonths(-1);
            }
            if (req.EndTime == null)
            {
                req.EndTime = DateTime.Now;
            }
            if (req.BeginTime >= req.EndTime)
            {
                return(new BaseResponse {
                    Success = false, Message = "开始时间不能大于或者等于结束时间"
                });
            }
            data = data.Where(a => a.CreateTime > req.BeginTime && a.CreateTime < req.EndTime);
            int count = data.Count();

            if (!string.IsNullOrWhiteSpace(req.Search))
            {
                data = data.Where(a => a.KeyName == req.Search || a.Key == req.Search);
            }
            string OrderExpression = "";

            if (string.IsNullOrEmpty(req.OrderBy))
            {
                OrderExpression = "Id Asc";
            }
            else
            {
                OrderExpression = string.Format("{0} {1}", req.OrderBy, req.OrderType);
            }
            var ret = await data.OrderBy(OrderExpression).Skip((req.PageNo - 1) * req.PageSize).Take(req.PageSize).ToListAsync();

            var dtos = _mapper.Map <List <DeviceLogDto> >(ret);
            var br   = new BasePageResponse <List <DeviceLogDto> >();

            br.Success     = true;
            br.Message     = "获取数据成功";
            br.PageSize    = req.PageSize;
            br.CurrentPage = req.PageNo;
            br.Count       = count;
            br.TotalPage   = (int)Math.Ceiling((decimal)count / req.PageSize);
            br.Data        = dtos;
            return(br);
        }
Example #2
0
        public async Task <ActionResult <BaseResponse> > GetDeviceLogAsync(string GroupId, string DeviceSn, [FromQuery] DeviceLogPageRequest req)
        {
            var rm = await _dls.GetDeviceLogsAsync(DeviceSn, req);

            return(rm);
        }