public static EGraviteAlarme ConvertFrom(EGraviteAlarmeAvecMasquage gravite) { switch (gravite) { case EGraviteAlarmeAvecMasquage.EndAlarm: return(EGraviteAlarme.NoAlarm); case EGraviteAlarmeAvecMasquage.MaskBrig: return(EGraviteAlarme.NoAlarm); case EGraviteAlarmeAvecMasquage.MaskAdmin: return(EGraviteAlarme.NoAlarm); case EGraviteAlarmeAvecMasquage.Warning: return(EGraviteAlarme.Warning); case EGraviteAlarmeAvecMasquage.Undetermined: return(EGraviteAlarme.Undetermined); case EGraviteAlarmeAvecMasquage.Minor: return(EGraviteAlarme.Minor); case EGraviteAlarmeAvecMasquage.Major: return(EGraviteAlarme.Major); case EGraviteAlarmeAvecMasquage.Critical: return(EGraviteAlarme.Critical); } return(EGraviteAlarme.NoAlarm); }
//---------------------------------------------------------------------------------------------- private void MaskAlarme(CEvenementAlarmMask evenement) { if (evenement.IdLienAccesAlarme <= 0 || evenement.DetailMasquage == null) { return; } CDictionnaireConcerne dic = null; int nIdElement = 0; if (evenement.IdSite != null) { nIdElement = evenement.IdSite.Value; dic = m_dicDirectementConcernesParSite; } if (evenement.IdEquipement != null) { nIdElement = evenement.IdEquipement.Value; dic = m_dicDirectementConcernesParEquipement; } if (evenement.IdLiaison != null) { nIdElement = evenement.IdLiaison.Value; dic = m_dicDirectementConcernesParLiaison; } List <CInfoElementDeSchemaSupervise> lst = null; EGraviteAlarmeAvecMasquage gravite = (EGraviteAlarmeAvecMasquage)evenement.NiveauMasquage; if (dic.TryGetValue((int)nIdElement, out lst)) { List <CInfoElementDeSchemaSupervise> lstAPrevenir = new List <CInfoElementDeSchemaSupervise>(lst); while (lstAPrevenir.Count != 0) { lstAPrevenir.Sort(); CInfoElementDeSchemaSupervise[] infos = lstAPrevenir.ToArray(); lstAPrevenir.Clear(); foreach (CInfoElementDeSchemaSupervise info in infos) { switch (evenement.DetailMasquage) { case EEvenementMasquage.DebutMasquageAdministrateur: info.SetMasquageAdministrateur(evenement.IdLienAccesAlarme, true); break; case EEvenementMasquage.FinMasquageAdministrateur: info.SetMasquageAdministrateur(evenement.IdLienAccesAlarme, false); break; case EEvenementMasquage.DebutMasquageBrigadier: info.SetMasquageBrigadier(evenement.IdLienAccesAlarme, true); break; case EEvenementMasquage.FinMasquageBrigadier: info.SetMasquageBrigadier(evenement.IdLienAccesAlarme, false); break; } CInfoElementDeSchemaSupervise parent = info.Parent; if (parent != null) { lstAPrevenir.Add(parent); } } } if (lst.Count != 0 && m_infoSchemaRacine != null) { List <CInfoElementDeSchemaSupervise> lstModifs = new List <CInfoElementDeSchemaSupervise>(); m_infoSchemaRacine.RecalculeToutLeMasquage(lstModifs); lock (typeof(CLockerRefresh)) { foreach (CInfoElementDeSchemaSupervise info in lstModifs) { if (info.IdElementDeSchema != null) { m_dicChangesDepuisDernierRefresh[info.IdElementDeSchema.Value] = true; } } } Refresh(); } } }
public CMessageAlarmeNotification(string strMessage) { String[] strDonnees = strMessage.Split('#'); m_nCodeMessage = (ECategorieMessageAlarme)int.Parse(strDonnees[(int)EChampsMessageAlarme.CodeMessage]); string[] strTempArray; try { switch (m_nCodeMessage) { case ECategorieMessageAlarme.AlarmStartStop: m_nIdEvtAlarme = int.Parse(strDonnees[(int)EChampsMessageAlarme.IDEvtAlarme]); m_nIdAlarmData = int.Parse(strDonnees[(int)EChampsMessageAlarme.IDAlarmData]); m_nIdAlarmeGeree = int.Parse(strDonnees[(int)EChampsMessageAlarme.IDAlarmeGeree]); m_nIdObjetConcerne = int.Parse(strDonnees[(int)EChampsMessageAlarme.IDObjetEnAlarme]); m_TypeObjetConcerne = (ETypeObjetEnAlarme) int.Parse(strDonnees[(int)EChampsMessageAlarme.TypeObjetEnAlarme]); switch (m_TypeObjetConcerne) { case ETypeObjetEnAlarme.Equipement: m_nIdEquipement = m_nIdObjetConcerne; break; case ETypeObjetEnAlarme.Site: m_nIdSite = m_nIdObjetConcerne; break; case ETypeObjetEnAlarme.Liaison: m_nIdLiaison = m_nIdObjetConcerne; break; } if (int.TryParse(strDonnees[(int)EChampsMessageAlarme.IDDebutAlarme], out m_nTemp)) { m_nIdDebutAlarme = m_nTemp; } m_strNomAlarmeGeree = strDonnees[(int)EChampsMessageAlarme.NomAlarmeGeree]; m_strClasseAlarme = strDonnees[(int)EChampsMessageAlarme.ClasseAlarme]; m_nNumeroObjetDeCollecteOuTrap = CDivers.ConvertToint(strDonnees[(int)EChampsMessageAlarme.NumeroObjetDeCollecteOuTrap], 0); m_TypeEvenementAlarme = (EAlarmEvent)int.Parse(strDonnees[(int)EChampsMessageAlarme.TypeAlarmeX733]); m_DateEvenementAlarme = DateTime.ParseExact(strDonnees[(int)EChampsMessageAlarme.DateAlarme], "yyyy MM dd HH:mm:ss", null); m_GraviteAlarme = (EGraviteAlarmeAvecMasquage) int.Parse(strDonnees[(int)EChampsMessageAlarme.Gravite]); m_strNomSeuil = strDonnees[(int)EChampsMessageAlarme.NomSeuil]; m_nValeurSeuil = CDivers.ConvertToint(strDonnees[(int)EChampsMessageAlarme.ValeurSeuil], 0); m_strNumeroSortieAlarmeOuIP = strDonnees[(int)EChampsMessageAlarme.NumeroSortieAlarmeOuIP]; m_NatureAlarme = (EAlarmNature)int.Parse(strDonnees[(int)EChampsMessageAlarme.NatureAlarme]); m_strCommentaire = strDonnees[(int)EChampsMessageAlarme.CommentaireAlarmeGeree]; m_strInfoAdditionnelle = strDonnees[(int)EChampsMessageAlarme.InformationAdditionnelle]; if (strDonnees[(int)EChampsMessageAlarme.IndicateurAAcquitter] == "") { m_bAAcquitter = false; } else { m_bAAcquitter = System.Convert.ToBoolean(int.Parse(strDonnees[(int)EChampsMessageAlarme.IndicateurAAcquitter])); } if (strDonnees[(int)EChampsMessageAlarme.IndicateurActiverSonnerie] == "") { m_bSonner = false; } else { m_bSonner = System.Convert.ToBoolean(int.Parse(strDonnees[(int)EChampsMessageAlarme.IndicateurActiverSonnerie])); } m_TypeSonnerie = (ETypeSon)int.Parse(strDonnees[(int)EChampsMessageAlarme.TypeSonnerie]); m_bPositionCommutateur = System.Convert.ToBoolean(int.Parse(strDonnees[(int)EChampsMessageAlarme.IndicateurAlarmeOuCommutateur])); m_strNomSite = strDonnees[(int)EChampsMessageAlarme.NomDuSite]; m_strNomTypeObjet = strDonnees[(int)EChampsMessageAlarme.NomDuType]; m_strNomObjet = strDonnees[(int)EChampsMessageAlarme.NomElement]; string strServicesConcernes = strDonnees[(int)EChampsMessageAlarme.NomService]; string[] strSrv, strNomSrv, strTemp; int[] nIdSrv; strSrv = strServicesConcernes.Split(new char[] { cSeparateur }, StringSplitOptions.RemoveEmptyEntries); nIdSrv = new int[strSrv.Length]; strNomSrv = new String[strSrv.Length]; for (int i = 0; i < strSrv.Length; i++) { strTemp = strSrv[i].Split(new char[] { cSousSep }); nIdSrv[i] = Convert.ToInt32(strTemp[0]); strNomSrv[i] = strTemp[1]; } m_IdServicesConcernes = nIdSrv; m_ServicesConcernes = strNomSrv; m_strNomClientsConcernes = strDonnees[(int)EChampsMessageAlarme.NomClient]; if (m_strNomClientsConcernes.Contains(strSeparateur)) { m_ClientsConcernes = m_strNomClientsConcernes.Split(new char[] { cSeparateur }, StringSplitOptions.RemoveEmptyEntries); } m_strEtatServices = strDonnees[(int)EChampsMessageAlarme.EtatOperationnelService]; if (m_strEtatServices.Contains(strSeparateur) || m_strEtatServices.Length > 0) { strTempArray = m_strEtatServices.Split(new char[] { cSeparateur }, StringSplitOptions.RemoveEmptyEntries); m_EtatServices = new double[strTempArray.Length]; for (int i = 0; i < strTempArray.Length; i++) { m_EtatServices[i] = double.Parse(strTempArray[i]); } } m_strEtatsServices = strDonnees[(int)EChampsMessageAlarme.EtatOperationnelTousServices]; m_strVariablesTrap = strDonnees[(int)EChampsMessageAlarme.VariablesTrap]; if (m_strVariablesTrap.Length > 0 && m_strVariablesTrap.Substring(0, 9) == "Trap SNMP") { // Dans ce cas, le format est le suivant : // Trap SNMP : EquipId;variables traps séparées par";" // exemple : Trap SNMP : 8601;.1.3.6.1.4.1,i,0;.1.3.6.1.4.1.9485.1.0,i,3; int nPos = m_strVariablesTrap.IndexOf(cSeparateur); m_strVariablesTrap = m_strVariablesTrap.Substring(nPos + 1); if (m_strVariablesTrap.Length > 0) { m_VariablesTrap = m_strVariablesTrap.Split(cSeparateur); } } break; case ECategorieMessageAlarme.AcquittementListeAlarme: m_nIdEvtAlarme = int.Parse(strDonnees[(int)EChampsMessageAcquittementListe.IDAlarme]); m_nIdListeAlarmeAcquittee = int.Parse(strDonnees[(int)EChampsMessageAcquittementListe.IDListeAlarme]); break; case ECategorieMessageAlarme.AlarmMasqueeParUneAutre: m_nIdEvtAlarme = int.Parse(strDonnees[(int)EChampsMessageAlarmeFille.IDAlarme]); m_nIdAlarmeGeree = int.Parse(strDonnees[(int)EChampsMessageAlarmeFille.IDAlarmeGeree]); m_nIdObjetConcerne = int.Parse(strDonnees[(int)EChampsMessageAlarmeFille.IDObjetEnAlarme]); switch (m_TypeObjetConcerne) { case ETypeObjetEnAlarme.Equipement: m_nIdEquipement = m_nIdObjetConcerne; break; case ETypeObjetEnAlarme.Site: m_nIdSite = m_nIdObjetConcerne; break; case ETypeObjetEnAlarme.Liaison: m_nIdLiaison = m_nIdObjetConcerne; break; } if (int.TryParse(strDonnees[(int)EChampsMessageAlarmeFille.TypeObjetEnAlarme], out m_nTemp)) { m_TypeObjetConcerne = (ETypeObjetEnAlarme)m_nTemp; } m_strClasseAlarme = strDonnees[(int)EChampsMessageAlarmeFille.ClasseAlarme]; m_nNumeroObjetDeCollecteOuTrap = int.Parse(strDonnees[(int)EChampsMessageAlarmeFille.NumeroObjetDeCollecteOuTrap]); m_strNumeroSortieAlarmeOuIP = strDonnees[(int)EChampsMessageAlarmeFille.NumeroSortieAlarmeOuIP]; m_strEtatsServices = strDonnees[(int)EChampsMessageAlarmeFille.EtatOperationnelTousServices]; m_DateRetombeeFille = CDivers.GetSysdateNotNull(); break; case ECategorieMessageAlarme.MasquageAccesAlarme: m_nIdObjetConcerne = int.Parse(strDonnees[(int)EChampsMasquageAlarme.IDObjetConcerne]); m_TypeObjetConcerne = (ETypeObjetEnAlarme)int.Parse(strDonnees[(int)EChampsMasquageAlarme.TypeObjetConcerne]); switch (m_TypeObjetConcerne) { case ETypeObjetEnAlarme.Equipement: m_nIdEquipement = m_nIdObjetConcerne; break; case ETypeObjetEnAlarme.Site: m_nIdSite = m_nIdObjetConcerne; break; case ETypeObjetEnAlarme.Liaison: m_nIdLiaison = m_nIdObjetConcerne; break; } m_strClasseAlarme = strDonnees[(int)EChampsMasquageAlarme.ClasseAlarme]; m_nNumeroObjetDeCollecteOuTrap = int.Parse(strDonnees[(int)EChampsMasquageAlarme.NumeroObjetDeCollecteOuTrap]); m_EvenementMasquage = (EEvenementMasquage) int.Parse(strDonnees[(int)EChampsMasquageAlarme.EvenementMasquage]); m_nIdLienAccesAlarme = int.Parse(strDonnees[(int)EChampsMasquageAlarme.IdLienAccesAlarme]); m_strEtatsServices = strDonnees[(int)EChampsMasquageAlarme.EtatOperationnelTousServices]; break; default: m_bMessagePourEM = true; break; } } catch (Exception e) { throw new Exception(I.T("Error in decoding MESSALRM message (@1)|50002", e.Message)); } }