예제 #1
0
        public static CParametrageFiltrageAlarmes EditParametre(CAlarme alarme)
        {
            CFormMasquageAlarmeManuel form = new CFormMasquageAlarmeManuel();

            form.m_alarme = alarme;

            if (form.ShowDialog() == DialogResult.OK)
            {
                return(form.m_parametre);
            }

            return(null);
        }
예제 #2
0
        private void  menu_Click(object sender, EventArgs e)
        {
            CMenuItemAvecAlarme menu = sender as CMenuItemAvecAlarme;

            if (menu != null && m_navigateur != null)
            {
                CAlarme alarme = new CAlarme(m_baseVue.ContexteDonnee);
                if (alarme.ReadIfExists(new CFiltreData(CAlarme.c_champAlarmId + "=@1", menu.Alarme.Id)))
                {
                    m_navigateur.AffichePage(new CFormEditionAlarme(alarme));
                }
            }
        }
예제 #3
0
        //-------------------------------------------------------------------------
        private void OnMaskAlarm(object sender, EventArgs e)
        {
            Node node = FocusedNode;

            if (node != null && node.Owner != null)
            {
                CLocalAlarmeAffichee alarme = node.Tag as CLocalAlarmeAffichee;
                // Edite la fenêtre de détail de l'Alarme
                CAlarme alarmeInDB = new CAlarme(CContexteDonneeSysteme.GetInstance());
                if (alarmeInDB.ReadIfExists(new CFiltreData(
                                                CAlarme.c_champAlarmId + " = @1",
                                                alarme.Id)))
                {
                    CFormMasquageAlarmeManuel.CreateMasquage(alarmeInDB, true);
                }
            }
        }
예제 #4
0
        //-------------------------------------------------------------------------
        private void OnShowAlarmDetail(object sender, EventArgs e)
        {
            Node node = FocusedNode;

            if (node != null && node.Owner != null)
            {
                CLocalAlarmeAffichee alarme = node.Tag as CLocalAlarmeAffichee;
                // Edite la fenêtre de détail de l'Alarme
                CAlarme alarmeInDB = new CAlarme(CContexteDonneeSysteme.GetInstance());
                if (alarmeInDB.ReadIfExists(new CFiltreData(
                                                CAlarme.c_champAlarmId + " = @1",
                                                alarme.Id)))
                {
                    CTimosApp.Navigateur.AffichePage(new CFormEditionAlarme(alarmeInDB));
                }
            }
        }
예제 #5
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);
        }
예제 #6
0
        //----------------------------------------------------
        private void GereHierarchie(
            CContexteDonnee ctxEdit,
            CLocalAlarme alarme,
            CMappageIdsAlarmes dicMapIds,
            HashSet <string> alarmesTraitees,
            CAlarme alarmeParente)
        {
            if (alarmesTraitees.Contains(alarme.Id))
            {
                return;
            }

            CAlarme alarmeInDb  = new CAlarme(ctxEdit);
            bool    bExiste     = false;
            string  strIdAlarme = alarme.Id;

            if (alarmeInDb.ReadIfExists(new CFiltreData(CAlarme.c_champAlarmId + "=@1", strIdAlarme)))
            {
                bExiste = true;
            }
            else if (dicMapIds.TryGetValue(alarme.Id, out strIdAlarme))
            {
                if (alarmeInDb.ReadIfExists(new CFiltreData(CAlarme.c_champAlarmId + "=@1", strIdAlarme)))
                {
                    bExiste = true;
                }
            }
            else
            {
                strIdAlarme = alarme.Id;
            }
            if (!bExiste)
            {
                if (alarmeInDb.ReadIfExists(
                        new CFiltreData(CAlarme.c_champCle + "=@1 and " +
                                        CAlarme.c_champDateFin + " is null",
                                        alarme.GetKey())))
                {
                    bExiste = true;
                }
            }
            if (!bExiste)
            {
                alarmeInDb.CreateNewInCurrentContexte();
            }
            else
            {
                strIdAlarme = alarmeInDb.AlarmId;
            }
            alarmesTraitees.Add(alarme.Id);
            alarmeInDb.AlarmeParente = alarmeParente;
            alarmeInDb.FillFromLocalAlarmeFromMediation(alarme);
            alarmeInDb.AlarmId = strIdAlarme;

            if (alarmeInDb.AlarmId != alarme.Id)
            {
                dicMapIds[alarme.Id] = alarmeInDb.AlarmId;
                alarme.Id            = alarmeInDb.AlarmId;
            }
            foreach (CLocalAlarme alarmeFille in alarme.Childs)
            {
                GereHierarchie(ctxEdit, alarmeFille, dicMapIds, alarmesTraitees, alarmeInDb);
            }
        }