OSDN Git Service

構成変更のためファイルを置き直し。
[kybernetes/Kybernetes.git] / TaskControlCommand / command / Control / DelayCommand.cs
diff --git a/TaskControlCommand/command/Control/DelayCommand.cs b/TaskControlCommand/command/Control/DelayCommand.cs
new file mode 100644 (file)
index 0000000..921d681
--- /dev/null
@@ -0,0 +1,66 @@
+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