/// <summary> /// Gets the last created ID. /// </summary> /// <param name="type"></param> /// <returns></returns> /// <remarks>This method relies on the ID being a single value.</remarks> private object GetLastCreatedId(Type type, object defaultValue) { if (type == null) { throw new ArgumentNullException("type"); } // get the ID... object lastCreated = this.LastCreatedId; if (lastCreated != null) { // check... if (lastCreated is Array) { object[] lastCreatedAsArray = (object[])lastCreated; if (lastCreatedAsArray.Length == 1) { return(ConversionHelper.ChangeType(lastCreatedAsArray[0], type, null, ConversionFlags.None)); } else { throw new InvalidOperationException(string.Format("Last created ID must be of length 1, but it is of length '{0}'.", lastCreatedAsArray.Length)); } } else { throw new InvalidOperationException(string.Format("Last created ID is '{0}'. and is not an array.", lastCreated.GetType())); } } else { return(defaultValue); } }
public void GetFieldValue <T>(EntityField field, ref T oldValue, ref T newValue) { oldValue = default(T); newValue = default(T); object oldObject = null; object newObject = null; this.GetFieldValue(field, ref oldObject, ref newObject); oldValue = ConversionHelper.ChangeType <T>(oldObject); newValue = ConversionHelper.ChangeType <T>(newObject); }
public virtual object GetValue(int index, Type type) { // get... object value = this.GetRawValue(index); // type? if (type != null) { value = ConversionHelper.ChangeType(value, type, Cultures.System); } // erturn... return(value); }
/// <summary> /// Gets the value at the given index. /// </summary> /// <param name="index"></param> /// <param name="returnType"></param> /// <returns></returns> private object GetFieldValue(int index, Type returnType, ConversionFlags conversionFlags) { object value = null; if (index != -1) { value = this.Values[index]; } // return... if (returnType == null) { return(value); } else { return(ConversionHelper.ChangeType(value, returnType, Cultures.System, conversionFlags)); } }
static void EnumValuesLookup_CreateItemValue(object sender, CreateLookupItemEventArgs <string, object> e) { var index = e.Key.IndexOf('|'); var typeName = e.Key.Substring(0, index); var type = Type.GetType(typeName); var toFind = ConversionHelper.ToInt64(e.Key.Substring(index + 1)); // get... var masters = Enum.GetValues(type); foreach (var master in masters) { if (ConversionHelper.ToInt64(master) == toFind) { e.NewValue = master; return; } } // return... e.NewValue = ConversionHelper.ChangeType(toFind, Enum.GetUnderlyingType(type)); }