Exemple #1
0
        //-------------------------------------------------------
        public static bool EditeCreateur(CCreateurAlarme createur, IBaseTypesAlarmes baseAlarmes)
        {
            CFormEditCreateurAlarme form = new CFormEditCreateurAlarme();
            CMemoryDb dbEdition          = new CMemoryDb();

            form.m_createur = dbEdition.ImporteObjet(createur, true, true) as CCreateurAlarme;
            //form.m_createur = CCloner2iSerializable.Clone(createur) as CCreateurAlarme;
            form.m_createur.TrapHandler = createur.TrapHandler;
            form.m_baseTypesAlarmes     = baseAlarmes;
            bool bResult = false;

            if (form.ShowDialog() == DialogResult.OK)
            {
                createur.Database.ImporteObjet(form.m_createur, true, true);
                bResult = true;
            }
            form.Dispose();
            return(bResult);
        }
Exemple #2
0
        /// /////////////////////////////////////////////
        public CResultAErreur InitEntitesFromSnmpInContexteCourant()
        {
            CResultAErreur            result   = CResultAErreur.True;
            CMemoryDb                 database = CMemoryDbPourSupervision.GetMemoryDb(ContexteDonnee);
            CAgentSnmpPourSupervision agent    = GetAgentPourSupervision(database, false);

            if (agent != null)
            {
                result = agent.FillFromSNMP(new CInterrogateurSnmp());
                if (result)
                {
                    result = MapEntitesFromSNMP(agent);
                }
            }
            if (result)
            {
                LastUpdateDateFromSNMP = DateTime.Now;
            }
            return(result);
        }
        public CDefinitionProprieteDynamique[] GetDefinitionsChamps(CObjetPourSousProprietes objet, CDefinitionProprieteDynamique defParente)
        {
            List <CDefinitionProprieteDynamique> listeProps = new List <CDefinitionProprieteDynamique>();

            if (objet.TypeAnalyse != null && objet.TypeAnalyse == typeof(CLocalAlarme))
            {
                CListeObjetsDonnees lstChamps = new CListeObjetsDonnees(CContexteDonneeSysteme.GetInstance(), typeof(CChampCustom));
                lstChamps.Filtre = CChampCustom.GetFiltreChampsForRole(CAlarme.c_roleChampCustom);

                using (CMemoryDb db = new CMemoryDb())
                {
                    foreach (CChampCustom champ in lstChamps)
                    {
                        CLocalChampTypeAlarme localChamp = CTypeAlarme.GetChampTypeAlarme(db, champ);
                        listeProps.Add(new CDefinitionProprieteDynamiqueChampAlarme(localChamp));
                    }
                }
            }
            return(listeProps.ToArray());
        }
    //------------------------------------------------------------------------
    public static DataSet GetListeSitesPourReferences(C2iSessionWeb session)
    {
        using (CContexteDonnee ctx = new CContexteDonnee(session.Session.IdSession, true, false))
        {
            CMemoryDb db = new CMemoryDb();
            AddTypesSitesToDb(ctx, db);
            TID.CIndexIdTimos <TID.CTypeSite> dicTypesSites = TID.CIndexIdTimos <TID.CTypeSite> .GetIdTimosIndex(db);

            CListeObjetDonneeGenerique <CSite> lstSites = new CListeObjetDonneeGenerique <CSite>(ctx);
            lstSites.AssureLectureFaite();
            lstSites.ReadDependances("SitesFils");
            lstSites.ReadDependances("TypeSite");
            lstSites.Filtre = new CFiltreData(CSite.c_champIdParent + " is null");
            foreach (CSite site in lstSites)
            {
                AddSitePourReference(site, null, db, dicTypesSites);
            }
            return(db);
        }
    }
        public static CEntiteDeMemoryDb SelectObjetDonnee(CMemoryDb dbMemory, string strInstructions, CListeEntitesDeMemoryDbBase liste, string strPropriete)
        {
            CFormSelectUneEntiteMemoryDb form = new CFormSelectUneEntiteMemoryDb();

            form.m_listeObjets          = liste;
            form.m_strInstructions      = strInstructions;
            form.m_filtre               = liste.Filtre;
            form.TypeObjets             = liste.TypeElements;
            form.m_strProprieteAffichee = strPropriete;
            form.m_contexteMemoire      = dbMemory;
            form.m_wndListeElements.Columns[0].Propriete = strPropriete;
            CEntiteDeMemoryDb objet = null;

            if (form.ShowDialog() == DialogResult.OK)
            {
                objet = form.ObjetDonnee;
            }
            form.Dispose();
            return(objet);
        }
Exemple #6
0
        //--------------------------------------------------------------------
        public CResultAErreurType <CMappageIdsAlarmes> RemonteAlarmes(CMemoryDb dbContenantLesAlarmesARemonter)
        {
            CResultAErreurType <CMappageIdsAlarmes> result = new CResultAErreurType <CMappageIdsAlarmes>();

            if (m_traiteurAlarme != null)
            {
                return(m_traiteurAlarme.Traite(dbContenantLesAlarmesARemonter));
            }
            else
            {
                foreach (CSnmpProxy proxy in CSnmpProxyConfiguration.GetInstance().GetProxiesPrecedents())
                {
                    ISnmpConnexion connexion = proxy.GetConnexion();
                    return(connexion.RemonteAlarmes(dbContenantLesAlarmesARemonter));
                }
            }
            result.EmpileErreur(I.T("Can not manage alarms"));

            return(result);
        }
Exemple #7
0
        //--------------------------------------------------------
        public static CDataRoom GetRoomFor(string strIdEntite, CMemoryDb db)
        {
            string strRoomId = "";

            if (m_cacheDispatch.TryGetValue(strIdEntite, out strRoomId))
            {
                CDataRoom room = new CDataRoom(db);
                if (room.ReadIfExist(strRoomId))
                {
                    return(room);
                }
            }
            CListeEntitesDeMemoryDb <CDataDispatch> lstDispatch = new CListeEntitesDeMemoryDb <CDataDispatch>(db);

            lstDispatch.Filtre = new CFiltreMemoryDb(CDataDispatch.c_champStartEntityId + " like @1", strIdEntite[0] + "%");
            lstDispatch.Sort   = CDataDispatch.c_champStartEntityId + " desc";
            CDataRoom roomDest = null;

            foreach (CDataDispatch dd in lstDispatch)
            {
                if (strIdEntite.StartsWith(dd.StartEntityId))
                {
                    roomDest = dd.DestinationRoom;
                }
                ;
            }
            if (roomDest == null)
            {
                //Cherche le dispatch vide
                lstDispatch.Filtre = new CFiltreMemoryDb(CDataDispatch.c_champStartEntityId + "=@1", "");
                if (lstDispatch.Count() > 0)
                {
                    roomDest = lstDispatch.ElementAt(0).DestinationRoom;
                }
            }
            if (roomDest != null)
            {
                m_cacheDispatch[strIdEntite] = roomDest.Id;
            }
            return(roomDest);
        }
Exemple #8
0
        private void InitListeReleves()
        {
            CMemoryDb db = CTimosInventoryDb.GetInventaireDatas();
            CListeEntitesDeMemoryDb <CReleveSite> lst = new CListeEntitesDeMemoryDb <CReleveSite>(db);

            m_wndListeReleves.BeginUpdate();
            m_wndListeReleves.Items.Clear();
            lst.Sort = CReleveSite.c_champDate;
            foreach (CReleveSite releve in lst)
            {
                CSite site = releve.Site;
                if (site != null)
                {
                    ListViewItem item = new ListViewItem(site.LibelleComplet);
                    item.Tag     = releve;
                    item.Checked = true;
                    m_wndListeReleves.Items.Add(item);
                }
            }
            m_wndListeReleves.EndUpdate();
        }
Exemple #9
0
        /// /////////////////////////////////////////////////////////
        public CTypeAgentPourSupervision GetTypeAgentPourSupervision(CMemoryDb database)
        {
            if (database == null)
            {
                database = CMemoryDbPourSupervision.GetMemoryDb(ContexteDonnee);
            }
            CTypeAgentPourSupervision typeAgent = new CTypeAgentPourSupervision(database);

            if (!typeAgent.ReadIfExist(Id.ToString(), false))
            {
                typeAgent.CreateNew(Id.ToString());
            }
            else
            if (!typeAgent.IsToRead())
            {
                return(typeAgent);
            }
            typeAgent.Row[CMemoryDb.c_champIsToRead] = false;
            foreach (CEasyQuery query in Queries)
            {
                typeAgent.AddQuery(query);
            }
            typeAgent.Fonctions = FonctionsDynamiques;
            foreach (CTrapHandler handler in TrapHandlers)
            {
                database.ImporteObjet(handler, true, false);
            }
            foreach (CTypeEntiteSnmp typeEntite in TypesEntites)
            {
                if (typeEntite.TypeParent == null)
                {
                    typeEntite.GetTypeEntitePourSupervision(database, true);
                }
            }
            foreach (CAgentFinderFromKey finder in AgentFinders)
            {
                database.ImporteObjet(finder, true, false);
            }
            return(typeAgent);
        }
        public static CMemoryDb GetAlarmesAAfficher(int nIdSession)
        {
            using (CContexteDonnee ctx = new CContexteDonnee(nIdSession, true, false))
            {
                CMemoryDb db = CMemoryDbPourSupervision.GetMemoryDb(ctx);
                //Catégories de masquage
                CListeObjetDonneeGenerique <CCategorieMasquageAlarme> lstCat = new CListeObjetDonneeGenerique <CCategorieMasquageAlarme>(ctx);
                foreach (CCategorieMasquageAlarme cat in lstCat)
                {
                    CLocalCategorieMasquageAlarme local = cat.GetLocalCategorieForSupervision(db);
                }

                CListeObjetDonneeGenerique <CAlarme> lst = new CListeObjetDonneeGenerique <CAlarme>(ctx);
                lst.Filtre = new CFiltreData(CAlarme.c_champDateFin + " is null and " +
                                             CAlarme.c_champIdParent + " is null");
                int nCount = 0;
                if (lst.Count == 0)
                {
                    return(db);
                }
                CListeObjetsDonnees lstFilles = lst;
                while (ctx.Tables[CAlarme.c_nomTable].Rows.Count != nCount)
                {
                    nCount    = ctx.Tables[CAlarme.c_nomTable].Rows.Count;
                    lstFilles = lstFilles.GetDependances("AlarmesFilles");
                }
                lst = new CListeObjetDonneeGenerique <CAlarme>(ctx);
                lst.InterditLectureInDB = true;
                lst.ReadDependances("RelationsChampsCustom");
                lst.Filtre = new CFiltreData(CAlarme.c_champIdParent + " is null");
                CListeObjetDonneeGenerique <CTypeAlarme> lstTypes = new CListeObjetDonneeGenerique <CTypeAlarme>(ctx);
                lstTypes.AssureLectureFaite();

                foreach (CAlarme alrm in lst)
                {
                    CLocalAlarme newAlrm = alrm.GetLocalAlarme(db, true);
                }
                return(db);
            }
        }
Exemple #11
0
    public static DataSet GetEquipments(C2iSessionWeb sessionWeb,
                                        int nIdSiteContenant)
    {
        using (CContexteDonnee ctx = new CContexteDonnee(sessionWeb.Session.IdSession, true, false))
        {
            CMemoryDb db = new CMemoryDb();
            db.EnforceConstraints = false;

            //Identifie les champs custom interessants
            CListeObjetDonneeGenerique <CChampCustom> lstChamps = new CListeObjetDonneeGenerique <CChampCustom>(ctx);
            lstChamps.Filtre = CChampCustom.GetFiltreChampsForRole(CReleveEquipement.c_roleChampCustom);
            StringBuilder blChampsCustom = new StringBuilder();
            foreach (CChampCustom champ in lstChamps)
            {
                blChampsCustom.Append(champ.Id);
                blChampsCustom.Append(",");
                AssureChampInMemoryDb(champ, db);
            }
            if (blChampsCustom.Length > 0)
            {
                blChampsCustom.Remove(blChampsCustom.Length - 1, 1);
            }



            //Ajout des équipements
            CListeObjetDonneeGenerique <CEquipement> equipements = new CListeObjetDonneeGenerique <CEquipement>(ctx);
            equipements.Filtre = new CFiltreData(CSite.c_champId + "=@1", nIdSiteContenant);
            equipements.AssureLectureFaite();
            equipements.ReadDependances("EquipementsContenus.ParametragesSystemesCoordonnees", "RelationsChampsCustom");
            equipements.Filtre = new CFiltreData(CEquipement.c_champIdEquipementContenant + " is null");
            equipements.InterditLectureInDB = true;
            foreach (CEquipement eqt in equipements)
            {
                AddDetailEquipementToDb(eqt, null, blChampsCustom.ToString(), db);
            }
            return(db);
        }
    }
Exemple #12
0
        //----------------------------------------------------------------
        public CResultAErreur UpdateConfig(CMemoryDb database)
        {
            CResultAErreur result = CResultAErreur.True;

            try
            {
                result = SaveConfig(database);
                if (!result)
                {
                    return(result);
                }
                m_database = database;
                UpdateOptimizedDb();
                CDataDispatch.ResetDispatchCache();
                return(result);
            }
            catch (Exception e)
            {
                result.EmpileErreur(new CErreurException(e));
            }
            return(result);
        }
Exemple #13
0
    //------------------------------------------------------------------------
    public static DataSet GetSites(
        C2iSessionWeb sessionWeb,
        int[] nIdSites)
    {
        using (CContexteDonnee ctx = new CContexteDonnee(sessionWeb.Session.IdSession, true, false))
        {
            CMemoryDb db = new CMemoryDb();
            db.EnforceConstraints = false;
            if (nIdSites != null && nIdSites.Length > 0)
            {
                StringBuilder bl = new StringBuilder();
                foreach (int nIdSite in nIdSites)
                {
                    bl.Append(nIdSite);
                    bl.Append(';');
                }
                bl.Remove(bl.Length - 1, 1);
                CFiltreDataAvance filtre = new CFiltreDataAvance(CSite.c_nomTable,
                                                                 CSite.c_champId + " in {" + bl.ToString() + "}");
                filtre.IntegrerFilsHierarchiques = true;
                CListeObjetDonneeGenerique <CSite> lstSites = new CListeObjetDonneeGenerique <CSite>(ctx);
                lstSites.Filtre = filtre;
                lstSites.AssureLectureFaite();
                lstSites.ReadDependances("SitesFils");
                lstSites.Filtre = new CFiltreData(CSite.c_champIdParent + " is null");
                lstSites.InterditLectureInDB = true;


                foreach (CSite site in lstSites)
                {
                    AddDetailSiteToDb(site, null, db);
                }
            }
            return(db);
        }
    }
        public static CEntiteDeMemoryDb SelectObjetDonnee(CMemoryDb dbMemory, string strInstructions, Type type, CFiltreMemoryDb filtre, string strPropriete)
        {
            if (!type.IsSubclassOf(typeof(CEntiteDeMemoryDb)))
            {
                CFormAlerte.Afficher(I.T("Impossible to select an element from this type|30035"), EFormAlerteType.Erreur);
                return(null);
            }
            CFormSelectUneEntiteMemoryDb form = new CFormSelectUneEntiteMemoryDb();

            form.m_filtre               = filtre;
            form.m_strInstructions      = strInstructions;
            form.TypeObjets             = type;
            form.m_strProprieteAffichee = strPropriete;
            form.m_contexteMemoire      = dbMemory;
            form.m_wndListeElements.Columns[0].Propriete = strPropriete;
            CEntiteDeMemoryDb objet = null;

            if (form.ShowDialog() == DialogResult.OK)
            {
                objet = form.ObjetDonnee;
            }
            form.Dispose();
            return(objet);
        }
Exemple #15
0
        //-------------------------------------------------
        public static CMemoryDb GetTimosDatas()
        {
            if (m_dbTimos != null)
            {
                return(m_dbTimos);
            }
            m_dbTimos = new CMemoryDb();
            if (File.Exists(GetNomFichierTimosData()))
            {
                /*try
                 * {
                 *  m_dbTimos.ReadXml(GetNomFichierTimosData(), System.Data.XmlReadMode.Auto);
                 * }
                 * catch (Exception e)
                 * {
                 *  CResultAErreur result = CResultAErreur.True;
                 *  result.EmpileErreur(new CErreurException(e));
                 *  result.EmpileErreur(I.T("Can not read data|20007"));
                 *  CFormAlerte.Afficher(result.Erreur);
                 *  m_dbTimos = new CMemoryDb();
                 * }
                 * }*/

                DateTime       dt     = DateTime.Now;
                CResultAErreur result = CSerializerObjetInFile.ReadFromFile(m_dbTimos, c_cleFichierTimos, GetNomFichierTimosData());
                TimeSpan       sp     = DateTime.Now - dt;
                System.Console.WriteLine("Read dbTimos : " + sp.TotalMilliseconds);
                if (!result)
                {
                    result.EmpileErreur(I.T("Can not read data|20007"));
                    CFormAlerte.Afficher(result.Erreur);
                    m_dbTimos = new CMemoryDb();
                }
            }
            return(m_dbTimos);
        }
 //-------------------------------------------------
 public CLocalRelationTypeAlarmeChampAlarme(CMemoryDb db)
     : base(db)
 {
 }
Exemple #17
0
 //-----------------------------------------
 public CTypeEquipementConstructeur(CMemoryDb db)
     : base(db)
 {
 }
Exemple #18
0
 //-----------------------------------------
 public CSite(CMemoryDb db)
     : base(db)
 {
 }
Exemple #19
0
 //-------------------------------------------------------
 public CReleveSite(CMemoryDb db)
     : base(db)
 {
 }
Exemple #20
0
 public void SendAlarmes()
 {
     if (m_traiteurAlarmes == null)
     {
         return;
     }
     if (m_nWaitingCounter > 5)
     {
         return;
     }
     m_nWaitingCounter++;
     lock (typeof(CLockTraiteurAlarmes))
     {
         m_nWaitingCounter--;
         List <CLocalAlarme> lstToSend = null;
         lock (typeof(CLockListeAlarmes))
         {
             if (m_listeAlarmesATransmettre.Count < 250 || m_nWaitingCounter == 0)
             {
                 lstToSend = m_listeAlarmesATransmettre;
                 m_listeAlarmesATransmettre = new List <CLocalAlarme>();
             }
             else
             {
                 lstToSend = new List <CLocalAlarme>();
                 for (int n = 0; n < 250; n++)
                 {
                     lstToSend.Add(m_listeAlarmesATransmettre[n]);
                 }
                 m_listeAlarmesATransmettre.RemoveRange(0, 250);
             }
         }
         try
         {
             System.Data.DataTable tbl = Database.Tables[CLocalAlarme.c_nomTable];
             Console.WriteLine("Nb in db : " + tbl.Rows.Count);
             if (lstToSend.Count == 0)
             {
                 return;
             }
             using (CMemoryDb memDB = new CMemoryDb())
             {
                 memDB.EnforceConstraints = false;
                 lock (typeof(CLockerDatabase))
                 {
                     foreach (CLocalAlarme alrm in lstToSend)
                     {
                         try
                         {
                             if (alrm.Row.Row.RowState != System.Data.DataRowState.Detached)
                             {
                                 memDB.ImporteObjet(alrm, true, false);
                             }
                         }
                         catch (Exception e)
                         {
                             throw e;
                         }
                     }
                 }
                 m_nNbSend += lstToSend.Count;
                 CResultAErreurType <CMappageIdsAlarmes> result = m_traiteurAlarmes.Traite(memDB);
                 if (result)
                 {
                     if (result.DataType != null)
                     {
                         foreach (KeyValuePair <string, string> kv in result.DataType)
                         {
                             if (kv.Value != kv.Key)
                             {
                                 CLocalAlarme alarme = GetAlarmFromId(kv.Key);
                                 if (alarme != null)
                                 {
                                     alarme.Id = kv.Key;
                                     m_dicAlarmes.Remove(kv.Key);
                                     m_dicAlarmes[kv.Value] = alarme;
                                 }
                             }
                         }
                     }
                     NettoyageDB();
                     return;
                 }
                 if (!result)
                 {
                     m_trace.Write("Error while sending to Timos manager", ALTRACE.DEBUG);
                     m_trace.Write(result.Erreur.ToString(), ALTRACE.DEBUG);
                 }
             }
         }
         catch (Exception exep)
         {
         }
         lock (typeof(CLockListeAlarmes))
         {
             for (int n = lstToSend.Count - 1; n >= 0; n--)
             {
                 if (lstToSend[n].Row.Row.RowState == System.Data.DataRowState.Detached)
                 {
                     lstToSend.RemoveAt(n);
                 }
             }
             m_listeAlarmesATransmettre.InsertRange(0, lstToSend);
         }
     }
 }
Exemple #21
0
 //---------------------------------------------------
 public CDataHotel(CMemoryDb db)
     : base(db)
 {
 }
Exemple #22
0
 public CSnmpProxy(CMemoryDb db)
     : base(db)
 {
 }
Exemple #23
0
 //--------------------------------------------------------
 public CDataRoom(CMemoryDb db)
     : base(db)
 {
 }
Exemple #24
0
        private void m_lnkEnvoyerReleves_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
        {
            DateTime           dt         = DateTime.Now;
            List <CReleveSite> lstReleves = new List <CReleveSite>();

            foreach (ListViewItem item in m_wndListeReleves.CheckedItems)
            {
                CReleveSite rel = item.Tag as CReleveSite;
                if (rel != null)
                {
                    lstReleves.Add(rel);
                }
            }
            List <CReleveSite> lstTransmitted = new List <CReleveSite>();

            CFormWaiting.DoWork((DoWorkDelegate) delegate(CFormWaiting waiter)
            {
                waiter.ReportProgress(I.T("Connecting to Timos|20009"));
                InventoryService.InventoryService service = new TimosInventory.InventoryService.InventoryService();
                service.Url = CTimosInventoryRegistre.TimosServiceURL;

                int nIdSession;
                try
                {
                    nIdSession = service.OpenSession();

                    foreach (CReleveSite releve in lstReleves)
                    {
                        if (releve != null)
                        {
                            CMemoryDb db          = new CMemoryDb();
                            db.EnforceConstraints = false;
                            db.ImporteObjet(releve, true, false);
                            waiter.ReportProgress(I.T("Send survey @1|20038",
                                                      releve.Site.Libelle));
                            bool bResult = service.SendSurvey(nIdSession, db);
                            if (bResult)
                            {
                                lstTransmitted.Add(releve);
                            }
                        }
                    }
                    foreach (CReleveSite releve in lstTransmitted)
                    {
                        releve.ClearRelevesEquipements();
                        releve.Delete();
                    }
                    service.CloseSession(nIdSession);
                    TimeSpan sp = DateTime.Now - dt;
                    Console.WriteLine("Transmission relevé : " + sp.TotalMilliseconds);
                }
                catch
                {
                }
            });
            CTimosInventoryDb.SetDbInventaire(CTimosInventoryDb.GetInventaireDatas());
            if (lstTransmitted.Count != lstReleves.Count)
            {
                CFormAlerte.Afficher(I.T("Due to unknown error, Some surveys could not be send|20043"));
            }


            InitListeReleves();
        }
Exemple #25
0
 //////////////////////////////////////////////////////////////////////////
 public CRelationTypeEquipement_Heritage(CMemoryDb db)
     : base(db)
 {
 }
Exemple #26
0
 //-----------------------------------------
 public CTypeEquipement(CMemoryDb db)
     : base(db)
 {
 }
Exemple #27
0
        //-------------------------------------------------------------------------------
        public void UpdateAlarmDataBase(CMemoryDb dbMaj)
        {
            List <COperationSurAlarmeAffichee> listeTampon = new List <COperationSurAlarmeAffichee>();

            Dictionary <CLocalAlarme, bool> dicAlarmesTraitees = new Dictionary <CLocalAlarme, bool>();

            m_database = dbMaj;
            CListeEntitesDeMemoryDb <CLocalAlarme> listeMaj = new CListeEntitesDeMemoryDb <CLocalAlarme>(m_database, m_filtreAlarmes);
            HashSet <string> lstAlarmesNonMasquees          = new HashSet <string>();

            foreach (CLocalAlarme alrm in listeMaj)
            {
                lstAlarmesNonMasquees.Add(alrm.Id);
            }
            listeMaj = new CListeEntitesDeMemoryDb <CLocalAlarme>(m_database);

            foreach (CLocalAlarme alarmeMaj in listeMaj)
            {
                // Traite uniquement les alarmes ajoutées ou modifiées
                if (alarmeMaj.Row.Row.RowState == System.Data.DataRowState.Modified ||
                    alarmeMaj.Row.Row.RowState == System.Data.DataRowState.Added)
                {
                    // Recherche l'alarme racine
                    CLocalAlarme alarmeParente = alarmeMaj;
                    while (alarmeParente.Parent != null)
                    {
                        alarmeParente = alarmeParente.Parent;
                    }

                    if (dicAlarmesTraitees.Keys.Contains(alarmeParente))
                    {
                        continue;
                    }

                    if (!lstAlarmesNonMasquees.Contains(alarmeMaj.Id))
                    {
                        listeTampon.Add(new COperationSurAlarmeAffichee(
                                            new CLocalAlarmeAffichee(alarmeParente.Row.Row),
                                            EOperationSurAlarme.Delete));
                        continue;
                    }

                    if (m_bTraiteAlarmesEnCours)
                    {
                        if (alarmeParente.DateFin == null)
                        {
                            //UpdateNode(new CLocalAlarmeAffichee(alarmeParente.Row.Row));
                            listeTampon.Add(new COperationSurAlarmeAffichee(
                                                new CLocalAlarmeAffichee(alarmeParente.Row.Row),
                                                EOperationSurAlarme.CreateUpdate));
                        }
                        else
                        {
                            //RemoveNode(new CLocalAlarmeAffichee(alarmeParente.Row.Row));
                            listeTampon.Add(new COperationSurAlarmeAffichee(
                                                new CLocalAlarmeAffichee(alarmeParente.Row.Row),
                                                EOperationSurAlarme.Delete));
                        }
                    }
                    else // Traite alarmes retombées
                    {
                        if (alarmeParente.DateFin != null)
                        {
                            //UpdateNode(new CLocalAlarmeAffichee(alarmeParente.Row.Row));
                            listeTampon.Add(new COperationSurAlarmeAffichee(
                                                new CLocalAlarmeAffichee(alarmeParente.Row.Row),
                                                EOperationSurAlarme.CreateUpdate));
                        }
                        else
                        {
                            //RemoveNode(new CLocalAlarmeAffichee(alarmeParente.Row.Row));
                            listeTampon.Add(new COperationSurAlarmeAffichee(
                                                new CLocalAlarmeAffichee(alarmeParente.Row.Row),
                                                EOperationSurAlarme.Delete));
                        }
                    }
                    dicAlarmesTraitees[alarmeParente] = true;
                }
            }

            lock (m_listeOperationsSurAlarme)
            {
                m_listeOperationsSurAlarme.AddRange(listeTampon);
            }

            BeginInvoke(new EventHandler(DelayUpdate), null, null);
        }
Exemple #28
0
 /// ///////////////////////////////////////////////////////
 public CChampCustom(CMemoryDb db)
     : base(db)
 {
 }
Exemple #29
0
 //-------------------------------------------
 public CLocalAlarme(CMemoryDb db)
     : base(db)
 {
 }
Exemple #30
0
 //-------------------------------------------------------
 public CReleveEquipement(CMemoryDb db)
     : base(db)
 {
 }