+++ /dev/null
-using System.Collections.Generic;\r
-using com.andoutomo.kybernetes.data.DAO;\r
-using com.andoutomo.kybernetes.data.accessor;\r
-using com.andoutomo.kybernetes.data;\r
-\r
-namespace com.andoutomo.kybernetes.command\r
-{\r
- class UpdateCommandArg:CommandArg\r
- {\r
- TaskData _data;\r
- \r
-\r
- internal TaskData PreparedTaskData\r
- {\r
- get { return _data; }\r
- }\r
-\r
- internal bool changeDialog\r
- {\r
- get;\r
- private set;\r
- }\r
-\r
- public void split(string arguments)\r
- {\r
- string[] spaceSplitData = arguments.Split(' ');\r
- \r
- string sortID = spaceSplitData[1];\r
- List<string> otherParamList = new List<string>();\r
- for (int i = 2; i < spaceSplitData.Length; i++)\r
- {\r
- otherParamList.Add(spaceSplitData[i]);\r
- }\r
- TaskDataAccessor taskAccessor = TaskDataAccessor.getObject;\r
-\r
- int sortIDNum;\r
- if (int.TryParse(sortID, out sortIDNum))\r
- {\r
- _data = taskAccessor.getTask(sortIDNum);\r
-\r
- }\r
- else\r
- {\r
- _data = null;\r
- return;\r
- }\r
-\r
- changeDialog = true;\r
- foreach (string options in otherParamList)\r
- {\r
- string[] optionData = options.Split(':');\r
- switch (optionData[0].ToUpper())\r
- {\r
- case "@":\r
- //時間帯\r
- if (optionData[1].Length == 1)\r
- {\r
- _data.TimeArea = optionData[1];\r
- changeDialog = false;\r
- }\r
- break;\r
- case "D":\r
- //日付\r
- if (optionData[1].Length == 4 || optionData[1].Length == 8)\r
- {\r
- _data.DoDate = new DateComponent(optionData[1]);\r
- changeDialog = false;\r
- }\r
- break;\r
- case "C":\r
- //カテゴリ\r
- \r
- CategoryData categData = CategoryDataAccessor.getObject.getCategoryFromName(optionData[1]);\r
- if (categData != null)\r
- {\r
- _data.Category = optionData[1];\r
- _data.CategID = categData.CategId;\r
- \r
- changeDialog = false;\r
- }\r
- break;\r
- case "F":\r
- decimal forcastTime;\r
- string timestr;\r
- if (optionData[1].ToLower().EndsWith("h"))\r
- {\r
- timestr = optionData[1].Substring(0, optionData[1].Length - 1);\r
- if (decimal.TryParse(timestr, out forcastTime))\r
- {\r
- _data.ForecastMin = decimal.ToInt32(forcastTime * 60);\r
- changeDialog = false;\r
- }\r
- }\r
- else if (decimal.TryParse(optionData[1], out forcastTime))\r
- {\r
- _data.ForecastMin = decimal.ToInt32(forcastTime);\r
- changeDialog = false;\r
- }\r
-\r
- break;\r
- default:\r
- //なにもない場合はコンテンツ(最初の記載を是とする)\r
- if (!string.IsNullOrEmpty(_data.Contents))\r
- {\r
- _data.Contents = optionData[0];\r
- changeDialog = false;\r
- }\r
- break;\r
- }\r
- }\r
- }\r
-\r
- public bool getSplitResult()\r
- {\r
- return _data != null;\r
- }\r
- }\r
-}\r