OSDN Git Service

DBファイル追加
[kybernetes/Kybernetes.git] / main / command / SYSTEM / LinkCommand.cs
1 using System.Collections.Generic;\r
2 using com.andoutomo.kybernetes.data.accessor;\r
3 using com.andoutomo.kybernetes.data.DAO;\r
4 \r
5 namespace com.andoutomo.kybernetes.command.SYSTEM\r
6 {\r
7     class LinkCommand:AbCommand\r
8     {\r
9         LinkCommandArg param;\r
10         string errMessage;\r
11 \r
12         protected override bool execute()\r
13         {\r
14             param = (LinkCommandArg)argument;\r
15             LinkDataAccessor accessor = LinkDataAccessor.getObject;\r
16             bool hasLink =accessor.hasLink(param.ShortcutStr);\r
17             bool retVal=false;\r
18 \r
19             //リストモード(一覧取得)\r
20             if (param.listMode)\r
21             {\r
22                 List<SimpleDataBean> linklist = accessor.getAllLink();\r
23                 List<string> retList = new List<string>();\r
24                 foreach (SimpleDataBean data in linklist)\r
25                 {\r
26                     retList.Add(data.Name + " -> " + data.Val);\r
27                 }\r
28                 form.addMultiText(retList);\r
29                 retStr = string.Empty;\r
30                 return true;\r
31             }\r
32 \r
33 \r
34             if (param.removeMode)\r
35                 //削除\r
36             {\r
37                 if (hasLink)\r
38                 {\r
39                     //削除対象があれば削除\r
40                     retVal = accessor.removeLink(param.ShortcutStr);\r
41                 }\r
42                 else\r
43                 {\r
44                     //ない場合はエラー\r
45                     errMessage = "リンク " + param.ShortcutStr + " は存在しないため、削除できません。";\r
46                     retVal = false;\r
47                 }\r
48             }\r
49             else\r
50                 //追加\r
51             {\r
52                 if (hasLink)\r
53                 {\r
54                     //追加対象が既にあればエラー\r
55                     errMessage = "リンク " + param.ShortcutStr + " は既に存在するため、作成できません。";\r
56                     retVal = false;\r
57                 }\r
58                 else\r
59                 {\r
60                     //ない場合に作成する\r
61                     retVal = accessor.addLink(param.ShortcutStr, param.BaseCommandStr);\r
62 \r
63                 }\r
64             }\r
65             retStr = param.ShortcutStr + "->" + param.BaseCommandStr;\r
66             return retVal;\r
67         }\r
68         string retStr;\r
69         protected override string turnMessage()\r
70         {\r
71             return retStr;\r
72         }\r
73 \r
74         protected override string turnErrorMessage()\r
75         {\r
76             if (string.IsNullOrEmpty(errMessage))\r
77             {\r
78                 return base.DefaultErrorMessage;\r
79             }\r
80             else\r
81             {\r
82                 return errMessage;\r
83             }\r
84         }\r
85 \r
86         protected override string turnSplitErrorMessage()\r
87         {\r
88             return base.DefaultSplitErrorMessage;\r
89         }\r
90     }\r
91 }\r