OSDN Git Service

V.1.01
[kybernetes/Kybernetes.git] / KyberNetes / command / Control / CommentCommand.cs
diff --git a/KyberNetes/command/Control/CommentCommand.cs b/KyberNetes/command/Control/CommentCommand.cs
new file mode 100644 (file)
index 0000000..68659ff
--- /dev/null
@@ -0,0 +1,94 @@
+using System;\r
+using System.Collections.Generic;\r
+using System.Linq;\r
+using System.Text;\r
+using com.andoutomo.kybernetes.data.accessor;\r
+using com.andoutomo.kybernetes.data.DAO;\r
+using com.andoutomo.kybernetes.view;\r
+\r
+namespace com.andoutomo.kybernetes.command.Control\r
+{\r
+    class CommentCommand:AbCommand\r
+    {\r
+        private string message;\r
+        protected override bool execute()\r
+        {\r
+            CommentCommandArg param = (CommentCommandArg)argument;\r
+            CommentDataAccessor dataAccessor = CommentDataAccessor.getObject;\r
+            bool retVal = false;\r
+            \r
+            switch (param.mode)\r
+            {\r
+                case CommentMode.show:\r
+                    List<CommentData> dataList = dataAccessor.getComment();\r
+                    List<string> dataForConsole = new List<string>();\r
+                    foreach (CommentData data in dataList)\r
+                    {\r
+                        dataForConsole.Add("------ " + data.CreateDateStr + " ------");\r
+                        dataForConsole.Add(data.Comment);\r
+                    }\r
+                    form.addMultiText(dataForConsole);\r
+                    \r
+                    retVal = true;\r
+                    message = string.Empty;\r
+\r
+                    break;\r
+\r
+                case CommentMode.metaComment:\r
+                    //コメントが数字の場合は、間違いかもしれないから一応聞く\r
+                    int wkSortID;\r
+                    if (int.TryParse(param.Comment, out wkSortID))\r
+                    {\r
+                        if (!YesNoDialog.show(param.Comment + "をコメントとして入力しますか?"))\r
+                        {\r
+                            message = "処理を中断しました。";\r
+                            retVal = true;\r
+                            break;\r
+                        }\r
+                    }\r
+\r
+                    retVal = dataAccessor.insertMetaComment(param.Comment);\r
+\r
+                    message = "全体コメントを追加しました。";\r
+                    break;\r
+\r
+                case CommentMode.taskComment:\r
+                    TaskData taskData =TaskDataAccessor.getObject.getTask(param.sortID);\r
+                    if (null != taskData)\r
+                    {\r
+                        CommentData data = new CommentData();\r
+                        data.TaskID = taskData.TaskID;\r
+                        data.Comment = param.Comment;\r
+\r
+                        retVal = dataAccessor.insertComment(data);\r
+                        message = "タスクNo." + taskData.SortID + " にコメントを追加しました。";\r
+                    }\r
+                        //タスクが実在しない場合\r
+                    else\r
+                    {\r
+                        base.errorType = ErrorType.DataNotFound;\r
+                        retVal=false;\r
+                    }\r
+                    break;\r
+                default:\r
+                    break;\r
+            }\r
+            return retVal;\r
+        }\r
+\r
+        protected override string turnMessage()\r
+        {\r
+            return message;\r
+        }\r
+\r
+        protected override string turnErrorMessage()\r
+        {\r
+            return base.DefaultErrorMessage;\r
+        }\r
+\r
+        protected override string turnSplitErrorMessage()\r
+        {\r
+            return base.DefaultSplitErrorMessage;\r
+        }\r
+    }\r
+}\r