OSDN Git Service

構成変更のためファイルを置き直し。
[kybernetes/Kybernetes.git] / base / data / DAO / TaskData.cs
diff --git a/base/data/DAO/TaskData.cs b/base/data/DAO/TaskData.cs
new file mode 100644 (file)
index 0000000..669fce9
--- /dev/null
@@ -0,0 +1,228 @@
+\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