//編集で値が変更された場合に呼ばれます 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); }
//編集で値が変更された場合に呼ばれます public FileData ValueChanged(FileData orgFileData, string newValue) { //タイトルを更新します using (var connection = _db.GetConnection()) { FileDataDao.UpdateField(connection, orgFileData.id, "title", newValue); } orgFileData.title = newValue; return(orgFileData); }
/// <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); }
/****************************************************************************** * * プラグイン用イベントハンドラー * ******************************************************************************/ /// <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); } } }
/// <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); }
/// <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); } } }