示例#1
0
 public CFormConsultationAlarmeGeree(CInfoAlarmeAffichee alarmInfo, CContexteDonnee ctx)
 {
     InitializeComponent();
     m_ctxDonnee   = ctx;
     m_alarmeGeree = alarmInfo.AlarmeGeree.GetSpvAlarmGeree(m_ctxDonnee);
     Init();
 }
示例#2
0
        ///////////////////////////////////////////////////////////////
        public override CResultAErreur VerifieDonnees(CObjetDonnee objet)
        {
            CResultAErreur result = CResultAErreur.True;

            try
            {
                CSpvAlarmGeree alarmgeree = (CSpvAlarmGeree)objet;
                if (alarmgeree.Automatic_MIB)
                {
                    if (alarmgeree.AlarmgereeSeuilNom == null || alarmgeree.AlarmgereeSeuilNom.Length == 0)
                    {
                        result.EmpileErreur(I.T("When <Automatic MIB> is checked for the threshold, threshold name should be filled|50003"));
                    }

                    else if (alarmgeree.TypeAccesAlarme.SpvTypeq.TypeqModulesMIB.Count <= 0)
                    {
                        result.EmpileErreur(I.T("When <Automatic MIB> is checked for the threshold, MIBs should be associated with the equipement type|50002"));
                    }

                    /*
                     * CListeObjetsDonnees lst = new CListeObjetsDonnees(objet.ContexteDonnee, typeof(CSpvMibobj));
                     * lst.Filtre = new CFiltreData(CSpvMibobj.c_champMIBOBJ_NAME + "=@1", alarmgeree.AlarmgereeSeuilNom);
                     * int nNb = lst.Count;
                     *
                     * if(nNb<=0)
                     *  result.EmpileErreur(I.T("@1 is not found in the MIB|60000",alarmgeree.AlarmgereeSeuilNom));
                     * */
                }
            }
            catch (Exception e)
            {
                result.EmpileErreur(new CErreurException(e));
            }
            return(result);
        }
        public CSpvAlarmGeree GetSpvAlarmGeree(CContexteDonnee contexteDonnee)
        {
            if (m_nId == null)
            {
                return(null);
            }

            CSpvAlarmGeree alGer = new CSpvAlarmGeree(contexteDonnee);

            if (alGer.ReadIfExists((int)m_nId))
            {
                return(alGer);
            }

            return(null);
        }
示例#4
0
        public override CResultAErreur TraitementAvantSauvegarde(CContexteDonnee contexte)
        {
            CResultAErreur result = CResultAErreur.True;

            DataTable dt = contexte.Tables[CSpvAlarmGeree.c_nomTable];

            if (dt != null)
            {
                ArrayList      rows = new ArrayList(dt.Rows);
                CSpvAlarmGeree spvAlarmGeree;

                foreach (DataRow row in rows)
                {
                    if (row.RowState == DataRowState.Added || row.RowState == DataRowState.Modified)
                    {
                        spvAlarmGeree = new CSpvAlarmGeree(row);
                        spvAlarmGeree.CalculeUnicite();

                        if (spvAlarmGeree.Automatic_MIB &&
                            spvAlarmGeree.AlarmgereeSeuilNom != null &&
                            spvAlarmGeree.AlarmgereeSeuilNom.Length > 0 &&
                            spvAlarmGeree.TypeAccesAlarme.SpvTypeq.TypeqModulesMIB.Count > 0)
                        {
                            result = spvAlarmGeree.MibAuto();
                        }

                        if (row.RowState == DataRowState.Modified &&
                            (int)row[CSpvAlarmGeree.c_champALARMGEREE_MIN, DataRowVersion.Original] !=
                            spvAlarmGeree.DureeMin)
                        {
                            CSpvMessalrm spvMessalrm = new CSpvMessalrm(contexte);
                            spvMessalrm.CreateNewInCurrentContexte();
                            spvMessalrm.MessageModifTempoPourSaturneIS(spvAlarmGeree.Id);
                        }
                    }
                }
            }
            return(result);
        }
示例#5
0
        ///////////////////////////////////////////////////////////////
        public override CResultAErreur VerifieDonnees(CObjetDonnee objet)
        {
            CResultAErreur result = CResultAErreur.True;

            try
            {
                CSpvTypeAccesAlarme typeAcces = objet as CSpvTypeAccesAlarme;

                if (typeAcces.CategorieAccesAlarme == null)
                {
                    result.EmpileErreur(I.T("Access type should be defined|2"));
                }
                else
                {
                    if (typeAcces.Row.RowState == DataRowState.Modified &&
                        typeAcces.CodeCategorieAcces != (int)typeAcces.Row[CSpvTypeAccesAlarme.c_champACCES_CATEGORIE, DataRowVersion.Original])
                    {
                        result.EmpileErreur(I.T("Access type isn't modifiable|50001"));
                    }

                    if (typeAcces.CategorieAccesAlarme == ECategorieAccesAlarme.TrapSnmp)
                    {
                        if (typeAcces.NumeroIANA == null || typeAcces.TrapGenerique == null || typeAcces.TrapSpecifique == null)
                        {
                            result.EmpileErreur(I.T("For trap type, fill field iana number, generic trap and specific trap|50022"));
                        }
                        else if (typeAcces.TrapGenerique < 0 || typeAcces.TrapGenerique > 6)
                        {
                            result.EmpileErreur(I.T("Generic trap should be between 0 and 6|50023"));
                        }
                        else if (typeAcces.TrapGenerique < 6 && typeAcces.TrapSpecifique != 0)
                        {
                            result.EmpileErreur(I.T("For a generic trap, specific trap should be 0|50024"));
                        }
                        else if (typeAcces.TrapGenerique >= 0 && typeAcces.TrapGenerique < 6 && typeAcces.NumeroIANA != 0)
                        {
                            result.EmpileErreur(I.T("For a generic trap, IANA number should be 0|50025"));
                        }
                    }
                }
                if (typeAcces.NomAcces == null || typeAcces.NomAcces == "")
                {
                    result.EmpileErreur(I.T("Access type should have a name|3"));
                }


                if ((typeAcces.SpvSite != null || typeAcces.SpvLiai != null) &&
                    typeAcces.CodeCategorieAcces != (int)ECategorieAccesAlarme.SortieBoucle)
                {
                    CCategorieAccesAlarme category = new CCategorieAccesAlarme(ECategorieAccesAlarme.SortieBoucle);

                    result.EmpileErreur(I.T("Only acces type @1 is allowed for this object|60008", category.Libelle));
                }

                CSpvAlarmGeree alarmgeree = typeAcces.GetAlarmeGereeAvecCreationSuppression();
                if (alarmgeree != null && alarmgeree.AlarmgereeFreqPeriod != null &&
                    alarmgeree.AlarmgereeFreqPeriod < 1)
                {
                    result.EmpileErreur(I.T("Frequent alarm period must be grater then 1|60063"));
                }
            }
            catch (Exception e)
            {
                result.EmpileErreur(new CErreurException(e));
            }
            return(result);
        }
示例#6
0
        ///////////////////////////////////////////////////////////////
        public override CResultAErreur TraitementAvantSauvegarde(CContexteDonnee contexte)
        {
            CResultAErreur result = base.TraitementAvantSauvegarde(contexte);

            if (!result)
            {
                return(result);
            }
            DataTable table = contexte.Tables[GetNomTable()];

            if (table == null)
            {
                return(result);
            }
            ArrayList           lstRows = new System.Collections.ArrayList(table.Rows);
            CSpvTypeAccesAlarme spvType;

            foreach (DataRow row in lstRows)
            {
                if (row.RowState == DataRowState.Added || row.RowState == DataRowState.Modified)
                {
                    spvType = new CSpvTypeAccesAlarme(row);
                    //spvType.CalculeUnicite();
                    CSpvTypeq spvTypeq = spvType.SpvTypeq;
                    if (spvTypeq != null)
                    {
                        if (row.RowState == DataRowState.Added)
                        {
                            result = spvType.GenAccesAlarmeEquips();
                        }
                        else
                        {
                            result = spvType.MajAccesAlarmeEquips();
                        }
                    }


                    /*   if (spvType.AlarmeGeree == null)
                     * {
                     *     CSpvAlarmGeree spvAlarmGeree = new CSpvAlarmGeree(contexte);
                     *     spvAlarmGeree.CreateNewInCurrentContexte();
                     *     spvAlarmGeree.TypeAccesAlarme = spvType;
                     * }
                     * if (spvType.AlarmeGeree != null)
                     * {
                     *     spvType.AlarmeGeree.Alarmgeree_Name = spvType.NomAcces;
                     *     //spvType.AlarmeGeree.AlarmgereeUnicity = spvType.UniciteAcces;
                     * }*/

                    CSpvAlarmGeree spvAlarmGeree = spvType.GetAlarmeGereeAvecCreationSuppression();
                    if (spvAlarmGeree != null)
                    {
                        spvAlarmGeree.Alarmgeree_Name = spvType.NomAcces;
                    }

                    // Calcul de l'unicité
                    //spvType.CalculeUnicite();
                }
                else if (row.RowState == DataRowState.Deleted)
                {
                    spvType = new CSpvTypeAccesAlarme(row);
                    result  = spvType.TraitementDelete();
                }
            }
            return(result);
        }