/// <summary>
        /// Gets the parameter.
        /// </summary>
        /// <param name="dbmsCommand">The DBMS command.</param>
        /// <param name="parameterMeta">The parameter meta.</param>
        /// <returns></returns>
        /// <exception cref="ArgumentNullException">
        /// dbmsCommand;The expected Data Command is not here.
        /// or
        /// parameterMeta;The expected parameter metadata is not here.
        /// </exception>
        public static IDataParameter GetParameterFromParameterMetadata(IDbCommand dbmsCommand, DataParameterMetadata parameterMeta)
        {
            if (dbmsCommand == null)
            {
                throw new ArgumentNullException("dbmsCommand", "The expected Data Command is not here.");
            }
            if (parameterMeta == null)
            {
                throw new ArgumentNullException("parameterMeta", "The expected parameter metadata is not here.");
            }

            IDataParameter param = dbmsCommand.CreateParameter();

            param.ParameterName = parameterMeta.ParameterName;
            param.DbType        = parameterMeta.DbType;
            param.Direction     = parameterMeta.ParameterDirection;
            param.SourceColumn  = parameterMeta.SourceColumn;
            param.SourceVersion = parameterMeta.DataRowVersion;
            param.Value         = parameterMeta.ParameterValue ?? FrameworkTypeUtility.SqlDatabaseNull();

            return(param);
        }
Пример #2
0
        /// <summary>
        /// Modifies the source data before passing it to the target for display in the UI.
        /// </summary>
        /// <param name="value">The source data being passed to the target.</param>
        /// <param name="targetType">The <see cref="T:System.Type" /> of data expected by the target dependency property.</param>
        /// <param name="parameter">An optional parameter to be used in the converter logic.</param>
        /// <param name="culture">The culture of the conversion.</param>
        /// <returns>
        /// The value to be passed to the target dependency property.
        /// </returns>
        public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
        {
            var flag = false;

            if (value is bool)
            {
                flag = (bool)value;
            }
            else if (value is bool?)
            {
                var nullable = (bool?)value;
                flag = nullable.GetValueOrDefault();
            }
            else if ((value != null))
            {
                var s = FrameworkTypeUtility.ParseString(value);
                flag = s.IsInteger(i => i > 0);
            }

            var brushes = this.GetBrushes(parameter);

            return(flag ? brushes.First() : brushes.Last());
        }
        /// <summary>
        /// Gets an array of objects implementing <see cref="IDataParameter"/>.
        /// </summary>
        /// <param name="dbmsCommand">The object implementing <see cref="IDbCommand"/>.</param>
        /// <param name="parameterCollection">A collection of parameters.</param>
        /// <returns>Returns an array of objects implementing <see cref="IDataParameter"/>.</returns>
        /// <remarks>
        /// Supported collections:
        ///     IEnumerable&lt;IDataParameter&gt; [pass-through]
        ///     IEnumerable&lt;DataParameterMetadata&gt;
        ///     Dictionary&lt;string, object&gt;
        /// </remarks>
        public static IDataParameter[] GetParameters(IDbCommand dbmsCommand, IEnumerable parameterCollection)
        {
            if (parameterCollection == null)
            {
                throw new ArgumentNullException("parameterCollection", "The expected set of parameters is not here.");
            }

            var @default = parameterCollection as IEnumerable <IDataParameter>;

            if (@default != null)
            {
                return(parameterCollection.OfType <IDataParameter>().ToArray());
            }

            var m = parameterCollection as IEnumerable <DataParameterMetadata>;

            if (m != null)
            {
                return(m.Select(i => GetParameterFromParameterMetadata(dbmsCommand, i)).ToArray());
            }

            var d = parameterCollection as Dictionary <string, object>;

            if (d != null)
            {
                return(d.Select(i => GetParameter(dbmsCommand, i.Key, i.Value ?? FrameworkTypeUtility.SqlDatabaseNull())).ToArray());
            }

            throw new NotSupportedException(@"
The parameter collection is not supported.

Supported collections:
    IEnumerable<IDataParameter> [pass-through]
    IEnumerable<DataParameterMetadata>
    Dictionary<string, object>
");
        }
Пример #4
0
        void SetProperties(Assembly dll)
        {
            var data = new FrameworkAssemblyInfo(dll);

            FrameworkTypeUtility.SetProperties <FrameworkAssemblyInfo, AboutViewModel>(data, this);
        }