CustomerService.cs 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. using Dapper;
  2. using Microsoft.Extensions.Configuration;
  3. using System;
  4. using System.Collections.Generic;
  5. using System.Configuration;
  6. using System.Data;
  7. using Microsoft.Data.SqlClient;
  8. using System.Linq;
  9. using EVCB_OCPP.WEBAPI.Helpers;
  10. using EVCB_OCPP.Domain;
  11. using System.Threading.Tasks;
  12. namespace EVCB_OCPP.WEBAPI.Services
  13. {
  14. public interface ICustomerService
  15. {
  16. string GetAPIKey(Guid partnerId);
  17. Task<string> GetAPIKeyAsync(Guid partnerId);
  18. }
  19. public class CustomerService : ICustomerService
  20. {
  21. private readonly SqlConnectionFactory<MainDBContext> mainDbConnectionFactory;
  22. //readonly string mainConnectionString;
  23. public CustomerService(SqlConnectionFactory<MainDBContext> mainDbConnectionFactory)
  24. {
  25. //mainConnectionString = configuration.GetConnectionString("MainDBContext");
  26. this.mainDbConnectionFactory = mainDbConnectionFactory;
  27. }
  28. public string GetAPIKey(Guid partnerId)
  29. {
  30. return GetAPIKeyAsync(partnerId).Result;
  31. }
  32. public async Task<string> GetAPIKeyAsync(Guid partnerId)
  33. {
  34. string key = string.Empty;
  35. var parameters = new DynamicParameters();
  36. parameters.Add("@Id", partnerId, DbType.Guid, ParameterDirection.Input);
  37. using (SqlConnection conn = await mainDbConnectionFactory.CreateAsync())
  38. {
  39. string strSql = "Select ApiKey from [dbo].[Customer] where Id=@Id; ";
  40. key = await conn.ExecuteScalarAsync<string>(strSql, parameters, null, EVCBConfiguration.DB_DefaultConnectionTimeout);
  41. }
  42. return key;
  43. }
  44. }
  45. }