/// <summary>
        /// Convertit une liste de colonnes GLColumn en structure d'export
        /// </summary>
        /// <param name="colonnes"></param>
        /// <returns></returns>
        public static C2iStructureExport ConvertToStructureExport(Type typeExporte, GLColumn[] colonnes)
        {
            CResultAErreur result = CResultAErreur.True;

            C2iStructureExport structure = new C2iStructureExport( );

            structure.TypeSource = typeExporte;
            C2iTableExport table = new C2iTableExport();

            structure.Table = table;
            table.NomTable  = "Data_Export";
            foreach (GLColumn col in colonnes)
            {
                CDefinitionProprieteDynamique defProp = GetDefinitionProprieteDynamiqueForExport(col.Propriete);
                if (defProp != null)
                {
                    C2iOrigineChampExportChamp origine = new C2iOrigineChampExportChamp(defProp);
                    C2iChampExport             champ   = new C2iChampExport();
                    champ.Origine  = origine;
                    champ.NomChamp = col.Text;
                    table.AddChamp(champ);
                }
            }
            return(structure);
        }
        private DataSet GetDataSetFromList(IEnumerable <CObjetDonneeAIdNumerique> listeSource)
        {
            List <GLColumn> lstColonnes = new List <GLColumn>();

            foreach (GLColumn col in m_panelListe.Columns)
            {
                lstColonnes.Add(col);
            }
            C2iStructureExport structure = CConvertisseurInfoStructureDynamiqueToDefinitionChamp.ConvertToStructureExport(
                ListeObjets.TypeObjets,
                lstColonnes.ToArray());

            if (structure == null)
            {
                return(null);
            }
            structure.TraiterSurServeur = true;
            DataSet        ds     = new DataSet("EXPORT OBJECTS");
            CResultAErreur result = structure.Export(
                ListeObjets.ContexteDonnee.IdSession,
                listeSource,
                ref ds,
                null);

            if (!result)
            {
                return(null);
            }

            return(ds);
        }
        private void m_cmbType_SelectedValueChanged(object sender, System.EventArgs e)
        {
            if (!m_bComboInitialized)
            {
                return;
            }
            Type tp = null;

            if (m_cmbType.SelectedValue != null && m_cmbType.SelectedValue != typeof(DBNull))
            {
                tp = (Type)m_cmbType.SelectedValue;
            }

            if (m_oldType != null && m_oldType == tp)
            {
                return;
            }

            m_oldType = tp;
            C2iStructureExport structure = new C2iStructureExport();

            structure.TypeSource = tp;
            m_panelEditStructure.StructureExport = structure;
            if (m_panelFiltre.FiltreDynamique != null)
            {
                m_panelFiltre.FiltreDynamique.TypeElements = structure.TypeSource;
                m_panelFiltre.Init(m_panelFiltre.FiltreDynamique);
            }
        }
        //----------------------------------------------------------------------------------
        public CResultAErreur InitChamps(
            ITableExport table,
            ITableExport tableParente,
            C2iStructureExport structure,
            IElementAVariablesDynamiquesAvecContexteDonnee eltAVariablesDynamiques)
        {
            CResultAErreur result = CResultAErreur.True;

            m_tableCalculee = table as C2iTableExportCalculee;

            if (m_tableCalculee == null)
            {
                return(CResultAErreur.False);
            }

            m_structureExport = structure;

            m_txtNomTable.Text = m_tableCalculee.NomTable;

            if (m_tableCalculee.FormuleValeur != null)
            {
                m_txtFormuleValeur.Text = m_tableCalculee.FormuleValeur.GetString();
            }
            else
            {
                m_txtFormuleValeur.Text = "";
            }
            if (m_tableCalculee.FormuleNbRecords != null)
            {
                m_txtFormuleNbRecords.Text = m_tableCalculee.FormuleNbRecords.GetString();
            }
            else
            {
                m_txtFormuleNbRecords.Text = "0";
            }

            ElementAVariablesDynamiques = eltAVariablesDynamiques;

            C2iTableExportCalculee.CTypeForFormule leType = new C2iTableExportCalculee.CTypeForFormule(m_elementAVariablesDynamiques);

            m_wndAideFormule.ObjetInterroge        = typeof(C2iTableExportCalculee.CTypeForFormule);
            m_wndAideFormule.FournisseurProprietes = leType;

            m_txtFormuleValeur.Init(m_wndAideFormule.FournisseurProprietes, m_wndAideFormule.ObjetInterroge);
            m_txtFormuleNbRecords.Init(m_wndAideFormule.FournisseurProprietes, m_wndAideFormule.ObjetInterroge);

            return(result);
        }
Exemple #5
0
 private void m_cmbStructures_SelectedValueChanged(object sender, System.EventArgs e)
 {
     //m_panelEditStructure.ReloadTree(m_listeObjets.TypeObjets);
     if (m_cmbStructures.SelectedValue == null)
     {
         C2iStructureExport structure = new C2iStructureExport();
         structure.TypeSource = m_listeObjets.TypeObjets;
         m_panelEditStructure.StructureExport = structure;
     }
     else
     {
         m_panelMultiStructure.Init(MutliStructureFromCombo);
     }
     ///m_panelEditStructure.InitChamps();
     m_panelEditStructure.ComboTypeLockEdition = true;
 }
Exemple #6
0
        //------------------------------------------
        public CResultAErreur InitChamps(
            ITableExport table,
            ITableExport tableParente,
            C2iStructureExport structure,
            IElementAVariablesDynamiquesAvecContexteDonnee eltAVariablesPourFiltre)
        {
            CResultAErreur result = CResultAErreur.True;

            m_tableExport                 = table as C2iTableExport;
            m_tableParente                = tableParente;
            m_structureExport             = structure;
            m_elementAVariablesPourFiltre = eltAVariablesPourFiltre;
            if (m_tableExport == null)
            {
                result.EmpileErreur(I.T("Bad table format|20003"));
                return(result);
            }
            InitChamps();
            return(result);
        }
        //------------------------------------------
        public CResultAErreur InitChamps(
            ITableExport table,
            ITableExport tableParente,
            C2iStructureExport structure,
            IElementAVariablesDynamiquesAvecContexteDonnee eltAVariablesPourFiltre)
        {
            CResultAErreur result = CResultAErreur.True;

            m_tableVue                    = table as C2iTableExportVue;
            m_tableParente                = tableParente;
            m_structureExport             = structure;
            m_elementAVariablesPourFiltre = eltAVariablesPourFiltre;
            if (m_tableVue == null)
            {
                result.EmpileErreur(I.T("Bad table format|20003"));
                return(result);
            }
            InitChamps();

            //Crée une table bidon avec tous les champs de la table fille de cette table
            DataTable tableBidon = new DataTable();

            if (m_tableVue.TablesFilles.Length != 0)
            {
                foreach (IChampDeTable champ in m_tableVue.TablesFilles[0].Champs)
                {
                    Type tp = champ.TypeDonnee;
                    if (tp.IsGenericType && tp.GetGenericTypeDefinition() == typeof(Nullable <>))
                    {
                        tp = tp.GetGenericArguments()[0];
                    }
                    DataColumn col = new DataColumn(champ.NomChamp, tp);
                    tableBidon.Columns.Add(col);
                }
            }
            m_fournisseur = new CFournisseurPropDynForDataTable(tableBidon);
            return(result);
        }
Exemple #8
0
        //----------------------------------------------------------------------------------
        public CResultAErreur InitChamps(
            ITableExport table,
            ITableExport tableParente,
            C2iStructureExport structure,
            IElementAVariablesDynamiquesAvecContexteDonnee eltAVariablesDynamiques)
        {
            CResultAErreur result = CResultAErreur.True;

            m_tableUnion = table as C2iTableExportUnion;

            if (m_tableUnion == null)
            {
                return(CResultAErreur.False);
            }

            m_txtNomTable.Text = m_tableUnion.NomTable;
            if (m_tableUnion.ChampOrigine is CDefinitionProprieteDynamiqueThis)
            {
                m_lblType.Text = DynamicClassAttribute.GetNomConvivial(m_tableUnion.ChampOrigine.TypeDonnee.TypeDotNetNatif);
            }
            else if (m_tableUnion.ChampOrigine != null)
            {
                m_lblType.Text = m_tableUnion.ChampOrigine.Nom;
            }
            else
            {
                m_lblType.Text = "";
            }
            m_chkSupprimerTablesTravail.Checked = m_tableUnion.SupprimerTablesTravail;


            m_tableUnion.RecalcStructure();
            FillListeChamps();


            return(result);
        }
Exemple #9
0
        /// //////////////////////////////////////////////////////////
        public CResultAErreur ExportData(string strChaineSerializationListeObjetDonnee, C2iStructureExport structure, IElementAVariablesDynamiquesAvecContexteDonnee elementAVariablesDynamiquesPourFiltre, IIndicateurProgression indicateur)
        {
            System.Threading.Thread.CurrentThread.Priority = System.Threading.ThreadPriority.BelowNormal;
            //Déserialise la liste d'objets
            CStringSerializer serializer = new CStringSerializer(strChaineSerializationListeObjetDonnee, ModeSerialisation.Lecture);
            C2iSponsor        sponsor    = new C2iSponsor();

            sponsor.Register(indicateur);
            CResultAErreur result = CResultAErreur.True;

            try
            {
                using (CContexteDonnee contexte = new CContexteDonnee(IdSession, true, false))
                {
                    I2iSerializable objet = null;
                    contexte.GestionParTablesCompletes = true;
                    result = serializer.TraiteObject(ref objet, contexte);
                    if (!result)
                    {
                        return(result);
                    }
                    if (objet == null || !(objet is CListeObjetsDonnees))
                    {
                        result.EmpileErreur(I.T("Error during the deserialization of source list|101"));
                        return(result);
                    }
                    CListeObjetsDonnees listeSource = (CListeObjetsDonnees)objet;
                    listeSource.RemplissageProgressif = false;
                    structure.TraiterSurServeur       = false;
                    DataSet ds = new DataSet();
                    result = structure.Export(IdSession, listeSource, ref ds, elementAVariablesDynamiquesPourFiltre, indicateur);
                    if (result)
                    {
                        result.Data = ds;
                    }
                    return(result);
                }
            }
            catch (Exception e)
            {
                result.EmpileErreur(new CErreurException(e));
            }
            finally
            {
                sponsor.Unregister(indicateur);
            }
            return(result);
        }
        //-------------------------------------------------------------------------
        protected CResultAErreur InitChamps()
        {
            CResultAErreur result = CResultAErreur.True;

            result = InitComboBoxType();
            if (!result)
            {
                return(result);
            }

            if (m_element.DefinitionJeu is C2iRequete)
            {
                m_panelEditRequete.MasquerFormulaire(true);
                m_panelRequete.Visible = true;
                C2iRequete requete = (C2iRequete)m_element.DefinitionJeu;
                if (requete == null)
                {
                    requete = new C2iRequete(m_multiStructure.ContexteDonnee);
                }
                requete.ElementAVariablesExterne = m_multiStructure;
                m_panelEditRequete.RequeteEditee = requete;
            }
            else
            {
                m_panelRequete.Visible = false;
            }

            if (m_element.DefinitionJeu is CStructureExportAvecFiltre)
            {
                m_panelFiltre.MasquerFormulaire(true);
                m_panelStructure.Visible = true;
                CStructureExportAvecFiltre structureAvecFiltre = (CStructureExportAvecFiltre)m_element.DefinitionJeu;
                C2iStructureExport         structure           = structureAvecFiltre.Structure;
                if (structure == null)
                {
                    structure = new C2iStructureExport();
                }
                if (structure != null && structure.TypeSource != null)
                {
                    m_cmbType.SelectedValue = structure.TypeSource;
                    //m_cmbType_SelectedValueChanged ( m_cmbType, new EventArgs() );
                }
                structure.TypeSource = (Type)m_cmbType.SelectedValue;
                if (m_cmbType.SelectedValue != null && m_cmbType.SelectedValue == typeof(DBNull))
                {
                    structure.TypeSource = null;
                }
                m_panelEditStructure.StructureExport             = structure;
                m_panelEditStructure.ElementAVariablesPourFiltre = m_multiStructure;

                m_panelEditStructure.ComboTypeLockEdition = true;

                m_panelFiltre.ModeSansType = true;
                CFiltreDynamique filtre = structureAvecFiltre.Filtre;
                if (filtre == null)
                {
                    filtre = new CFiltreDynamique(m_multiStructure.ContexteDonnee);
                    filtre.TypeElements = structure.TypeSource;
                }
                filtre.ElementAVariablesExterne = m_multiStructure;
                m_panelFiltre.Init(filtre);
            }
            else
            {
                m_panelStructure.Visible = false;
            }

            m_txtLibelleElement.Text = m_element.Libelle;
            m_txtPrefix.Text         = m_element.Prefixe;

            return(result);
        }