Esempio n. 1
0
        /// <summary>
        /// Создать объект на основе экземпляра System.Data.DataTable
        /// </summary>
        /// <param name="dataTable"></param>
        /// <returns></returns>
        public static MercuryDataTable FromDataTable(DataTable dataTable)
        {
            var columnsNames   = dataTable.Columns.Cast <DataColumn>().Select(x => x.ColumnName).ToArray();
            var rowsWithValues = dataTable.Rows.Cast <DataRow>().Select(x => x.ItemArray).ToArray();

            var result = new MercuryDataTable(columnsNames, rowsWithValues);

            return(result);
        }
Esempio n. 2
0
        /// <summary>
        /// Десериализовать объект из формата Xml
        /// </summary>
        /// <param name="xml"></param>
        /// <returns></returns>
        public static MercuryDataTable FromXml(string xml)
        {
            var xDocument = XDocument.Parse(xml);
            var columns   = xDocument
                            .Element("table")
                            .Element("columns")
                            .Elements("column")
                            .Select(x => x.Value)
                            .ToArray();

            var rows = xDocument
                       .Element("table")
                       .Elements("rows")
                       .Elements("row")
                       .Select(x => x.Elements("value")
                               .Select(y => y.Value)
                               .ToArray())
                       .ToArray();

            var result = new MercuryDataTable(columns, rows);

            return(result);
        }