+++ /dev/null
-using com.andoutomo.kybernetes.data.accessor;\r
-using com.andoutomo.kybernetes.data.DAO;\r
-using com.andoutomo.kybernetes.view;\r
-using System.Windows.Forms;\r
-\r
-namespace com.andoutomo.kybernetes.command\r
-{\r
- class EndCommand:AbCommand\r
- {\r
- string message;\r
- EndCommandArg param;\r
- protected override bool execute()\r
- {\r
- param = (EndCommandArg)argument;\r
-\r
- TaskData _newData = TaskDataAccessor.getObject.getTask(param.sortID);\r
- if (_newData == null)\r
- {\r
- base.errorType = ErrorType.DataNotFound;\r
- return false;\r
- }\r
- if (_newData.StartTime == null || _newData.StartTime.IsValid == false)\r
- {\r
- message = "このタスクは開始されていません。startコマンドで開始してから終了してください。";\r
- return true;\r
-\r
- }\r
- if(_newData.EndTime != null && _newData.EndTime.IsValid == true){\r
- if (!YesNoDialog.show("本タスクは既に終了しています。終了時間を更新しますか?"))\r
- {\r
- message = "処理を中断しました。";\r
- return true;\r
- }\r
- }\r
- if (TaskDataAccessor.getObject.endTask(param.sortID, param.EndTime))\r
- {\r
- string endingComment = form.showInputBox("お疲れ様でした。本タスクへのコメントをどうぞ。", ImeMode.Hiragana);\r
- if (!string.IsNullOrEmpty(endingComment))\r
- {\r
- CommentData data = new CommentData();\r
- data.TaskID = _newData.TaskID;\r
- data.Comment = endingComment;\r
-\r
- CommentDataAccessor.getObject.insertComment(data);\r
- }\r
-\r
- if (TaskDataAccessor.getObject.isRepeatTask(param.sortID))\r
- {\r
- string nextDay = form.showInputBox("次回は何日後ですか?0の場合は繰り返しません。","1");\r
- if (nextDay != "0")\r
- {\r
- _newData.DoDate.addDate(int.Parse(nextDay));\r
- _newData.TaskID = TaskDataAccessor.getObject.getMaxTaskID();\r
- _newData.SortID = TaskDataAccessor.getObject.getMaxSortID();\r
-\r
-\r
- //_newData.CategID = CategoryDataAccessor.getObject.getCategoryFromName(_newData.Category).CategId;\r
-\r
- TaskDataAccessor.getObject.insertTask(_newData);\r
-\r
- //リピート対象としたタスクは複製後もリピート対象とする。\r
- TaskDataAccessor.getObject.setRepeatTask(_newData.SortID, true);\r
-\r
- message = "タスク " + param.sortID + " を終了します。次回は" + _newData.DoDate.getDateString() + "です。";\r
- return true;\r
- }\r
- }\r
- message = "タスク " + param.sortID + " を終了します。";\r
- return true;\r
- }\r
- return false;\r
- }\r
-\r
- protected override string turnMessage()\r
- {\r
- return message;\r
- }\r
-\r
- protected override string turnErrorMessage()\r
- {\r
- return base.DefaultErrorMessage;\r
- }\r
-\r
- protected override string turnSplitErrorMessage()\r
- {\r
- return base.DefaultSplitErrorMessage;\r
- }\r
- }\r
-}\r