//---------------------------------------------- public void AddTypeFils(CLocalTypeAlarme type) { m_typesFils.Add(type as CLocalTypeAlarme); if (type.TypeParent != this) { type.TypeParent = this; } }
//------------------------------------------------------- private void GereParent(CLocalAlarme alarme) { if (alarme == null) { return; } CLocalTypeAlarme type = alarme.TypeAlarme; if (alarme.Parent == null && type.TypeParent != null) { string strKey = alarme.CalcParentKey(); CLocalAlarme parent = GetCurrentAlarmFromKey(strKey);; if (parent != null) { alarme.Parent = parent; } else { parent = GetNewAlarme(); parent.TypeAlarme = type.TypeParent; if ((parent.TypeAlarme.TypeElementSupervise & ETypeElementSupervise.Site) == ETypeElementSupervise.Site) { parent.SiteId = alarme.SiteId; } if ((parent.TypeAlarme.TypeElementSupervise & ETypeElementSupervise.Equipement) == ETypeElementSupervise.Equipement) { parent.EquipementId = alarme.EquipementId; } if ((parent.TypeAlarme.TypeElementSupervise & ETypeElementSupervise.Lien) == ETypeElementSupervise.Lien) { parent.LienId = alarme.LienId; } if ((parent.TypeAlarme.TypeElementSupervise & ETypeElementSupervise.EntiteSnmp) == ETypeElementSupervise.EntiteSnmp) { parent.EntiteSnmpId = alarme.EntiteSnmpId; } CLocalTypeAlarme typeForChamps = parent.TypeAlarme; while (typeForChamps != null) { foreach (CLocalRelationTypeAlarmeChampAlarme rel in typeForChamps.RelationsChamps) { parent.SetValeurChamp(rel.Champ.Id, alarme.GetValeurChamp(rel.Champ.Id)); } typeForChamps = typeForChamps.TypeParent; } alarme.Parent = parent; } parent.Etat = new CEtatAlarme(EEtatAlarme.Open); } if (alarme.Parent != null) { alarme.AgitSurParent(); GereAlarme(alarme.Parent, EModeRemonteeAlarmes.InscrireARemonterMaisNePasLeFaire); } }
//---------------------------------------------- public void RemoveTypeFils(CLocalTypeAlarme type) { if (m_typesFils.Contains(type)) { m_typesFils.Remove(type); if (type.TypeParent == this) { type.TypeParent = null; } } }
//----------------------------- public CDefinitionProprieteDynamique[] GetDefinitionsChamps(CObjetPourSousProprietes objet, CDefinitionProprieteDynamique defParente) { List <CDefinitionProprieteDynamique> lstDefs = new List <CDefinitionProprieteDynamique>(); if (typeof(IAlarme).IsAssignableFrom(objet.TypeAnalyse)) { CLocalTypeAlarme typeAlarme = this; while (typeAlarme != null) { foreach (CLocalChampTypeAlarme champ in typeAlarme.Champs) { lstDefs.Add(new CDefinitionProprieteDynamiqueChampAlarme(champ)); } typeAlarme = typeAlarme.TypeParent; } } lstDefs.AddRange(new CFournisseurGeneriqueProprietesDynamiques().GetDefinitionsChamps(objet)); return(lstDefs.ToArray()); }
//---------------------------------------------- private string CalcKey(CLocalTypeAlarme type, IAlarme alarmePossédantLesChamps) { if (type == null) { return(alarmePossédantLesChamps.Id); } StringBuilder bl = new StringBuilder(); bl.Append(type.Id); bl.Append('~'); foreach (CLocalChampTypeAlarme champ in type.TousLesChampsCles) { object val = GetValeurChamp(champ.NomChamp); string strVal = val == null ? "null" : val.ToString(); bl.Append(strVal); bl.Append('~'); } if (bl.Length == 0) { bl.Append(alarmePossédantLesChamps.Id); } return(bl.ToString()); }
//---------------------------------------------- private string CalcKey(CLocalTypeAlarme type, CLocalAlarme alarmePossédantLesChamps) { if (type == null) { return(null); } if (!type.RegrouperSurLaCle) { return(alarmePossédantLesChamps.Id); } if (type == null) { return(alarmePossédantLesChamps.Id); } StringBuilder bl = new StringBuilder(); bl.Append(type.Id); bl.Append('~'); switch (type.TypeElementSupervise) { case ETypeElementSupervise.Site: bl.Append(SiteId == null ? "" : SiteId.StringValue); bl.Append('~'); break; case ETypeElementSupervise.Equipement: bl.Append(SiteId == null ? "" : SiteId.StringValue); bl.Append('~'); bl.Append(EquipementId == null ? "" : EquipementId.StringValue); bl.Append('~'); break; case ETypeElementSupervise.Lien: bl.Append(LienId == null ? "" : LienId.StringValue); bl.Append('~'); break; case ETypeElementSupervise.EntiteSnmp: bl.Append(SiteId == null ? "" : SiteId.StringValue); bl.Append('~'); bl.Append(EntiteSnmpId == null ? "" : EntiteSnmpId.StringValue); bl.Append('~'); break; default: break; } foreach (CLocalChampTypeAlarme champ in type.TousLesChampsCles) { object val = GetValeurChamp(champ.Id); string strVal = val == null ? "null" : val.ToString(); bl.Append(strVal); bl.Append('~'); } if (bl.Length == 0) { bl.Append(alarmePossédantLesChamps.Id); } return(bl.ToString()); }