1 using com.andoutomo.kybernetes.data;
\r
2 using com.andoutomo.kybernetes.data.accessor;
\r
3 using com.andoutomo.kybernetes.data.DAO;
\r
5 namespace com.andoutomo.kybernetes.command
\r
7 class AddCommandArgs:CommandArg
\r
9 private TaskData _data;
\r
10 private int _categoryID;
\r
12 public TaskData PreparedTaskData
\r
14 get { return _data; }
\r
16 public int CategoryID
\r
18 get { return _categoryID; }
\r
21 public void split(string arguments)
\r
23 _data = new TaskData();
\r
24 string[] spaceSplitData = arguments.Split(' ');
\r
25 string command = spaceSplitData[0].ToLower();
\r
26 foreach (string options in spaceSplitData)
\r
28 if (string.Equals(command,options.ToLower())) { continue; }
\r
29 string[] optionData = options.Split(':');
\r
30 switch (optionData[0].ToUpper())
\r
34 if (optionData[1].Length == 1)
\r
36 _data.TimeArea = optionData[1];
\r
41 if (optionData[1].Length == 4 || optionData[1].Length == 8)
\r
43 _data.DoDate = new DateComponent(optionData[1]);
\r
48 CategoryDataAccessor dataAccessor = CategoryDataAccessor.getObject;
\r
49 CategoryData categData = dataAccessor.getCategoryFromName(optionData[1]);
\r
50 if (categData != null)
\r
52 _data.Category = optionData[1];
\r
53 _categoryID = categData.CategId;
\r
57 decimal forcastTime;
\r
59 if (optionData[1].ToLower().EndsWith("h"))
\r
61 timestr = optionData[1].Substring(0, optionData[1].Length - 1);
\r
62 if (decimal.TryParse(timestr, out forcastTime))
\r
64 _data.ForecastMin = decimal.ToInt32(forcastTime * 60);
\r
67 else if (decimal.TryParse(optionData[1], out forcastTime))
\r
69 _data.ForecastMin = decimal.ToInt32(forcastTime);
\r
76 if (int.TryParse(optionData[1], out outInt))
\r
78 _data.SortID = outInt;
\r
86 //なにもない場合はコンテンツ(最初の記載を是とする)
\r
87 if (_data.Contents == null || _data.Contents == string.Empty)
\r
89 _data.Contents = optionData[0];
\r
91 for (int i = 1; i < optionData.Length; i++)
\r
93 _data.Contents += ":" + optionData[i];
\r
101 public bool getSplitResult()
\r