/// <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); }
/// <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)); }
/// <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); } } } }
/// <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)); }