PdfRpt.DataSources.SqlParametersParser.createParameters C# (CSharp) Method

createParameters() private static method

private static createParameters ( DbCommand cmd, string commandText ) : IEnumerable
cmd System.Data.Common.DbCommand
commandText string
return IEnumerable
        private static IEnumerable<DbParameter> createParameters(DbCommand cmd, string commandText, params object[] paramValues)
        {
            if (string.IsNullOrEmpty(commandText)) return null;
            if (paramValues == null || paramValues.Length == 0) return null;
            var coll = new List<DbParameter>();

            var idx = commandText.IndexOf("@", StringComparison.CurrentCultureIgnoreCase);
            if (idx == -1)
                return null;

            var parmString = commandText.Substring(idx);
            parmString = parmString.Replace(",", " ,");
            var mc = RegEx.Matches(parmString);

            var matchesList = removeDuplicates(mc);

            if (matchesList.Count != paramValues.Length)
                throw new ArgumentOutOfRangeException("paramValues");

            for (var i = 0; i < matchesList.Count; i++)
            {
                DbParameter parm = cmd.CreateParameter();
                parm.ParameterName = matchesList[i];
                parm.Value = paramValues[i] ?? DBNull.Value;
                coll.Add(parm);
            }

            return coll;
        }