Пример #1
0
 //------------------------------------
 internal void FillDicsConcernes(
     CDictionnaireConcerne dicConcernesParSite,
     CDictionnaireConcerne dicConcernesParLiaison,
     CDictionnaireConcerne dicConcernesParEquipement,
     CDictionnaireConcerne dicConcernesParEntiteSnmp,
     CDictionnaireConcerne dicConcernesParService)
 {
     foreach (CDbKey dbKey in m_dicSitesConcernant.Keys)
     {
         dicConcernesParSite.Add(dbKey, this);
     }
     foreach (CDbKey dbKey in m_dicLiaisonsConcernant.Keys)
     {
         dicConcernesParLiaison.Add(dbKey, this);
     }
     foreach (CDbKey dbKey in m_dicEquipementsConcernant.Keys)
     {
         dicConcernesParEquipement.Add(dbKey, this);
     }
     foreach (CDbKey dbKey in m_dicEntitesSnmpConcernant.Keys)
     {
         dicConcernesParEntiteSnmp.Add(dbKey, this);
     }
     foreach (CDbKey dbKey in m_dicServicesConcernant.Keys)
     {
         dicConcernesParService.Add(dbKey, this);
     }
     foreach (CInfoElementDeSchemaSupervise fils in m_listeFils)
     {
         fils.FillDicsConcernes(
             dicConcernesParSite,
             dicConcernesParLiaison,
             dicConcernesParEquipement,
             dicConcernesParEntiteSnmp,
             dicConcernesParService);
     }
 }
Пример #2
0
        //Initialise la base des alarmes en cours avec les alarmes de la base
        private void LoadAlarmesForElement(string strChampDansAlarme, CDictionnaireConcerne dicConcernes)
        {
            List <CDbKey> lstKeysElements = new List <CDbKey>();

            lstKeysElements.AddRange(dicConcernes.Keys);
            int nSizePaquet = 100;

            for (int nPaquet = 0; nPaquet < lstKeysElements.Count; nPaquet += nSizePaquet)
            {
                int           nMax = Math.Min(nPaquet + nSizePaquet, lstKeysElements.Count);
                StringBuilder bl   = new StringBuilder();
                for (int nId = 0; nId < nMax; nId++)
                {
                    bl.Append(lstKeysElements[nId]);
                    bl.Append(',');
                }
                if (bl.Length > 0)
                {
                    bl.Remove(bl.Length - 1, 1);
                    //Charge tous les Liens d'alarme pour les éléments
                    CListeObjetsDonnees lstAlarmes = new CListeObjetsDonnees(m_contexteDonnee, typeof(CAlarme));
                    lstAlarmes.Filtre = new CFiltreData(strChampDansAlarme + " in (" +
                                                        bl.ToString() + ") and " +
                                                        CAlarme.c_champDateFin + " is null");

                    lstAlarmes.AssureLectureFaite();

                    //CMemoryDb database =  new CMemoryDb();

                    foreach (CAlarme alarme in lstAlarmes)
                    {
                        if (alarme != null && alarme.AlarmesFilles.Count == 0)
                        {
                            CLocalAlarme locAlrm = alarme.GetLocalAlarme(m_database, true);
                            //m_dicAlarmes[info.IdSpvEvtAlarme] = info;
                            m_dicAlarmes[locAlrm.Id] = locAlrm;
                            StartAlarme(locAlrm);
                        }
                    }

                    /*
                     * foreach ( CSpvLienAccesAlarme lienAlarme in lstAlarmes )
                     * {
                     *  CSpvAcces acces = lienAlarme.AccesAlarmeOne;
                     *  if ( acces != null )
                     *  {
                     *      int? nId = acces.Row[strChampDansAcces] as int?;
                     *      if (nId != null)
                     *      {
                     *          List<CInfoElementDeSchemaSupervise> lst = null;
                     *          if (dicConcernes.TryGetValue(nId.Value, out lst))
                     *          {
                     *              foreach (CInfoElementDeSchemaSupervise info in lst)
                     *              {
                     *                  info.SetConcerneParAlarmes();
                     *                  if (lienAlarme.MaskAdminDateMin != null && lienAlarme.MaskBriDateMin > DateTime.Now)
                     *                  {
                     *                      if (lienAlarme.MaskAdminDateMax == null || lienAlarme.MaskAdminDateMax < DateTime.Now)
                     *                          info.SetMasquageAdministrateur(lienAlarme.Id, true);
                     *                  }
                     *                  if (lienAlarme.MaskBriDateMin != null && lienAlarme.MaskBriDateMin > DateTime.Now)
                     *                      if (lienAlarme.MaskBriDateMax == null || lienAlarme.MaskBriDateMax < DateTime.Now)
                     *                          info.SetMasquageBrigadier(lienAlarme.Id, true);
                     *              }
                     *          }
                     *      }
                     *  }
                     * }*/
                    /*if (m_infoSchemaRacine != null)
                     * {
                     *  List<CInfoElementDeSchemaSupervise> lstTmp = new List<CInfoElementDeSchemaSupervise>();
                     *  m_infoSchemaRacine.RecalculeToutLeMasquage(lstTmp);
                     * }*/
                }
            }
        }