コード例 #1
0
        /// <summary>
        /// 编辑相册信息
        /// </summary>
        /// <param name="_albuminfo">相册信息</param>
        /// <returns></returns>
        public ManagerStateMsg EditAlbum(Album _albuminfo)
        {
            ManagerStateMsg msg = new ManagerStateMsg(false, "方法 EditAlbum 执行出现错误!");

            try
            {
                SQLiteParameter[] pars = null;
                pars          = new SQLiteParameter[4];
                pars[0]       = new SQLiteParameter("@AlbumNo", DbType.String);
                pars[0].Value = _albuminfo.AlbumNO;
                pars[1]       = new SQLiteParameter("@AlbumName", DbType.String);
                pars[1].Value = _albuminfo.AlbumName;
                pars[2]       = new SQLiteParameter("@AlbumRemark", DbType.String);
                pars[2].Value = _albuminfo.AlbumRemark;
                pars[3]       = new SQLiteParameter("@UpdateDate", DbType.String);
                pars[3].Value = _albuminfo.UpdateDate;

                string strQuerySQL  = "update Album set AlbumName=@AlbumName,AlbumRemark=@AlbumRemark,UpdateDate=@UpdateDate where AlbumNo=@AlbumNo";
                int    _upRowscount = SQLiteHelper.Instance.ExecuteNonQuery(strQuerySQL, pars);
                if (_upRowscount > 0)
                {
                    msg.MsgInfo    = "相册信息更新成功!";
                    msg.Statevalue = true;
                }
                else
                {
                    msg.MsgInfo = "更新相册信息失败!";
                }
            }
            catch (Exception ex)
            {
                msg.MsgInfo = ex.Message;
            }
            return(msg);
        }
コード例 #2
0
        /// <summary>
        /// 创建相册
        /// </summary>
        /// <param name="SubDirs"></param>
        private List <Album> CreateAlbum(string[] SubDirs)
        {
            List <Album> list = new List <Album>();

            if (SubDirs != null && SubDirs.Length > 0)
            {
                IAlbumManager manager   = new AlbumManager();
                Album         newalbume = null;
                DirectoryInfo _dir      = null;
                foreach (string strpath in SubDirs)
                {
                    _dir      = new DirectoryInfo(strpath);
                    newalbume = new Album(_dir.Name, "");
                    ManagerStateMsg state = manager.SaveAlbum(newalbume);
                    if (CreateAlbumEvent != null)
                    {
                        if (state.Statevalue)
                        {
                            list.Add((Album)state.ReturnValue);
                        }
                        CreateAlbumEvent(_dir.Name, state.Statevalue);
                    }
                }
            }
            else
            {
                if (SyncEndEvent != null)
                {
                    SyncEndEvent(null, null);
                }
            }

            return(list);
        }
コード例 #3
0
        /// <summary>
        /// 删除相册
        /// </summary>
        /// <param name="_albumNo"></param>
        /// <returns></returns>
        public ManagerStateMsg DeleteAlbum(string _albumNo)
        {
            ManagerStateMsg msg = new ManagerStateMsg(false, "方法 DeleteAlbum 执行出现错误!");

            try
            {
                string            strQuerystr = "delete from Album where AlbumNo=@AlbumNo";
                SQLiteParameter[] pars        = new SQLiteParameter[1];
                pars[0]       = new SQLiteParameter("@AlbumNo", DbType.String);
                pars[0].Value = _albumNo;
                int uprowscount = SQLiteHelper.Instance.ExecuteNonQuery(strQuerystr, pars);
                if (uprowscount > 0)
                {
                    msg.MsgInfo    = "相册删除成功!";
                    msg.Statevalue = true;
                }
                else
                {
                    msg.Statevalue = true;
                    msg.MsgInfo    = "未找到符合条件的相册!";
                }
            }
            catch (Exception ex)
            {
                msg.MsgInfo = ex.Message;
            }

            return(msg);
        }
コード例 #4
0
        /// <summary>
        /// 创建相册
        /// </summary>
        /// <param name="_albuminfo"></param>
        /// <returns></returns>
        public ManagerStateMsg SaveAlbum(Album _albuminfo)
        {
            bool            albumIsExtbol = AlbumBolIsExt(_albuminfo.AlbumName);//相册是否已存在
            ManagerStateMsg msg           = new ManagerStateMsg(false, "");

            if (!albumIsExtbol)
            {
                SQLiteParameter[] pars = null;
                try
                {
                    pars          = new SQLiteParameter[7];
                    pars[0]       = new SQLiteParameter("@AlbumNo", DbType.String);
                    pars[0].Value = _albuminfo.AlbumNO;
                    pars[1]       = new SQLiteParameter("@AlbumName", DbType.String);
                    pars[1].Value = _albuminfo.AlbumName;
                    pars[2]       = new SQLiteParameter("@AlbumRootPath", DbType.String);
                    pars[2].Value = _albuminfo.AlbumRootPath;
                    pars[3]       = new SQLiteParameter("@AlbumRemark", DbType.String);
                    pars[3].Value = _albuminfo.AlbumRemark;
                    pars[4]       = new SQLiteParameter("@AlbumTitleImg", DbType.String);
                    pars[4].Value = _albuminfo.AlbumTitleImg;
                    pars[5]       = new SQLiteParameter("@CreateDate", DbType.String);
                    pars[5].Value = _albuminfo.CreateDate;
                    pars[6]       = new SQLiteParameter("@UpdateDate", DbType.String);
                    pars[6].Value = _albuminfo.UpdateDate;

                    string strSQL  = "insert into Album (AlbumNo,AlbumName,AlbumRootPath,AlbumRemark,AlbumTitleImg,CreateDate,UpdateDate) values (@AlbumNo,@AlbumName,@AlbumRootPath,@AlbumRemark,@AlbumTitleImg,@CreateDate,@UpdateDate)";
                    int    _uprows = SQLiteHelper.Instance.ExecuteNonQuery(strSQL, pars);
                    if (_uprows > 0)
                    {
                        msg.ReturnValue = _albuminfo;
                        msg.Statevalue  = true;
                        msg.MsgInfo     = "保存成功";
                    }
                    else
                    {
                        msg.MsgInfo = "写入数据库失败!";
                    }
                }
                catch (Exception ex)
                {
                }
            }
            else
            {
                msg.MsgInfo = "同名相册已存在!";
            }

            return(msg);
        }
コード例 #5
0
        /// <summary>
        /// 编辑相册信息
        /// </summary>
        /// <param name="_albuminfo">相册信息</param>
        /// <returns></returns>
        public ManagerStateMsg EditAlbum(Album _albuminfo)
        {
            ManagerStateMsg  msg = new ManagerStateMsg(false, "方法 EditAlbum 执行出现错误!");
            IObjectContainer db  = DataHelper.Instance.GetDbObj(typeof(RootAlbum));

            try
            {
                IObjectSet _result = db.Query(typeof(RootAlbum));
                RootAlbum  root    = (RootAlbum)_result.Next();
                if (root.SubAlbums != null && root.SubAlbums.Count > 0)
                {
                    foreach (Album _album in root.SubAlbums)
                    {
                        if (_album.AlbumNO == _albuminfo.AlbumNO)
                        {
                            _album.AlbumName   = _albuminfo.AlbumName;
                            _album.AlbumRemark = _albuminfo.AlbumRemark;
                            _album.UpdateDate  = DateTime.Now;

                            db.Store(root);
                            db.Commit();

                            msg.MsgInfo    = "相册信息更新成功!";
                            msg.Statevalue = true;
                            break;
                        }
                    }
                }
                if (msg.Statevalue)
                {
                }
                else
                {
                    msg.MsgInfo = "未找到符合条件的相册!";
                }
            }
            catch (Exception ex)
            {
                msg.MsgInfo = ex.Message;
            }
            finally
            {
                db.Close();
            }

            return(msg);
        }
コード例 #6
0
        /// <summary>
        /// 更改相册封面
        /// </summary>
        /// <param name="_albumNo">相册编号</param>
        /// <param name="_photoNo">封面照片编号</param>
        /// <returns></returns>
        public ManagerStateMsg ChangeTitleImg(string _albumNo, string _photoNo)
        {
            ManagerStateMsg  msg = new ManagerStateMsg(false, "方法 ChangeTitleImg 执行出现错误!");
            IObjectContainer db  = DataHelper.Instance.GetDbObj(typeof(RootAlbum));

            try
            {
                IObjectSet _result = db.Query(typeof(RootAlbum));
                RootAlbum  root    = (RootAlbum)_result.Next();
                if (root.SubAlbums != null && root.SubAlbums.Count > 0)
                {
                    foreach (Album _album in root.SubAlbums)
                    {
                        if (_album.AlbumNO == _albumNo)
                        {
                            ChangeAlbumTitleImg(_album, _photoNo);//更新相册封面

                            db.Store(root);
                            db.Commit();

                            msg.MsgInfo    = "相册首页更新成功!";
                            msg.Statevalue = true;
                            break;
                        }
                    }
                }
                if (msg.Statevalue)
                {
                }
                else
                {
                    msg.MsgInfo = "未找到符合条件的相册!";
                }
            }
            catch (Exception ex)
            {
                msg.MsgInfo = ex.Message;
            }
            finally
            {
                db.Close();
            }

            return(msg);
        }
コード例 #7
0
        /// <summary>
        /// 创建相册
        /// </summary>
        /// <param name="_albuminfo"></param>
        /// <returns></returns>
        public ManagerStateMsg SaveAlbum(Album _albuminfo)
        {
            bool            albumIsExtbol = AlbumBolIsExt(_albuminfo.AlbumName);//相册是否已存在
            ManagerStateMsg msg           = new ManagerStateMsg(false, "");

            if (!albumIsExtbol)
            {
                IObjectContainer db = DataHelper.Instance.GetDbObj(typeof(RootAlbum));
                try
                {
                    IObjectSet _result = db.Query(typeof(RootAlbum));
                    RootAlbum  root    = (RootAlbum)_result.Next();
                    if (root.SubAlbums != null && root.SubAlbums.Count > 0)
                    {
                        root.SubAlbums.Add(_albuminfo);
                    }
                    else
                    {
                        root.SubAlbums = new List <Album>();
                        root.SubAlbums.Add(_albuminfo);
                    }
                    db.Store(root);
                    db.Commit();
                    msg.ReturnValue = _albuminfo;
                    msg.Statevalue  = true;
                    msg.MsgInfo     = "保存成功";
                }
                catch (Exception ex)
                {
                }
                finally
                {
                    db.Close();
                }
            }
            else
            {
                msg.MsgInfo = "同名相册已存在!";
            }

            return(msg);
        }
コード例 #8
0
        /// <summary>
        ///添加照片至相册
        /// </summary>
        /// <param name="Photos"></param>
        /// <param name="_alumobj"></param>
        private void AddPhotosToAlume(List <string> Photos, Album _alumobj)
        {
            if (Photos != null && Photos.Count > 0)
            {
                string               strImgPath      = "";
                string               strImgName      = "";
                FileInfo             tempfile        = null;
                System.Drawing.Image newimg          = null;
                string               miniImgtempRoot = Path.Combine(rootPath, "miniImgtemp//" + _alumobj.AlbumName);
                if (!Directory.Exists(miniImgtempRoot))
                {
                    Directory.CreateDirectory(miniImgtempRoot);
                }
                string    miniPath = "";
                PhotoInfo newphoto = null;

                PhotoManager manager = new PhotoManager();

                #region 逐一存储照片

                foreach (string _strImgName in Photos)
                {
                    miniPath   = "";
                    strImgPath = _strImgName;
                    if (File.Exists(strImgPath))
                    {
                        tempfile = new FileInfo(strImgPath);
                        miniPath = Path.Combine(miniImgtempRoot, tempfile.Name);//缩略图名称

                        strImgName = tempfile.Name.Substring(0, tempfile.Name.LastIndexOf("."));
                        tempfile   = null;

                        newphoto           = new PhotoInfo(strImgName, "");
                        newphoto.PhotoData = strImgPath;

                        bool bolstate = ImgManager.Instance.MakeThumbnail(strImgPath, miniPath, 100, 100);
                        if (bolstate)
                        {
                            #region 缩略图处理成功后存储照片信息
                            newphoto.PhotoMiniData = miniPath;
                            ManagerStateMsg msg = manager.AddPhoto(_alumobj.AlbumNO, newphoto);//添加照片至相册
                            if (msg.Statevalue)
                            {
                                if (AddPhotoEvent != null)
                                {
                                    AddPhotoEvent(_alumobj.AlbumName, strImgName, true);
                                }
                                else
                                {
                                    if (AddPhotoEvent != null)
                                    {
                                        AddPhotoEvent(_alumobj.AlbumName, strImgName, false);
                                    }
                                }
                            }
                            #endregion
                        }
                        else
                        {
                            newphoto = null;
                            if (AddPhotoEvent != null)
                            {
                                AddPhotoEvent(_alumobj.AlbumName, strImgName, false);
                            }
                        }
                        System.Threading.Thread.Sleep(500);
                    }
                }
                #endregion
            }
        }
コード例 #9
0
        /// <summary>
        /// 更改相册封面
        /// </summary>
        /// <param name="_albumNo">相册编号</param>
        /// <param name="_photoNo">封面照片编号</param>
        /// <returns></returns>
        public ManagerStateMsg ChangeTitleImg(string _albumNo, string _photoNo)
        {
            ManagerStateMsg msg = new ManagerStateMsg(false, "方法 ChangeTitleImg 执行出现错误!");

            try
            {
                PhotoManager manager = new PhotoManager();
                PhotoInfo    _photo  = manager.GetPhotoInfoByNo(_photoNo);//获取照片信息
                if (_photo != null)
                {
                    string            strUpALLPhotoSQL = "update Photo set IsTitleImg=0 where AlbumNo=@AlbumNo";
                    SQLiteParameter[] photopars        = new SQLiteParameter[1];
                    photopars[0]       = new SQLiteParameter("@AlbumNo", DbType.String);
                    photopars[0].Value = _albumNo;

                    int uprowscount = SQLiteHelper.Instance.ExecuteNonQuery(strUpALLPhotoSQL, photopars);
                    photopars = null;
                    if (uprowscount > 0)
                    {
                        string            strQuerystr = "update Album set AlbumTitleImg=@AlbumTitleImg where AlbumNo=@AlbumNo;update Photo set IsTitleImg=1 where PhotoNO=@photoNO";
                        SQLiteParameter[] pars        = new SQLiteParameter[3];
                        pars[0]       = new SQLiteParameter("@AlbumTitleImg", DbType.String);
                        pars[0].Value = _photo.PhotoMiniData;
                        pars[1]       = new SQLiteParameter("@AlbumNo", DbType.String);
                        pars[1].Value = _albumNo;
                        pars[2]       = new SQLiteParameter("@PhotoNO", DbType.String);
                        pars[2].Value = _photoNo;
                        uprowscount   = SQLiteHelper.Instance.ExecuteNonQuery(strQuerystr, pars);
                        pars          = null;
                        if (uprowscount > 0)
                        {
                            msg.Statevalue = true;
                            msg.MsgInfo    = "更新成功!";
                        }
                        else
                        {
                            msg.MsgInfo = "更新失败!";
                        }
                    }
                    else
                    {
                        msg.MsgInfo = "恢复所有照片的首页状态失败!";
                    }
                }
                else
                {
                    msg.MsgInfo = "未找到符合条件的照片信息!";
                }


                msg.Statevalue = true;
                if (msg.Statevalue)
                {
                }
                else
                {
                    msg.MsgInfo = "未找到符合条件的相册!";
                }
            }
            catch (Exception ex)
            {
                msg.MsgInfo = ex.Message;
            }

            return(msg);
        }