Example #1
0
        /// <summary>
        /// 从数据库中加载摄像头信息
        /// </summary>
        public void LoadCameraInDB(ListView parentView)
        {
            using (var db = new attendance_sysEntities())
            {
                var dbCameras = db.t_camera;

                foreach (var item in dbCameras)
                {
                    Camera camera = new Camera {
                        cameraId = item.camera_id, Ip = item.camera_ip, port = (ushort)item.camera_port, user = item.camera_user, pwd = item.camera_pwd
                    };

                    RegistrerCameraDevice(camera, parentView);
                }
            }

            if (cameras.Count > 0)
            {
                LoggerService.logger.Info("从数据库中导入好摄像头信息");
            }
            else
            {
                LoggerService.logger.Info("无法从数据库中导入摄像头信息");
            }
        }
Example #2
0
        private async Task UpdateFace()
        {
            using (var db = new attendance_sysEntities())
            {
                int i = 0;
                while (t_Faces.Count > 0)
                {
                    t_face tempFace = t_Faces.Dequeue();
                    //从数据库中查询是否有该stduentid的特征记录
                    var sqface  = db.t_face.Where(face => face.studnet_id == tempFace.studnet_id).FirstOrDefault();
                    int records = 0;
                    //如果数据库中有该同学的人脸特征记录
                    if (sqface != null)
                    {
                        //直接更新该记录
                        sqface.face_feature        = tempFace.face_feature;
                        sqface.face_feature_length = tempFace.face_feature_length;
                        sqface.image_path          = "";
                    }
                    else
                    {
                        tempFace.image_path = "";
                        //如果没有记录,则插入一条
                        db.t_face.Add(tempFace);
                    }
                    records = await db.SaveChangesAsync();

                    Invoke(new Action(() =>
                    {
                        if (records > 0)
                        {
                            listViewFaceDetal.Items[i].SubItems[0].Text      = "正确";
                            listViewFaceDetal.Items[i].SubItems[0].ForeColor = Color.Green;
                            listViewFaceDetal.Items[i].SubItems[2].Text      = "更新完成";
                        }
                        else
                        {
                            listViewFaceDetal.Items[i].SubItems[0].Text      = "错误";
                            listViewFaceDetal.Items[i].SubItems[0].ForeColor = Color.Red;
                            listViewFaceDetal.Items[i].SubItems[2].Text      = "无法对数据库做修改操作";
                        }

                        listViewFaceDetal.Refresh();
                    }));

                    i++;
                }
            }
        }
Example #3
0
        /// <summary>
        /// 从数据库中重新加载人脸图像特征库
        /// </summary>
        public static void LoadFaceLibrary()
        {
            ClearFaceLibrary();

            using (var db = new attendance_sysEntities())
            {
                var tFaces = db.t_face;
                foreach (var face in tFaces)
                {
                    StudentFaceFeature tempFeature = new StudentFaceFeature(face);
                    faceFeatures.Add(tempFeature);
                }
            }

            LoggerService.logger.Info("人脸特征库加载成功!");
        }