Beispiel #1
0
        //-------------------------------------------------
        private void SelectObject(CConfigTextBoxSelectMemoryDb config)
        {
            if (config != null)
            {
                m_configDefaut = config;
            }
            CEntiteDeMemoryDb obj = null;
            bool bSelectPriseEnChargeParDelegue = false;

            if (!bSelectPriseEnChargeParDelegue)
            {
                obj = CFormSelectUneEntiteMemoryDb.SelectionRechercheRapide(
                    m_currentMemoryDb,
                    "",
                    config.TypeObjets,
                    config.FiltreDeBase,
                    config.FiltreRapide,
                    m_textBox.Text,
                    config.ProprieteAffichee,
                    "");
            }
            if (obj != null)
            {
                SelectedObject = obj;
            }
            else
            {
                SynchroniseTextEtObjet();
            }
        }
        /// ////////////////////////////////////////////
        private void OnOk()
        {
            if (m_wndListeElements.SelectedItems.Count != 1)
            {
                return;
            }

            m_objetSelectionne = (CEntiteDeMemoryDb)m_wndListeElements.SelectedItems[0];

            DialogResult = DialogResult.OK;
            Close();
        }
        //---------------------------------------------------------------------------------
        public CEntiteDeMemoryDb GetEntite(Type typeEntite, string strId, CMemoryDb db)
        {
            string strTable = DataBase.GetTableNameForType(typeEntite);

            if (strTable != null && DataBase.Tables[strTable] != null)
            {
                CEntiteDeMemoryDb ett = Activator.CreateInstance(typeEntite, DataBase) as CEntiteDeMemoryDb;
                if (ett.ReadIfExist(strId))
                {
                    return(db.ImporteObjet(ett, true, false));
                }
            }
            return(null);
        }
Beispiel #4
0
        //------------------------------------------------------------------
        public void SelectObject()
        {
            string strText = m_textBox.Text;
            HashSet <CReferenceEntiteMemoryDb> lstRefs = null;

            if (m_dicIntellisense != null && m_dicIntellisense.TryGetValue(strText.ToUpper(), out lstRefs))
            {
                if (lstRefs.Count == 1)
                {
                    if (m_currentMemoryDb != null)
                    {
                        SelectedObject = lstRefs.ElementAt(0).GetEntity(m_currentMemoryDb);
                    }
                    return;
                }
            }
            if (m_configDefaut == null && m_listeConfigs.Count == 1)
            {
                m_configDefaut = m_listeConfigs[0];
            }
            if (m_configDefaut == null)
            {
                foreach (IDisposable dis in new ArrayList(m_menuChooseType.Items))
                {
                    dis.Dispose();
                }
                m_menuChooseType.Items.Clear();
                foreach (CConfigTextBoxSelectMemoryDb config in m_listeConfigs)
                {
                    ToolStripMenuItem itemSelectType = new ToolStripMenuItem(config.LibelleConfig);
                    itemSelectType.Tag = config;
                    Image img = DynamicClassAttribute.GetImage(config.TypeObjets);
                    if (img != null)
                    {
                        itemSelectType.Image = img;
                    }
                    m_menuChooseType.Items.Add(itemSelectType);
                    itemSelectType.Click += new EventHandler(itemSelectType_Click);
                }
                if (m_menuChooseType.Items.Count > 0)
                {
                    m_menuChooseType.Show(m_btn, new Point(0, m_btn.Height));
                }
            }
            else
            {
                SelectObject(m_configDefaut);
            }
        }
        public static CEntiteDeMemoryDb SelectionRechercheRapide(
            CMemoryDb dbMemory,
            string strInstructions,
            Type type,
            CFiltreMemoryDb filtreDeBase,
            CFiltreMemoryDb filtreRapide,
            string strTexteRechercheRapide,
            string strChampAffiche,
            string strContexte)
        {
            if (type == null || !type.IsSubclassOf(typeof(CEntiteDeMemoryDb)))
            {
                CFormAlerte.Afficher(I.T("Can not select an element from this type|30035"), EFormAlerteType.Erreur);
                return(null);
            }
            CFormSelectUneEntiteMemoryDb form = new CFormSelectUneEntiteMemoryDb();

            form.m_filtre                = filtreDeBase;
            form.m_strInstructions       = strInstructions;
            form.m_contexteMemoire       = dbMemory;
            form.m_txtRecherche.Text     = strTexteRechercheRapide;
            form.TypeObjets              = type;
            form.m_filtreRechercheRapide = filtreRapide;
            if (strChampAffiche == "")
            {
                strChampAffiche = DescriptionFieldAttribute.GetDescriptionField(type, "Libelle", true);
            }
            form.m_strProprieteAffichee = strChampAffiche;
            form.m_wndListeElements.Columns[0].Propriete = form.m_strProprieteAffichee;
            CEntiteDeMemoryDb objet = null;

            form.RefreshListe();
            bool bOk = true;

            if (form.m_listeObjets == null || form.m_listeObjets.Count() != 1)
            {
                bOk = form.ShowDialog() == DialogResult.OK;
            }
            if (bOk)
            {
                objet = form.ObjetDonnee;
            }
            form.Dispose();
            return(objet);
        }
        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);
        }
        /// ////////////////////////////////////////////
        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];
            }
        }
        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);
        }
 //----------------------------------------------------------
 public CResultAErreur UpdateEntite(CEntiteDeMemoryDb entite)
 {
     return(DataBase.UpdateEntite(entite));
 }