OSDN Git Service

68659ffc8601c41eeecc39888010b35e7bf6947a
[kybernetes/Kybernetes.git] / KyberNetes / 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                         dataForConsole.Add(data.Comment);\r
29                     }\r
30                     form.addMultiText(dataForConsole);\r
31                     \r
32                     retVal = true;\r
33                     message = string.Empty;\r
34 \r
35                     break;\r
36 \r
37                 case CommentMode.metaComment:\r
38                     //コメントが数字の場合は、間違いかもしれないから一応聞く\r
39                     int wkSortID;\r
40                     if (int.TryParse(param.Comment, out wkSortID))\r
41                     {\r
42                         if (!YesNoDialog.show(param.Comment + "をコメントとして入力しますか?"))\r
43                         {\r
44                             message = "処理を中断しました。";\r
45                             retVal = true;\r
46                             break;\r
47                         }\r
48                     }\r
49 \r
50                     retVal = dataAccessor.insertMetaComment(param.Comment);\r
51 \r
52                     message = "全体コメントを追加しました。";\r
53                     break;\r
54 \r
55                 case CommentMode.taskComment:\r
56                     TaskData taskData =TaskDataAccessor.getObject.getTask(param.sortID);\r
57                     if (null != taskData)\r
58                     {\r
59                         CommentData data = new CommentData();\r
60                         data.TaskID = taskData.TaskID;\r
61                         data.Comment = param.Comment;\r
62 \r
63                         retVal = dataAccessor.insertComment(data);\r
64                         message = "タスクNo." + taskData.SortID + " にコメントを追加しました。";\r
65                     }\r
66                         //タスクが実在しない場合\r
67                     else\r
68                     {\r
69                         base.errorType = ErrorType.DataNotFound;\r
70                         retVal=false;\r
71                     }\r
72                     break;\r
73                 default:\r
74                     break;\r
75             }\r
76             return retVal;\r
77         }\r
78 \r
79         protected override string turnMessage()\r
80         {\r
81             return message;\r
82         }\r
83 \r
84         protected override string turnErrorMessage()\r
85         {\r
86             return base.DefaultErrorMessage;\r
87         }\r
88 \r
89         protected override string turnSplitErrorMessage()\r
90         {\r
91             return base.DefaultSplitErrorMessage;\r
92         }\r
93     }\r
94 }\r