Exemplo n.º 1
0
        public static byte[] SerializeBinary(object[] obj)
        {
            if (obj == null || obj.Length == 0)
                return new byte[] { };

            for (int i = 0; i < obj.Length; i++)
            {
                if (obj[i] != null)
                {
                    if (obj[i] is DataSet)
                        obj[i] = new DataSetSurrogate((DataSet)obj[i]);
                    else if (obj[i] is DataTable)
                        obj[i] = new DataTableSurrogate((DataTable)obj[i]);
                }
            }
            BinaryFormatter se = new BinaryFormatter();
            MemoryStream memStream = new MemoryStream();
            se.Serialize(memStream, obj);
            byte[] bobj = memStream.ToArray();
            memStream.Close();
            return bobj;
        }
Exemplo n.º 2
0
        /*
            Constructs a DataSetSurrogate object from a DataSet.
        */
        public DataSetSurrogate(DataSet ds)
        {
            if (ds == null)
            {
                throw new ArgumentNullException("The parameter dataset is null");
            }

            //DataSet properties
            _datasetName = ds.DataSetName;
            _namespace = ds.Namespace;
            _prefix = ds.Prefix;
            _caseSensitive = ds.CaseSensitive;
            _locale = ds.Locale;
            _enforceConstraints = ds.EnforceConstraints;

            //Tables, Columns, Rows
            _dataTableSurrogates = new DataTableSurrogate[ds.Tables.Count];
            for (int i = 0; i < ds.Tables.Count; i++)
            {
                _dataTableSurrogates[i] = new DataTableSurrogate(ds.Tables[i]);
            }

            //ForeignKeyConstraints
            _fkConstraints = GetForeignKeyConstraints(ds);

            //Relations
            _relations = GetRelations(ds);

            //ExtendedProperties
            _extendedProperties = new Hashtable();
            if (ds.ExtendedProperties.Keys.Count > 0)
            {
                foreach (object propertyKey in ds.ExtendedProperties.Keys)
                {
                    _extendedProperties.Add(propertyKey, ds.ExtendedProperties[propertyKey]);
                }
            }
        }