--- /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 SimulateCommand:AbCommand\r
+ {\r
+ string message;\r
+ protected override bool execute()\r
+ {\r
+ SimulateCommandArg param = (SimulateCommandArg)argument;\r
+ DateComponent searchDate = param.targetDate;\r
+\r
+ DateComponent todayDate = SettingDataAccessor.getObject.getToday();\r
+ TaskDataAccessor dataAccess = TaskDataAccessor.getObject;\r
+ List<TaskData> dataList;\r
+ List<string> retList = new List<string>();\r
+\r
+ if (searchDate != null)\r
+ {\r
+ dataList = dataAccess.getDailyTaskList(searchDate);\r
+ }\r
+ else\r
+ {\r
+ dataList = dataAccess.getToDayTaskList();\r
+ }\r
+ if (dataList.Count == 0)\r
+ {\r
+ message = "対象タスクがありません。";\r
+ return false;\r
+ }\r
+ TimeComponent baseTime = TimeComponent.justNow();\r
+ \r
+ retList.Add("現在の時刻 " + baseTime.ToString());\r
+ retList.Add(string.Empty);\r
+ bool alreadySetFlg = false;\r
+ foreach (TaskData data in dataList)\r
+ {\r
+ if (data.isComplete)\r
+ {\r
+ continue;\r
+ }\r
+ else if (data.StartTime.IsValid)\r
+ {\r
+ //実行中のタスクを開始時間として取得していない場合\r
+ if (alreadySetFlg)\r
+ {\r
+ continue;\r
+ }\r
+ //既に取得している場合は、二重取得をしない。\r
+ else\r
+ {\r
+ baseTime = data.StartTime;\r
+ alreadySetFlg = true;\r
+ }\r
+ }\r
+\r
+ string wkStartTime = baseTime.ToString();\r
+ baseTime.add(data.ForecastMin);\r
+ string wkEndTime = baseTime.ToString();\r
+\r
+ retList.Add(" " + data.SortID + " " + wkStartTime + " ~ " + wkEndTime + " " + data.Contents);\r
+\r
+ }\r
+ retList.Add(string.Empty);\r
+ retList.Add("終了予定時間 " + baseTime.ToString());\r
+\r
+ form.addMultiText(retList);\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 string.IsNullOrEmpty(message) ? base.DefaultErrorMessage : message;\r
+ }\r
+\r
+ protected override string turnSplitErrorMessage()\r
+ {\r
+ return base.DefaultSplitErrorMessage;\r
+ }\r
+ }\r
+}\r