Example #1
0
        /// <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);
            }
        }
Example #2
0
        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);
        }
Example #3
0
        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);
        }
Example #4
0
        /// <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));
            }
        }
Example #5
0
        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));
        }