using System.Collections.Generic;
using com.andoutomo.kybernetes.data.DAO;
using com.andoutomo.kybernetes.data.connection;
using System.Data.SQLite;
namespace com.andoutomo.kybernetes.data.accessor
{
public class TimeAreaDataAccessor
{
#region singleton
private static TimeAreaDataAccessor _innerObj;
private TimeAreaDataAccessor(){}
public static TimeAreaDataAccessor getObject
{
get
{
if (_innerObj == null)
{
_innerObj = new TimeAreaDataAccessor();
}
return _innerObj;
}
}
#endregion
///
/// タイムエリアを取得します
///
///
public List getAllTimeArea()
{
List retList = new List();
List wkList = getAllTimeAreaForCalc();
foreach (TimeAreaCalcData wkData in wkList)
{
TimeAreaData data = (TimeAreaData)wkData;
retList.Add(data);
}
//AsuradaDBConnection.getObject.selectData("SELECT TIMEAREA,START,END FROM MST_TIMEAREA", (SQLiteDataReader reader) =>
//{
// while (reader.Read())
// {
// TimeAreaData data = new TimeAreaData();
// data.AreaStr = reader["TIMEAREA"].ToString();
// data.StartTime = new TimeComponent(reader["START"].ToString());
// data.EndTime = new TimeComponent(reader["END"].ToString());
// retList.Add(data);
// }
//});
return retList;
}
///
/// タイムエリアを取得します(計算用)
///
///
public List getAllTimeAreaForCalc()
{
List retList = new List();
TaskDBConnection.Connection.selectData(SqlDictionary.getAllTimeArea, (SQLiteDataReader reader) =>
{
while (reader.Read())
{
TimeAreaCalcData data = new TimeAreaCalcData();
data.AreaStr = reader["TIMEAREA"].ToString();
data.StartTime = new TimeComponent(reader["START"].ToString());
data.EndTime = new TimeComponent(reader["END"].ToString());
retList.Add(data);
}
});
return retList;
}
///
/// 与えられた現時刻から該当するタイムエリアを算出します。
///
///
///
public string getDefaultTimeArea(TimeComponent now)
{
List