Beispiel #1
0
 //----------------------------------------------
 public void AddTypeFils(CLocalTypeAlarme type)
 {
     m_typesFils.Add(type as CLocalTypeAlarme);
     if (type.TypeParent != this)
     {
         type.TypeParent = this;
     }
 }
Beispiel #2
0
        //-------------------------------------------------------
        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);
            }
        }
Beispiel #3
0
 //----------------------------------------------
 public void RemoveTypeFils(CLocalTypeAlarme type)
 {
     if (m_typesFils.Contains(type))
     {
         m_typesFils.Remove(type);
         if (type.TypeParent == this)
         {
             type.TypeParent = null;
         }
     }
 }
Beispiel #4
0
        //-----------------------------
        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());
        }
Beispiel #5
0
        //----------------------------------------------
        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());
        }
Beispiel #6
0
        //----------------------------------------------
        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());
        }