Beispiel #1
0
        public static CParametrageFiltrageAlarmes CreateMasquage(CAlarme Alarme, bool bEditerEtSauvegarder)
        {
            CParametrageFiltrageAlarmes masque = null;
            CAlarme        alrm   = Alarme;
            CResultAErreur result = CResultAErreur.True;

            if (bEditerEtSauvegarder)
            {
                alrm.BeginEdit();
            }
            try
            {
                masque = CFormMasquageAlarmeManuel.EditParametre(alrm);
                if (masque != null)
                {
                    alrm.MasquagePropre = masque;
                }
                else
                {
                    return(masque);
                }
            }
            catch (Exception e)
            {
                result.EmpileErreur(new CErreurException(e));
            }
            finally
            {
                if (bEditerEtSauvegarder && result)
                {
                    result = alrm.CommitEdit();
                }
                if (!result)
                {
                    alrm.CancelEdit();
                }
            }
            if (!result)
            {
                CFormAlerte.Afficher(result.Erreur);
            }
            return(masque);
        }
Beispiel #2
0
        //-------------------------------------------------------------------
        public override CResultAErreur VerifieDonnees(CObjetDonnee objet)
        {
            CResultAErreur result = CResultAErreur.True;

            try
            {
                CParametrageFiltrageAlarmes parametre = (CParametrageFiltrageAlarmes)objet;
                if (parametre.Libelle == string.Empty)
                {
                    result.EmpileErreur(I.T("The Label can not be empty|181"));
                }

                if (parametre.CategorieMasquage == null)
                {
                    result.EmpileErreur(I.T("The Masking Category can not be null|10025"));
                }
            }
            catch (Exception e)
            {
                result.EmpileErreur(new CErreurException(e));
            }
            return(result);
        }
Beispiel #3
0
        private void m_btnOK_Click(object sender, EventArgs e)
        {
            if (m_alarme != null)
            {
                if (m_txtLibelle.Text.Trim() == string.Empty)
                {
                    CFormAlerte.Afficher(I.T("Please enter a Label for the Masking Setting|10321"));
                    return;
                }
                if (m_cmbSelecCategorieMasquage.ElementSelectionne == null)
                {
                    CFormAlerte.Afficher(I.T("Please select a Masking Category|10322"));
                    return;
                }
                m_parametre = new CParametrageFiltrageAlarmes(m_alarme.ContexteDonnee);
                m_parametre.CreateNewInCurrentContexte();
                m_parametre.Libelle           = m_txtLibelle.Text;
                m_parametre.CategorieMasquage = (CCategorieMasquageAlarme)m_cmbSelecCategorieMasquage.ElementSelectionne;
                m_parametre.DateDebutValidite = m_dtPickerDateDebutValidite.Value;
                m_parametre.DateFinValidite   = m_dtPickerDateFinValidite.Value;
                m_parametre.Enabled           = true;

                CParametreFiltrageAlarmes parametreFiltrage = new CParametreFiltrageAlarmes();
                foreach (Control ctrl in m_panelOptions.Controls)
                {
                    try
                    {
                        CheckBox chkbx = ctrl as CheckBox;
                        if (chkbx != null && chkbx.Checked)
                        {
                            ETypeElementPourFiltreAlarme typeElement = (ETypeElementPourFiltreAlarme)chkbx.Tag;
                            switch (typeElement)
                            {
                            case ETypeElementPourFiltreAlarme.AlarmType:
                                parametreFiltrage.Filtre.ListeIdsTypesAlarmes = new HashSet <CDbKey> {
                                    m_alarme.TypeAlarme.DbKey
                                };
                                break;

                            case ETypeElementPourFiltreAlarme.Site:
                                parametreFiltrage.Filtre.ListeIdsSites = new HashSet <CDbKey> {
                                    m_alarme.Site.DbKey
                                };
                                break;

                            case ETypeElementPourFiltreAlarme.LogicalEquipment:
                                parametreFiltrage.Filtre.ListeIdsEquipementsLogiques = new HashSet <CDbKey> {
                                    m_alarme.EquipementLogique.DbKey
                                };
                                break;

                            case ETypeElementPourFiltreAlarme.NetworkLink:
                                parametreFiltrage.Filtre.ListeIdsLiensReseau = new HashSet <CDbKey> {
                                    m_alarme.LienReseau.DbKey
                                };
                                break;

                            case ETypeElementPourFiltreAlarme.SnmpEntity:
                                parametreFiltrage.Filtre.ListeIdsEntiesSnmp = new HashSet <CDbKey> {
                                    m_alarme.EntiteSnmp.DbKey
                                };
                                break;

                            default:
                                break;
                            }
                        }
                    }
                    catch (Exception ex)
                    {
                        CFormAlerte.Afficher(ex.Message, EFormAlerteType.Erreur);
                        return;
                    }
                }
                m_parametre.Parametre = parametreFiltrage;

                DialogResult = DialogResult.OK;
                Close();
                Dispose();
            }
        }
Beispiel #4
0
 private void m_btnAnnuler_Click(object sender, EventArgs e)
 {
     m_parametre  = null;
     DialogResult = DialogResult.Cancel;
 }
Beispiel #5
0
 public void OnGereDemasquage(object state)
 {
     if (m_bIsDemasquageEnCours)
     {
         return;
     }
     m_bIsDemasquageEnCours = true;
     try
     {
         lock (typeof(CLockerTraitementAlarme))
         {
             CResultAErreur result = AssureSessionEtContexte();
             if (!result)
             {
                 return;
             }
             CListeObjetsDonnees lstParametres = new CListeObjetsDonnees(m_contexteDonnee, typeof(CParametrageFiltrageAlarmes));
             lstParametres.Filtre = new CFiltreData(
                 CParametrageFiltrageAlarmes.c_champDateDebutValidite + "<=@1 and " +
                 CParametrageFiltrageAlarmes.c_champDateFinValidite + ">=@2",
                 DateTime.Now,
                 DateTime.Now.AddDays(-1).AddHours(-2));
             List <CParametrageFiltrageAlarmes> lst  = lstParametres.ToList <CParametrageFiltrageAlarmes>();
             HashSet <CAlarme> lstAlarmesARecalculer = new HashSet <CAlarme>();
             foreach (CParametrageFiltrageAlarmes parametre in lst)
             {
                 bool bOldIsApplicable = parametre.IsAppliquableEnCeMoment;
                 parametre.RecalcIsApplicableEnCeMoment();
                 if (bOldIsApplicable != parametre.IsAppliquableEnCeMoment &&
                     !parametre.IsAppliquableEnCeMoment)
                 {
                     //Il faut démasquer
                     CListeObjetsDonnees lstAlarmes = new CListeObjetsDonnees(m_contexteDonnee, typeof(CAlarme));
                     lstAlarmes.Filtre = new CFiltreData(CAlarme.c_champIdMasquagePropre + "=@1 and " +
                                                         CAlarme.c_champDateFin + " is null",
                                                         parametre.Id);
                     foreach (CAlarme alrm in lstAlarmes)
                     {
                         alrm.MasquagePropre = null;
                         lstAlarmesARecalculer.Add(alrm);
                     }
                 }
             }
             lstParametres.Filtre = new CFiltreData(
                 CParametrageFiltrageAlarmes.c_champDateDebutValidite + "<=@1 and " +
                 CParametrageFiltrageAlarmes.c_champDateFinValidite + ">=@2",
                 DateTime.Now,
                 DateTime.Now.AddDays(-1));
             lstParametres.PreserveChanges = true;
             IEnumerable <IParametrageFiltrageAlarmes> parametres = lstParametres.ToList <IParametrageFiltrageAlarmes>();
             foreach (CAlarme alarme in lstAlarmesARecalculer)
             {
                 CParametrageFiltrageAlarmes p = CUtilMasquageAlarmes.GetParametreAAppliquer(alarme, DateTime.Now, parametres) as CParametrageFiltrageAlarmes;
                 if (p != null)
                 {
                     alarme.MasquagePropre = p;
                 }
             }
             result = m_contexteDonnee.SaveAll(true);
         }
     }
     catch (Exception e)
     {
     }
     finally
     {
         m_bIsDemasquageEnCours = false;
     }
 }