Exemple #1
0
        public FileInfo ValueChanged(FileInfo orgFile, string newValue)
        {
            var path = orgFile.FullName;

            using (var connection = _db.GetConnection()) {
                var data = FileDataDao.GetDataByPath(connection, orgFile.FullName);
                if (data == null)
                {
                    //データがない場合
                    data       = new FileData();
                    data.title = newValue;       //タイトル
                    data.memo  = "";             //メモ
                    data.path  = path;           //ファイルのフルパス
                    data.size  = orgFile.Length; //ファイルサイズ
                }
                else
                {
                    //データがある場合
                    data.title = newValue;        //タイトル
                }

                //データを更新します
                FileDB.SaveData(connection, data);

                //キャッシュに反映します
                _cache[orgFile.FullName] = data.title.ToString();
            }

            return(orgFile);
        }
Exemple #2
0
        /// <summary>
        /// ファイル情報テーブルにデータを保存します
        /// </summary>
        public void SaveData()
        {
            using (var connection = _db.GetConnection()) {
                FileDB.SaveData(connection, GetFileData());
            }

            //変更なしにします
            Modified = false;
        }
Exemple #3
0
        public FileInfo ValueChanged(FileInfo orgFile, string newValue)
        {
            //スレッドが動いている場合は、処理しない
            if (_thread != null && _thread.IsAlive == true)
            {
                return(orgFile);
            }

            var path = orgFile.FullName;

            using (var connection = _db.GetConnection()) {
                var data = FileDataDao.GetDataByPath(connection, orgFile.FullName);
                if (data == null)
                {
                    //データがない場合
                    data       = new FileData();
                    data.title = orgFile.Name;                                //ファイル名
                    data.value = StringUtils.ToInt(newValue, 0);              //評価・重要度
                    data.path  = path;                                        //ファイルのフルパス
                    data.size  = FileUtils.IsFile(path) ? orgFile.Length : 0; //ファイルサイズ

                    //ファイル種別
                    data.kind = 0;
                    if (FileUtils.IsFile(path))
                    {
                        data.kind = 1;
                    }
                    if (FileUtils.IsDir(path))
                    {
                        data.kind = 2;
                    }
                }
                else
                {
                    //データがある場合
                    data.value = StringUtils.ToInt(newValue, 0); //評価・重要度
                }

                //データを更新します
                FileDB.SaveData(connection, data);

                //キャッシュに反映します
                _cache[orgFile.FullName] = data.value.ToString();
            }

            return(orgFile);
        }