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); }
/// ////////////////////////////////////////////////////////// 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); }