| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778 |
- using Dapper;
- using Oracle.ManagedDataAccess.Client;
- using System;
- using System.Collections.Generic;
- using System.Data;
- using System.Linq;
- using System.Threading.Tasks;
- namespace SuperCms.Oracle
- {
- public class OracleDynamicParameters : SqlMapper.IDynamicParameters
- {
- private static readonly log4net.ILog log = log4net.LogManager.GetLogger(typeof(OracleDynamicParameters));
- private readonly DynamicParameters dynamicParameters = new DynamicParameters();
- private readonly List<OracleParameter> oracleParameters = new List<OracleParameter>();
- public void Add(string name, OracleDbType oracleDbType, ParameterDirection direction, object value = null, int? size = null)
- {
- try
- {
- OracleParameter oracleParameter;
- if (size.HasValue)
- {
- oracleParameter = new OracleParameter(name, oracleDbType, size.Value, value, direction);
- }
- else
- {
- oracleParameter = new OracleParameter(name, oracleDbType, value, direction);
- }
- oracleParameters.Add(oracleParameter);
- }
- catch (Exception ex)
- {
- log.Error(ex);
- throw ex;
- }
- }
- public void Add(string name, OracleDbType oracleDbType, ParameterDirection direction)
- {
- try
- {
- var oracleParameter = new OracleParameter(name, oracleDbType, direction);
- oracleParameters.Add(oracleParameter);
- }
- catch (Exception ex)
- {
- log.Error(ex);
- throw ex;
- }
- }
- public void AddParameters(IDbCommand command, SqlMapper.Identity identity)
- {
- try
- {
- ((SqlMapper.IDynamicParameters)dynamicParameters).AddParameters(command, identity);
- var oracleCommand = command as OracleCommand;
- if (oracleCommand != null)
- {
- oracleCommand.Parameters.AddRange(oracleParameters.ToArray());
- }
- }
- catch (Exception ex)
- {
- log.Error(ex);
- throw ex;
- }
- }
- }
- }
|