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); }
//------------------------------------------------------------------- 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); }
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(); } }
private void m_btnAnnuler_Click(object sender, EventArgs e) { m_parametre = null; DialogResult = DialogResult.Cancel; }
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; } }