OSDN Git Service

V.1.01
[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)argument;\r
13 \r
14             TaskData _newData = TaskDataAccessor.getObject.getTask(param.sortID);\r
15             if (_newData == null)\r
16             {\r
17                 base.errorType = ErrorType.DataNotFound;\r
18                 return false;\r
19             }\r
20             if (_newData.StartTime == null || _newData.StartTime.IsValid == false)\r
21             {\r
22                 message = "このタスクは開始されていません。startコマンドで開始してから終了してください。";\r
23                 return true;\r
24 \r
25             }\r
26             if (TaskDataAccessor.getObject.endTask(param.sortID, param.EndTime))\r
27             {\r
28                 if (TaskDataAccessor.getObject.isRepeatTask(param.sortID))\r
29                 {\r
30                     string nextDay = form.showInputBox("次回は何日後ですか?0の場合は繰り返しません。","1");\r
31                     if (nextDay != "0")\r
32                     {\r
33                         _newData.DoDate.addDate(int.Parse(nextDay));\r
34                         _newData.TaskID = TaskDataAccessor.getObject.getMaxTaskID();\r
35                         _newData.SortID = TaskDataAccessor.getObject.getMaxSortID();\r
36 \r
37 \r
38                         //_newData.CategID = CategoryDataAccessor.getObject.getCategoryFromName(_newData.Category).CategId;\r
39 \r
40                         TaskDataAccessor.getObject.insertTask(_newData);\r
41 \r
42                         //リピート対象としたタスクは複製後もリピート対象とする。\r
43                         TaskDataAccessor.getObject.setRepeatTask(_newData.SortID, true);\r
44 \r
45                         message = "タスク " + param.sortID + " を終了します。次回は" + _newData.DoDate.getDateString() + "です。";\r
46                         return true;\r
47                     }\r
48                 }\r
49                 message = "タスク " + param.sortID + " を終了します。";\r
50                 return true;\r
51             }\r
52             return false;\r
53         }\r
54 \r
55         protected override string turnMessage()\r
56         {\r
57             return message;\r
58         }\r
59 \r
60         protected override string turnErrorMessage()\r
61         {\r
62             return base.DefaultErrorMessage;\r
63         }\r
64 \r
65         protected override string turnSplitErrorMessage()\r
66         {\r
67             return base.DefaultSplitErrorMessage;\r
68         }\r
69     }\r
70 }\r