public void select(DbConnection conn)
        {
            if (conn.State != ConnectionState.Open)
                conn.Open();

            DataTable tb = new DataTable();

            this.DAOList_ = new List<HOLIDAY_INFO_Table_DAO>();

            DbCommand dbCommand = conn.CreateCommand();

            string selectQuery = HOLIDAY_INFO_Table_DAOManager.SelectQuery_;



            //selectQuery = selectQuery.Replace("@KeyColumnValue@", this.KeyColumn_);

            dbCommand.CommandText = selectQuery;

            //DbDataAdapter dataAdapter = new DbDataAdapter(dbCommand, conn);
            DbDataAdapter dataAdapter = DataBaseConnectManager.CreateDataAdapter(dbCommand, conn);

            dataAdapter.Fill(tb);

            DataRow[] dr = tb.Select();
            int rowCount = dr.Length;

            foreach (DataRow item in dr)
            {
                HOLIDAY_INFO_Table_DAO dao = new HOLIDAY_INFO_Table_DAO();

                dao.HOLIDAY_DATE_ = item[0].ToString();
                dao.HOLIDAY_NAME_ = item[1].ToString();
                dao.HOLIDAY_COUNTRY_NAME_ = item[2].ToString();
                dao.HOLIDAY_CURRENCY_CODE_ = item[3].ToString();
                dao.HOLIDAY_TYPE_ = item[4].ToString();
                dao.USING_START_DATE_ = item[5].ToString();
                dao.USING_END_DATE_ = item[6].ToString();
                dao.DESCRIPTION_ = item[7].ToString();

                this.DAOList_.Add(dao);
            }



        }
        public void select(DbConnection conn)
        {
            if (conn.State != ConnectionState.Open)
            {
                conn.Open();
            }

            DataTable tb = new DataTable();

            this.DAOList_ = new List <HOLIDAY_INFO_Table_DAO>();

            DbCommand dbCommand = conn.CreateCommand();

            string selectQuery = HOLIDAY_INFO_Table_DAOManager.SelectQuery_;



            //selectQuery = selectQuery.Replace("@KeyColumnValue@", this.KeyColumn_);

            dbCommand.CommandText = selectQuery;

            //DbDataAdapter dataAdapter = new DbDataAdapter(dbCommand, conn);
            DbDataAdapter dataAdapter = DataBaseConnectManager.CreateDataAdapter(dbCommand, conn);

            dataAdapter.Fill(tb);

            DataRow[] dr       = tb.Select();
            int       rowCount = dr.Length;

            foreach (DataRow item in dr)
            {
                HOLIDAY_INFO_Table_DAO dao = new HOLIDAY_INFO_Table_DAO();

                dao.HOLIDAY_DATE_          = item[0].ToString();
                dao.HOLIDAY_NAME_          = item[1].ToString();
                dao.HOLIDAY_COUNTRY_NAME_  = item[2].ToString();
                dao.HOLIDAY_CURRENCY_CODE_ = item[3].ToString();
                dao.HOLIDAY_TYPE_          = item[4].ToString();
                dao.USING_START_DATE_      = item[5].ToString();
                dao.USING_END_DATE_        = item[6].ToString();
                dao.DESCRIPTION_           = item[7].ToString();

                this.DAOList_.Add(dao);
            }
        }
        public void removeHoliday(DateTime d)
        {
            try
            {
                HOLIDAY_INFO_Table_DAO dao = new HOLIDAY_INFO_Table_DAO();

                dao.HOLIDAY_DATE_         = StringConverter.dbDateTimeToDateString(d);
                dao.HOLIDAY_COUNTRY_NAME_ = this.calendarName_;

                dao.delete(DataBaseConnectManager.ConnectionFactory("myDB"));

                this.dataReload();
            }
            catch (Exception e)
            {
                OutputLogViewModel.addResult("remove fail : " + d.ToString("yyyyMMdd") + " " + e.Message);
                throw;
            }
        }
        public void addHoliday(DateTime d, string description)
        {
            try
            {
                HOLIDAY_INFO_Table_DAO dao = new HOLIDAY_INFO_Table_DAO();

                dao.HOLIDAY_COUNTRY_NAME_  = this.calendarName_;
                dao.HOLIDAY_CURRENCY_CODE_ = this.calendarName_;
                dao.HOLIDAY_DATE_          = StringConverter.dbDateTimeToDateString(d);
                dao.HOLIDAY_NAME_          = description;
                dao.HOLIDAY_TYPE_          = "";
                dao.USING_START_DATE_      = "19000101";
                dao.USING_END_DATE_        = "21001231";

                dao.insert(DataBaseConnectManager.ConnectionFactory("myDB"));

                this.dataReload();
            }
            catch (Exception e)
            {
                OutputLogViewModel.addResult("add fail : " + d.ToString("yyyyMMdd") + " " + e.Message);
                throw;
            }
        }
        public void addHoliday(DateTime d, string description)
        {
            try
            {
                HOLIDAY_INFO_Table_DAO dao = new HOLIDAY_INFO_Table_DAO();

                dao.HOLIDAY_COUNTRY_NAME_ = this.calendarName_;
                dao.HOLIDAY_CURRENCY_CODE_ = this.calendarName_;
                dao.HOLIDAY_DATE_ = StringConverter.dbDateTimeToDateString(d);
                dao.HOLIDAY_NAME_ = description;
                dao.HOLIDAY_TYPE_ = "";
                dao.USING_START_DATE_ = "19000101";
                dao.USING_END_DATE_ = "21001231";

                dao.insert(DataBaseConnectManager.ConnectionFactory("myDB"));

                this.dataReload();

            }
            catch (Exception e)
            {
                OutputLogViewModel.addResult("add fail : " + d.ToString("yyyyMMdd") + " " + e.Message);
                throw;
            }
            
        }
        public void removeHoliday(DateTime d)
        {
            try
            {
                HOLIDAY_INFO_Table_DAO dao = new HOLIDAY_INFO_Table_DAO();

                dao.HOLIDAY_DATE_ = StringConverter.dbDateTimeToDateString(d);
                dao.HOLIDAY_COUNTRY_NAME_ = this.calendarName_;

                dao.delete(DataBaseConnectManager.ConnectionFactory("myDB"));

                this.dataReload();
            }
            catch (Exception e)
            {
                OutputLogViewModel.addResult("remove fail : " + d.ToString("yyyyMMdd") + " " + e.Message);
                throw;
            }
            


        }