Beispiel #1
0
        //----------------------------------------------------------------------------------------------
        public static CRelationElementAChamp_ChampCustom GetRelationToChamp(IElementAChamps eltAChamps, string strIdChamp)
        {
            CListeEntitesDeMemoryDbBase lst = eltAChamps.RelationsChampsCustom;

            lst.Filtre = new CFiltreMemoryDb(CChampCustom.c_champId + "=@1", strIdChamp);
            foreach (CRelationElementAChamp_ChampCustom rel in lst)
            {
                return(rel);
            }
            return(null);
        }
Beispiel #2
0
        //------------------------------------------------------------------------
        public static CIndexIdTimos <CEntiteLieeATimos> GetIdTimosIndex(
            CMemoryDb db,
            Type typeObjets)
        {
            CIndexIdTimos <CEntiteLieeATimos> dic   = new CIndexIdTimos <CEntiteLieeATimos>();
            CListeEntitesDeMemoryDbBase       liste = new CListeEntitesDeMemoryDbBase(db, typeObjets);

            foreach (CEntiteLieeATimos entite in liste)
            {
                if (entite.IdTimos != null)
                {
                    dic[entite.IdTimos.Value] = entite;
                }
            }
            return(dic);
        }
        /// ////////////////////////////////////////////
        private void RefreshListe()
        {
            CFiltreMemoryDb filtre = null;

            if (m_txtRecherche.Text != null)
            {
                filtre = m_filtreRechercheRapide;
                if (filtre != null)
                {
                    if (filtre.Parametres.Count == 0)
                    {
                        filtre.Parametres.Add(m_txtRecherche.Text);
                    }
                    else
                    {
                        filtre.Parametres[0] = "%" + m_txtRecherche.Text + "%";
                    }
                }
            }
            filtre = CFiltreMemoryDb.GetAndFiltre(filtre, m_filtre);

            if (m_listeObjets == null)
            {
                m_listeObjets        = new CListeEntitesDeMemoryDbBase(m_contexteMemoire, m_typeObjets);
                m_listeObjets.Filtre = filtre;
            }
            else
            {
                m_listeObjets.Filtre = filtre;
            }

            m_wndListeElements.ListeSource = m_listeObjets;
            m_wndListeElements.Refresh();

            if (m_listeObjets.Count() == 1)
            {
                m_objetSelectionne = (CEntiteDeMemoryDb)m_listeObjets[0];
            }
        }
Beispiel #4
0
        private void InitIntellisense()
        {
            if (m_dicIntellisense == null)
            {
                m_dicIntellisense = new Dictionary <string, HashSet <CReferenceEntiteMemoryDb> >();
                HashSet <string> setMots = new HashSet <string>();
                try
                {
                    if (m_listeConfigs != null && m_bUseIntellisense)
                    {
                        foreach (CConfigTextBoxSelectMemoryDb config in m_listeConfigs)
                        {
                            try
                            {
                                CListeEntitesDeMemoryDbBase lstObjs = new CListeEntitesDeMemoryDbBase(m_currentMemoryDb, config.TypeObjets);
                                CFiltreMemoryDb             filtre  = config.FiltreDeBase;
                                lstObjs.Filtre = filtre;

                                if (lstObjs.Count() < 4000)
                                {
                                    foreach (CEntiteDeMemoryDb obj in lstObjs)
                                    {
                                        string strText = CInterpreteurTextePropriete.GetStringValue(obj, config.ProprieteAffichee, "");
                                        if (strText.Trim().Length > 0)
                                        {
                                            strText = strText.Trim();
                                            HashSet <string> lstStrings = new HashSet <string>();
                                            lstStrings.Add(strText);
                                            int nIndex = strText.IndexOf(' ');
                                            while (nIndex >= 0)
                                            {
                                                strText = strText.Substring(nIndex + 1).Trim();
                                                lstStrings.Add(strText);
                                                nIndex = strText.IndexOf(' ');
                                            }

                                            foreach (string strMotTmp in strText.Split(' '))
                                            {
                                                if (strMotTmp.Length > 2)
                                                {
                                                    if (strMotTmp.Trim().Length > 0)
                                                    {
                                                        lstStrings.Add(strMotTmp);
                                                    }
                                                }
                                            }
                                            CReferenceEntiteMemoryDb refObj = new CReferenceEntiteMemoryDb(obj);
                                            foreach (string strMot in lstStrings)
                                            {
                                                HashSet <CReferenceEntiteMemoryDb> lst = null;
                                                foreach (string strMotToutSeul in strMot.Split(' '))
                                                {
                                                    if (!m_dicIntellisense.TryGetValue(strMotToutSeul.ToUpper(), out lst))
                                                    {
                                                        lst = new HashSet <CReferenceEntiteMemoryDb>();
                                                        m_dicIntellisense[strMotToutSeul.ToUpper()] = lst;
                                                    }
                                                    lst.Add(refObj);
                                                }
                                                if (!m_dicIntellisense.TryGetValue(strMot.ToUpper(), out lst))
                                                {
                                                    lst = new HashSet <CReferenceEntiteMemoryDb>();
                                                    m_dicIntellisense[strMot.ToUpper()] = lst;
                                                }
                                                lst.Add(refObj);
                                                setMots.Add(strMot);
                                            }
                                        }
                                    }
                                }
                            }
                            catch { }
                        }
                    }
                    m_textBox.AutoCompleteSource = AutoCompleteSource.CustomSource;
                    m_textBox.AutoCompleteMode   = AutoCompleteMode.Suggest;
                    m_textBox.AutoCompleteCustomSource.Clear();
                    m_textBox.AutoCompleteCustomSource.AddRange(setMots.ToArray());
                }
                catch { }
            }
        }
        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);
        }