Beispiel #1
0
        public Dictionary <int, VideoInfo> GetVideoInfoByCamera(ref string errMessage, int cameraId)
        {
            Database db = DatabaseFactory.CreateDatabase();

            errMessage = "";
            var videoList = new Dictionary <int, VideoInfo>();

            try
            {
                DataSet ds = VideoDataAccess.GetVideoInfoByCamera(db, cameraId);

                VideoInfo videoInfo;
                for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
                {
                    videoInfo = new VideoInfo(ds.Tables[0].Rows[i]);
                    DataSet    dsCamera;
                    CameraInfo oCamera;
                    dsCamera = CameraDataAccess.GetCamInfoByCameraId(db, videoInfo.CameraId);
                    foreach (DataRow dr in dsCamera.Tables[0].Rows)
                    {
                        oCamera = new CameraInfo(dr);
                        videoInfo.CameraInfo = oCamera;
                    }

                    videoList.Add(videoInfo.Id, videoInfo);
                }
                return(videoList);
            }
            catch (Exception ex)
            {
                errMessage = ex.Message + ex.StackTrace;
                logger.Error("Error Message:" + ex.Message + " Trace:" + ex.StackTrace);
                return(null);
            }
        }
        // 将图片的值写入元数据xml文件中,参数是列表项的序号
        private void UpdateItem(int index)
        {
            if ((index == -1))
            {
                return;
            }
            Photo photo = (Photo)this.Items[index];

            //  更新图片数据
            photo.DocNumber   = Convert.ToInt32(_textDocNumber.Text);
            photo.Title       = _textTitle.Text;
            photo.Maker       = _textMaker.Text;
            photo.Secret      = _textSecret.Text;
            photo.Description = _textDesc.Text;
            //if (Global.ValidateDate(_textDate.Text.Trim()))
            //{
            //    photo.DateTaken = _textDate.Text.Trim();
            //}
            photo.DateTaken = _textDate.Text.Trim();
            //photo.WriteXml();
            VideoDataAccess.UpdateYj(photo.PhotoID, photo.DocNumber, photo.Title, photo.Maker, photo.Secret, photo.DateTaken, photo.Description);
            //  raise event so others areas can also update
            if (PhotoMetadataChanged != null)
            {
                PhotoMetadataChanged(this, new PhotoMetadataChangedEventArgs(photo));
            }
        }
Beispiel #3
0
        public VideoInfo GetVideoInfoById(ref string errMessage, int id)
        {
            Database db = DatabaseFactory.CreateDatabase();

            errMessage = "";
            try
            {
                DataSet ds = VideoDataAccess.GetVideoInfoById(db, id);
                if (ds.Tables[0].Rows.Count == 0)
                {
                    return(null);
                }
                VideoInfo  videoInfo = new VideoInfo(ds.Tables[0].Rows[0]);
                DataSet    dsCamera;
                CameraInfo oCamera;
                dsCamera = CameraDataAccess.GetCamInfoByCameraId(db, videoInfo.CameraId);
                foreach (DataRow dr in dsCamera.Tables[0].Rows)
                {
                    oCamera = new CameraInfo(dr);
                    videoInfo.CameraInfo = oCamera;
                }
                return(videoInfo);
            }
            catch (Exception ex)
            {
                errMessage = ex.Message + ex.StackTrace;
                logger.Error("Error Message:" + ex.Message + " Trace:" + ex.StackTrace);
                return(null);
            }
        }
Beispiel #4
0
        public int Insert(ref string errMessage, VideoInfo videoInfo)
        {
            Database db = DatabaseFactory.CreateDatabase();

            errMessage = "";
            try
            {
                return(VideoDataAccess.Insert(db, videoInfo));
            }
            catch (Exception ex)
            {
                errMessage = ex.Message + ex.StackTrace;
                logger.Error("Error Message:" + ex.Message + " Trace:" + ex.StackTrace);
                return(-1);
            }
        }
Beispiel #5
0
        public int Delete(ref string errMessage, int id)
        {
            Database db = DatabaseFactory.CreateDatabase();

            errMessage = "";
            try
            {
                int iRtn = VideoDataAccess.Delete(db, id);
                return(iRtn);
            }
            catch (Exception ex)
            {
                errMessage = ex.Message + ex.StackTrace;
                logger.Error("Error Message:" + ex.Message + " Trace:" + ex.StackTrace);
                return(-1);
            }
        }
Beispiel #6
0
        //获取视频对象列表
        public static Photo[] GetVideos(int FileID)
        {
            Photo[] list = null;
            DataSet ds   = VideoDataAccess.getPhotoData(FileID);

            if (ds != null && ds.Tables[0].Rows.Count > 0)
            {
                list = new Photo[ds.Tables[0].Rows.Count];
                for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
                {
                    Photo photo = new Photo();
                    photo.PhotoID     = Convert.ToInt32(ds.Tables[0].Rows[i]["文件ID"]);
                    photo.DocNumber   = Convert.ToInt32(ds.Tables[0].Rows[i]["件号"]);
                    photo.Title       = ds.Tables[0].Rows[i]["题名"].ToString();
                    photo.Maker       = ds.Tables[0].Rows[i]["责任者"].ToString();
                    photo.Description = ds.Tables[0].Rows[i]["时长"].ToString();
                    photo.Secret      = ds.Tables[0].Rows[i]["密级"].ToString();
                    photo.PhotoName   = ds.Tables[0].Rows[i]["Ftp保存名称"].ToString();
                    photo.PhotoPath   = ds.Tables[0].Rows[i]["Ftp目录"].ToString();
                    photo.DateTaken   = getDateTime(ds.Tables[0].Rows[i]["时间"].ToString());
                    object image = ds.Tables[0].Rows[i]["缩略图"];
                    if ((Object.Equals(image, null)) || (Object.Equals(image, System.DBNull.Value)) || (Object.Equals(image, string.Empty)))
                    {
                        Image img = PhotoControl.Properties.Resources.no_photo_s;

                        photo.Thumbnail = PhotoHelper.GetThumbnail(img, ThumbnailSize.Large);
                    }
                    else
                    {
                        MemoryStream ms = new MemoryStream((byte[])image);
                        photo.Thumbnail = Image.FromStream(ms);
                    }
                    list[i] = photo;
                }
            }
            return(list);
        }
Beispiel #7
0
 //删除视频文件
 public static void DeleteVideo(int PhotoID, string PhotoPath, string PhotoName)
 {
     VideoUpLoadDownLoad.DeleteFile(PhotoPath, PhotoName);
     VideoDataAccess.DeleteYj(PhotoID);
 }