private void AddRow(XPathNavigator rowNav) { DataRow row = this.NewRow(); foreach (DataColumn column in this.Columns) { string columnName = column.ColumnName; string columnValue = rowNav.GetAttribute(columnName, String.Empty); if (columnValue.Length == 0) { row[column.Ordinal] = ItemTypeDataColumn.GetNotPresentValue(column.DataType); } else { row[column.Ordinal] = columnValue; if (!this._hasSignedData && columnName == "wc-issigned" && columnValue.Equals(Boolean.TrueString, StringComparison.OrdinalIgnoreCase)) { this._hasSignedData = true; } if (!this._hasPersonalData && columnName == "wc-ispersonal" && columnValue.Equals(Boolean.TrueString, StringComparison.OrdinalIgnoreCase)) { this._hasPersonalData = true; } } } this.Rows.Add(row); }
private static ReadOnlyCollection <ItemTypeDataColumn> GetThingTypeColumns(XPathNavigator typeNavigator) { XPathNodeIterator columnIterator = typeNavigator.Select("columns/column"); var columns = (from XPathNavigator columnNav in columnIterator select ItemTypeDataColumn.CreateFromXml(columnNav)).ToList(); return(new ReadOnlyCollection <ItemTypeDataColumn>(columns)); }
private void AddPartialThingRow(ThingKey key) { DataRow row = this.NewRow(); foreach (DataColumn column in this.Columns) { switch (column.ColumnName) { case "wc-id": row[column.Ordinal] = key.Id.ToString(); break; case "wc-version": row[column.Ordinal] = key.VersionStamp.ToString(); break; default: row[column.Ordinal] = ItemTypeDataColumn.GetNotPresentValue(column.DataType); break; } } this.Rows.Add(row); }