public void Save(ObjectProperties ObjectProperties) { if (ObjectProperties[ObjectProperties.STATE_PROP_NAME] != null) { _dataTable.Fill(string.Format("TABLE_NAME = '{0}' AND OBJID = {1}", ObjectProperties.tableContext.Source, ObjectProperties.GetValue(ObjectProperties.tableContext.PkFieldName))); foreach (System.Data.DataRow dataRow in _dataTable.Rows.Cast<System.Data.DataRow>()) { dataRow.Delete(); } foreach (var r in ObjectProperties[ObjectProperties.STATE_PROP_NAME].value.GroupBy(p => p.value). Select(p => new { state = p.Key, fields = p.Select(s=>s.key).ToString(",") })) { _dataTable.Rows.Add(ObjectProperties.tableContext.Source, r.state, ObjectProperties.GetValue(ObjectProperties.tableContext.PkFieldName), r.fields); } _dataTable.Update(); _dataTable.Clear(); } }
public void Load(ObjectProperties ObjectProperties) { if (_dataTable != null) { _dataTable.Fill(string.Format("TABLE_NAME = '{0}' AND OBJID = {1}", ObjectProperties.tableContext.XOTable.Source, ObjectProperties.GetValue(ObjectProperties.tableContext.PkFieldName))); foreach (var r in _dataTable.Rows.Cast<System.Data.DataRow>() .Select(p => new { state = p.Field<string>("STATE"), fields = p.Field<string>("COLS").Split(',') })) { foreach (string field in r.fields) { ObjectProperties.SetState(field, r.state); } } _dataTable.Clear(); } }