//------------------------------------ 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); } }
//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); * }*/ } } }