コード例 #1
0
            //-----------------------------------------------------------
            private C2iRequeteAvancee GetRequete(CParametreInspirationProprieteDeType parametre)
            {
                C2iRequeteAvancee requete = null;

                if (m_dicRequetes.TryGetValue(parametre, out requete))
                {
                    return(requete);
                }
                if (parametre.Type == null)
                {
                    return(null);
                }
                CDefinitionProprieteDynamiqueChampCustom defCustom = parametre.Champ as CDefinitionProprieteDynamiqueChampCustom;

                if (defCustom != null)
                {
                    requete = GetRequeteChampCustom(parametre);
                }
                CDefinitionProprieteDynamiqueDotNet defDotNet = parametre.Champ as CDefinitionProprieteDynamiqueDotNet;

                if (defDotNet != null)
                {
                    requete = GetRequeteChampDotNet(parametre);
                }
                m_dicRequetes[parametre] = requete;
                return(requete);
            }
コード例 #2
0
        private CCustomizableListItem CreateItem(CParametreInspirationProprieteDeType parametre)
        {
            CCustomizableListItem item = new CCustomizableListItem();

            item.Tag = parametre;
            return(item);
        }
コード例 #3
0
        public CResultAErreurType <CListeParametresInspiration> MajChamps()
        {
            CResultAErreur result = CResultAErreur.True;
            CResultAErreurType <CListeParametresInspiration> resRetour = new CResultAErreurType <CListeParametresInspiration>();
            CListeParametresInspiration lst = new CListeParametresInspiration();

            if (CurrentItemIndex != null)
            {
                ItemControl.MajChamps();
            }
            foreach (CCustomizableListItem item in Items)
            {
                CParametreInspirationProprieteDeType parametre = item.Tag as CParametreInspirationProprieteDeType;
                if (parametre != null)
                {
                    result = parametre.VerifieDonnees();
                    if (!result)
                    {
                        resRetour.EmpileErreur(result.Erreur);
                        return(resRetour);
                    }
                    lst.Add(parametre);
                }
            }
            resRetour.DataType = lst;
            return(resRetour);
        }
コード例 #4
0
        protected override CResultAErreur MyInitChamps(CCustomizableListItem item)
        {
            m_bIsInitializing = true;
            CResultAErreur result = base.MyInitChamps(item);
            CParametreInspirationProprieteDeType parametre = ParametreEdite;

            if (result && parametre != null)
            {
                m_cmbType.TypeSelectionne = parametre.Type;
                InitListeChamps();
                m_cmbChamp.SelectedValue = parametre.Champ;
            }
            m_bIsInitializing = false;
            return(result);
        }
コード例 #5
0
        public void Init(CListeParametresInspiration parametres)
        {
            List <CCustomizableListItem> items = new List <CCustomizableListItem>();

            foreach (IParametreInspiration parametre in parametres)
            {
                CParametreInspirationProprieteDeType p = parametre as CParametreInspirationProprieteDeType;
                if (p != null)
                {
                    CCustomizableListItem item = CreateItem(p);
                    items.Add(item);
                }
            }
            Items = items.ToArray();
            Refill();
        }
コード例 #6
0
        //-----------------------------------------------------------------------------
        protected override CResultAErreur MyMajChamps()
        {
            CResultAErreur result = base.MyMajChamps();

            if (result)
            {
                CParametreInspirationProprieteDeType parametre = ParametreEdite;
                if (parametre != null)
                {
                    parametre.Type  = m_cmbType.TypeSelectionne;
                    parametre.Champ = m_cmbChamp.SelectedValue as CDefinitionProprieteDynamique;

                    result = parametre.VerifieDonnees();
                    if (!result)
                    {
                        return(result);
                    }
                }
            }
            return(result);
        }
コード例 #7
0
            //-----------------------------------------------------------
            private C2iRequeteAvancee GetRequeteChampDotNet(CParametreInspirationProprieteDeType parametre)
            {
                CStructureTable structure  = CStructureTable.GetStructure(parametre.Type);
                string          strNomProp = parametre.Champ.NomProprieteSansCleTypeChamp;

                foreach (CInfoChampTable info in structure.Champs)
                {
                    if (info.Propriete == strNomProp)
                    {
                        C2iRequeteAvancee requete = new C2iRequeteAvancee();
                        requete.TableInterrogee = CContexteDonnee.GetNomTableForType(parametre.Type);
                        requete.ListeChamps.Add(new C2iChampDeRequete("LABEL",
                                                                      new CSourceDeChampDeRequete(info.NomChamp),
                                                                      typeof(string),
                                                                      OperationsAgregation.None,
                                                                      true));
                        return(requete);
                    }
                }
                return(null);
            }
コード例 #8
0
            //-----------------------------------------------------------
            private C2iRequeteAvancee GetRequeteChampCustom(CParametreInspirationProprieteDeType parametre)
            {
                CDefinitionProprieteDynamiqueChampCustom defChampCustom = parametre.Champ as CDefinitionProprieteDynamiqueChampCustom;

                if (defChampCustom == null || parametre.Type == null || defChampCustom.DbKeyChamp == null)
                {
                    return(null);
                }

                DataTable           table = new DataTable();
                DataRow             row   = table.NewRow();
                IObjetDonneeAChamps objet = Activator.CreateInstance(parametre.Type, new object[] { row }) as IObjetDonneeAChamps;

                if (objet != null)
                {
                    string            strTableValeurs = objet.GetNomTableRelationToChamps();
                    C2iRequeteAvancee requete         = new C2iRequeteAvancee();
                    requete.TableInterrogee = strTableValeurs;
                    requete.ListeChamps.Add(new C2iChampDeRequete("LABEL",
                                                                  new CSourceDeChampDeRequete(CRelationElementAChamp_ChampCustom.c_champValeurString),
                                                                  typeof(string),
                                                                  OperationsAgregation.None,
                                                                  true));
                    int nIdChamp = -1;
                    //TESTDBKEYOK SC 31/03/2014
                    if (defChampCustom.DbKeyChamp.IsNumericalId())
                    {
                        nIdChamp = (int)defChampCustom.DbKeyChamp.GetValeurInDb();
                    }
                    else
                    {
                        nIdChamp = CChampCustom.GetIdFromDbKey(defChampCustom.DbKeyChamp);
                    }
                    requete.FiltreAAppliquer = new CFiltreData(CChampCustom.c_champId + "=@1", nIdChamp);
                    return(requete);
                }
                return(null);
            }
コード例 #9
0
 //-----------------------------------------------------------
 public CInspiration(CParametreInspirationProprieteDeType parametre)
 {
     m_parametre = parametre;
 }
コード例 #10
0
        private void m_lnkAjouter_LinkClicked(object sender, EventArgs e)
        {
            CParametreInspirationProprieteDeType parametre = new CParametreInspirationProprieteDeType();

            AddItem(CreateItem(parametre), true);
        }