public
static
LogPager<log_operate> Get_operate_log_mongo(OprLogModel qModel)
{
LogPager<log_operate> pager =
new
LogPager<log_operate>();
FilterDefinition<log_operate> filters;
var
sortbuilder = Builders<log_operate>.Sort;
var
sort = sortbuilder.Descending(
"operate_time"
);
#region 用户权限过滤
IEnumerable<string> IdList = dev_deviceRepository.GetBinding(qModel.user_id);
filters = Builders<log_operate>.Filter.In(
"device_id"
, IdList);
#endregion
if
(!string.IsNullOrEmpty(qModel.device_id))
{
var
filters_did = Builders<log_operate>.Filter.Eq(
"device_id"
, qModel.device_id);
filters = Builders<log_operate>.Filter.And(filters, filters_did);
}
if
(qModel.sDate != null)
{
var
filters_sdate = Builders<log_operate>.Filter.Gte<DateTime>(
"operate_time"
, Convert.ToDateTime(qModel.sDate));
filters = Builders<log_operate>.Filter.And(filters, filters_sdate);
}
if
(qModel.eDate != null)
{
var
filters_edate = Builders<log_operate>.Filter.Lte<DateTime>(
"operate_time"
, Convert.ToDateTime(qModel.eDate));
filters = Builders<log_operate>.Filter.And(filters, filters_edate);
}
int total;
pager.data = MongoTools<log_operate>.FindListByPage(filters, qModel.pageindex, (qModel.pageindex - 1) * qModel.pagesize, out total, null, sort);
pager.total = total;
return
pager;
}
#endregion