// すべての値を指定するか、下のように '*' を使ってビルドおよびリビジョン番号を \r
// 既定値にすることができます:\r
// [assembly: AssemblyVersion("1.0.*")]\r
-[assembly: AssemblyVersion("1.1.0.3")]\r
-[assembly: AssemblyFileVersion("1.1.0.3")]\r
+[assembly: AssemblyVersion("1.1.0.4")]\r
+[assembly: AssemblyFileVersion("1.1.0.4")]\r
data.Contents = form.showInputBox("実施事項を入力してください。",ImeMode.Hiragana);\r
if (data.Contents == null || data.Contents == string.Empty)\r
{\r
- message = "書くからには何か実施しましょう。やり直してください。";\r
+ message = "処理を中断しました。";\r
return false;\r
}\r
}\r
form.showInputBox("日付をyyyyMMddかMMddで入力してください。空の場合は今日とします。");\r
if (dateStr == null)\r
{\r
- message = "å\87¦ç\90\86ã\82\92ä¸æ\96ã\81\97ã\81¾ã\81\99。";\r
+ message = "å\87¦ç\90\86ã\82\92ä¸æ\96ã\81\97ã\81¾ã\81\97ã\81\9f。";\r
return false;\r
}\r
\r
if (data.TimeArea == null)\r
{\r
string defaultTimeArea = SettingDataAccessor.getObject.getDefaultTimeArea();\r
- data.TimeArea = form.showInputBox("タイムエリアを選択してください(A-Z)",defaultTimeArea).ToUpper();\r
- if (data.TimeArea == null || data.TimeArea == string.Empty)\r
+ string wkTimeArea = form.showInputBox("タイムエリアを選択してください(A-Z)",defaultTimeArea);\r
+ \r
+ if (wkTimeArea == null || wkTimeArea == string.Empty)\r
{\r
- message = "タイムエリアが選択されませんでした。お手数ですが最初からやり直してください。";\r
+ message = "処理を中断しました。";\r
return false;\r
}\r
+ data.TimeArea = wkTimeArea.ToUpper();\r
}\r
if (data.Category == null)\r
{\r
\r
if (wkStr == null)\r
{\r
- message = "å\87¦ç\90\86ã\82\92ä¸æ\96ã\81\97ã\81¾ã\81\99。";\r
+ message = "å\87¦ç\90\86ã\82\92ä¸æ\96ã\81\97ã\81¾ã\81\97ã\81\9f。";\r
return false;\r
}\r
\r
if (data.ForecastMin == 0)\r
{\r
string wkFrcstMin = form.showInputBox("見積時間を分単位で入力してください。","0");\r
- if (wkFrcstMin == null || wkFrcstMin == string.Empty)\r
+ if (wkFrcstMin == null)\r
+ {\r
+ message = "処理を中断しました。";\r
+ return false;\r
+ }\r
+ if (wkFrcstMin == string.Empty)\r
{\r
wkFrcstMin = "0";\r
\r
//DBへの追加\r
TaskDataAccessor taskAccessor = TaskDataAccessor.getObject;\r
data.TaskID = taskAccessor.getMaxTaskID();\r
- data.SortID = taskAccessor.getMaxSortID();\r
-\r
+ if (data.SortID == 0)\r
+ {\r
+ data.SortID = taskAccessor.getMaxSortID();\r
+ }\r
if (taskAccessor.insertTask(data))\r
{\r
message = "タスクNo." + data.SortID + "「" + data.Contents + "」を追加しました。";\r
\r
protected override string turnErrorMessage()\r
{\r
- return base.DefaultErrorMessage;\r
+ if (string.IsNullOrEmpty(message))\r
+ {\r
+ return base.DefaultErrorMessage;\r
+ }\r
+ else\r
+ {\r
+ return message;\r
+ }\r
}\r
\r
protected override string turnSplitErrorMessage()\r
}\r
\r
break;\r
+ case "N":\r
+ int outInt;\r
+\r
+ if (int.TryParse(optionData[1], out outInt))\r
+ {\r
+ _data.SortID = outInt;\r
+ }\r
+ else\r
+ {\r
+ _data.SortID = 0;\r
+ }\r
+ break;\r
default:\r
//なにもない場合はコンテンツ(最初の記載を是とする)\r
if (_data.Contents == null || _data.Contents == string.Empty)\r
{\r
_data.Contents = optionData[0];\r
+ //コロンを含む場合もあるので一応確認\r
+ for (int i = 1; i < optionData.Length; i++)\r
+ {\r
+ _data.Contents += ":" + optionData[i];\r
+ }\r
}\r
break;\r
}\r
data.Contents = form.showInputBox("実施事項を入力してください。",data.Contents);\r
if (data.Contents == null || data.Contents == string.Empty)\r
{\r
- message = "書くからには何か実施しましょう。やり直してください。";\r
+ message = "処理を中断しました。";\r
return false;\r
}\r
#endregion\r
string dateStr = form.showInputBox("日付をyyyyMMddかMMddで入力してください。空の場合は今日とします。",data.DoDate.getDateString("yyyyMMdd"));\r
if (dateStr == null)\r
{\r
- message = "å\87¦ç\90\86ã\82\92ä¸æ\96ã\81\97ã\81¾ã\81\99。";\r
+ message = "å\87¦ç\90\86ã\82\92ä¸æ\96ã\81\97ã\81¾ã\81\97ã\81\9f。";\r
return false;\r
}\r
\r
data.TimeArea = form.showInputBox("タイムエリアを選択してください(A-Z)",data.TimeArea).ToUpper();\r
if (data.TimeArea == null || data.TimeArea == string.Empty)\r
{\r
- message = "タイムエリアが選択されませんでした。お手数ですが最初からやり直してください。";\r
+ message = "処理を中断しました。";\r
return false;\r
}\r
#endregion\r
\r
if (wkStr == null)\r
{\r
- message = "å\87¦ç\90\86ã\82\92ä¸æ\96ã\81\97ã\81¾ã\81\99。";\r
+ message = "å\87¦ç\90\86ã\82\92ä¸æ\96ã\81\97ã\81¾ã\81\97ã\81\9f。";\r
return false;\r
}\r
\r
string wkFrcstMin = form.showInputBox("見積時間を入力してください。",data.ForecastMin.ToString());\r
if (wkFrcstMin == null || wkFrcstMin == string.Empty)\r
{\r
- wkFrcstMin = "0";\r
+ message = "処理を中断しました。";\r
+ return false;\r
\r
}\r
if (wkFrcstMin.ToLower().EndsWith("h"))\r
foreach (CommentData data in dataList)\r
{\r
dataForConsole.Add("------ " + data.CreateDateStr + " ------");\r
+ if (data.TaskID != 0)\r
+ {\r
+ int sortID = TaskDataAccessor.getObject.getSortIDFromTaskID(data.TaskID);\r
+ if (sortID > 0)\r
+ {\r
+ dataForConsole.Add("-- For TaskNo." + sortID + " --");\r
+ }\r
+ }\r
dataForConsole.Add(data.Comment);\r
}\r
form.addMultiText(dataForConsole);\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\r
{\r
return true;\r
\r
}\r
+ if(_newData.EndTime != null && _newData.EndTime.IsValid == true){\r
+ if (!YesNoDialog.show("本タスクは既に終了しています。終了時間を更新しますか?"))\r
+ {\r
+ message = "処理を中断しました。";\r
+ return true;\r
+ }\r
+ }\r
if (TaskDataAccessor.getObject.endTask(param.sortID, param.EndTime))\r
{\r
if (TaskDataAccessor.getObject.isRepeatTask(param.sortID))\r
default:\r
errorMessage = "予期せぬエラーが発生いたしました。";\r
break;\r
+\r
}\r
return errorMessage;\r
\r
{\r
Unexpected,\r
DataNotFound,\r
+\r
}\r
}\r
\r
return TaskDBConnection.Connection.updateData(SqlDictionary.clearTime, paramList);\r
}\r
+\r
+ /// <summary>\r
+ /// タスクIDからソート番号を逆引きします。主にコメント用です。\r
+ /// </summary>\r
+ /// <param name="taskID"></param>\r
+ /// <returns></returns>\r
+ internal int getSortIDFromTaskID(int taskID)\r
+ {\r
+ List<object> paramList = new List<object>(){taskID};\r
+ int retVal=0;\r
+ TaskDBConnection.Connection.selectData("SELECT SORTID FROM TBL_TASKS WHERE TASKID = ? ", paramList,\r
+ (SQLiteDataReader reader) =>\r
+ {\r
+ if (reader.HasRows)\r
+ {\r
+ reader.Read();\r
+ retVal = Convert.ToInt32(reader["SORTID"].ToString());\r
+ }\r
+ });\r
+ return retVal;\r
+ }\r
}\r
}\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,\r
- ///time(startTime) as STARTTIMESORT,\r
- ///(Case when STARTTIME IS NULL THEN 1 ELSE 0 END) AS STARTNullSort,\r
- ///(Case when exists (SELECT TASKID FROM TBL_COMMENT cm where cm.taskid = T.TASKID) THEN 1 ELSE 0 END) [残りの文字列は切り詰められました]"; に類似しているローカライズされた文字列を検索します。\r
+ /// SELECT TASKID , SORTID , DODATE , TIMEAREA , CATEGORY , CONTENTS , FORCASTMIN , STARTTIME , ENDTIME , BGCOLOR , FRCOLOR , REPEATFLG , HASCOMMENT FROM VW_TASKS_SORT ORDER BY DATESORT,ENDTIMESORT,DODATE,TIMEAREA,STARTNULLSORT,STARTTIMESORT,SORTID に類似しているローカライズされた文字列を検索します。\r
/// </summary>\r
internal static string getAllList {\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
- ///(Case when exists (SELECT TASKID FROM TBL_COMMENT cm where cm.taskid = T.TASKID) THEN 1 ELSE 0 END) AS H [残りの文字列は切り詰められました]"; に類似しているローカライズされた文字列を検索します。\r
+ /// SELECT TASKID , SORTID , DODATE , TIMEAREA , CATEGORY , CONTENTS , FORCASTMIN , STARTTIME , ENDTIME , BGCOLOR , FRCOLOR , REPEATFLG , HASCOMMENT FROM VW_TASKS_SORT WHERE DATE (DODATE) = DATE (? ) ORDER BY DATESORT,ENDTIMESORT,DODATE,TIMEAREA,STARTNULLSORT,STARTTIMESORT,SORTID に類似しているローカライズされた文字列を検索します。\r
/// </summary>\r
internal static string getDailyList {\r
get {\r
}\r
\r
/// <summary>\r
- /// SELECT ID,TASKID,CREATETIME,COMMENT FROM TBL_COMMENT WHERE TASKID is null AND date(CREATETIME) = (SELECT TODAY FROM TBL_SETTING) ORDER BY ID に類似しているローカライズされた文字列を検索します。\r
+ /// SELECT ID,TASKID,CREATETIME,COMMENT FROM TBL_COMMENT WHERE date(CREATETIME) = (SELECT TODAY FROM TBL_SETTING) ORDER BY ID に類似しているローカライズされた文字列を検索します。\r
/// </summary>\r
internal static string getMetaComment {\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,(Case when exists (SELECT TASKID FROM TBL_COMMENT cm where cm.taskid = T.TASKID) THEN 1 ELSE 0 END) AS HASC [残りの文字列は切り詰められました]"; に類似しているローカライズされた文字列を検索します。\r
+ /// SELECT TASKID , SORTID , DODATE , TIMEAREA , CATEGORY , CONTENTS , FORCASTMIN , STARTTIME , ENDTIME , BGCOLOR , FRCOLOR , REPEATFLG , HASCOMMENT FROM VW_TASKS_SORT, TBL_SETTING S WHERE\r
+ /// DATE (DODATE) = DATE (S.TODAY) \r
+ /// AND ENDTIME IS NULL \r
+ /// AND STARTTIME IS NOT NULL ORDER BY DATESORT,ENDTIMESORT,DODATE,TIMEAREA,STARTNULLSORT,STARTTIMESORT,SORTID に類似しているローカライズされた文字列を検索します。\r
/// </summary>\r
internal static string getPwdList {\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,(Case when exists (SELECT TASKID FROM TBL_COMMENT cm where cm.taskid = T.TASKID) THEN 1 ELSE 0 END) AS HAS [残りの文字列は切り詰められました]"; に類似しているローカライズされた文字列を検索します。\r
+ /// SELECT TASKID , SORTID , DODATE , TIMEAREA , CATEGORY , CONTENTS , FORCASTMIN , STARTTIME , ENDTIME , BGCOLOR , FRCOLOR , REPEATFLG , HASCOMMENT FROM VW_TASKS_SORT WHERE ENDTIME IS NULL ORDER BY DATESORT,ENDTIMESORT,DODATE,TIMEAREA,STARTNULLSORT,STARTTIMESORT,SORTID に類似しているローカライズされた文字列を検索します。\r
/// </summary>\r
internal static string getRemainList {\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,(Case when exists (SELECT TASKID FROM TBL_COMMENT cm where cm.taskid = T.TASKID) THEN 1 ELSE 0 END) AS HASC [残りの文字列は切り詰められました]"; に類似しているローカライズされた文字列を検索します。\r
+ /// SELECT TASKID , SORTID , DODATE , TIMEAREA , CATEGORY , CONTENTS , FORCASTMIN , STARTTIME , ENDTIME , BGCOLOR , FRCOLOR , REPEATFLG , HASCOMMENT FROM VW_TASKS_SORT , TBL_SETTING S WHERE DATE (DODATE) = DATE (S.TODAY) ORDER BY DATESORT,ENDTIMESORT,DODATE,TIMEAREA,STARTNULLSORT,STARTTIMESORT,SORTID に類似しているローカライズされた文字列を検索します。\r
/// </summary>\r
internal static string getTodayList {\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,(Case when exists (SELECT TASKID FROM TBL_COMMENT cm where cm.taskid = T.TASKID) THEN 1 ELSE 0 END) AS HAS [残りの文字列は切り詰められました]"; に類似しているローカライズされた文字列を検索します。\r
+ /// SELECT TASKID , SORTID , DODATE , TIMEAREA , CATEGORY , CONTENTS , FORCASTMIN , STARTTIME , ENDTIME , BGCOLOR , FRCOLOR , REPEATFLG , HASCOMMENT FROM VW_TASKS_SORT where CONTENTS LIKE ? OR Category LIKE ? ORDER BY DATESORT,ENDTIMESORT,DODATE,TIMEAREA,STARTNULLSORT,STARTTIMESORT,SORTID に類似しているローカライズされた文字列を検索します。\r
/// </summary>\r
internal static string searchTasks {\r
get {\r
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>\r
</resheader>\r
<data name="getAllList" 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,\r
-time(startTime) as STARTTIMESORT,\r
-(Case when STARTTIME IS NULL THEN 1 ELSE 0 END) AS STARTNullSort,\r
-(Case when exists (SELECT TASKID FROM TBL_COMMENT cm where cm.taskid = T.TASKID) THEN 1 ELSE 0 END) AS HASCOMMENT\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
+ <value>SELECT TASKID , SORTID , DODATE , TIMEAREA , CATEGORY , CONTENTS , FORCASTMIN , STARTTIME , ENDTIME , BGCOLOR , FRCOLOR , REPEATFLG , HASCOMMENT FROM VW_TASKS_SORT ORDER BY DATESORT,ENDTIMESORT,DODATE,TIMEAREA,STARTNULLSORT,STARTTIMESORT,SORTID</value>\r
<comment>全タスクを表示します。</comment>\r
</data>\r
<data name="getCategoryFromCategName" xml:space="preserve">\r
<comment>カテゴリ名からIDを逆引きします。</comment>\r
</data>\r
<data name="getDailyList" 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
-(Case when exists (SELECT TASKID FROM TBL_COMMENT cm where cm.taskid = T.TASKID) THEN 1 ELSE 0 END) AS HASCOMMENT \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
+ <value>SELECT TASKID , SORTID , DODATE , TIMEAREA , CATEGORY , CONTENTS , FORCASTMIN , STARTTIME , ENDTIME , BGCOLOR , FRCOLOR , REPEATFLG , HASCOMMENT FROM VW_TASKS_SORT WHERE DATE (DODATE) = DATE (? ) ORDER BY DATESORT,ENDTIMESORT,DODATE,TIMEAREA,STARTNULLSORT,STARTTIMESORT,SORTID</value>\r
<comment>指定された日付のタスクを取得します。</comment>\r
</data>\r
<data name="getMaxIDofTask" xml:space="preserve">\r
<comment>タスクIDの最大値+1を求めます。</comment>\r
</data>\r
<data name="getRemainList" 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,(Case when exists (SELECT TASKID FROM TBL_COMMENT cm where cm.taskid = T.TASKID) THEN 1 ELSE 0 END) AS HASCOMMENT \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
+ <value>SELECT TASKID , SORTID , DODATE , TIMEAREA , CATEGORY , CONTENTS , FORCASTMIN , STARTTIME , ENDTIME , BGCOLOR , FRCOLOR , REPEATFLG , HASCOMMENT FROM VW_TASKS_SORT WHERE ENDTIME IS NULL ORDER BY DATESORT,ENDTIMESORT,DODATE,TIMEAREA,STARTNULLSORT,STARTTIMESORT,SORTID</value>\r
<comment>残り全タスクを表示します。</comment>\r
</data>\r
<data name="getTodayList" 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,(Case when exists (SELECT TASKID FROM TBL_COMMENT cm where cm.taskid = T.TASKID) THEN 1 ELSE 0 END) AS HASCOMMENT \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
+ <value>SELECT TASKID , SORTID , DODATE , TIMEAREA , CATEGORY , CONTENTS , FORCASTMIN , STARTTIME , ENDTIME , BGCOLOR , FRCOLOR , REPEATFLG , HASCOMMENT FROM VW_TASKS_SORT , TBL_SETTING S WHERE DATE (DODATE) = DATE (S.TODAY) ORDER BY DATESORT,ENDTIMESORT,DODATE,TIMEAREA,STARTNULLSORT,STARTTIMESORT,SORTID</value>\r
<comment>今日のタスクを取得します。</comment>\r
</data>\r
<data name="insertTask" xml:space="preserve">\r
<comment>時間帯を追加します。</comment>\r
</data>\r
<data name="getPwdList" 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,(Case when exists (SELECT TASKID FROM TBL_COMMENT cm where cm.taskid = T.TASKID) THEN 1 ELSE 0 END) AS HASCOMMENT \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
+ <value>SELECT TASKID , SORTID , DODATE , TIMEAREA , CATEGORY , CONTENTS , FORCASTMIN , STARTTIME , ENDTIME , BGCOLOR , FRCOLOR , REPEATFLG , HASCOMMENT FROM VW_TASKS_SORT, TBL_SETTING S WHERE\r
+ DATE (DODATE) = DATE (S.TODAY) \r
+ AND ENDTIME IS NULL \r
+ AND STARTTIME IS NOT NULL ORDER BY DATESORT,ENDTIMESORT,DODATE,TIMEAREA,STARTNULLSORT,STARTTIMESORT,SORTID</value>\r
<comment>実施中(StartしていてEndしていない)のタスクを抽出します。</comment>\r
</data>\r
<data name="changeAreaOfTask" xml:space="preserve">\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,(Case when exists (SELECT TASKID FROM TBL_COMMENT cm where cm.taskid = T.TASKID) THEN 1 ELSE 0 END) AS HASCOMMENT \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
+ <value>SELECT TASKID , SORTID , DODATE , TIMEAREA , CATEGORY , CONTENTS , FORCASTMIN , STARTTIME , ENDTIME , BGCOLOR , FRCOLOR , REPEATFLG , HASCOMMENT FROM VW_TASKS_SORT where CONTENTS LIKE ? OR Category LIKE ? ORDER BY DATESORT,ENDTIMESORT,DODATE,TIMEAREA,STARTNULLSORT,STARTTIMESORT,SORTID</value>\r
<comment>与えられたキーワードをコンテンツに持つタスクを検索します。</comment>\r
</data>\r
<data name="clearMetaComment" xml:space="preserve">\r
<comment>当該タスクに関するコメントを照会します。</comment>\r
</data>\r
<data name="getMetaComment" xml:space="preserve">\r
- <value>SELECT ID,TASKID,CREATETIME,COMMENT FROM TBL_COMMENT WHERE TASKID is null AND date(CREATETIME) = (SELECT TODAY FROM TBL_SETTING) ORDER BY ID</value>\r
+ <value>SELECT ID,TASKID,CREATETIME,COMMENT FROM TBL_COMMENT WHERE date(CREATETIME) = (SELECT TODAY FROM TBL_SETTING) ORDER BY ID</value>\r
<comment>当日のメタコメントを参照します。</comment>\r
</data>\r
<data name="insertComment" xml:space="preserve">\r
/// </summary>\r
internal void clearPanel()\r
{\r
- pnlTask.Controls.Clear();\r
+\r
+ int dummy = pnlTask.Controls.Count;\r
+ for (int h = dummy; h > 0; h--)\r
+ {\r
+ Control ctrl = pnlTask.Controls[h - 1];\r
+ for (int i = ctrl.Controls.Count; i > 0; i--)\r
+ {\r
+ ctrl.Controls[i - 1].Dispose();\r
+ }\r
+ \r
+ ctrl.Dispose();\r
+ }\r
+\r
+ //pnlTask.Controls.Clear();\r
+\r
//先頭行は足す\r
pnlTask.Controls.Add(new CaptionPanelController().createRow(this.pnlTask.Width));\r
lastRow = 17;\r
private void txtInput_KeyDown(object sender, KeyEventArgs e)\r
{\r
int currentYPosition;\r
+ int currentScrollHeight = this.pnlTask.Height - 20;\r
switch (e.KeyCode)\r
{\r
case Keys.Enter:\r
case Keys.Up:\r
e.SuppressKeyPress = true;\r
txtInput.Text = history.prevCommand();\r
+ txtInput.Select(this.txtInput.Text.Length, 0);\r
break;\r
case Keys.Down:\r
e.SuppressKeyPress = true;\r
txtInput.Text = history.nextCommand();\r
+ txtInput.Select(this.txtInput.Text.Length, 0);\r
break;\r
\r
case Keys.PageDown:\r
currentYPosition = Math.Abs(this.pnlTask.AutoScrollPosition.Y);\r
- this.pnlTask.AutoScrollPosition = new Point(0, currentYPosition + 380);\r
+ this.pnlTask.AutoScrollPosition = new Point(0, currentYPosition + currentScrollHeight);\r
break;\r
\r
case Keys.PageUp:\r
currentYPosition = Math.Abs(this.pnlTask.AutoScrollPosition.Y);\r
- this.pnlTask.AutoScrollPosition = new Point(0, currentYPosition - 380);\r
+ this.pnlTask.AutoScrollPosition = new Point(0, currentYPosition - currentScrollHeight);\r
break;\r
}\r
}\r
this.txtInput.Select(this.txtInput.Text.Length, 0);\r
\r
}\r
+ /// <summary>\r
+ /// ウィンドウ全体のサイズ変更時イベントハンドラです。\r
+ /// </summary>\r
+ /// <param name="sender"></param>\r
+ /// <param name="e"></param>\r
private void BaseForm_ResizeEnd(object sender, EventArgs e)\r
{\r
panelResize();\r
\r
}\r
-\r
+ /// <summary>\r
+ /// タスクパネルの大きさ調整を行います。\r
+ /// 起動されるのは、ウィンドウ全体のサイズ変更時、及びコマンド実行時です。\r
+ /// </summary>\r
private void panelResize()\r
{\r
pnlTask.Size = new Size(this.Size.Width - 420, this.Size.Height - 50);\r
{\r
internal Panel createRow(int totalRowSize)\r
{\r
- int wkContentSize = totalRowSize - 570;\r
- int wkDelaySize = wkContentSize - 210;\r
+ int wkContentSize = totalRowSize - 569;\r
+ int wkDelaySize = wkContentSize - 211;\r
\r
Panel rowPanel = new Panel();\r
rowPanel.Controls.Add(new CustomLabel("□", Color.FromArgb(0, 0, 0), Color.FromArgb(255, 255, 255), FontStyle.Regular, 9F, 0, 21, 16, ContentAlignment.MiddleCenter));\r
rowPanel.Controls.Add(new CustomLabel("C", Color.FromArgb(0, 0, 0), Color.FromArgb(255, 255, 255), FontStyle.Regular, 9F, wkDelaySize + 740, 21, 16, ContentAlignment.MiddleCenter));\r
\r
rowPanel.Location = new Point(0, 0);\r
- rowPanel.Size = new Size(wkContentSize + 570 - 19, 16);\r
+ rowPanel.Size = new Size(wkContentSize + 550, 16);\r
\r
rowPanel.TabStop = false;\r
\r
// \r
this.cmbSelect.AutoCompleteMode = System.Windows.Forms.AutoCompleteMode.Suggest;\r
this.cmbSelect.AutoCompleteSource = System.Windows.Forms.AutoCompleteSource.ListItems;\r
- this.cmbSelect.Font = new System.Drawing.Font("MS ゴシック", 11.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(128)));\r
+ this.cmbSelect.Font = new System.Drawing.Font("MS ゴシック", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(128)));\r
this.cmbSelect.FormattingEnabled = true;\r
- this.cmbSelect.Location = new System.Drawing.Point(20, 27);\r
+ this.cmbSelect.Location = new System.Drawing.Point(20, 21);\r
this.cmbSelect.Name = "cmbSelect";\r
- this.cmbSelect.Size = new System.Drawing.Size(252, 23);\r
+ this.cmbSelect.Size = new System.Drawing.Size(252, 20);\r
this.cmbSelect.TabIndex = 0;\r
// \r
// lblTitle\r
// \r
this.lblTitle.AutoSize = true;\r
- this.lblTitle.Font = new System.Drawing.Font("MS ゴシック", 11.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(128)));\r
- this.lblTitle.Location = new System.Drawing.Point(6, 9);\r
+ this.lblTitle.Font = new System.Drawing.Font("MS ゴシック", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(128)));\r
+ this.lblTitle.Location = new System.Drawing.Point(6, 4);\r
this.lblTitle.Name = "lblTitle";\r
- this.lblTitle.Size = new System.Drawing.Size(15, 15);\r
+ this.lblTitle.Size = new System.Drawing.Size(11, 12);\r
this.lblTitle.TabIndex = 1;\r
this.lblTitle.Text = "-";\r
// \r
// btnOk\r
// \r
- this.btnOk.Location = new System.Drawing.Point(116, 56);\r
+ this.btnOk.Location = new System.Drawing.Point(116, 44);\r
this.btnOk.Name = "btnOk";\r
this.btnOk.Size = new System.Drawing.Size(75, 23);\r
this.btnOk.TabIndex = 2;\r
// btnCancel\r
// \r
this.btnCancel.DialogResult = System.Windows.Forms.DialogResult.Cancel;\r
- this.btnCancel.Location = new System.Drawing.Point(197, 56);\r
+ this.btnCancel.Location = new System.Drawing.Point(197, 44);\r
this.btnCancel.Name = "btnCancel";\r
this.btnCancel.Size = new System.Drawing.Size(75, 23);\r
this.btnCancel.TabIndex = 3;\r
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F);\r
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;\r
this.CancelButton = this.btnCancel;\r
- this.ClientSize = new System.Drawing.Size(284, 84);\r
+ this.ClientSize = new System.Drawing.Size(284, 71);\r
this.ControlBox = false;\r
this.Controls.Add(this.btnCancel);\r
this.Controls.Add(this.btnOk);\r
// lblPrompt\r
// \r
this.lblPrompt.AutoSize = true;\r
- this.lblPrompt.Font = new System.Drawing.Font("MS ゴシック", 11.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(128)));\r
+ this.lblPrompt.Font = new System.Drawing.Font("MS ゴシック", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(128)));\r
this.lblPrompt.Location = new System.Drawing.Point(3, 3);\r
this.lblPrompt.Name = "lblPrompt";\r
- this.lblPrompt.Size = new System.Drawing.Size(15, 15);\r
+ this.lblPrompt.Size = new System.Drawing.Size(11, 12);\r
this.lblPrompt.TabIndex = 0;\r
this.lblPrompt.Text = "-";\r
// \r
// txtDialogInput\r
// \r
- this.txtDialogInput.Font = new System.Drawing.Font("MS ゴシック", 11.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(128)));\r
- this.txtDialogInput.Location = new System.Drawing.Point(6, 31);\r
+ this.txtDialogInput.Font = new System.Drawing.Font("MS ゴシック", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(128)));\r
+ this.txtDialogInput.Location = new System.Drawing.Point(6, 20);\r
this.txtDialogInput.Name = "txtDialogInput";\r
- this.txtDialogInput.Size = new System.Drawing.Size(469, 22);\r
+ this.txtDialogInput.Size = new System.Drawing.Size(469, 19);\r
this.txtDialogInput.TabIndex = 1;\r
this.txtDialogInput.KeyDown += new System.Windows.Forms.KeyEventHandler(this.textBox_KeyDown);\r
// \r
// btnOK\r
// \r
this.btnOK.DialogResult = System.Windows.Forms.DialogResult.OK;\r
- this.btnOK.Location = new System.Drawing.Point(481, 33);\r
+ this.btnOK.Location = new System.Drawing.Point(481, 20);\r
this.btnOK.Name = "btnOK";\r
this.btnOK.Size = new System.Drawing.Size(62, 20);\r
this.btnOK.TabIndex = 2;\r
// btnCancel\r
// \r
this.btnCancel.DialogResult = System.Windows.Forms.DialogResult.Cancel;\r
- this.btnCancel.Location = new System.Drawing.Point(549, 33);\r
+ this.btnCancel.Location = new System.Drawing.Point(549, 20);\r
this.btnCancel.Name = "btnCancel";\r
this.btnCancel.Size = new System.Drawing.Size(62, 20);\r
this.btnCancel.TabIndex = 3;\r
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F);\r
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;\r
this.CancelButton = this.btnCancel;\r
- this.ClientSize = new System.Drawing.Size(614, 62);\r
+ this.ClientSize = new System.Drawing.Size(614, 52);\r
this.ControlBox = false;\r
this.Controls.Add(this.btnCancel);\r
this.Controls.Add(this.btnOK);\r
\r
int wkPanelSize = baseForm.getPanelSize();\r
\r
- int wkContentSize = wkPanelSize - 570;\r
- int wkDelaySize = wkContentSize - 210;\r
+ int wkContentSize = wkPanelSize - 569;\r
+ int wkDelaySize = wkContentSize - 211;\r
sortID = data.SortID;\r
\r
rowPanel.Controls.Add(new CustomLabel(data.Indicator, frColor, bgColor, FontStyle.Regular, 9F, 0, 21, rowsize,ContentAlignment.MiddleCenter));\r
rowPanel.Controls.Add(new CustomLabel(data.TimeArea, frColor, bgColor, style, 9F, 100, 21, rowsize,ContentAlignment.MiddleCenter));\r
rowPanel.Controls.Add(new CustomLabel(data.SortID.ToString(), frColor, bgColor, style, 9F, 120, 41, rowsize,ContentAlignment.MiddleRight));\r
rowPanel.Controls.Add(new CustomLabel(data.Category, frColor, bgColor, style, 9F, 160, 81, rowsize));\r
- rowPanel.Controls.Add(new CustomLabel(data.Contents, frColor, bgColor, style, 9F, 240, wkContentSize + 1, rowsize));\r
+ rowPanel.Controls.Add(new CustomLabel(data.Contents, frColor, bgColor, style, 9F, 240, wkContentSize, rowsize));\r
rowPanel.Controls.Add(new CustomLabel(data.getForcastHourStr, frColor, bgColor, timeStyle, fontsize, wkDelaySize + 450, 51, rowsize,ContentAlignment.MiddleRight));\r
rowPanel.Controls.Add(new CustomLabel(data.ForecastMin.ToString(), frColor, bgColor, timeStyle, fontsize, wkDelaySize + 500, 51, rowsize, ContentAlignment.MiddleRight));\r
rowPanel.Controls.Add(new CustomLabel(data.RealMin.ToString(), frColor, bgColor, timeStyle, fontsize, wkDelaySize + 550, 51, rowsize, ContentAlignment.MiddleRight));\r
baseForm.AddIDToText(sortID.ToString());\r
}\r
\r
- \r
- \r
}\r
\r
internal class CustomLabel:Label\r
{\r
this.TextAlign = align;\r
}\r
+\r
}\r
}\r
// \r
// TimeareaListBox\r
// \r
+ this.TimeareaListBox.Font = new System.Drawing.Font("MS ゴシック", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(128)));\r
this.TimeareaListBox.FormattingEnabled = true;\r
this.TimeareaListBox.ItemHeight = 12;\r
this.TimeareaListBox.Location = new System.Drawing.Point(3, 12);\r
// \r
// txtArea\r
// \r
- this.txtArea.Font = new System.Drawing.Font("MS UI Gothic", 11.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(128)));\r
+ this.txtArea.Font = new System.Drawing.Font("MS ゴシック", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(128)));\r
this.txtArea.Location = new System.Drawing.Point(78, 166);\r
this.txtArea.MaxLength = 1;\r
this.txtArea.Name = "txtArea";\r
- this.txtArea.Size = new System.Drawing.Size(19, 22);\r
+ this.txtArea.Size = new System.Drawing.Size(19, 19);\r
this.txtArea.TabIndex = 1;\r
// \r
// txtFrom\r
// \r
- this.txtFrom.Font = new System.Drawing.Font("MS UI Gothic", 11.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(128)));\r
+ this.txtFrom.Font = new System.Drawing.Font("MS ゴシック", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(128)));\r
this.txtFrom.Location = new System.Drawing.Point(103, 166);\r
this.txtFrom.MaxLength = 5;\r
this.txtFrom.Name = "txtFrom";\r
- this.txtFrom.Size = new System.Drawing.Size(50, 22);\r
+ this.txtFrom.Size = new System.Drawing.Size(50, 19);\r
this.txtFrom.TabIndex = 2;\r
// \r
// txtTo\r
// \r
- this.txtTo.Font = new System.Drawing.Font("MS UI Gothic", 11.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(128)));\r
+ this.txtTo.Font = new System.Drawing.Font("MS ゴシック", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(128)));\r
this.txtTo.Location = new System.Drawing.Point(187, 166);\r
this.txtTo.MaxLength = 5;\r
this.txtTo.Name = "txtTo";\r
- this.txtTo.Size = new System.Drawing.Size(50, 22);\r
+ this.txtTo.Size = new System.Drawing.Size(50, 19);\r
this.txtTo.TabIndex = 3;\r
// \r
// label1\r