public List<string> GetAvailableTableName(DateTime pDateTime)
        {
            List<string> tableNameList = new List<string>();
            DataContextDataContext dc = new DataContextDataContext();
            ISingleResult<get_available_tableResult> rs = dc.get_available_table(pDateTime);

            foreach (get_available_tableResult r in rs)
            {

                tableNameList.Add(r.name);
            }
            return tableNameList;
        }
        public Dictionary<string, TableState> GetAllTableStateByTime(DateTime pDateTime)
        {
            Dictionary<string, TableState> tableStateDict = new Dictionary<string, TableState>();

            DataContextDataContext dc = new DataContextDataContext();
            ISingleResult<get_available_tableResult> rs = dc.get_available_table(pDateTime);
            foreach (get_available_tableResult r in rs)
            {
                tableStateDict.Add(r.name, TableState.AVAILABLE);
            }

            ISingleResult<get_reserved_tablename_and_reservationResult> rs2 = dc.get_reserved_tablename_and_reservation(pDateTime);
            foreach (get_reserved_tablename_and_reservationResult r2 in rs2)
            {
                tableStateDict.Add(r2.table_name, TableState.RESERVED);
            }

            return tableStateDict;
        }