public static void SetValue(BusinessObject obj, PropertyInfo proInfo, object value) { string key = obj.AATableName + proInfo.Name; try { SetHandler setHandler = null; if (lstSetHandler.TryGetValue(key, out setHandler) == false) { setHandler = ABCDynamicMethodCompiler.CreateSetHandler(obj.GetType(), proInfo); lstSetHandler.Add(key, setHandler); } setHandler(obj, value); } catch (System.Exception ex) { proInfo.SetValue(obj, value, null); } }
public static void SetValue(BusinessObject obj, String strColName, object value) { string key = obj.AATableName + strColName; try { SetHandler setHandler = null; if (lstSetHandler.TryGetValue(key, out setHandler) == false) { Type type = obj.GetType(); PropertyInfo proInfo = BusinessObjectHelper.GetProperty(obj.AATableName, strColName); if (proInfo == null) { proInfo = type.GetProperty(strColName); } setHandler = ABCDynamicMethodCompiler.CreateSetHandler(type, proInfo); lstSetHandler.Add(key, setHandler); } if (value is String && value.ToString().Replace("'", "").ToUpper() == "TRUE") { value = true; } else if (value is String && value.ToString().Replace("'", "").ToUpper() == "FALSE") { value = false; } setHandler(obj, value); } catch (System.Exception ex) { PropertyInfo proInfo = obj.GetType().GetProperty(strColName); if (proInfo == null) { // Utilities.ABCLogging.LogNewMessage( "ABCDataLib" , "" , "SetValue" , obj.GetType().Name+" not contain "+strColName , "FAILE" ); return; } proInfo.SetValue(obj, value, null); } }