--- /dev/null
+\r
+using System.Text;\r
+namespace com.andoutomo.kybernetes.data.DAO\r
+{\r
+ public class TaskData\r
+ {\r
+ private int taskid;\r
+ private int sortid;\r
+ private DateComponent doDate;\r
+ private string timeArea;\r
+ private string category;\r
+ private string contents;\r
+ private int forecastMin;\r
+ private TimeComponent startTime;\r
+ private TimeComponent endTime;\r
+ private int isRepeat;\r
+ private int bgColor;\r
+ private int frColor;\r
+ private DateComponent _today;\r
+ private int hasComment;\r
+\r
+ private int categID;\r
+\r
+\r
+ private string project;\r
+ private string tags;\r
+ private string comment;\r
+\r
+ public int TaskID\r
+ {\r
+ get { return taskid; }\r
+ set { this.taskid = value; }\r
+ }\r
+ public int SortID\r
+ {\r
+ get { return sortid; }\r
+ set { this.sortid = value; }\r
+ }\r
+ public DateComponent DoDate\r
+ {\r
+ get { return doDate; }\r
+ set { this.doDate = value; }\r
+ }\r
+ public string TimeArea\r
+ {\r
+ get { return timeArea; }\r
+ set { this.timeArea = value; }\r
+ }\r
+ public string Category\r
+ {\r
+ get { return category; }\r
+ set { this.category = value; }\r
+ }\r
+ public int CategID\r
+ {\r
+ get { return categID; }\r
+ set { this.categID = value; }\r
+ }\r
+\r
+ public string Contents\r
+ {\r
+ get { return contents; }\r
+ set { this.contents = value; }\r
+ }\r
+ public decimal forecastHour\r
+ {\r
+ get {\r
+ decimal wkMin = forecastMin;\r
+ return decimal.Round(wkMin / 60, 2);\r
+ }\r
+ set\r
+ {\r
+ this.forecastMin = decimal.ToInt32(value * 60);\r
+ }\r
+ }\r
+ public string getForcastHourStr\r
+ {\r
+ get { return this.forecastHour.ToString("0.00"); }\r
+ }\r
+ public int ForecastMin\r
+ {\r
+ get { return forecastMin; }\r
+ set { this.forecastMin = value; }\r
+ }\r
+ public int RealMin\r
+ {\r
+ get\r
+ {\r
+ if (startTime.IsValid == false) { return 0; }\r
+ else\r
+ {\r
+ if (endTime.IsValid)\r
+ {\r
+ return endTime.getSubtractionMinute(startTime);\r
+ }\r
+ else\r
+ {\r
+ return 0;\r
+ }\r
+ }\r
+ }\r
+ }\r
+ public TimeComponent StartTime\r
+ {\r
+ get { return startTime; }\r
+ set { this.startTime = value; }\r
+ }\r
+ public TimeComponent EndTime\r
+ {\r
+ get { return endTime; }\r
+ set { this.endTime = value; }\r
+ }\r
+ public bool isComplete\r
+ {\r
+ get { return endTime != null && endTime.IsValid; }\r
+ }\r
+ public int IsRepeat\r
+ {\r
+ get { return isRepeat; }\r
+ set\r
+ {\r
+ this.isRepeat = value;\r
+ }\r
+ }\r
+ public int BgColor\r
+ {\r
+ get { return bgColor; }\r
+ set { this.bgColor = value; }\r
+ }\r
+ public int FrColor\r
+ {\r
+ get { return frColor; }\r
+ set { this.frColor = value; }\r
+ }\r
+ public DateComponent Today\r
+ {\r
+ private get { return _today; }\r
+ set { this._today = value; }\r
+ }\r
+ private bool isToday\r
+ {\r
+ get { return 0 == doDate.calculateDateDiff(_today); }\r
+ }\r
+ private int SpanOfDate\r
+ {\r
+ get { return doDate.calculateDateDiff(_today); }\r
+ }\r
+ public string Indicator\r
+ {\r
+ get\r
+ {\r
+ if (isToday)\r
+ {\r
+ if (isComplete)\r
+ {\r
+ return "■";\r
+ }\r
+ else\r
+ {\r
+ return "□";\r
+ }\r
+ }\r
+ //未来分(SpanOfDateが正の数)\r
+ else if (SpanOfDate > 0)\r
+ {\r
+ return "◎";\r
+ }\r
+ //過去分(SpanOfDateが負の数)\r
+ else\r
+ {\r
+ return "☆";\r
+ }\r
+ }\r
+ }\r
+\r
+ public static string CSVHeader\r
+ {\r
+ get\r
+ {\r
+ return "日付,曜,@,ID,カテゴリ,内容,予測時間(H),予測時間(m),実績,開始,終了,プロジェクト,タグ,最終コメント";\r
+ }\r
+ }\r
+ public string CSVData\r
+ {\r
+ get\r
+ {\r
+ StringBuilder builder = new StringBuilder();\r
+ builder.Append(this.doDate.getDateString()).Append(",");\r
+ builder.Append(this.doDate.getDowStr()).Append(",");\r
+ builder.Append(this.timeArea).Append(",");\r
+ builder.Append(this.sortid).Append(",");\r
+ builder.Append(this.category).Append(",");\r
+ builder.Append(this.contents).Append(",");\r
+ builder.Append(this.forecastHour).Append(",");\r
+ builder.Append(this.forecastMin).Append(",");\r
+ builder.Append(this.RealMin).Append(",");\r
+ builder.Append(this.startTime.ToString()).Append(",");\r
+ builder.Append(this.endTime.ToString()).Append(",");\r
+ builder.Append(this.project).Append(",");\r
+ builder.Append(this.tags.Replace(',','|')).Append(",");//タグはカンマを変換する\r
+ builder.Append(this.comment);\r
+ return builder.ToString(); \r
+ }\r
+ }\r
+\r
+ public int HasComment\r
+ {\r
+ get { return hasComment; }\r
+ set { this.hasComment = value; }\r
+ }\r
+\r
+ public string Project\r
+ {\r
+ get { return project; }\r
+ set { this.project = value; }\r
+ }\r
+ public string Tags\r
+ {\r
+ get { return tags; }\r
+ set { this.tags = value; }\r
+ }\r
+ public string Comment\r
+ {\r
+ private get { return comment; }\r
+ set { this.comment = value; }\r
+ }\r
+ }\r
+}\r