OSDN Git Service

version 1.0.0.6
[kybernetes/Kybernetes.git] / KyberNetes / command / Control / EndCommand.cs
1 using com.andoutomo.kybernetes.data.accessor;\r
2 using com.andoutomo.kybernetes.data.DAO;\r
3 \r
4 namespace com.andoutomo.kybernetes.command\r
5 {\r
6     class EndCommand:AbCommand\r
7     {\r
8         string message;\r
9         EndCommandArg param;\r
10         protected override bool execute()\r
11         {\r
12             param = (EndCommandArg)args;\r
13 \r
14             TaskData _newData = TaskDataAccessor.getObject.getTask(param.sortID);\r
15             if (_newData.StartTime == null || _newData.StartTime.IsValid == false)\r
16             {\r
17                 message = "このタスクは開始されていません。startコマンドで開始してから終了してください。";\r
18                 return true;\r
19 \r
20             }\r
21             if (TaskDataAccessor.getObject.endTask(param.sortID, param.EndTime))\r
22             {\r
23                 if (TaskDataAccessor.getObject.isRepeatTask(param.sortID))\r
24                 {\r
25                     string nextDay = form.showInputBox("次回は何日後ですか?0の場合は繰り返しません。","1");\r
26                     if (nextDay != "0")\r
27                     {\r
28                         _newData.DoDate.addDate(int.Parse(nextDay));\r
29                         _newData.TaskID = TaskDataAccessor.getObject.getMaxTaskID();\r
30                         _newData.SortID = TaskDataAccessor.getObject.getMaxSortID();\r
31 \r
32                         _newData.CategID = CategoryDataAccessor.getObject.getCategoryFromName(_newData.Category).CategId;\r
33 \r
34                         TaskDataAccessor.getObject.insertTask(_newData);\r
35 \r
36                         //リピート対象としたタスクは複製後もリピート対象とする。\r
37                         TaskDataAccessor.getObject.setRepeatTask(_newData.SortID, true);\r
38 \r
39                         message = "タスク " + param.sortID + " を終了します。次回は" + _newData.DoDate.getDateString() + "です。";\r
40                         return true;\r
41                     }\r
42                 }\r
43                 message = "タスク " + param.sortID + " を終了します。";\r
44                 return true;\r
45             }\r
46             return false;\r
47         }\r
48 \r
49         protected override string turnMessage()\r
50         {\r
51             return message;\r
52         }\r
53 \r
54         protected override string turnErrorMessage()\r
55         {\r
56             return base.DefaultErrorMessage;\r
57         }\r
58 \r
59         protected override string turnSplitErrorMessage()\r
60         {\r
61             return base.DefaultSplitErrorMessage;\r
62         }\r
63     }\r
64 }\r