--- /dev/null
+using System;\r
+using com.andoutomo.kybernetes.data.accessor;\r
+using com.andoutomo.kybernetes.data;\r
+using com.andoutomo.kybernetes.data.DAO;\r
+\r
+namespace com.andoutomo.kybernetes.command.Control\r
+{\r
+ class DelayCommand:AbCommand\r
+ {\r
+ int taskID;\r
+ DateComponent retDate;\r
+\r
+ protected override bool execute()\r
+ {\r
+ DelayCommandArg param = (DelayCommandArg)argument;\r
+ taskID = param.sortID;\r
+\r
+ if (param.nextDate == null)\r
+ {\r
+ TaskData data = TaskDataAccessor.getObject.getTask(param.sortID);\r
+ if (data == null)\r
+ {\r
+ base.errorType = ErrorType.DataNotFound;\r
+ return false;\r
+ }\r
+ retDate = data.DoDate;\r
+\r
+ if (param.DateToSkip != int.MinValue)\r
+ {\r
+ retDate.addDate(param.DateToSkip);\r
+ }\r
+ else\r
+ {\r
+ string dateStr = form.showInputBox("何日先に延ばしますか?");\r
+ if (string.IsNullOrEmpty(dateStr))\r
+ {\r
+ dateStr = "0";\r
+ }\r
+ retDate.addDate(Convert.ToInt32(dateStr));\r
+ }\r
+ }\r
+ else\r
+ {\r
+ retDate = param.nextDate;\r
+ }\r
+\r
+\r
+ return TaskDataAccessor.getObject.delayTask(param.sortID, retDate);\r
+ }\r
+\r
+ protected override string turnMessage()\r
+ {\r
+ return "タスク" + taskID + "を" + retDate.getDateString() +"に延期しました。";\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