コード例 #1
0
ファイル: CAlarmeTest.cs プロジェクト: ykebaili/Timos
 //----------------------------------------------
 public void RemoveChild(IAlarme alarme)
 {
     m_listeAlarmesFilles.Remove(alarme);
     if (alarme.Parent == this)
     {
         alarme.Parent = null;
     }
 }
コード例 #2
0
ファイル: CAlarmeTest.cs プロジェクト: ykebaili/Timos
 //----------------------------------------------
 public void AddChild(IAlarme alarme)
 {
     m_listeAlarmesFilles.Add(alarme);
     if (alarme.Parent != this)
     {
         alarme.Parent = this;
     }
 }
コード例 #3
0
 public bool ShouldMask(IAlarme alarme, DateTime dt)
 {
     if (m_filtre.IsInFiltre(alarme))
     {
         return(IsDateInPeriode(dt));
     }
     return(false);
 }
コード例 #4
0
 //------------------------------------------------------
 public bool ShouldMask(IAlarme alarme, DateTime dateApplication)
 {
     if (dateApplication >= DateDebutValidite && dateApplication <= DateFinValidite &&
         Enabled)
     {
         return(Parametre.ShouldMask(alarme, dateApplication));
     }
     return(false);
 }
コード例 #5
0
ファイル: CFormTrapReceiver.cs プロジェクト: ykebaili/Timos
 private void m_arbreAlarmes_BeforeExpand(object sender, TreeViewCancelEventArgs e)
 {
     if (e.Node.Nodes.Count == 1 && e.Node.Nodes[0].Tag == null)
     {
         e.Node.Nodes.Clear();
         IAlarme alarme = e.Node.Tag as IAlarme;
         if (alarme != null)
         {
             foreach (IAlarme child in alarme.Childs)
             {
                 TreeNode node = new TreeNode();
                 FillNode(node, child);
                 e.Node.Nodes.Add(node);
             }
         }
     }
 }
コード例 #6
0
ファイル: CFormTrapReceiver.cs プロジェクト: ykebaili/Timos
        private void FillNode(TreeNode node, IAlarme alarme)
        {
            node.Text = alarme.Libelle;
            node.Tag  = alarme;
            if (alarme.Etat.Code == EEtatAlarme.Open)
            {
                node.BackColor = Color.LightPink;
            }
            else if (alarme.Etat.Code == EEtatAlarme.Close)
            {
                node.BackColor = Color.LightGreen;
            }

            if (alarme.Childs.Count() > 0)
            {
                node.Nodes.Add(new TreeNode());
            }
        }
コード例 #7
0
        public static IParametrageFiltrageAlarmes GetParametreAAppliquer(
            IAlarme alarme,
            DateTime dateApplication,
            IEnumerable <IParametrageFiltrageAlarmes> parametrages)
        {
            IParametrageFiltrageAlarmes parametreRetenu = null;

            foreach (IParametrageFiltrageAlarmes parametre in parametrages)
            {
                if (parametre.ShouldMask(alarme, dateApplication))
                {
                    if (parametreRetenu == null ||
                        parametre.Priorite < parametre.Priorite)
                    {
                        parametreRetenu = parametre;
                    }
                }
            }
            return(parametreRetenu);
        }
コード例 #8
0
ファイル: CFormTrapReceiver.cs プロジェクト: ykebaili/Timos
        private void FillChampsAlarme()
        {
            m_wndInfosAlarme.BeginUpdate();
            m_wndInfosAlarme.Items.Clear();
            TreeNode node = m_arbreAlarmes.SelectedNode;

            if (node != null)
            {
                IAlarme             alarme = node.Tag as IAlarme;
                List <IChampAlarme> lst    = new List <IChampAlarme>(alarme.TypeAlarme.TousLesChamps);
                lst.Sort((x, y) => x.NomChamp.CompareTo(y.NomChamp));
                foreach (IChampAlarme champ in lst)
                {
                    object       val  = alarme.GetValeurChamp(champ.NomChamp);
                    ListViewItem item = new ListViewItem(champ.NomChamp);
                    item.SubItems.Add(val == null ? "" : val.ToString());
                    m_wndInfosAlarme.Items.Add(item);
                }
            }
            m_wndInfosAlarme.EndUpdate();
        }
コード例 #9
0
ファイル: CAlarmeTest.cs プロジェクト: ykebaili/Timos
        //----------------------------------------------
        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());
        }
コード例 #10
0
        public bool IsInFiltre(IAlarme alarme)
        {
            if (alarme == null)
            {
                return(false);
            }

            bool bFiltrer = false;

            // Applique filtre Type d'Alarme
            if (m_listeIdTypesAlarmes.Count > 0)
            {
                if (m_listeIdTypesAlarmes.Contains(alarme.TypeAlarmeId))
                {
                    bFiltrer = true;
                }
                else
                {
                    return(false);
                }
            }
            // Applique filtre Site
            if (m_listeIdSites.Count > 0 && alarme.SiteId != null)
            {
                if (m_listeIdSites.Contains(alarme.SiteId))
                {
                    bFiltrer = true;
                }
                else
                {
                    return(false);
                }
            }
            // Applique filre Equipement Logique
            if (m_listeIdEquipementsLogiques.Count > 0 && alarme.EquipementId != null)
            {
                if (m_listeIdEquipementsLogiques.Contains(alarme.EquipementId))
                {
                    bFiltrer = true;
                }
                else
                {
                    return(false);
                }
            }
            // Applique filre Liens Reseau
            if (m_listeIdLiensReseau.Count > 0 && alarme.LienId != null)
            {
                if (m_listeIdLiensReseau.Contains(alarme.LienId))
                {
                    bFiltrer = true;
                }
                else
                {
                    return(false);
                }
            }
            // Applique filre Entité SNMP
            if (m_listeIdEntitesSnmp.Count > 0 && alarme.EntiteSnmpId != null)
            {
                if (m_listeIdEntitesSnmp.Contains(alarme.EntiteSnmpId))
                {
                    bFiltrer = true;
                }
                else
                {
                    return(false);
                }
            }

            return(bFiltrer);
        }