OSDN Git Service

fd7889ad961a39d478d6cfd3a0108c82ad1c014f
[kybernetes/Kybernetes.git] / KyberNetes / data / accessor / TimeAreaDataAccessor.cs
1 using System.Collections.Generic;\r
2 using com.andoutomo.kybernetes.data.DAO;\r
3 using com.andoutomo.kybernetes.data.connection;\r
4 using System.Data.SQLite;\r
5 \r
6 \r
7 namespace com.andoutomo.kybernetes.data.accessor\r
8 {\r
9     class TimeAreaDataAccessor\r
10     {\r
11         #region singleton\r
12         private static TimeAreaDataAccessor _innerObj;\r
13         private TimeAreaDataAccessor(){}\r
14         internal static TimeAreaDataAccessor getObject\r
15         {\r
16             get\r
17             {\r
18                 if (_innerObj == null)\r
19                 {\r
20                     _innerObj = new TimeAreaDataAccessor();\r
21                 }\r
22                 return _innerObj;\r
23             }\r
24         }\r
25         #endregion\r
26 \r
27         /// <summary>\r
28         /// タイムエリアを取得します\r
29         /// </summary>\r
30         /// <returns></returns>\r
31         internal List<TimeAreaData> getAllTimeArea()\r
32         {\r
33             List<TimeAreaData> retList = new List<TimeAreaData>();\r
34 \r
35             List<TimeAreaCalcData> wkList = getAllTimeAreaForCalc();\r
36 \r
37             foreach (TimeAreaCalcData wkData in wkList)\r
38             {\r
39                 TimeAreaData data = (TimeAreaData)wkData;\r
40                 retList.Add(data);\r
41             }\r
42 \r
43             //AsuradaDBConnection.getObject.selectData("SELECT TIMEAREA,START,END FROM MST_TIMEAREA", (SQLiteDataReader reader) =>\r
44             //{\r
45             //    while (reader.Read())\r
46             //    {\r
47             //        TimeAreaData data = new TimeAreaData();\r
48             //        data.AreaStr = reader["TIMEAREA"].ToString();\r
49             //        data.StartTime = new TimeComponent(reader["START"].ToString());\r
50             //        data.EndTime = new TimeComponent(reader["END"].ToString());\r
51 \r
52             //        retList.Add(data);\r
53             //    }\r
54             //});\r
55 \r
56             return retList;\r
57         }\r
58 \r
59         /// <summary>\r
60         /// タイムエリアを取得します(計算用)\r
61         /// </summary>\r
62         /// <returns></returns>\r
63         internal List<TimeAreaCalcData> getAllTimeAreaForCalc()\r
64         {\r
65             List<TimeAreaCalcData> retList = new List<TimeAreaCalcData>();\r
66 \r
67             TaskDBConnection.Connection.selectData(SqlDictionary.getAllTimeArea, (SQLiteDataReader reader) =>\r
68             {\r
69                 while (reader.Read())\r
70                 {\r
71                     TimeAreaCalcData data = new TimeAreaCalcData();\r
72                     data.AreaStr = reader["TIMEAREA"].ToString();\r
73                     data.StartTime = new TimeComponent(reader["START"].ToString());\r
74                     data.EndTime = new TimeComponent(reader["END"].ToString());\r
75 \r
76                     retList.Add(data);\r
77                 }\r
78             });\r
79 \r
80             return retList;\r
81         }\r
82 \r
83         /// <summary>\r
84         /// 与えられた現時刻から該当するタイムエリアを算出します。\r
85         /// </summary>\r
86         /// <param name="now"></param>\r
87         /// <returns></returns>\r
88         internal string getDefaultTimeArea(TimeComponent now)\r
89         {\r
90             List<object> paramList = new List<object>();\r
91             paramList.Add(now.ToString());\r
92             paramList.Add(now.ToString());\r
93 \r
94             string retStr = string.Empty;\r
95             TaskDBConnection.Connection.selectData(SqlDictionary.getDefaultTimeArea, paramList,\r
96                 (SQLiteDataReader reader) =>\r
97                 {\r
98                     if (reader.HasRows)\r
99                     {\r
100                         reader.Read();\r
101                         retStr = reader["TIMEAREA"].ToString();\r
102                     }\r
103                 });\r
104             return retStr;\r
105         }\r
106     }\r
107 }\r