OSDN Git Service

8074154d310065a6cf0aba22e00f78e85afee945
[kybernetes/Kybernetes.git] / main / command / SYSTEM / TimerCommand.cs
1 using System;\r
2 using System.Collections.Generic;\r
3 using System.Linq;\r
4 using System.Text;\r
5 using com.andoutomo.kybernetes.data.DAO;\r
6 using com.andoutomo.kybernetes.data.accessor;\r
7 using System.Windows.Forms;\r
8 using com.andoutomo.kybernetes.data;\r
9 \r
10 namespace com.andoutomo.kybernetes.command\r
11 {\r
12     class TimerCommand:AbCommand\r
13     {\r
14         protected override bool execute()\r
15         {\r
16             TimerCommandArg param = (TimerCommandArg)argument;\r
17 \r
18             int timerMinute;\r
19             string timerTitle = string.Empty;\r
20             if (param.manualSetting)\r
21             {\r
22                 string wkMinute = form.showInputBox("タイマーを起動します。何分に設定しますか?", ImeMode.NoControl);\r
23                 if (string.IsNullOrEmpty(wkMinute))\r
24                 {\r
25                     timerMinute = 0;\r
26                 }\r
27                 else\r
28                 {\r
29                     timerMinute = Convert.ToInt32(wkMinute);\r
30                 }\r
31             }\r
32             else\r
33             {\r
34                 int sortID = param.sortID;\r
35 \r
36                 TaskData data = TaskDataAccessor.getObject.getTask(sortID);\r
37                 if (data == null)\r
38                 {\r
39                     base.errorType = ErrorType.DataNotFound;\r
40                     return false;\r
41                 }\r
42                 timerTitle = data.Contents;\r
43 \r
44                 //進行中のタスクだった場合\r
45                 if (data.isComplete == false && data.StartTime.IsValid)\r
46                 {\r
47                     //経過時間(現在時刻-スタート時刻)\r
48                     int keikaMinute = TimeComponent.justNow().getSubtractionMinute(data.StartTime);\r
49                     timerMinute = data.ForecastMin - keikaMinute;\r
50 \r
51                 }\r
52                 //そうでない場合は、見積もり時間を設定する\r
53                     //(0の場合の処置はFormで実施する)\r
54                 else\r
55                 {\r
56                     timerMinute = data.ForecastMin;\r
57                 }\r
58 \r
59             }\r
60             if (string.IsNullOrEmpty(timerTitle))\r
61             {\r
62                 form.showTimer(timerMinute);\r
63             }\r
64             else\r
65             {\r
66                 form.showTimer(timerMinute, timerTitle);\r
67             }\r
68             return true;\r
69         }\r
70 \r
71         protected override string turnMessage()\r
72         {\r
73             return base.DefaultNormalMessage;\r
74         }\r
75 \r
76         protected override string turnErrorMessage()\r
77         {\r
78             return base.DefaultErrorMessage;\r
79         }\r
80 \r
81         protected override string turnSplitErrorMessage()\r
82         {\r
83             return base.DefaultSplitErrorMessage;\r
84         }\r
85     }\r
86 }\r