2 using com.andoutomo.kybernetes.data.accessor;
\r
3 using com.andoutomo.kybernetes.data.DAO;
\r
4 using System.Collections.Generic;
\r
5 using System.Windows.Forms;
\r
6 using com.andoutomo.kybernetes.data;
\r
8 namespace com.andoutomo.kybernetes.command
\r
10 class AddCommand:AbCommand
\r
13 private string message;
\r
14 protected override bool execute()
\r
16 AddCommandArgs addArgs = (AddCommandArgs)base.argument;
\r
17 TaskData data = addArgs.PreparedTaskData;
\r
19 if (data.Contents == null)
\r
21 data.Contents = form.showInputBox("実施事項を入力してください。",ImeMode.Hiragana);
\r
22 if (data.Contents == null || data.Contents == string.Empty)
\r
24 message = "処理を中断しました。";
\r
28 if (data.DoDate == null)
\r
31 form.showInputBox("日付をyyyyMMddかMMddで入力してください。空の場合は今日とします。");
\r
32 if (dateStr == null)
\r
34 message = "処理を中断しました。";
\r
38 if (dateStr == string.Empty)
\r
40 dateStr = SettingDataAccessor.getObject.getToday().getDateString("yyyyMMdd");
\r
44 data.DoDate = new data.DateComponent(dateStr);
\r
48 message = "日付に不備がありました。お手数ですが最初からやり直してください。";
\r
53 if (data.TimeArea == null)
\r
55 TimeComponent now = TimeComponent.justNow();
\r
56 string defaultTimeArea = TimeAreaDataAccessor.getObject.getDefaultTimeArea(now);
\r
57 if (defaultTimeArea == null || defaultTimeArea == string.Empty)
\r
59 defaultTimeArea = SettingDataAccessor.getObject.getDefaultTimeArea();
\r
61 string wkTimeArea = form.showInputBox("タイムエリアを選択してください(A-Z)",defaultTimeArea);
\r
63 if (wkTimeArea == null || wkTimeArea == string.Empty)
\r
65 message = "処理を中断しました。";
\r
68 data.TimeArea = wkTimeArea.ToUpper();
\r
70 if (data.Category == null)
\r
72 CategoryDataAccessor dataAccessor = CategoryDataAccessor.getObject;
\r
73 //string wkStr = form.showInputBox("カテゴリを記入してください。");
\r
74 List<CategoryData> allList = dataAccessor.getAllCategory();
\r
75 List<SimpleDataBean> dropdownList = new List<SimpleDataBean>();
\r
77 foreach (CategoryData categList in allList)
\r
79 dropdownList.Add(categList.dataForDropDown);
\r
81 string wkStr = form.showDropBoxInputBox(dropdownList,"カテゴリを入力してください。");
\r
85 message = "処理を中断しました。";
\r
89 CategoryData categData = dataAccessor.getCategoryFromName(wkStr);
\r
90 if (categData != null)
\r
92 data.CategID = categData.CategId;
\r
101 data.CategID = addArgs.CategoryID;
\r
103 if (data.ForecastMin == 0)
\r
105 string wkFrcstMin = form.showInputBox("見積時間を分単位で入力してください。","0");
\r
106 if (wkFrcstMin == null)
\r
108 message = "処理を中断しました。";
\r
111 if (wkFrcstMin == string.Empty)
\r
116 if (wkFrcstMin.ToLower().EndsWith("h"))
\r
118 decimal forcastTime;
\r
119 string timestr = wkFrcstMin.Substring(0, wkFrcstMin.Length - 1);
\r
120 if (decimal.TryParse(timestr, out forcastTime))
\r
122 data.ForecastMin = decimal.ToInt32(forcastTime * 60);
\r
127 data.ForecastMin = Convert.ToInt32(wkFrcstMin);
\r
134 TaskDataAccessor taskAccessor = TaskDataAccessor.getObject;
\r
135 data.TaskID = taskAccessor.getMaxTaskID();
\r
136 if (data.SortID == 0)
\r
138 data.SortID = taskAccessor.getMaxSortID();
\r
140 if (taskAccessor.insertTask(data))
\r
142 message = "タスクNo." + data.SortID + "「" + data.Contents + "」を追加しました。";
\r
147 message = "処理途中でエラーが発生しました。";
\r
151 protected override string turnMessage()
\r
156 protected override string turnErrorMessage()
\r
158 if (string.IsNullOrEmpty(message))
\r
160 return base.DefaultErrorMessage;
\r
168 protected override string turnSplitErrorMessage()
\r
170 return base.DefaultSplitErrorMessage;
\r