//------------------------------------------------------------------------- public CResultAErreur RetombageManuel(string strIdAlarme, int nIdSession) { CResultAErreur result = CResultAErreur.True; using (CContexteDonnee context = new CContexteDonnee(nIdSession, true, false)) { CAlarme alarmeARetomber = new CAlarme(context); if (alarmeARetomber.ReadIfExists(new CFiltreData( CAlarme.c_champAlarmId + " = @1", strIdAlarme))) { CMemoryDb db = CMemoryDbPourSupervision.GetMemoryDb(context); CLocalAlarme alarme = alarmeARetomber.GetLocalAlarme(db, true); if (alarme.EtatCode != EEtatAlarme.Close) { alarme.EtatCode = EEtatAlarme.Close; } result = CAlarme.TraiteAlarmesManuellement(nIdSession, db); if (result) { CSnmpConnexion.DefaultInstance.RedescendAlarmes(db); } } else { result.EmpileErreur(I.T("Alarm Id @1 not found|10022", strIdAlarme)); } } return(result); }
//------------------------------------------- public void AddModifiedAlarm(CAlarme alarme) { alarme.GetLocalAlarme(m_memoryDb, false); }
//--------------------------------------------------------------------- public CLocalAlarme GetLocalAlarme(CMemoryDb database, bool bAvecFils) { if (database == null) { database = CMemoryDbPourSupervision.GetMemoryDb(ContexteDonnee); } CAlarme alarmeParente = AlarmeParente; CLocalAlarme localParent = null; if (alarmeParente != null) { localParent = alarmeParente.GetLocalAlarme(database, false); } CLocalAlarme alarme = new CLocalAlarme(database); if (!alarme.ReadIfExist(AlarmId.ToString(), false)) { alarme.CreateNew(AlarmId.ToString()); } else if (!alarme.IsToRead()) { return(alarme); } alarme.PreventPropagationsAutomatiques = true; alarme.Row[CMemoryDb.c_champIsToRead] = false; alarme.DateDebut = DateDebut; alarme.DateFin = DateFin; alarme.TypeAlarme = TypeAlarme.GetTypeForSupervision(database, false); alarme.Severite = Severite.GetTypeForSupervision(database); alarme.Parent = localParent; alarme.EtatCode = (EEtatAlarme)EtatCode; alarme.Libelle = Libelle; alarme.DateAcquittement = DateAcquittement; alarme.SiteId = SiteId; alarme.EquipementId = EquipementId; alarme.LienId = LienId; alarme.EntiteSnmpId = EntiteSnmpId; alarme.IsHS = IsHS; alarme.NiveauMasquage = NiveauMasquage; if (Severite != null) { CLocalSeveriteAlarme sev = Severite.GetTypeForSupervision(database); if (sev != null) { alarme.Severite = sev; } } if (MasquagePropre != null) { alarme.MasquagePropre = MasquagePropre.GetLocalParametrageForSupervision(database); } if (MasquageHerite != null) { alarme.MasquageHerite = MasquageHerite.GetLocalParametrageForSupervision(database); } // Recupère les valeurs de champs foreach (CRelationAlarme_ChampCustom rel in RelationsChampsCustom) { object val = rel.Valeur; if (val != null) { if (val is CObjetDonneeAIdNumerique) { val = ((CObjetDonneeAIdNumerique)val).Id; } alarme.SetValeurChamp(rel.ChampCustom.Id.ToString(), val); } } alarme.PreventPropagationsAutomatiques = false; if (bAvecFils) { foreach (CAlarme fille in AlarmesFilles) { fille.GetLocalAlarme(database, true); } } return(alarme); }