--- /dev/null
+using System.Collections.Generic;\r
+using System.Data.SQLite;\r
+using com.andoutomo.kybernetes.data.connection;\r
+using com.andoutomo.kybernetes.data.DAO;\r
+\r
+\r
+namespace com.andoutomo.kybernetes.data.accessor\r
+{\r
+ public class CommandDataAccessor\r
+ {\r
+ #region singleton\r
+ private static CommandDataAccessor accessor;\r
+ private CommandDataAccessor()\r
+ {\r
+ }\r
+ public static CommandDataAccessor getObject\r
+ {\r
+ get\r
+ {\r
+ if (accessor == null)\r
+ {\r
+ accessor = new CommandDataAccessor();\r
+ }\r
+ return accessor;\r
+ }\r
+ }\r
+\r
+ #endregion\r
+\r
+ /// <summary>\r
+ /// DBテーブル"tbl_command"から、呼び出すクラス名を取得する\r
+ /// </summary>\r
+ /// <param name="commandStr">呼び出したコマンド(引数は別)</param>\r
+ /// <returns>コマンドデータ</returns>\r
+ public CommandData getCommandData(string commandStr)\r
+ {\r
+ CommandData result = null;\r
+ List<object> list = new List<object>();\r
+ list.Add(commandStr);\r
+ SettingDBConnection.Connection.selectData(CommandSqlDictionary.getCommand, list,\r
+ (SQLiteDataReader reader) =>\r
+ {\r
+ if (reader.HasRows != false)\r
+ {\r
+ result = new CommandData();\r
+ reader.Read();\r
+ result.TargetClass = reader["TARGETCLASS"].ToString();\r
+ result.ArgClass = reader["ARGCLASS"].ToString();\r
+ result.CmdStr = commandStr;\r
+ }\r
+ });\r
+ return result;\r
+ }\r
+\r
+ public List<HelpData> getAllHelp()\r
+ {\r
+ List<HelpData> allHelp = new List<HelpData>();\r
+ SettingDBConnection.Connection.selectData(CommandSqlDictionary.HELPALL, new List<object>(),\r
+ (SQLiteDataReader reader)=>{\r
+ while (reader.Read())\r
+ {\r
+ HelpData data = new HelpData(reader["CMDSTR"].ToString(), reader["SUMMARY"].ToString());\r
+ allHelp.Add(data);\r
+ }\r
+ });\r
+ return allHelp;\r
+ }\r
+ /// <summary>\r
+ /// 個別コマンドのヘルプを出力します。\r
+ /// </summary>\r
+ /// <param name="cmdStr"></param>\r
+ /// <returns></returns>\r
+ public HelpData getHelpData(string cmdStr)\r
+ {\r
+ List<object> parameters = new List<object>();\r
+ parameters.Add(cmdStr);\r
+ HelpData retVal =null;\r
+ SettingDBConnection.Connection.selectData(CommandSqlDictionary.getHelp, parameters,\r
+ (SQLiteDataReader reader) =>\r
+ {\r
+ if (reader.HasRows)\r
+ {\r
+ reader.Read();\r
+ retVal = new HelpData(\r
+ reader["CMDSTR"].ToString(), \r
+ reader["SUMMARY"].ToString(), \r
+ reader["Detail"].ToString());\r
+ }\r
+ });\r
+ return retVal;\r
+ }\r
+ /// <summary>\r
+ /// そのコマンドに紐づくアライアスを抽出します。\r
+ /// </summary>\r
+ /// <param name="cmdStr"></param>\r
+ /// <returns></returns>\r
+ public string getAlies(string cmdStr)\r
+ {\r
+ List<object> parameters = new List<object>();\r
+ parameters.Add(cmdStr);\r
+ string retStr = string.Empty;\r
+\r
+ SettingDBConnection.Connection.selectData(CommandSqlDictionary.getLink, parameters,\r
+ (SQLiteDataReader reader) =>\r
+ {\r
+ while (reader.Read())\r
+ {\r
+ if (string.IsNullOrEmpty(retStr))\r
+ {\r
+ retStr += reader["link_command"].ToString();\r
+ }\r
+ else\r
+ {\r
+ retStr += "," + reader["link_command"].ToString();\r
+ }\r
+ }\r
+ });\r
+ return retStr; \r
+ }\r
+ /// <summary>\r
+ /// コマンド用のdllリストを抽出します。\r
+ /// </summary>\r
+ /// <returns></returns>\r
+ public List<SimpleDataBean> getDllList()\r
+ {\r
+ List<SimpleDataBean> retData = new List<SimpleDataBean>();\r
+ SettingDBConnection.Connection.selectData("SELECT LIB_NAME FROM TBL_DLL",\r
+ (SQLiteDataReader reader) =>\r
+ {\r
+ while (reader.Read())\r
+ {\r
+ retData.Add(new SimpleDataBean(reader["LIB_NAME"].ToString()));\r
+ }\r
+ });\r
+ return retData;\r
+ }\r
+ }\r
+}\r