OSDN Git Service

構成変更のためファイルを置き直し。
[kybernetes/Kybernetes.git] / TaskControlCommand / command / Control / CommentCommand.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.accessor;\r
6 using com.andoutomo.kybernetes.data.DAO;\r
7 using com.andoutomo.kybernetes.view;\r
8 \r
9 namespace com.andoutomo.kybernetes.command.Control\r
10 {\r
11     class CommentCommand:AbCommand\r
12     {\r
13         private string message;\r
14         protected override bool execute()\r
15         {\r
16             CommentCommandArg param = (CommentCommandArg)argument;\r
17             CommentDataAccessor dataAccessor = CommentDataAccessor.getObject;\r
18             bool retVal = false;\r
19             \r
20             switch (param.mode)\r
21             {\r
22                 case CommentMode.show:\r
23                     List<CommentData> dataList = dataAccessor.getComment();\r
24                     List<string> dataForConsole = new List<string>();\r
25                     foreach (CommentData data in dataList)\r
26                     {\r
27                         dataForConsole.Add("------ " + data.CreateDateStr + " ------");\r
28                         if (data.TaskID != 0)\r
29                         {\r
30                             int sortID = TaskDataAccessor.getObject.getSortIDFromTaskID(data.TaskID);\r
31                             if (sortID > 0)\r
32                             {\r
33                                 dataForConsole.Add("-- For TaskNo." + sortID + " --");\r
34                             }\r
35                         }\r
36                         dataForConsole.Add(data.Comment);\r
37                     }\r
38                     form.addMultiText(dataForConsole);\r
39                     \r
40                     retVal = true;\r
41                     message = string.Empty;\r
42 \r
43                     break;\r
44 \r
45                 case CommentMode.metaComment:\r
46                     //コメントが数字の場合は、間違いかもしれないから一応聞く\r
47                     int wkSortID;\r
48                     if (int.TryParse(param.Comment, out wkSortID))\r
49                     {\r
50                         if (!YesNoDialog.show(param.Comment + "をコメントとして入力しますか?"))\r
51                         {\r
52                             message = "処理を中断しました。";\r
53                             retVal = true;\r
54                             break;\r
55                         }\r
56                     }\r
57 \r
58                     retVal = dataAccessor.insertMetaComment(param.Comment);\r
59 \r
60                     message = "全体コメントを追加しました。";\r
61                     break;\r
62 \r
63                 case CommentMode.taskComment:\r
64                     TaskData taskData =TaskDataAccessor.getObject.getTask(param.sortID);\r
65                     if (null != taskData)\r
66                     {\r
67                         CommentData data = new CommentData();\r
68                         data.TaskID = taskData.TaskID;\r
69                         data.Comment = param.Comment;\r
70 \r
71                         retVal = dataAccessor.insertComment(data);\r
72                         message = "タスクNo." + taskData.SortID + " にコメントを追加しました。";\r
73                     }\r
74                         //タスクが実在しない場合\r
75                     else\r
76                     {\r
77                         base.errorType = ErrorType.DataNotFound;\r
78                         retVal=false;\r
79                     }\r
80                     break;\r
81                 default:\r
82                     break;\r
83             }\r
84             return retVal;\r
85         }\r
86 \r
87         protected override string turnMessage()\r
88         {\r
89             return message;\r
90         }\r
91 \r
92         protected override string turnErrorMessage()\r
93         {\r
94             return base.DefaultErrorMessage;\r
95         }\r
96 \r
97         protected override string turnSplitErrorMessage()\r
98         {\r
99             return base.DefaultSplitErrorMessage;\r
100         }\r
101     }\r
102 }\r