private void InitalDataField(object source, IFieldCollection collection) { foreach (DataFieldMapping field in collection.GetFieldMappings()) { if (field == null) { continue; } if (field is IFieldCollection) { IFieldCollection ifc = field as IFieldCollection; object obj = ifc.InitialData(); field.Handler.Set(source, obj); } else { if (field.DefaultValue != null) { if (field.SpecifiedHandler != null) { field.SpecifiedHandler.Set(source, true); } field.Handler.Set(source, field.ToProperty(field.DefaultValue)); } } } }
private void LoadDataField(object source, IFieldCollection collection, DataRow datarow) { foreach (AggregateFieldMapping field in collection.GetFieldMappings()) { if (field == null) { continue; } object obj = datarow [field.Name]; bool isnull = Object.Equals(obj, DBNull.Value); if (!isnull) { field.Handler.Set(source, field.ToProperty(obj)); } } }
void LoadDataField(object source, IFieldCollection collection, DataContext context, DataRow datarow) { foreach (DataFieldMapping field in collection.GetFieldMappings()) { if (field == null) { continue; } if (field is IFieldCollection) { IFieldCollection ifc = field as IFieldCollection; object obj = ifc.LoadData(context, datarow); field.Handler.Set(source, obj); } else { object obj = field.DataOrder.HasValue ? datarow [field.DataOrder.Value] : datarow [field.Name]; bool isnull = Object.Equals(obj, DBNull.Value); if (field.SpecifiedHandler != null) { if (isnull && field.DefaultValue == null) { field.SpecifiedHandler.Set(source, false); } else { field.SpecifiedHandler.Set(source, true); } } if (!isnull) { field.Handler.Set(source, field.ToProperty(obj)); } else { if (field.DefaultValue != null) { field.Handler.Set(source, field.ToProperty(field.DefaultValue)); } } } } }