Beispiel #1
0
        //-------------------------------------------------------------
        public static CResultAErreur InitUsagePolling(string strHotelURL)
        {
            CResultAErreur result = CResultAErreur.True;

            try
            {
                m_strHotelURL = strHotelURL;
                CDataHotelClient hotelClient = new CDataHotelClient();
                hotelClient.Init(strHotelURL);
                CMemoryDb db = hotelClient.GetRoomServer().GetConfig();
                if (db == null)
                {
                    return(result);
                }
                CDataHotel hotel = new CDataHotel(db);
                if (!hotel.ReadIfExist(new CFiltreMemoryDb("1=1")))
                {
                    hotel.CreateNew();
                    hotel.Label = "Timos hotel";
                }
                CDataHotelTable table = new CDataHotelTable(db);
                if (!table.ReadIfExist(new CFiltreMemoryDb(CDataHotelTable.c_champId + "=@1", c_LicenceUsagePollingTableId)))
                {
                    table.CreateNew(c_LicenceUsagePollingTableId);
                    table.TableName = c_LicenceUsagePollingTable;
                    table.Hotel     = hotel;
                }
                bool bFieldExists = false;
                foreach (CDataHotelField field in table.Fields)
                {
                    if (field.Id == c_LicenceUsagePollingNbUsedFieldId)
                    {
                        bFieldExists = true;
                        break;
                    }
                }
                if (!bFieldExists)
                {
                    CDataHotelField field = new CDataHotelField(db);
                    field.CreateNew(c_LicenceUsagePollingNbUsedFieldId);
                    field.FieldName  = c_LicenceUsagePollingNbUsedField;
                    field.HotelTable = table;
                }
                hotelClient.GetRoomServer().UpdateConfig(db);

                if (m_timer == null)
                {
                    m_timer          = new Timer(5 * 60 * 1000);
                    m_timer.Elapsed += m_timer_Elapsed;
                    m_timer.Start();
                }
            }
            catch (Exception e)
            {
                result.EmpileErreur(new CErreurException(e));
            }
            return(result);
        }
 //---------------------------------------------------------------
 public CDataRoomOptimizedDataBase(CDataHotel dataHotel)
 {
     if (dataHotel != null)
     {
         foreach (CDataHotelTable table in dataHotel.Tables)
         {
             COptimizedDataRoomTable ot = new COptimizedDataRoomTable(table);
             m_dicNomTableToTable[ot.TableName] = ot;
             m_dicIdTableToTable[ot.TableId]    = ot;
         }
     }
 }
Beispiel #3
0
        //----------------------------------------------------------------
        private static void UpdateOptimizedDb()
        {
            CDataHotel hotel = null;

            if (m_database != null)
            {
                CListeEntitesDeMemoryDb <CDataHotel> lst = new CListeEntitesDeMemoryDb <CDataHotel>(m_database);
                if (lst.Count() > 0)
                {
                    hotel = lst.ElementAt(0);
                }
            }
            m_optimizedDb = new CDataRoomOptimizedDataBase(hotel);
        }