Example #1
0
 void PopulateParameters(IDbCommand cmd, string sql, object parameters = null)
 {
     cmd.Parameters.Clear();
     cmd.CommandText = sql;
     if (parameters == null)
     {
         return;
     }
     if (cmd.CommandType == CommandType.StoredProcedure)
     {
         foreach (var propName in ReflectionUtilities.GetProperties(parameters))
         {
             cmd.Parameters.Add(GetParam(cmd, _namingConvention.ConvertToDbName(propName), ReflectionUtilities.GetPropertyValue <object>(propName, parameters)));
         }
     }
     else
     {
         var sqlParams = _paramParser.GeSqlParams(sql);
         foreach (var sqlParam in sqlParams)
         {
             var cleanParam = _paramParser.CleanParameter(sqlParam);
             var pocoNme    = _namingConvention.ConvertToPocoName(cleanParam);
             var paramValue = ReflectionUtilities.GetPropertyValue <object>(pocoNme, parameters) ?? DBNull.Value;
             var parameter  = GetParam(cmd, cleanParam, paramValue);
             cmd.Parameters.Add(parameter);
         }
     }
 }