/// <summary> /// Creates the sequence of parameters. /// </summary> /// <param name="parameters"> Paramters given with KeyValuePair.</param> /// <param name="operationInfo"> Operation info. </param> /// <returns> Returns the sequence of parameters. </returns> private static SqlParameter[] BuildParameters(KeyValuePair <string, object>[] parameters, OperationInfo operationInfo) { //constructing the array of paramaters var sqlParameters = new SqlParameter[parameters.Length]; for (var counter = 0; counter < sqlParameters.Length; counter++) { //constrcuting parameters var parameterInfo = operationInfo.ParametersList[counter].Split(new[] { ' ' }, StringSplitOptions.RemoveEmptyEntries); sqlParameters[counter] = new SqlParameter(); sqlParameters[counter].ParameterName = parameterInfo[0]; sqlParameters[counter].Value = parameters[counter].Value; sqlParameters[counter].SqlDbType = (SqlDbType)Enum.Parse(typeof(SqlDbType), parameterInfo[2]); } //return the parameters return(sqlParameters); }
/// <summary> /// Builds the command. /// </summary> /// <param name="connection"> Connection.</param> /// <param name="sqlParameters"> Parameters. </param> /// <param name="operationInfo"> Operation info. </param> /// <returns> Returns the command. </returns> private static SqlCommand BuildCommand(SqlConnection connection, SqlParameter[] sqlParameters, OperationInfo operationInfo) { //constructing command var sqlCommand = new SqlCommand(); sqlCommand.CommandText = operationInfo.OperationCode; sqlCommand.Connection = connection; sqlCommand.CommandType = (CommandType)Enum.Parse(typeof(CommandType), operationInfo.OperationType); //if there is no parameters(for example "GetBooks") ,then parameters must not be added to sql command. if (sqlParameters != null) { sqlCommand.Parameters.AddRange(sqlParameters); } //return command return(sqlCommand); }