예제 #1
0
        //編集で値が変更された場合に呼ばれます
        public FileData ValueChanged(FileData orgFileData, string newValue)
        {
            //評価を更新します
            using (var connection = _db.GetConnection()) {
                FileDataDao.UpdateField(connection, orgFileData.id, "value", newValue);
            }

            orgFileData.value = StringUtils.ToInt(newValue);
            return(orgFileData);
        }
예제 #2
0
        //編集で値が変更された場合に呼ばれます
        public FileData ValueChanged(FileData orgFileData, string newValue)
        {
            //タイトルを更新します
            using (var connection = _db.GetConnection()) {
                FileDataDao.UpdateField(connection, orgFileData.id, "title", newValue);
            }

            orgFileData.title = newValue;
            return(orgFileData);
        }
예제 #3
0
        /// <summary>
        /// 編集で値が変更された場合に呼ばれます
        /// </summary>
        /// <param name="orgFileData"></param>
        /// <param name="newValue"></param>
        /// <returns></returns>
        public FileData ValueChanged(FileData orgFileData, string newValue)
        {
            if (FileUtils.IsDir(orgFileData.path))
            {
                return(null);
            }

            //新旧の拡張子を取得します
            var oldExt = Path.GetExtension(orgFileData.path).Replace(".", "");
            var newExt = newValue.Replace(".", ""); //入力値の先頭に「.」がある場合は削除する

            //変更がない場合は処理を抜けます
            if (oldExt.Equals(newExt))
            {
                return(null);
            }

            var oldPath     = orgFileData.path;
            var oldDirPath  = Path.GetDirectoryName(oldPath);                     //フォルダのパス
            var oldFileName = Path.GetFileNameWithoutExtension(orgFileData.path); //拡張子を除いたファイル名
            var newPath     = FileUtils.AppendPath(oldDirPath, oldFileName + "." + newExt);

            //ファイル名の変更がない場合は処理を抜けます
            if (oldFileName.Equals(newValue))
            {
                return(null);
            }

            //ファイル名を変更します
            try {
                if (FileUtils.IsFile(oldPath))
                {
                    //ファイルの場合
                    File.Move(oldPath, newPath);
                }
                else
                {
                    //フォルダの場合
                    Directory.Move(oldPath, newPath);
                }
            } catch (Exception ex) {
                __.ShowErrorMsgBox(ex.Message);
                return(null);
            }

            //パスを更新します
            using (var connection = _db.GetConnection()) {
                FileDataDao.UpdateField(connection, orgFileData.id, "path", newPath);
            }

            orgFileData.path = newPath;
            return(orgFileData);
        }
예제 #4
0
        /******************************************************************************
        *
        *  プラグイン用イベントハンドラー
        *
        ******************************************************************************/

        /// <summary>
        /// ファイル名変更イベント
        /// </summary>
        /// <param name="param"></param>
        /// <param name="sender"></param>
        public void PluginEvent_FileNameChanged(EventParam param, object sender)
        {
            //変更前と変更後のパスを取得します
            var oldPath = ((FileNameChangedEventParam)param).OldPath;
            var newPath = ((FileNameChangedEventParam)param).NewPath;

            using (var connection = _db.GetConnection()) {
                var fileData = FileDataDao.GetData(connection, oldPath, "path");
                if (fileData != null)
                {
                    FileDataDao.UpdateField(connection, fileData.id, "path", newPath);
                }
            }
        }
예제 #5
0
        /// <summary>
        /// 編集で値が変更された場合に呼ばれます
        /// </summary>
        /// <param name="orgFileData"></param>
        /// <param name="newValue"></param>
        /// <returns></returns>
        public FileData ValueChanged(FileData orgFileData, string newValue)
        {
            var oldPath     = orgFileData.path;
            var oldDir      = Path.GetDirectoryName(oldPath);
            var oldFileName = Path.GetFileName(oldPath);
            var newPath     = FileUtils.AppendPath(oldDir, newValue);

            //ファイル名の変更がない場合は処理を抜けます
            if (oldFileName.Equals(newValue))
            {
                return(null);
            }

            //ファイル名を変更します
            try {
                if (FileUtils.IsFile(oldPath))
                {
                    //ファイルの場合
                    File.Move(oldPath, newPath);
                }
                else
                {
                    //フォルダの場合
                    Directory.Move(oldPath, newPath);
                }
            } catch (Exception ex) {
                __.ShowErrorMsgBox(ex.Message);
                return(null);
            }

            //パスを更新します
            using (var connection = _db.GetConnection()) {
                FileDataDao.UpdateField(connection, orgFileData.id, "path", newPath);
            }

            orgFileData.path = newPath;
            return(orgFileData);
        }
예제 #6
0
        /// <summary>
        /// 評価を一括更新します
        /// </summary>
        private bool UpdateValue(IList <int> idList)
        {
            using (var connection = _db.GetConnection()) {
                //トランザクション開始
                var transaction = connection.BeginTransaction();

                try {
                    foreach (var id in idList)
                    {
                        //評価を更新します
                        FileDataDao.UpdateField(connection, id, "value", _value.ToString());
                    }

                    //コミット
                    transaction.Commit();
                    return(true);
                } catch (Exception ex) {
                    //ロールバック
                    transaction.Rollback();
                    MsgBoxUtils.ShowErrorMsgBox("更新に失敗しました。\n" + ex.Message);
                    return(false);
                }
            }
        }