--- /dev/null
+using System;\r
+using System.Collections.Generic;\r
+using com.andoutomo.kybernetes.data.DAO;\r
+using com.andoutomo.kybernetes.data.accessor;\r
+\r
+namespace com.andoutomo.kybernetes.command\r
+{\r
+ class UpdateCommand:AbCommand\r
+ {\r
+ string message;\r
+ protected override bool execute()\r
+ {\r
+ UpdateCommandArg param = (UpdateCommandArg)argument;\r
+ TaskData data = param.PreparedTaskData;\r
+ if (data == null)\r
+ {\r
+ base.errorType = ErrorType.DataNotFound;\r
+ return false;\r
+ }\r
+ if (param.changeDialog)\r
+ {\r
+ #region 実施事項\r
+ data.Contents = form.showInputBox("実施事項を入力してください。",data.Contents);\r
+ if (data.Contents == null || data.Contents == string.Empty)\r
+ {\r
+ message = "処理を中断しました。";\r
+ return false;\r
+ }\r
+ #endregion\r
+ #region 実行日付\r
+ string dateStr = form.showInputBox("日付をyyyyMMddかMMddで入力してください。空の場合は今日とします。",data.DoDate.getDateString("yyyyMMdd"));\r
+ if (dateStr == null)\r
+ {\r
+ message = "処理を中断しました。";\r
+ return false;\r
+ }\r
+\r
+ if (dateStr == string.Empty)\r
+ {\r
+ dateStr = DateTime.Today.ToString("yyyyMMdd");\r
+ }\r
+ try\r
+ {\r
+ data.DoDate = new data.DateComponent(dateStr);\r
+ }\r
+ catch (Exception e)\r
+ {\r
+ message = "日付に不備がありました。お手数ですが最初からやり直してください。";\r
+ return false;\r
+ }\r
+ #endregion\r
+ #region タイムエリア\r
+ data.TimeArea = form.showInputBox("タイムエリアを選択してください(A-Z)",data.TimeArea).ToUpper();\r
+ if (data.TimeArea == null || data.TimeArea == string.Empty)\r
+ {\r
+ message = "処理を中断しました。";\r
+ return false;\r
+ }\r
+ #endregion\r
+ #region カテゴリ\r
+ CategoryDataAccessor dataAccessor = CategoryDataAccessor.getObject;\r
+ //string wkStr = form.showInputBox("カテゴリを記入してください。");\r
+ List<CategoryData> allList = dataAccessor.getAllCategory();\r
+ List<SimpleDataBean> dropdownList = new List<SimpleDataBean>();\r
+\r
+ foreach (CategoryData categList in allList)\r
+ {\r
+ dropdownList.Add(categList.dataForDropDown);\r
+ }\r
+\r
+ CategoryData selectedCategory = dataAccessor.getCategoryFromID(data.CategID);\r
+ string wkStr;\r
+ if (selectedCategory == null)\r
+ {\r
+ wkStr = form.showDropBoxInputBox(dropdownList, "カテゴリを入力してください。");\r
+ }\r
+ else\r
+ {\r
+ wkStr = form.showDropBoxInputBox(dropdownList, "カテゴリを入力してください。", selectedCategory.Category);\r
+ }\r
+\r
+ if (wkStr == null)\r
+ {\r
+ message = "処理を中断しました。";\r
+ return false;\r
+ }\r
+\r
+ CategoryData categData = dataAccessor.getCategoryFromName(wkStr);\r
+ if (categData != null)\r
+ {\r
+ data.CategID = categData.CategId;\r
+ }\r
+ else\r
+ {\r
+ data.CategID = 99;\r
+ }\r
+ #endregion\r
+\r
+ string wkFrcstMin = form.showInputBox("見積時間を入力してください。",data.ForecastMin.ToString());\r
+ if (wkFrcstMin == null || wkFrcstMin == string.Empty)\r
+ {\r
+ message = "処理を中断しました。";\r
+ return false;\r
+\r
+ }\r
+ if (wkFrcstMin.ToLower().EndsWith("h"))\r
+ {\r
+ decimal forcastTime;\r
+ string timestr = wkFrcstMin.Substring(0, wkFrcstMin.Length - 1);\r
+ if (decimal.TryParse(timestr, out forcastTime))\r
+ {\r
+ data.ForecastMin = decimal.ToInt32(forcastTime * 60);\r
+ }\r
+ }\r
+ else\r
+ {\r
+ data.ForecastMin = Convert.ToInt32(wkFrcstMin);\r
+ }\r
+ }\r
+\r
+ TaskDataAccessor accessor = TaskDataAccessor.getObject;\r
+ \r
+ //成功した場合のメッセージをここで作っておく\r
+ message = "タスクNo." + data.SortID + "を更新しました。";\r
+ return accessor.updateTask(data);\r
+\r
+ }\r
+\r
+ protected override string turnMessage()\r
+ {\r
+ return message;\r
+ }\r
+\r
+ protected override string turnErrorMessage()\r
+ {\r
+ if (message == string.Empty)\r
+ {\r
+ return base.DefaultErrorMessage;\r
+ }\r
+ else\r
+ {\r
+ return message;\r
+ }\r
+ }\r
+\r
+ protected override string turnSplitErrorMessage()\r
+ {\r
+ return base.DefaultSplitErrorMessage;\r
+ }\r
+ }\r
+}\r