<Compile Include="command\CRUD\UpdateCommandArg.cs" />\r
<Compile Include="command\reference\EstimateCommand.cs" />\r
<Compile Include="command\reference\EstimateCommandArg.cs" />\r
+ <Compile Include="command\reference\FindCommand.cs" />\r
+ <Compile Include="command\reference\FindCommandArg.cs" />\r
<Compile Include="command\reference\PwdCommand.cs" />\r
+ <Compile Include="command\reference\SumCommand.cs" />\r
+ <Compile Include="command\reference\SumCommandArg.cs" />\r
<Compile Include="command\SYSTEM\AllCategInner.cs" />\r
<Compile Include="command\SYSTEM\ClsCommand.cs" />\r
<Compile Include="command\SYSTEM\CreditCommand.cs" />\r
<Compile Include="view\Credit.Designer.cs">\r
<DependentUpon>Credit.cs</DependentUpon>\r
</Compile>\r
- <Compile Include="view\DebuggWindow.cs">\r
- <SubType>Form</SubType>\r
- </Compile>\r
- <Compile Include="view\DebuggWindow.Designer.cs">\r
- <DependentUpon>DebuggWindow.cs</DependentUpon>\r
- </Compile>\r
<Compile Include="view\DropBoxInputBox.cs">\r
<SubType>Form</SubType>\r
</Compile>\r
<EmbeddedResource Include="data\connection\SqlDictionary.resx">\r
<Generator>ResXFileCodeGenerator</Generator>\r
<LastGenOutput>SqlDictionary.Designer.cs</LastGenOutput>\r
+ <SubType>Designer</SubType>\r
</EmbeddedResource>\r
<EmbeddedResource Include="Properties\Resources.resx">\r
<Generator>ResXFileCodeGenerator</Generator>\r
<EmbeddedResource Include="view\Credit.resx">\r
<DependentUpon>Credit.cs</DependentUpon>\r
</EmbeddedResource>\r
- <EmbeddedResource Include="view\DebuggWindow.resx">\r
- <DependentUpon>DebuggWindow.cs</DependentUpon>\r
- </EmbeddedResource>\r
<EmbeddedResource Include="view\DropBoxInputBox.resx">\r
<DependentUpon>DropBoxInputBox.cs</DependentUpon>\r
</EmbeddedResource>\r
// すべての値を指定するか、下のように '*' を使ってビルドおよびリビジョン番号を \r
// 既定値にすることができます:\r
// [assembly: AssemblyVersion("1.0.*")]\r
-[assembly: AssemblyVersion("1.0.0.5")]\r
-[assembly: AssemblyFileVersion("1.0.0.5")]\r
+[assembly: AssemblyVersion("1.0.0.6")]\r
+[assembly: AssemblyFileVersion("1.0.0.6")]\r
using com.andoutomo.kybernetes.data.accessor;\r
using com.andoutomo.kybernetes.data.DAO;\r
using System.Collections.Generic;\r
+using System.Windows.Forms;\r
\r
namespace com.andoutomo.kybernetes.command\r
{\r
\r
if (data.Contents == null)\r
{\r
- data.Contents = form.showInputBox("実施事項を入力してください。");\r
+ data.Contents = form.showInputBox("実施事項を入力してください。",ImeMode.Hiragana);\r
if (data.Contents == null || data.Contents == string.Empty)\r
{\r
message = "書くからには何か実施しましょう。やり直してください。";\r
//DBへの追加\r
TaskDataAccessor taskAccessor = TaskDataAccessor.getObject;\r
data.TaskID = taskAccessor.getMaxTaskID();\r
- //data.SortID = data.TaskID * 10;\r
data.SortID = taskAccessor.getMaxSortID();\r
\r
if (taskAccessor.insertTask(data))\r
\r
protected override string turnMessage()\r
{\r
- return string.Empty;\r
+ return string.Empty;\r
}\r
\r
protected override string turnErrorMessage()\r
{\r
- throw new NotImplementedException();\r
+ return base.DefaultErrorMessage;\r
}\r
\r
protected override string turnSplitErrorMessage()\r
{\r
- throw new NotImplementedException();\r
+ return base.DefaultSplitErrorMessage;\r
}\r
}\r
}\r
{\r
if (TaskDataAccessor.getObject.isRepeatTask(param.sortID))\r
{\r
- string nextDay = form.showInputBox("次回は何日後ですか?0の場合は繰り返しません。");\r
+ string nextDay = form.showInputBox("次回は何日後ですか?0の場合は繰り返しません。","1");\r
if (nextDay != "0")\r
{\r
_newData.DoDate.addDate(int.Parse(nextDay));\r
resList.Add(" " + help.cmdStr + " " + help.cmdSummary);\r
}\r
\r
- base.form.addMultiText(resList,true);\r
+ base.form.addMultiText(resList);\r
\r
break;\r
case HelpCommandType.One:\r
resList2.Add(string.Empty);\r
resList2.Add(data.cmdDetail);\r
\r
- base.form.addMultiText(resList2, true);\r
+ base.form.addMultiText(resList2);\r
}\r
else\r
{\r
{\r
retList.Add(data.Name + " -> " + data.Val);\r
}\r
- form.addMultiText(retList,true);\r
+ form.addMultiText(retList);\r
retStr = string.Empty;\r
return true;\r
}\r
msgList.Add("予想終了時刻: " + TimeComponent.justNow().add(minuteRemains).ToString());\r
msgList.Add(string.Empty);\r
\r
- form.addMultiText(msgList,true);\r
+ form.addMultiText(msgList);\r
return true;\r
}\r
\r
--- /dev/null
+using System;\r
+using System.Collections.Generic;\r
+using System.Linq;\r
+using System.Text;\r
+using com.andoutomo.kybernetes.data;\r
+using com.andoutomo.kybernetes.data.accessor;\r
+using com.andoutomo.kybernetes.data.DAO;\r
+\r
+namespace com.andoutomo.kybernetes.command.reference\r
+{\r
+ class FindCommand:AbCommand\r
+ {\r
+ protected override bool execute()\r
+ {\r
+ FindCommandArg param = (FindCommandArg)args;\r
+\r
+ DateComponents todayDate = SettingDataAccessor.getObject.getToday();\r
+ List<TaskData> dataList = TaskDataAccessor.getObject.findTask(param.searchWord);\r
+\r
+\r
+ if (dataList.Count <= 0)\r
+ {\r
+ message = "見つかりませんでした。";\r
+ }\r
+ else\r
+ {\r
+ message = dataList.Count + "件のタスクが見つかりました。";\r
+ }\r
+\r
+ form.clearPanel();\r
+ foreach (TaskData data in dataList)\r
+ {\r
+ data.Today = todayDate;\r
+ form.addPanel(data);\r
+ }\r
+\r
+ return true;\r
+ }\r
+\r
+ private string message;\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
--- /dev/null
+using System;\r
+using System.Collections.Generic;\r
+using System.Linq;\r
+using System.Text;\r
+\r
+namespace com.andoutomo.kybernetes.command.reference\r
+{\r
+ class FindCommandArg:CommandArg\r
+ {\r
+ internal string searchWord\r
+ {\r
+ get;\r
+ private set;\r
+ }\r
+ private bool isValid;\r
+ public void split(string arguments)\r
+ {\r
+ string[] splitData = arguments.Split(' ');\r
+\r
+ if (splitData.Length < 2)\r
+ {\r
+ isValid = false;\r
+ }\r
+ else\r
+ {\r
+ searchWord = splitData[1];\r
+ isValid = true;\r
+ }\r
+ }\r
+\r
+ public bool getSplitResult()\r
+ {\r
+ return isValid;\r
+ }\r
+ }\r
+}\r
{\r
retList.Add("現在実施中のタスクはありません。");\r
\r
+ TimeComponent lastEndtime = TaskDataAccessor.getObject.getNextStartTime(SettingDataAccessor.getObject.getToday());\r
+ if (lastEndtime != null && lastEndtime.IsValid)\r
+ {\r
+ int keikaMinute = TimeComponent.justNow().getSubtractionMinute(lastEndtime);\r
+ retList.Add("直近タスク完了から" + keikaMinute + "分経過");\r
+ }\r
+\r
}\r
- retList.Add(string.Empty);\r
- form.addMultiText(retList,true);\r
+ \r
+ form.addMultiText(retList);\r
\r
return true;\r
}\r
\r
protected override string turnMessage()\r
{\r
- return base.DefaultSeparatorMessage; \r
+ return string.Empty;\r
}\r
\r
protected override string turnErrorMessage()\r
--- /dev/null
+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.data;\r
+\r
+namespace com.andoutomo.kybernetes.command.reference\r
+{\r
+ class SumCommand:AbCommand\r
+ {\r
+ protected override bool execute()\r
+ {\r
+ SumCommandArg param = (SumCommandArg)args;\r
+\r
+ List<int> targetList = param.targetData;\r
+\r
+ TimeComponent forcast = new TimeComponent(0,0);\r
+ TimeComponent realTime = new TimeComponent(0, 0);\r
+\r
+ foreach (int sortID in targetList)\r
+ {\r
+ TaskData data = TaskDataAccessor.getObject.getTask(sortID);\r
+ forcast.add(data.ForecastMin);\r
+ realTime.add(data.RealMin);\r
+\r
+ }\r
+\r
+\r
+\r
+ List<string> resultList = new List<string>();\r
+ resultList.Add("合計:");\r
+ resultList.Add("予想時間:" + forcast.ToString() + " ( " + forcast.TotalMinute + " 分)");\r
+ resultList.Add("実績時間:" + realTime.ToString() + " ( " + realTime.TotalMinute + " 分)");\r
+\r
+ form.addMultiText(resultList);\r
+\r
+ return true;\r
+ }\r
+\r
+ protected override string turnMessage()\r
+ {\r
+ return string.Empty;\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
--- /dev/null
+using System;\r
+using System.Collections.Generic;\r
+using System.Linq;\r
+using System.Text;\r
+\r
+namespace com.andoutomo.kybernetes.command.reference\r
+{\r
+ class SumCommandArg:CommandArg\r
+ {\r
+ internal List<int> targetData\r
+ {\r
+ get;\r
+ private set;\r
+ }\r
+ public void split(string arguments)\r
+ {\r
+ string[] splitData = arguments.Split(' ');\r
+\r
+ if (splitData.Length < 2)\r
+ {\r
+ isValid = false;\r
+ return;\r
+ }\r
+ isValid = true;\r
+ targetData = new List<int>();\r
+ for (int i = 1; i < splitData.Length; i++)\r
+ {\r
+ targetData.Add(Convert.ToInt32(splitData[i]));\r
+ }\r
+\r
+ }\r
+ private bool isValid;\r
+\r
+ public bool getSplitResult()\r
+ {\r
+ return isValid;\r
+ }\r
+ }\r
+}\r
{\r
get { return "無効なパラメータです。"; }\r
}\r
- protected string DefaultSeparatorMessage\r
+ protected string DefaultNormalMessage\r
{\r
- get { return "-----------------------------";}\r
+ get { return "> ";}\r
}\r
\r
}\r
\r
internal enum LogMode\r
{\r
- Debug,\r
+ Error,\r
Trace,\r
- Error\r
+ Debug\r
+\r
}\r
internal class KybernetesLogger\r
{\r
{\r
return getTaskList(SqlDictionary.getRemainList, new List<object>());\r
}\r
+ /// <summary>\r
+ /// タスクの検索を行います。\r
+ /// </summary>\r
+ /// <param name="searchWord"></param>\r
+ /// <returns></returns>\r
+ internal List<TaskData> findTask(string searchWord)\r
+ {\r
+ string wkSearchWord = "%" + searchWord + "%";\r
+\r
+ List<object> args = new List<object> { wkSearchWord ,wkSearchWord};\r
+ return getTaskList(SqlDictionary.searchTasks, args);\r
+ }\r
+\r
\r
/// <summary>\r
/// ソート番号の再設定を行います。\r
}\r
\r
/// <summary>\r
- /// delete from mst_category に類似しているローカライズされた文字列を検索します。\r
+ /// delete from tbl_category に類似しているローカライズされた文字列を検索します。\r
/// </summary>\r
internal static string clearCategory {\r
get {\r
}\r
\r
/// <summary>\r
- /// delete from mst_timearea に類似しているローカライズされた文字列を検索します。\r
+ /// delete from tbl_timearea に類似しているローカライズされた文字列を検索します。\r
/// </summary>\r
internal static string clearTimeArea {\r
get {\r
}\r
\r
/// <summary>\r
- /// SELECT CategID,Category,BGColor,FRColor FROM MST_CATEGORY ORDER BY CategID に類似しているローカライズされた文字列を検索します。\r
+ /// SELECT CategID,Category,BGColor,FRColor FROM tbl_category ORDER BY CategID に類似しているローカライズされた文字列を検索します。\r
/// </summary>\r
internal static string getALLCategory {\r
get {\r
///T.FORCASTMIN,T.STARTTIME,T.ENDTIME,C.BGCOLOR,C.FRCOLOR,T.REPEATFLG, \r
///(CASE WHEN T.ENDTIME IS NULL THEN 1 ELSE 0 END) AS ENDTIMESORT,\r
///(CASE WHEN T.DODATE =S.TODAY THEN 0 ELSE (CASE WHEN DODATE>S.TODAY THEN 2 ELSE 3 END) END) AS DATESORT,time(startTime) as STARTTIMESORT,(Case when STARTTIME IS NULL THEN 1 ELSE 0 END) AS STARTNullSort\r
- ///FROM TBL_TASKS T,TBL_SETTING S LEFT outer join MST_CATEGORY C on C.CATEGID=T.CATEGID\r
+ ///FROM TBL_TASKS T,TBL_SETTING S LEFT outer join tbl_category C on C.CATEGID=T.CATEGID\r
///ORDER BY DATESORT,E [残りの文字列は切り詰められました]"; に類似しているローカライズされた文字列を検索します。\r
/// </summary>\r
internal static string getAllList {\r
}\r
\r
/// <summary>\r
- /// SELECT TIMEAREA,START,END FROM MST_TIMEAREA に類似しているローカライズされた文字列を検索します。\r
+ /// SELECT TIMEAREA,START,END FROM tbl_timearea に類似しているローカライズされた文字列を検索します。\r
/// </summary>\r
internal static string getAllTimeArea {\r
get {\r
}\r
\r
/// <summary>\r
- /// SELECT CategID,Category,BGColor,FRColor FROM MST_CATEGORY WHERE CategID = ? に類似しているローカライズされた文字列を検索します。\r
+ /// SELECT CategID,Category,BGColor,FRColor FROM tbl_category WHERE CategID = ? に類似しているローカライズされた文字列を検索します。\r
/// </summary>\r
internal static string getCategoryFromCategId {\r
get {\r
}\r
\r
/// <summary>\r
- /// SELECT CategID,BGColor,FRColor FROM MST_CATEGORY WHERE Category = ? に類似しているローカライズされた文字列を検索します。\r
+ /// SELECT CategID,BGColor,FRColor FROM tbl_category WHERE Category = ? に類似しているローカライズされた文字列を検索します。\r
/// </summary>\r
internal static string getCategoryFromCategName {\r
get {\r
///T.FORCASTMIN,T.STARTTIME,T.ENDTIME,C.BGCOLOR,C.FRCOLOR,T.REPEATFLG, \r
///(CASE WHEN T.ENDTIME IS NULL THEN 1 ELSE 0 END) AS ENDTIMESORT,\r
///(CASE WHEN T.DODATE =S.TODAY THEN 0 ELSE (CASE WHEN DODATE>S.TODAY THEN 2 ELSE 3 END) END) AS DATESORT,time(startTime) as STARTTIMESORT,(Case when STARTTIME IS NULL THEN 1 ELSE 0 END) AS STARTNullSort\r
- ///FROM TBL_TASKS T,TBL_SETTING S LEFT OUTER JOIN MST_CATEGORY C ON C.CATEGID=T.CATEGID WHERE DATE(T.DODATE) [残りの文字列は切り詰められました]"; に類似しているローカライズされた文字列を検索します。\r
+ ///FROM TBL_TASKS T,TBL_SETTING S LEFT OUTER JOIN tbl_category C ON C.CATEGID=T.CATEGID WHERE DATE(T.DODATE) [残りの文字列は切り詰められました]"; に類似しているローカライズされた文字列を検索します。\r
/// </summary>\r
internal static string getDailyList {\r
get {\r
}\r
\r
/// <summary>\r
- /// SELECT T.TASKID,T.SORTID,T.DODATE,T.TIMEAREA,T.CATEGID,C.CATEGORY,T.CONTENTS,T.FORCASTMIN,T.STARTTIME,T.ENDTIME,T.REPEATFLG FROM TBL_TASKS T LEFT OUTER JOIN MST_CATEGORY C ON C.CATEGID=T.CATEGID where T.SORTID = ? に類似しているローカライズされた文字列を検索します。\r
+ /// SELECT T.TASKID,T.SORTID,T.DODATE,T.TIMEAREA,T.CATEGID,C.CATEGORY,T.CONTENTS,T.FORCASTMIN,T.STARTTIME,T.ENDTIME,T.REPEATFLG FROM TBL_TASKS T LEFT OUTER JOIN tbl_category C ON C.CATEGID=T.CATEGID where T.SORTID = ? に類似しているローカライズされた文字列を検索します。\r
/// </summary>\r
internal static string getOneTask {\r
get {\r
///T.FORCASTMIN,T.STARTTIME,T.ENDTIME,C.BGCOLOR,C.FRCOLOR,T.REPEATFLG,\r
///(CASE WHEN T.ENDTIME IS NULL THEN 1 ELSE 0 END) AS ENDTIMESORT,\r
///(CASE WHEN T.DODATE =S.TODAY THEN 0 ELSE (CASE WHEN DODATE>S.TODAY THEN 2 ELSE 3 END) END) AS DATESORT,time(startTime) as STARTTIMESORT,(Case when STARTTIME IS NULL THEN 1 ELSE 0 END) AS STARTNullSort\r
- ///FROM TBL_TASKS T,TBL_SETTING S LEFT OUTER JOIN MST_CATEGORY C ON C.CATEGID=T.CATEGID \r
+ ///FROM TBL_TASKS T,TBL_SETTING S LEFT OUTER JOIN tbl_category C ON C.CATEGID=T.CATEGID \r
///WHERE DATE(T.DODATE [残りの文字列は切り詰められました]"; に類似しているローカライズされた文字列を検索します。\r
/// </summary>\r
internal static string getPwdList {\r
///T.FORCASTMIN,T.STARTTIME,T.ENDTIME,C.BGCOLOR,C.FRCOLOR,T.REPEATFLG, \r
///(CASE WHEN T.ENDTIME IS NULL THEN 1 ELSE 0 END) AS ENDTIMESORT,\r
///(CASE WHEN T.DODATE =S.TODAY THEN 0 ELSE (CASE WHEN DODATE>S.TODAY THEN 2 ELSE 3 END) END) AS DATESORT,time(startTime) as STARTTIMESORT,(Case when STARTTIME IS NULL THEN 1 ELSE 0 END) AS STARTNullSort\r
- ///FROM TBL_TASKS T,TBL_SETTING S LEFT OUTER JOIN MST_CATEGORY C ON C.CATEGID=T.CATEGID WHERE T.ENDTIME IS N [残りの文字列は切り詰められました]"; に類似しているローカライズされた文字列を検索します。\r
+ ///FROM TBL_TASKS T,TBL_SETTING S LEFT OUTER JOIN tbl_category C ON C.CATEGID=T.CATEGID WHERE T.ENDTIME IS N [残りの文字列は切り詰められました]"; に類似しているローカライズされた文字列を検索します。\r
/// </summary>\r
internal static string getRemainList {\r
get {\r
///T.FORCASTMIN,T.STARTTIME,T.ENDTIME,C.BGCOLOR,C.FRCOLOR,T.REPEATFLG,\r
///(CASE WHEN T.ENDTIME IS NULL THEN 1 ELSE 0 END) AS ENDTIMESORT,\r
///(CASE WHEN T.DODATE =S.TODAY THEN 0 ELSE (CASE WHEN DODATE>S.TODAY THEN 2 ELSE 3 END) END) AS DATESORT,time(startTime) as STARTTIMESORT,(Case when STARTTIME IS NULL THEN 1 ELSE 0 END) AS STARTNullSort\r
- ///FROM TBL_TASKS T,TBL_SETTING S LEFT OUTER JOIN MST_CATEGORY C ON C.CATEGID=T.CATEGID WHERE DATE(T.DODATE) [残りの文字列は切り詰められました]"; に類似しているローカライズされた文字列を検索します。\r
+ ///FROM TBL_TASKS T,TBL_SETTING S LEFT OUTER JOIN tbl_category C ON C.CATEGID=T.CATEGID WHERE DATE(T.DODATE) [残りの文字列は切り詰められました]"; に類似しているローカライズされた文字列を検索します。\r
/// </summary>\r
internal static string getTodayList {\r
get {\r
}\r
\r
/// <summary>\r
- /// INSERT into MST_CATEGORY (CATEGID,CATEGORY,FRCOLOR,BGCOLOR) values(?,?,?,?) に類似しているローカライズされた文字列を検索します。\r
+ /// INSERT into tbl_category (CATEGID,CATEGORY,FRCOLOR,BGCOLOR) values(?,?,?,?) に類似しているローカライズされた文字列を検索します。\r
/// </summary>\r
internal static string insertCategory {\r
get {\r
}\r
\r
/// <summary>\r
- /// INSERT INTO MST_TIMEAREA (TIMEAREA,START,END) values(?,?,?) に類似しているローカライズされた文字列を検索します。\r
+ /// INSERT INTO tbl_timearea (TIMEAREA,START,END) values(?,?,?) に類似しているローカライズされた文字列を検索します。\r
/// </summary>\r
internal static string insertTimeArea {\r
get {\r
}\r
\r
/// <summary>\r
+ /// SELECT T.TASKID,T.SORTID,T.DODATE,T.TIMEAREA,C.CATEGORY,T.CONTENTS,\r
+ ///T.FORCASTMIN,T.STARTTIME,T.ENDTIME,C.BGCOLOR,C.FRCOLOR,T.REPEATFLG, \r
+ ///(CASE WHEN T.ENDTIME IS NULL THEN 1 ELSE 0 END) AS ENDTIMESORT,\r
+ ///(CASE WHEN T.DODATE =S.TODAY THEN 0 ELSE (CASE WHEN DODATE>S.TODAY THEN 2 ELSE 3 END) END) AS DATESORT,time(startTime) as STARTTIMESORT,(Case when STARTTIME IS NULL THEN 1 ELSE 0 END) AS STARTNullSort\r
+ ///FROM TBL_TASKS T,TBL_SETTING S LEFT OUTER JOIN tbl_category C ON C.CATEGID=T.CATEGID WHERE T.CONTENTS LIK [残りの文字列は切り詰められました]"; に類似しているローカライズされた文字列を検索します。\r
+ /// </summary>\r
+ internal static string searchTasks {\r
+ get {\r
+ return ResourceManager.GetString("searchTasks", resourceCulture);\r
+ }\r
+ }\r
+ \r
+ /// <summary>\r
/// UPDATE TBL_TASKS SET REPEATFLG=? WHERE SORTID=? に類似しているローカライズされた文字列を検索します。\r
/// </summary>\r
internal static string setRepeatTask {\r
T.FORCASTMIN,T.STARTTIME,T.ENDTIME,C.BGCOLOR,C.FRCOLOR,T.REPEATFLG, \r
(CASE WHEN T.ENDTIME IS NULL THEN 1 ELSE 0 END) AS ENDTIMESORT,\r
(CASE WHEN T.DODATE =S.TODAY THEN 0 ELSE (CASE WHEN DODATE>S.TODAY THEN 2 ELSE 3 END) END) AS DATESORT,time(startTime) as STARTTIMESORT,(Case when STARTTIME IS NULL THEN 1 ELSE 0 END) AS STARTNullSort\r
-FROM TBL_TASKS T,TBL_SETTING S LEFT outer join MST_CATEGORY C on C.CATEGID=T.CATEGID\r
+FROM TBL_TASKS T,TBL_SETTING S LEFT outer join tbl_category C on C.CATEGID=T.CATEGID\r
ORDER BY DATESORT,ENDTIMESORT,T.DODATE,T.TIMEAREA,STARTNULLSORT,STARTTIMESORT,T.SORTID</value>\r
<comment>全タスクを表示します。</comment>\r
</data>\r
<data name="getCategoryFromCategName" xml:space="preserve">\r
- <value>SELECT CategID,BGColor,FRColor FROM MST_CATEGORY WHERE Category = ?</value>\r
+ <value>SELECT CategID,BGColor,FRColor FROM tbl_category WHERE Category = ?</value>\r
<comment>カテゴリ名からIDを逆引きします。</comment>\r
</data>\r
<data name="getCommand" xml:space="preserve">\r
T.FORCASTMIN,T.STARTTIME,T.ENDTIME,C.BGCOLOR,C.FRCOLOR,T.REPEATFLG, \r
(CASE WHEN T.ENDTIME IS NULL THEN 1 ELSE 0 END) AS ENDTIMESORT,\r
(CASE WHEN T.DODATE =S.TODAY THEN 0 ELSE (CASE WHEN DODATE>S.TODAY THEN 2 ELSE 3 END) END) AS DATESORT,time(startTime) as STARTTIMESORT,(Case when STARTTIME IS NULL THEN 1 ELSE 0 END) AS STARTNullSort\r
-FROM TBL_TASKS T,TBL_SETTING S LEFT OUTER JOIN MST_CATEGORY C ON C.CATEGID=T.CATEGID WHERE DATE(T.DODATE) = DATE(?) \r
+FROM TBL_TASKS T,TBL_SETTING S LEFT OUTER JOIN tbl_category C ON C.CATEGID=T.CATEGID WHERE DATE(T.DODATE) = DATE(?) \r
ORDER BY DATESORT,ENDTIMESORT,T.DODATE,T.TIMEAREA,STARTNULLSORT,STARTTIMESORT,T.SORTID</value>\r
<comment>指定された日付のタスクを取得します。</comment>\r
</data>\r
T.FORCASTMIN,T.STARTTIME,T.ENDTIME,C.BGCOLOR,C.FRCOLOR,T.REPEATFLG, \r
(CASE WHEN T.ENDTIME IS NULL THEN 1 ELSE 0 END) AS ENDTIMESORT,\r
(CASE WHEN T.DODATE =S.TODAY THEN 0 ELSE (CASE WHEN DODATE>S.TODAY THEN 2 ELSE 3 END) END) AS DATESORT,time(startTime) as STARTTIMESORT,(Case when STARTTIME IS NULL THEN 1 ELSE 0 END) AS STARTNullSort\r
-FROM TBL_TASKS T,TBL_SETTING S LEFT OUTER JOIN MST_CATEGORY C ON C.CATEGID=T.CATEGID WHERE T.ENDTIME IS NULL\r
+FROM TBL_TASKS T,TBL_SETTING S LEFT OUTER JOIN tbl_category C ON C.CATEGID=T.CATEGID WHERE T.ENDTIME IS NULL\r
ORDER BY DATESORT,ENDTIMESORT,T.DODATE,T.TIMEAREA,STARTNULLSORT,STARTTIMESORT,T.SORTID</value>\r
<comment>残り全タスクを表示します。</comment>\r
</data>\r
T.FORCASTMIN,T.STARTTIME,T.ENDTIME,C.BGCOLOR,C.FRCOLOR,T.REPEATFLG,\r
(CASE WHEN T.ENDTIME IS NULL THEN 1 ELSE 0 END) AS ENDTIMESORT,\r
(CASE WHEN T.DODATE =S.TODAY THEN 0 ELSE (CASE WHEN DODATE>S.TODAY THEN 2 ELSE 3 END) END) AS DATESORT,time(startTime) as STARTTIMESORT,(Case when STARTTIME IS NULL THEN 1 ELSE 0 END) AS STARTNullSort\r
-FROM TBL_TASKS T,TBL_SETTING S LEFT OUTER JOIN MST_CATEGORY C ON C.CATEGID=T.CATEGID WHERE DATE(T.DODATE) = DATE(S.TODAY)\r
+FROM TBL_TASKS T,TBL_SETTING S LEFT OUTER JOIN tbl_category C ON C.CATEGID=T.CATEGID WHERE DATE(T.DODATE) = DATE(S.TODAY)\r
ORDER BY DATESORT,ENDTIMESORT,T.DODATE,T.TIMEAREA,STARTNULLSORT,STARTTIMESORT,T.SORTID</value>\r
<comment>今日のタスクを取得します。</comment>\r
</data>\r
<comment>今日の日付を取ってきます</comment>\r
</data>\r
<data name="getALLCategory" xml:space="preserve">\r
- <value>SELECT CategID,Category,BGColor,FRColor FROM MST_CATEGORY ORDER BY CategID</value>\r
+ <value>SELECT CategID,Category,BGColor,FRColor FROM tbl_category ORDER BY CategID</value>\r
<comment>全カテゴリを抽出します。</comment>\r
</data>\r
<data name="getOneTask" xml:space="preserve">\r
- <value>SELECT T.TASKID,T.SORTID,T.DODATE,T.TIMEAREA,T.CATEGID,C.CATEGORY,T.CONTENTS,T.FORCASTMIN,T.STARTTIME,T.ENDTIME,T.REPEATFLG FROM TBL_TASKS T LEFT OUTER JOIN MST_CATEGORY C ON C.CATEGID=T.CATEGID where T.SORTID = ?</value>\r
+ <value>SELECT T.TASKID,T.SORTID,T.DODATE,T.TIMEAREA,T.CATEGID,C.CATEGORY,T.CONTENTS,T.FORCASTMIN,T.STARTTIME,T.ENDTIME,T.REPEATFLG FROM TBL_TASKS T LEFT OUTER JOIN tbl_category C ON C.CATEGID=T.CATEGID where T.SORTID = ?</value>\r
<comment>IDを元にタスクを抽出します。</comment>\r
</data>\r
<data name="updateTask" xml:space="preserve">\r
<comment>日付を変更します。</comment>\r
</data>\r
<data name="getCategoryFromCategId" xml:space="preserve">\r
- <value>SELECT CategID,Category,BGColor,FRColor FROM MST_CATEGORY WHERE CategID = ?</value>\r
+ <value>SELECT CategID,Category,BGColor,FRColor FROM tbl_category WHERE CategID = ?</value>\r
<comment>カテゴリIDからカテゴリを検索します。</comment>\r
</data>\r
<data name="startTask" xml:space="preserve">\r
<comment>次タスクの開始時間を求めるため、当日最後に終了したタスクの終了時間を抽出します。</comment>\r
</data>\r
<data name="clearCategory" xml:space="preserve">\r
- <value>delete from mst_category</value>\r
+ <value>delete from tbl_category</value>\r
<comment>カテゴリをクリアします。</comment>\r
</data>\r
<data name="insertCategory" xml:space="preserve">\r
- <value>INSERT into MST_CATEGORY (CATEGID,CATEGORY,FRCOLOR,BGCOLOR) values(?,?,?,?)</value>\r
+ <value>INSERT into tbl_category (CATEGID,CATEGORY,FRCOLOR,BGCOLOR) values(?,?,?,?)</value>\r
<comment>カテゴリを追加します。</comment>\r
</data>\r
<data name="delayTask" xml:space="preserve">\r
<comment>リンクを削除します。</comment>\r
</data>\r
<data name="clearTimeArea" xml:space="preserve">\r
- <value>delete from mst_timearea</value>\r
+ <value>delete from tbl_timearea</value>\r
<comment>時間帯をクリアします。</comment>\r
</data>\r
<data name="insertTimeArea" xml:space="preserve">\r
- <value>INSERT INTO MST_TIMEAREA (TIMEAREA,START,END) values(?,?,?)</value>\r
+ <value>INSERT INTO tbl_timearea (TIMEAREA,START,END) values(?,?,?)</value>\r
<comment>時間帯を追加します。</comment>\r
</data>\r
<data name="getHelp" xml:space="preserve">\r
T.FORCASTMIN,T.STARTTIME,T.ENDTIME,C.BGCOLOR,C.FRCOLOR,T.REPEATFLG,\r
(CASE WHEN T.ENDTIME IS NULL THEN 1 ELSE 0 END) AS ENDTIMESORT,\r
(CASE WHEN T.DODATE =S.TODAY THEN 0 ELSE (CASE WHEN DODATE>S.TODAY THEN 2 ELSE 3 END) END) AS DATESORT,time(startTime) as STARTTIMESORT,(Case when STARTTIME IS NULL THEN 1 ELSE 0 END) AS STARTNullSort\r
-FROM TBL_TASKS T,TBL_SETTING S LEFT OUTER JOIN MST_CATEGORY C ON C.CATEGID=T.CATEGID \r
+FROM TBL_TASKS T,TBL_SETTING S LEFT OUTER JOIN tbl_category C ON C.CATEGID=T.CATEGID \r
WHERE DATE(T.DODATE) = DATE(S.TODAY) AND T.ENDTIME IS NULL AND T.STARTTIME IS NOT NULL \r
ORDER BY DATESORT,ENDTIMESORT,T.DODATE,T.TIMEAREA,STARTNULLSORT,STARTTIMESORT,T.SORTID</value>\r
<comment>実施中(StartしていてEndしていない)のタスクを抽出します。</comment>\r
<comment>リンク一覧を出力します。</comment>\r
</data>\r
<data name="getAllTimeArea" xml:space="preserve">\r
- <value>SELECT TIMEAREA,START,END FROM MST_TIMEAREA</value>\r
+ <value>SELECT TIMEAREA,START,END FROM tbl_timearea</value>\r
<comment>タイムエリアを取得します。</comment>\r
</data>\r
<data name="getLogMode" xml:space="preserve">\r
<value>UPDATE TBL_TASKS SET SORTID = SORTID * -1 WHERE DATE(DODATE) < (SELECT TODAY FROM TBL_SETTING) AND ENDTIME IS NOT NULL</value>\r
<comment>ソート番号全体を調整します。既に終了した過去分タスクはマイナス扱いとします。(こうすることで、新規発番されるタスクは過去分のソートIDの影響を受けなくなります。マイナス扱いなら最大値にはならないですからね。)</comment>\r
</data>\r
+ <data name="searchTasks" xml:space="preserve">\r
+ <value>SELECT T.TASKID,T.SORTID,T.DODATE,T.TIMEAREA,C.CATEGORY,T.CONTENTS,\r
+T.FORCASTMIN,T.STARTTIME,T.ENDTIME,C.BGCOLOR,C.FRCOLOR,T.REPEATFLG, \r
+(CASE WHEN T.ENDTIME IS NULL THEN 1 ELSE 0 END) AS ENDTIMESORT,\r
+(CASE WHEN T.DODATE =S.TODAY THEN 0 ELSE (CASE WHEN DODATE>S.TODAY THEN 2 ELSE 3 END) END) AS DATESORT,time(startTime) as STARTTIMESORT,(Case when STARTTIME IS NULL THEN 1 ELSE 0 END) AS STARTNullSort\r
+FROM TBL_TASKS T,TBL_SETTING S LEFT OUTER JOIN tbl_category C ON C.CATEGID=T.CATEGID WHERE T.CONTENTS LIKE ? OR C.Category LIKE ?\r
+ORDER BY DATESORT,ENDTIMESORT,T.DODATE,T.TIMEAREA,STARTNULLSORT,STARTTIMESORT,T.SORTID</value>\r
+ <comment>与えられたキーワードをコンテンツに持つタスクを検索します。</comment>\r
+ </data>\r
</root>
\ No newline at end of file
this.txtInput.BackColor = System.Drawing.Color.Black;\r
this.txtInput.Font = new System.Drawing.Font("MS ゴシック", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(128)));\r
this.txtInput.ForeColor = System.Drawing.Color.White;\r
- this.txtInput.Location = new System.Drawing.Point(792, 389);\r
+ this.txtInput.Location = new System.Drawing.Point(792, 387);\r
this.txtInput.Name = "txtInput";\r
this.txtInput.Size = new System.Drawing.Size(388, 19);\r
this.txtInput.TabIndex = 2;\r
this.rConsole.Name = "rConsole";\r
this.rConsole.ReadOnly = true;\r
this.rConsole.ScrollBars = System.Windows.Forms.RichTextBoxScrollBars.ForcedVertical;\r
- this.rConsole.Size = new System.Drawing.Size(388, 379);\r
+ this.rConsole.Size = new System.Drawing.Size(388, 377);\r
this.rConsole.TabIndex = 0;\r
this.rConsole.TabStop = false;\r
this.rConsole.Text = "";\r
// \r
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F);\r
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;\r
- this.ClientSize = new System.Drawing.Size(1184, 412);\r
+ this.ClientSize = new System.Drawing.Size(1184, 410);\r
this.Controls.Add(this.rConsole);\r
this.Controls.Add(this.txtInput);\r
this.Controls.Add(this.panel1);\r
{\r
InitializeComponent();\r
\r
- \r
-\r
List<string> initialText = new List<string>();\r
initialText.Add("#####################################################");\r
initialText.Add("# " + AppInfoContainer.Title + " " + AppInfoContainer.Description);\r
initialText.Add("# " + AppInfoContainer.CopyRight);\r
initialText.Add("# ");\r
initialText.Add("#####################################################");\r
- addMultiText(initialText,true);\r
+ addMultiText(initialText);\r
\r
+ addPrompt();\r
\r
- this.Text = AppInfoContainer.Title + " " + AppInfoContainer.VersionNo;\r
+ this.Text = AppInfoContainer.Title + " " + AppInfoContainer.Description;\r
Echo = true;\r
\r
\r
}\r
- private void btnTest_Click(object sender, EventArgs e)\r
- {\r
-#if debug\r
- DebuggWindow debugWin = new DebuggWindow();\r
- debugWin.StartPosition = FormStartPosition.CenterParent;\r
- debugWin.Owner = this;\r
\r
- DialogResult res = debugWin.ShowDialog();\r
-#endif\r
- }\r
internal void invokeCategSettingDialog(List<CategoryData> arg)\r
{\r
CategorySetting categSetting = new CategorySetting();\r
/// コンソールに文字列を表示します。\r
/// </summary>\r
/// <param name="args">表示したい文字列</param>\r
- /// <param name="suppressPrompt">プロンプト(>)を非表示にする場合はTrue</param>\r
- internal void addText(string args, bool suppressPrompt)\r
- {\r
- string prompt = "> ";\r
- if (suppressPrompt)\r
- {\r
- prompt = string.Empty;\r
- }\r
- rConsole.AppendText(args + System.Environment.NewLine + prompt);\r
- \r
-\r
- }\r
- /// <summary>\r
- /// コンソールに文字列を表示します。\r
- /// </summary>\r
- /// <param name="args">表示したい文字列</param>\r
internal void addText(string args)\r
{\r
- addText(args, false);\r
+ rConsole.AppendText(args + System.Environment.NewLine);\r
+ KybernetesLogger.Log.trace(args);\r
}\r
+\r
/// <summary>\r
/// コンソールに複数文章を追加します。\r
/// </summary>\r
{\r
foreach (string message in messages)\r
{\r
- addText(message,false);\r
+ addText(message);\r
}\r
+ rConsole.AppendText(System.Environment.NewLine);\r
}\r
-\r
- /// <summary>\r
- /// コンソールに複数文章を追加します。\r
- /// </summary>\r
- /// <param name="messages">追加したい文章群</param>\r
- /// <param name="suppressPrompt">プロンプト(>)を非表示にする場合はTrue</param>\r
- internal void addMultiText(List<string> messages,bool suppressPrompt)\r
+ private void addPrompt()\r
{\r
- foreach (string message in messages)\r
- {\r
- addText(message, suppressPrompt);\r
- }\r
- addText(string.Empty, false);\r
+ rConsole.AppendText("> ");\r
}\r
+\r
+\r
/// <summary>\r
/// コンソールをクリアします。\r
/// </summary>\r
}\r
\r
private int lastRow=17;\r
+ /// <summary>\r
+ /// パネルを追加します。\r
+ /// </summary>\r
+ /// <param name="data"></param>\r
internal void addPanel(TaskData data)\r
{\r
- Panel targetPanel = new PanelController().createRow(lastRow,data);\r
+ Panel targetPanel = new PanelController(this).createRow(lastRow,data);\r
+ \r
panel1.Controls.Add(targetPanel);\r
lastRow += targetPanel.Height-1;\r
}\r
\r
/// <summary>\r
+ /// パネルがダブルクリックされた時に対応します。IDをテキストボックスに転記します。\r
+ /// </summary>\r
+ /// <param name="data"></param>\r
+ internal void AddIDToText(string data)\r
+ {\r
+ this.txtInput.Text += data + " ";\r
+ txtInput.Focus();\r
+ this.txtInput.Select(this.txtInput.Text.Length, 0);\r
+\r
+ }\r
+\r
+ /// <summary>\r
/// パネルをクリアします。\r
/// </summary>\r
internal void clearPanel()\r
get;\r
set;\r
}\r
-\r
+ /// <summary>\r
+ /// コマンド入力を受け付けます。\r
+ /// </summary>\r
+ /// <param name="sender"></param>\r
+ /// <param name="e"></param>\r
private void txtInput_KeyDown(object sender, KeyEventArgs e)\r
{\r
switch (e.KeyCode)\r
break;\r
}\r
}\r
-\r
+ /// <summary>\r
+ /// コマンドを実行します\r
+ /// </summary>\r
private void doCommand()\r
{\r
rConsole.Focus();\r
{\r
addText(txtInput.Text);\r
}\r
- KybernetesLogger.Log.trace(txtInput.Text);\r
+ KybernetesLogger.Log.trace("[dispatch]" + txtInput.Text);\r
CmdDispatcher dispatcher = CmdDispatcher.getDispatcher(this);\r
+ \r
string result = dispatcher.dispatch(txtInput.Text.Trim());\r
- if (result != string.Empty)\r
+ if (!string.IsNullOrEmpty(result))\r
{\r
addText(result);\r
}\r
\r
+ addPrompt();\r
+\r
txtInput.Clear();\r
txtInput.ImeMode = ImeMode.Off;\r
\r
-\r
if (exitSwitch == true)\r
{\r
this.Close();\r
/// <returns></returns>\r
internal string showInputBox(string prompt, string defaultData)\r
{\r
- InputBox inputBox = new InputBox(prompt,defaultData);\r
+ return showInputBox(prompt, defaultData, ImeMode.Off);\r
+ }\r
+ /// <summary>\r
+ /// 文字入力ボックスを表示します。\r
+ /// </summary>\r
+ /// <param name="prompt"></param>\r
+ /// <param name="defaultData"></param>\r
+ /// <param name="imeMode"></param>\r
+ /// <returns></returns>\r
+ internal string showInputBox(string prompt, string defaultData, ImeMode imeMode)\r
+ {\r
+ InputBox inputBox = new InputBox(prompt, defaultData);\r
inputBox.StartPosition = FormStartPosition.CenterParent;\r
+ inputBox.ImeMode = imeMode;\r
inputBox.Owner = this;\r
- \r
+\r
\r
DialogResult res = inputBox.ShowDialog();\r
if (res == DialogResult.OK)\r
}\r
return null;\r
}\r
+ /// <summary>\r
+ /// 文字入力ボックスを表示します。\r
+ /// </summary>\r
+ /// <param name="prompt"></param>\r
+ /// <param name="imeMode"></param>\r
+ /// <returns></returns>\r
+ internal string showInputBox(string prompt, ImeMode imeMode)\r
+ {\r
+ return showInputBox(prompt, string.Empty, imeMode);\r
+ }\r
\r
/// <summary>\r
/// 文字入力ボックスを表示します。プロンプトなし版です。\r
return showInputBox("");\r
}\r
\r
+\r
+ /// <summary>\r
+ /// プロンプトで指定した値を(プロンプトがここに)格納します。\r
+ /// </summary>\r
internal string InputDialogData\r
{\r
private get;\r
return null;\r
}\r
\r
+ /// <summary>\r
+ /// マウスでコンソールをドラッグした時に、選択対象を入力ボックスに追加します。\r
+ /// </summary>\r
+ /// <param name="sender"></param>\r
+ /// <param name="e"></param>\r
private void rConsole_MouseUp(object sender, MouseEventArgs e)\r
{\r
- txtInput.Text = rConsole.SelectedText.Trim();\r
+ txtInput.Text += rConsole.SelectedText.Trim();\r
txtInput.Focus();\r
+ this.txtInput.Select(this.txtInput.Text.Length, 0);\r
+ \r
}\r
-\r
-\r
-\r
}\r
}\r
using System.Windows.Forms;\r
using System.Drawing;\r
using com.andoutomo.kybernetes.data.DAO;\r
+using System;\r
\r
namespace com.andoutomo.kybernetes.view\r
{\r
internal class PanelController\r
{\r
+ private BaseForm baseForm;\r
+ internal PanelController(BaseForm form)\r
+ {\r
+ this.baseForm = form;\r
+ }\r
internal Panel createRow(int point,TaskData data)\r
{\r
Panel rowPanel=new Panel();\r
}\r
\r
}\r
+ sortID = data.SortID;\r
+\r
rowPanel.Controls.Add(new CustomLabel(data.Indicator, frColor, bgColor, FontStyle.Regular, 9F, 0, 21, rowsize));\r
rowPanel.Controls.Add(new CustomLabel(data.DoDate.getDateString(), frColor, bgColor, style, 9F, 20, 56, rowsize));\r
rowPanel.Controls.Add(new CustomLabel(data.DoDate.getDowStr(), frColor, bgColor, style, 9F, 75, 26, rowsize));\r
rowPanel.Size = new Size(761, rowsize);\r
\r
rowPanel.TabStop = false;\r
+ foreach (Control eachControls in rowPanel.Controls)\r
+ {\r
+ eachControls.DoubleClick += new System.EventHandler(rowPanelDblClickAction);\r
+ }\r
+\r
return rowPanel;\r
}\r
+ private int sortID;\r
\r
-\r
- \r
+ private void rowPanelDblClickAction(object sender, EventArgs args)\r
+ {\r
+ baseForm.AddIDToText(sortID.ToString());\r
+ }\r
+ \r
+ \r
\r
}\r
\r