3 namespace com.andoutomo.kybernetes.data.DAO
\r
5 public class TaskData
\r
9 private DateComponent doDate;
\r
10 private string timeArea;
\r
11 private string category;
\r
12 private string contents;
\r
13 private int forecastMin;
\r
14 private TimeComponent startTime;
\r
15 private TimeComponent endTime;
\r
16 private int isRepeat;
\r
17 private int bgColor;
\r
18 private int frColor;
\r
19 private DateComponent _today;
\r
20 private int categID;
\r
23 private string project;
\r
24 private string tags;
\r
25 private string comment;
\r
27 private string path;
\r
32 get { return taskid; }
\r
33 set { this.taskid = value; }
\r
37 get { return sortid; }
\r
38 set { this.sortid = value; }
\r
40 public DateComponent DoDate
\r
42 get { return doDate; }
\r
43 set { this.doDate = value; }
\r
45 public string TimeArea
\r
47 get { return timeArea; }
\r
48 set { this.timeArea = value; }
\r
50 public string Category
\r
52 get { return category; }
\r
53 set { this.category = value; }
\r
57 get { return categID; }
\r
58 set { this.categID = value; }
\r
61 public string Contents
\r
63 get { return contents; }
\r
64 set { this.contents = value; }
\r
66 public decimal forecastHour
\r
69 decimal wkMin = forecastMin;
\r
70 return decimal.Round(wkMin / 60, 2);
\r
74 this.forecastMin = decimal.ToInt32(value * 60);
\r
77 public string getForcastHourStr
\r
79 get { return this.forecastHour.ToString("0.00"); }
\r
81 public int ForecastMin
\r
83 get { return forecastMin; }
\r
84 set { this.forecastMin = value; }
\r
90 if (startTime.IsValid == false) { return 0; }
\r
93 if (endTime.IsValid)
\r
95 return endTime.getSubtractionMinute(startTime);
\r
104 public TimeComponent StartTime
\r
106 get { return startTime; }
\r
107 set { this.startTime = value; }
\r
109 public TimeComponent EndTime
\r
111 get { return endTime; }
\r
112 set { this.endTime = value; }
\r
114 public bool isComplete
\r
116 get { return endTime != null && endTime.IsValid; }
\r
118 public int IsRepeat
\r
120 get { return isRepeat; }
\r
123 this.isRepeat = value;
\r
128 get { return bgColor; }
\r
129 set { this.bgColor = value; }
\r
133 get { return frColor; }
\r
134 set { this.frColor = value; }
\r
136 public DateComponent Today
\r
138 private get { return _today; }
\r
139 set { this._today = value; }
\r
141 private bool isToday
\r
143 get { return 0 == doDate.calculateDateDiff(_today); }
\r
145 private int SpanOfDate
\r
147 get { return doDate.calculateDateDiff(_today); }
\r
149 public string Indicator
\r
164 //未来分(SpanOfDateが正の数)
\r
165 else if (SpanOfDate > 0)
\r
169 //過去分(SpanOfDateが負の数)
\r
177 public static string CSVHeader
\r
181 return "日付,曜,@,ID,カテゴリ,内容,予測時間(H),予測時間(m),実績,開始,終了,プロジェクト,タグ,最終コメント";
\r
184 public string CSVData
\r
188 StringBuilder builder = new StringBuilder();
\r
189 builder.Append(this.doDate.getDateString()).Append(",");
\r
190 builder.Append(this.doDate.getDowStr()).Append(",");
\r
191 builder.Append(this.timeArea).Append(",");
\r
192 builder.Append(this.sortid).Append(",");
\r
193 builder.Append(this.category).Append(",");
\r
194 builder.Append(this.contents).Append(",");
\r
195 builder.Append(this.forecastHour).Append(",");
\r
196 builder.Append(this.forecastMin).Append(",");
\r
197 builder.Append(this.RealMin).Append(",");
\r
198 builder.Append(this.startTime.ToString()).Append(",");
\r
199 builder.Append(this.endTime.ToString()).Append(",");
\r
200 builder.Append(this.project).Append(",");
\r
201 builder.Append(this.tags.Replace(',','|')).Append(",");//タグはカンマを変換する
\r
202 builder.Append(this.comment);
\r
203 return builder.ToString();
\r
207 public string Project
\r
209 get { return project; }
\r
210 set { this.project = value; }
\r
214 get { return tags; }
\r
215 set { this.tags = value; }
\r
217 public string Comment
\r
219 get { return comment; }
\r
220 set { this.comment = value; }
\r
222 public string FilePath
\r
224 get { return path; }
\r
225 set { this.path = value; }
\r