-procalter PROC dbo.usp_MatchEmailAddress @address AS varchar(max) asbegin declare @count int select @count = count(1) from uAgentContact where Email = @address; if @count >= 1 begin return 1; end else begin return 0; end end;go--文件夹 Infrastructure--文件夹 Repositoriesusing System.Configuration;using System.Data;using System.Data.SqlClient;namespace AttachmentRetriever.Dal.Infrastructure{ public class ConnectionFactory : IConnectionFactory { private readonly string _connectionString = ConfigurationManager.ConnectionStrings["conn"].ConnectionString; public IDbConnection GetConnection { get { // var factory = DbProviderFactories.GetFactory("System.Data.SqlClient"); var conn = // factory.CreateConnection(); conn.ConnectionString = _connectionString; // conn.Open(); return conn; IDbConnection conn = new SqlConnection(_connectionString); conn.Open(); return conn; } } }}using System.Data;namespace AttachmentRetriever.Dal.Infrastructure{ public interface IConnectionFactory { IDbConnection GetConnection { get; } }}using System.Data;using System.Threading.Tasks;using AttachmentRetriever.Dal.Infrastructure;using Dapper;namespace AttachmentRetriever.Dal.Repositories{ public class GenericRepository<TEntity> : IGenericRepository<TEntity> where TEntity : class { private readonly IConnectionFactory _connectionFactory; public GenericRepository(IConnectionFactory connectionFactory) { _connectionFactory = connectionFactory; } public async Task<bool> ExecStoredProcedure(string procedureName, DynamicParameters parameters) { // var dynamicParameters = (DynamicParameters)parameters; parameters.Add("@RESULT", dbType: DbType.Int16, direction: ParameterDirection.ReturnValue); var execute = await _connectionFactory.GetConnection.ExecuteAsync(procedureName, parameters, commandType: CommandType.StoredProcedure); return parameters.Get<int>("@RESULT") == 1; } }}using System.Threading.Tasks;using Dapper;namespace AttachmentRetriever.Dal.Repositories{ public interface IGenericRepository<TEntity> where TEntity : class { Task<bool> ExecStoredProcedure(string procedureName, DynamicParameters parameters); }}--AttachmentRetriever.Bllusing AttachmentRetriever.Dal.Models;using AttachmentRetriever.Dal.Repositories;using Dapper;namespace AttachmentRetriever.Bll{ public interface IUAgentContactService { bool MatchEmailAddress(DynamicParameters obj); }}using AttachmentRetriever.Dal.Models;using AttachmentRetriever.Dal.Repositories;using Dapper;namespace AttachmentRetriever.Bll{ public class UAgentContactService : IUAgentContactService { private readonly IGenericRepository<UAgentContact> _genericRepository; public UAgentContactService(IGenericRepository<UAgentContact> genericRepository) { _genericRepository = genericRepository; } public bool MatchEmailAddress(DynamicParameters obj) { var execStoredProcedure = _genericRepository.ExecStoredProcedure("usp_MatchEmailAddress", obj).Result; return execStoredProcedure; }
【无标题】
最新推荐文章于 2024-01-18 23:25:36 发布