示例#1
0
        public List <FaceAnalysisObject> GetFaceAnaList(FaceQueryParam faceQueryParam)
        {
            var builder = Builders <FaceAnalysisObject> .Filter;

            if (!string.IsNullOrEmpty(faceQueryParam.timeStart) && !string.IsNullOrEmpty(faceQueryParam.CrossingName))
            {
                var filter = builder.Gt("CreateTime", new BsonDateTime(Convert.ToDateTime(faceQueryParam.timeStart))) &
                             builder.Lt("CreateTime", new BsonDateTime(Convert.ToDateTime(faceQueryParam.timeEnd)));
                string[] cameraIdArray = faceQueryParam.CrossingName.Replace("'", "").Split(',');
                filter = filter & builder.In("CameraID", cameraIdArray);
                var sort = Builders <FaceAnalysisObject> .Sort.Descending("CreateTime");

                var cursor = mFaceAnaObjectCollection.Find(filter).Sort(sort).Skip((faceQueryParam.PageNumber - 1) * faceQueryParam.PageSize).Limit(faceQueryParam.PageSize).ToList();
                return(cursor);
            }
            if (!string.IsNullOrEmpty(faceQueryParam.timeStart))
            {
                var filter = builder.Gt("CreateTime", new BsonDateTime(Convert.ToDateTime(faceQueryParam.timeStart))) &
                             builder.Lt("CreateTime", new BsonDateTime(Convert.ToDateTime(faceQueryParam.timeEnd)));
                var sort = Builders <FaceAnalysisObject> .Sort.Descending("CreateTime");

                var cursor = mFaceAnaObjectCollection.Find(filter).Sort(sort).Skip((faceQueryParam.PageNumber - 1) * faceQueryParam.PageSize).Limit(faceQueryParam.PageSize).ToList();
                return(cursor);
            }
            if (!string.IsNullOrEmpty(faceQueryParam.CrossingName))
            {
                string[] cameraIdArray = faceQueryParam.CrossingName.Replace("'", "").Split(',');
                var      filter        = builder.In("CameraID", cameraIdArray);
                var      sort          = Builders <FaceAnalysisObject> .Sort.Descending("CreateTime");

                var cursor = mFaceAnaObjectCollection.Find(filter).Sort(sort).Skip((faceQueryParam.PageNumber - 1) * faceQueryParam.PageSize).Limit(faceQueryParam.PageSize).ToList();
                return(cursor);
            }
            return(null);
        }
示例#2
0
        public long GetFaceAnaCount(FaceQueryParam faceQueryParam)
        {
            var builder = Builders <FaceAnalysisObject> .Filter;

            if (!string.IsNullOrEmpty(faceQueryParam.timeStart) && !string.IsNullOrEmpty(faceQueryParam.CrossingName))
            {
                var filter = builder.Gt("CreateTime", new BsonDateTime(Convert.ToDateTime(faceQueryParam.timeStart))) &
                             builder.Lt("CreateTime", new BsonDateTime(Convert.ToDateTime(faceQueryParam.timeEnd)));
                string[] cameraIdArray = faceQueryParam.CrossingName.Replace("'", "").Split(',');
                filter = filter & builder.In("CameraID", cameraIdArray);
                return(mFaceAnaObjectCollection.Count(filter));
            }
            if (!string.IsNullOrEmpty(faceQueryParam.timeStart))
            {
                var filter = builder.Gt("CreateTime", new BsonDateTime(Convert.ToDateTime(faceQueryParam.timeStart))) &
                             builder.Lt("CreateTime", new BsonDateTime(Convert.ToDateTime(faceQueryParam.timeEnd)));
                return(mFaceAnaObjectCollection.Count(filter));
            }
            if (!string.IsNullOrEmpty(faceQueryParam.CrossingName))
            {
                string[] cameraIdArray = faceQueryParam.CrossingName.Replace("'", "").Split(',');
                var      filter        = builder.In("CameraID", cameraIdArray);
                return(mFaceAnaObjectCollection.Count(filter));
            }
            return(0);
        }
示例#3
0
        public long GetFaceAlarmCount(FaceQueryParam faceQueryParam)
        {
            var builder = Builders <FaceAlarmInfo> .Filter;
            var filter  = builder.Gt("PassTime", new BsonDateTime(Convert.ToDateTime(faceQueryParam.timeStart))) &
                          builder.Lt("PassTime", new BsonDateTime(Convert.ToDateTime(faceQueryParam.timeEnd)));

            return(mFaceAlarmInfoCollection.Count(filter));
        }
示例#4
0
        public List <FaceAlarmInfo> GetFaceAlarmInfoList(FaceQueryParam faceQueryParam)
        {
            var builder = Builders <FaceAlarmInfo> .Filter;
            var filter  = builder.Gt("PassTime", new BsonDateTime(Convert.ToDateTime(faceQueryParam.timeStart))) &
                          builder.Lt("PassTime", new BsonDateTime(Convert.ToDateTime(faceQueryParam.timeEnd)));
            var sort = Builders <FaceAlarmInfo> .Sort.Descending("PassTime");

            var cursor = mFaceAlarmInfoCollection.Find(new BsonDocument()).Sort(sort).Skip((faceQueryParam.PageNumber - 1) * faceQueryParam.PageSize).Limit(faceQueryParam.PageSize).ToList();

            return(cursor);
        }