private static object ReadObject(bool usector, ReadSettings settings, DataRow row, Type objectType, object receiver, IObjectSerializer datarowSerializer, string modelName) { object subObject = usector ? ObjectUtil.CreateObjectWithCtor(objectType) : ObjectUtil.CreateObject(objectType); object rowReader = datarowSerializer.CreateCustomReader(row); datarowSerializer.ReadObject(rowReader, subObject, modelName, settings, QName.Toolkit, null); SerializerUtil.SetParent(receiver, subObject); return(subObject); }
public static void ReadFromDataRow(this object receiver, DataRow row, string modelName, ReadSettings settings) { TkDebug.AssertArgumentNull(receiver, "receiver", null); TkDebug.AssertArgumentNull(row, "row", null); TkDebug.AssertArgumentNull(settings, "settings", null); IObjectSerializer serializer = ObjectExtension.CreateSerializer("DataRow"); object reader = serializer.CreateCustomReader(row); serializer.ReadObject(reader, receiver, modelName, settings, QName.Toolkit, null); SerializerUtil.ReadObjectCallBack(receiver); }
public static void ReadDictionaryFromDataRow(this IDictionary dictionary, DataRow row, ReadSettings settings) { TkDebug.AssertArgumentNull(dictionary, "dictionary", null); TkDebug.AssertArgumentNull(row, "row", null); TkDebug.AssertArgumentNull(settings, "settings", null); IObjectSerializer serializer = ObjectExtension.CreateSerializer("DataRow"); object reader = serializer.CreateCustomReader(row); DictionaryAttribute attr = new DictionaryAttribute { AutoTrim = true }; serializer.ReadDictionary(reader, dictionary, attr, null, settings, null, null); }
public static List <T> CreateListFromTable <T>(this DataTable table, string modelName, ReadSettings settings, Func <T> createFunc) { if (table == null) { return(null); } TkDebug.AssertArgumentNull(settings, "settings", null); TkDebug.AssertArgumentNull(createFunc, "createFunc", null); List <T> result = new List <T>(table.Rows.Count); IObjectSerializer serializer = ObjectExtension.CreateSerializer("DataRow"); foreach (DataRow row in table.Rows) { T obj = createFunc(); object reader = serializer.CreateCustomReader(row); serializer.ReadObject(reader, obj, modelName, settings, QName.Toolkit, null); result.Add(obj); } return(result); }