2 using System.Collections.Generic;
\r
5 using com.andoutomo.kybernetes.data.accessor;
\r
6 using com.andoutomo.kybernetes.data.DAO;
\r
7 using com.andoutomo.kybernetes.data;
\r
8 using com.andoutomo.kybernetes.view;
\r
9 using System.Windows.Forms;
\r
11 namespace com.andoutomo.kybernetes.command.Control
\r
13 class ReportCommand:AbCommand
\r
16 ReportCommandArg param;
\r
17 protected override bool execute()
\r
19 param = (ReportCommandArg)argument;
\r
21 TaskData _newData = TaskDataAccessor.getObject.getTask(param.sortID);
\r
22 if (_newData == null)
\r
24 base.errorType = ErrorType.DataNotFound;
\r
27 if (_newData.StartTime == null || _newData.StartTime.IsValid == false)
\r
29 TaskDataAccessor.getObject.startTask(_newData.SortID, TaskDataAccessor.getObject.getNextStartTime(_newData.DoDate));
\r
31 if(_newData.EndTime != null && _newData.EndTime.IsValid == true){
\r
32 if (!YesNoDialog.show("本タスクは既に終了しています。終了時間を更新しますか?"))
\r
34 message = "処理を中断しました。";
\r
38 if (TaskDataAccessor.getObject.endTask(param.sortID, param.reportTime))
\r
40 string endingComment = form.showInputBox("お疲れ様でした。本タスクへのコメントをどうぞ。", ImeMode.Hiragana);
\r
41 if (!string.IsNullOrEmpty(endingComment))
\r
43 CommentData data = new CommentData();
\r
44 data.TaskID = _newData.TaskID;
\r
45 data.Comment = endingComment;
\r
47 CommentDataAccessor.getObject.insertComment(data);
\r
49 if (TaskDataAccessor.getObject.isRepeatTask(param.sortID))
\r
51 string nextDay = form.showInputBox("次回は何日後ですか?0の場合は繰り返しません。","1");
\r
54 _newData.DoDate.addDate(int.Parse(nextDay));
\r
55 _newData.TaskID = TaskDataAccessor.getObject.getMaxTaskID();
\r
56 _newData.SortID = TaskDataAccessor.getObject.getMaxSortID();
\r
59 //_newData.CategID = CategoryDataAccessor.getObject.getCategoryFromName(_newData.Category).CategId;
\r
61 TaskDataAccessor.getObject.insertTask(_newData);
\r
63 //リピート対象としたタスクは複製後もリピート対象とする。
\r
64 TaskDataAccessor.getObject.setRepeatTask(_newData.SortID, true);
\r
66 message = "タスク " + param.sortID + " を終了します。次回は" + _newData.DoDate.getDateString() + "です。";
\r
70 message = "タスク " + param.sortID + " を終了します。";
\r
76 protected override string turnMessage()
\r
81 protected override string turnErrorMessage()
\r
83 return base.DefaultErrorMessage;
\r
86 protected override string turnSplitErrorMessage()
\r
88 return base.DefaultSplitErrorMessage;
\r