示例#1
0
        /// <summary>
        /// Ajout du paramètre en entrée de la commande envoyée à SQL Server.
        /// </summary>
        /// <param name="parameters">Collection des paramètres dans laquelle ajouter le nouveau paramètre.</param>
        /// <param name="primaryKeyName">Nom de la clé primaire.</param>
        /// <param name="primaryKeyValue">Valeur de la clé primaire.</param>
        protected override void AddPrimaryKeyParameter(SqlServerParameterCollection parameters, string primaryKeyName, object primaryKeyValue)
        {
            if (parameters == null)
            {
                throw new ArgumentNullException("parameters");
            }

            parameters.AddWithValue("PK_" + primaryKeyName, primaryKeyValue);
        }
示例#2
0
        /// <summary>
        /// Ajoute un paramètre à une collection avec sa valeur.
        /// </summary>
        /// <param name="parameters">Collection de paramètres dans laquelle le nouveau paramètre est créé.</param>
        /// <param name="property">Propriété correspondant au paramètre.</param>
        /// <param name="value">Valeur du paramètre.</param>
        /// <returns>Paramètre ajouté.</returns>
        protected override SqlServerParameter AddParameter(SqlServerParameterCollection parameters, BeanPropertyDescriptor property, object value)
        {
            if (parameters == null)
            {
                throw new ArgumentNullException("parameters");
            }

            if (property == null)
            {
                throw new ArgumentNullException("property");
            }

            return(parameters.AddWithValue(property.MemberName, value));
        }
示例#3
0
文件: SqlStore.cs 项目: JabX/kinetix
        /// <summary>
        /// Ajoute les paramètres à une commande de mise à jour.
        /// </summary>
        /// <param name="bean">Bean à mettre à jour.</param>
        /// <param name="beanDefinition">Définition du bean.</param>
        /// <param name="parameters">Paramètres de la commande SQL.</param>
        /// <param name="columnSelector">Selecteur de colonnes à mettre à jour ou à ignorer.</param>
        protected void AddUpdateParameters(T bean, BeanDefinition beanDefinition, SqlServerParameterCollection parameters, ColumnSelector columnSelector)
        {
            if (beanDefinition == null)
            {
                throw new ArgumentNullException("beanDefinition");
            }

            if (parameters == null)
            {
                throw new ArgumentNullException("parameters");
            }

            foreach (BeanPropertyDescriptor property in beanDefinition.Properties)
            {
                if (property.MemberName == null || (columnSelector != null && !columnSelector.ColumnList.Contains(property.MemberName) && !property.IsPrimaryKey))
                {
                    continue;
                }

                object value = property.GetValue(bean);
                if (value != null)
                {
                    ExtendedValue extValue = value as ExtendedValue;
                    if (extValue != null)
                    {
                        value = extValue.Value;
                    }
                }

                if (property.IsPrimaryKey)
                {
                    AddPrimaryKeyParameter(parameters, property.MemberName, value);
                }

                IStoreRule rule      = this.GetStoreRule(property.PropertyName);
                ValueRule  valueRule = null;
                if (rule != null)
                {
                    valueRule = rule.GetUpdateValue(value);
                    if (valueRule != null && valueRule.Action == ActionRule.DoNothing)
                    {
                        continue;
                    }
                }

                if (valueRule == null)
                {
                    // Ajout du paramètre en entrée de la commande envoyée à SQL Server.
                    SqlServerParameter parameter = AddParameter(parameters, property, value);
                    if (property.PrimitiveType == typeof(byte[]))
                    {
                        parameter.DbType = DbType.Binary;
                    }
                }
                else
                {
                    parameters.AddWithValue(property.MemberName, valueRule.Value);
                }

                // Contrainte de la valeur à mettre à jour
                if (rule != null)
                {
                    valueRule = rule.GetWhereClause(value);
                    if (valueRule != null && valueRule.Action != ActionRule.DoNothing)
                    {
                        parameters.AddWithValue("RU_" + property.MemberName, valueRule.Value);
                    }
                }
            }
        }
示例#4
0
 /// <summary>
 /// Ajoute un paramètre à une collection avec sa valeur.
 /// </summary>
 /// <param name="parameters">Collection de paramètres dans laquelle le nouveau paramètre est créé.</param>
 /// <param name="property">Propriété correspondant au paramètre.</param>
 /// <param name="value">Valeur du paramètre.</param>
 /// <returns>Paramètre ajouté.</returns>
 protected override SqlServerParameter AddParameter(SqlServerParameterCollection parameters, BeanPropertyDescriptor property, object value)
 {
     return(parameters.AddWithValue(property.MemberName, value));
 }