示例#1
0
        //public static CResultAErreur Retomber(Int32  alarmEventID, CContexteDonnee ctx)
        public static CResultAErreur Retomber(Int32 alarmeID, CContexteDonnee ctx)
        {
            CSpvAlarmeDonnee spvAlarme = new CSpvAlarmeDonnee(ctx);

            if (spvAlarme.ReadIfExists(alarmeID, true))
            {
                CSpvEvenementReseau evtAlarme = new CSpvEvenementReseau(ctx);
                evtAlarme.CreateNew();
                evtAlarme.AlarmComment = "9485";
                //evtAlarme.AlarmIANA = 9485;
                if (spvAlarme.EvenementDebut != null)
                {
                    evtAlarme.AlarmInfo = string.Format(".1.3.6 = {0};", spvAlarme.EvenementDebut.Id);
                }
                evtAlarme.CodeAlarmGrave      = (int)EGraviteAlarmeAvecMasquage.Undetermined;
                evtAlarme.AlarmCategory       = "TRAPS";
                evtAlarme.AlarmNumObj         = 20;
                evtAlarme.SequenceNumber      = -1;
                evtAlarme.AlarmDateText       = CDivers.GetSysdateNotNull().ToString(CSpvEvenementReseau.c_formatDate);// DateTime.Now.ToString(c_formatDate);
                evtAlarme.SpvAlarmgeree       = spvAlarme.EvenementDebut.SpvAlarmgeree;
                evtAlarme.SpvAlarme           = spvAlarme;
                evtAlarme.TypeEvenementReseau = new CTypeEvenementReseau(ETypeEvenementReseau.FinAlarme);
                return(evtAlarme.CommitEdit());
            }
            else
            {
                throw new Exception(I.T("Alarm not found|50016"));
            }
        }
示例#2
0
        public CResultAErreur ProvoquerAlarme()
        {
            CResultAErreur result = CResultAErreur.True;

            if (this.AccesAlarmeOne == this.SpvAccesAlarmeSysteme0())
            {
                result.EmpileErreur(I.T("Impossible to start an alarm for this acces|50018"));
            }

            if (result)
            {
                CSpvEvenementReseau evenementReseau = new CSpvEvenementReseau(this.ContexteDonnee);
                evenementReseau.CreateNew();
                evenementReseau.CodeAlarmGrave = (int)this.CodeGravite;
                evenementReseau.AlarmDateText  = CDivers.GetSysdateNotNull().ToString(CSpvEvenementReseau.c_formatDate);
                evenementReseau.AlarmCategory  = CSpvEvenementReseau.c_strClasseTRAPS;
                evenementReseau.AlarmNumObj    = CSpvEvenementReseau.c_TrapSimuMonteeAlarme;
                evenementReseau.AlarmComment   = CSpvEvenementReseau.c_IANA_Futurocom.ToString();
                evenementReseau.AlarmNumAl     = "192.168.0.1"; // Adresse IP bidon
                evenementReseau.SpvAlarmgeree  = this.SpvAlarmgeree;

                string alarmInfo;
                string strNumal;

                switch (this.AccesAlarmeOne.CodeCategorieAcces)
                {
                case (int)ECategorieAccesAlarme.SortieBoucle:
                    if (this.AccesAlarmeTwo.SpvEquip.TypeEquipement.Libelle == CSpvTypeq.c_CARTE_GTR)
                    {
                        int numIS          = this.AccesAlarmeTwo.SpvEquip.GetNumeroIS();
                        int numCarte       = this.AccesAlarmeTwo.SpvEquip.GetNumeroCarteGTR();
                        int numAcces       = Convert.ToInt32(this.AccesAlarmeTwo.NomAcces);
                        int NumAccesAbsolu = (numCarte - 1) * CSpvEquip.c_NbPortsParCarteGTR + numAcces;
                        alarmInfo = string.Format("{0} = {1};{0} = {2}; {0} = {3}; {0} = {4}; {0} = {5}; {0} = {6}; {0} =",
                                                  ".1.3.6", this.CodeGravite, CSpvEvenementReseau.c_strClasseIS,
                                                  CSpvEvenementReseau.c_DefaultTexte, numIS, NumAccesAbsolu, 0);
                        evenementReseau.AlarmInfo = alarmInfo;
                    }
                    else     // Equipement de collecte de la catégorie IP2
                    {
                        int    numobj     = 0;
                        string strComment = "";
                        strNumal = this.AccesAlarmeTwo.SpvEquip.AdresseIP;
                        if (strNumal == null || strNumal == "")     // Cas équipements avec adresse IP non renseignée
                        {
                            strNumal = this.AccesAlarmeTwo.SpvEquip.Id.ToString();
                        }
                        alarmInfo = string.Format("{7};{0} = {1};{0} = {2}; {0} = {3}; {0} = {4}; {0} = {5}; {0} = {6}; {0} = {7};{0} = DIG{8}_ON",
                                                  ".1.3.6", this.CodeGravite, CSpvEvenementReseau.c_strClasseIP2,
                                                  CSpvEvenementReseau.c_DefaultTexte, numobj,
                                                  strNumal, strComment,
                                                  this.AccesAlarmeTwo.SpvEquip.Id,
                                                  this.AccesAlarmeTwo.NomAcces);
                        evenementReseau.AlarmInfo = alarmInfo;
                    }
                    break;

                case (int)ECategorieAccesAlarme.TrapSnmp:
                    System.Int32?nTrapGenerique  = this.AccesAlarmeOne.TrapGenerique;
                    System.Int32?nTrapSpecifique = this.AccesAlarmeOne.TrapSpecifique;
                    string       strClasse       = CSpvEvenementReseau.c_strClasseTRAPS;
                    int          nTrap           = (int)nTrapSpecifique;

                    if (nTrapGenerique != null && nTrapGenerique < CSpvAccesAlarme.c_TrapGeneriqueMax)
                    {
                        strClasse = CSpvEvenementReseau.c_strClasseTRAPG;
                        nTrap     = (int)nTrapGenerique;
                    }
                    strNumal = this.AccesAlarmeOne.SpvEquip.AdresseIP;
                    if (strNumal == null || strNumal == "")     // Cas équipements commutateur E10B
                    {
                        strNumal = this.AccesAlarmeOne.SpvEquip.Id.ToString();
                    }

                    alarmInfo = string.Format("{0} = {1};{0} = {2}; {0} = {3}; {0} = {4}; {0} = {5}; {0} = {6}; {0} = {7};",
                                              ".1.3.6", this.CodeGravite, strClasse,
                                              CSpvEvenementReseau.c_DefaultTexte, nTrap,
                                              strNumal,
                                              this.AccesAlarmeOne.TrapIANA, this.AccesAlarmeOne.SpvEquip.Id);
                    evenementReseau.AlarmInfo = alarmInfo;
                    break;

                default:
                    result.EmpileErreur(I.T("Impossible to start an alarm for this acces type|50017"));
                    break;
                }
                if (result)
                {
                    result = evenementReseau.CommitEdit();
                }
            }

            return(result);
        }