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 hasComment;
\r
22 private int categID;
\r
25 private string project;
\r
26 private string tags;
\r
27 private string comment;
\r
31 get { return taskid; }
\r
32 set { this.taskid = value; }
\r
36 get { return sortid; }
\r
37 set { this.sortid = value; }
\r
39 public DateComponent DoDate
\r
41 get { return doDate; }
\r
42 set { this.doDate = value; }
\r
44 public string TimeArea
\r
46 get { return timeArea; }
\r
47 set { this.timeArea = value; }
\r
49 public string Category
\r
51 get { return category; }
\r
52 set { this.category = value; }
\r
56 get { return categID; }
\r
57 set { this.categID = value; }
\r
60 public string Contents
\r
62 get { return contents; }
\r
63 set { this.contents = value; }
\r
65 public decimal forecastHour
\r
68 decimal wkMin = forecastMin;
\r
69 return decimal.Round(wkMin / 60, 2);
\r
73 this.forecastMin = decimal.ToInt32(value * 60);
\r
76 public string getForcastHourStr
\r
78 get { return this.forecastHour.ToString("0.00"); }
\r
80 public int ForecastMin
\r
82 get { return forecastMin; }
\r
83 set { this.forecastMin = value; }
\r
89 if (startTime.IsValid == false) { return 0; }
\r
92 if (endTime.IsValid)
\r
94 return endTime.getSubtractionMinute(startTime);
\r
103 public TimeComponent StartTime
\r
105 get { return startTime; }
\r
106 set { this.startTime = value; }
\r
108 public TimeComponent EndTime
\r
110 get { return endTime; }
\r
111 set { this.endTime = value; }
\r
113 public bool isComplete
\r
115 get { return endTime != null && endTime.IsValid; }
\r
117 public int IsRepeat
\r
119 get { return isRepeat; }
\r
122 this.isRepeat = value;
\r
127 get { return bgColor; }
\r
128 set { this.bgColor = value; }
\r
132 get { return frColor; }
\r
133 set { this.frColor = value; }
\r
135 public DateComponent Today
\r
137 private get { return _today; }
\r
138 set { this._today = value; }
\r
140 private bool isToday
\r
142 get { return 0 == doDate.calculateDateDiff(_today); }
\r
144 private int SpanOfDate
\r
146 get { return doDate.calculateDateDiff(_today); }
\r
148 public string Indicator
\r
163 //未来分(SpanOfDateが正の数)
\r
164 else if (SpanOfDate > 0)
\r
168 //過去分(SpanOfDateが負の数)
\r
176 public static string CSVHeader
\r
180 return "日付,曜,@,ID,カテゴリ,内容,予測時間(H),予測時間(m),実績,開始,終了,プロジェクト,タグ,最終コメント";
\r
183 public string CSVData
\r
187 StringBuilder builder = new StringBuilder();
\r
188 builder.Append(this.doDate.getDateString()).Append(",");
\r
189 builder.Append(this.doDate.getDowStr()).Append(",");
\r
190 builder.Append(this.timeArea).Append(",");
\r
191 builder.Append(this.sortid).Append(",");
\r
192 builder.Append(this.category).Append(",");
\r
193 builder.Append(this.contents).Append(",");
\r
194 builder.Append(this.forecastHour).Append(",");
\r
195 builder.Append(this.forecastMin).Append(",");
\r
196 builder.Append(this.RealMin).Append(",");
\r
197 builder.Append(this.startTime.ToString()).Append(",");
\r
198 builder.Append(this.endTime.ToString()).Append(",");
\r
199 builder.Append(this.project).Append(",");
\r
200 builder.Append(this.tags.Replace(',','|')).Append(",");//タグはカンマを変換する
\r
201 builder.Append(this.comment);
\r
202 return builder.ToString();
\r
206 public int HasComment
\r
208 get { return hasComment; }
\r
209 set { this.hasComment = value; }
\r
212 public string Project
\r
214 get { return project; }
\r
215 set { this.project = value; }
\r
219 get { return tags; }
\r
220 set { this.tags = value; }
\r
222 public string Comment
\r
224 private get { return comment; }
\r
225 set { this.comment = value; }
\r