55 lines
1.7 KiB
C#
55 lines
1.7 KiB
C#
using System.Data.OleDb;
|
|
using System.Threading.Tasks;
|
|
using Compliance.Domain.Models;
|
|
|
|
namespace Compliance.Infrastructure.Repositories
|
|
{
|
|
public class ClientRepository(string connectionString) : IClientRepository, IDisposable
|
|
{
|
|
private readonly string _connectionString = connectionString;
|
|
private bool _disposed;
|
|
|
|
public async Task<Client?> GetClientInformationAsync(string smartCode)
|
|
{
|
|
using var connection = new OleDbConnection(_connectionString);
|
|
await connection.OpenAsync();
|
|
|
|
var query = @"SELECT * FROM Dados_cadastrais WHERE Cod_Smart_unidade = @smartCode";
|
|
|
|
using var command = new OleDbCommand(query, connection);
|
|
command.Parameters.AddWithValue("@smartCode", smartCode);
|
|
|
|
using var reader = await command.ExecuteReaderAsync();
|
|
|
|
if (await reader.ReadAsync())
|
|
{
|
|
return new Client
|
|
{
|
|
SmartCode = reader["Cod_Smart_unidade"].ToString()!,
|
|
Name = reader["Cliente"].ToString()!,
|
|
Management = reader["Gestao"].ToString()!,
|
|
Unit = reader["Unidade"].ToString()!,
|
|
ConsumerGroup = reader["Grupo"].ToString()!,
|
|
Subgroup = reader["Subgrupo"].ToString()!,
|
|
SupplyVoltage = reader["Tensao"].ToString()!
|
|
};
|
|
}
|
|
|
|
return null;
|
|
}
|
|
|
|
public void Dispose()
|
|
{
|
|
Dispose(true);
|
|
GC.SuppressFinalize(this);
|
|
}
|
|
|
|
protected virtual void Dispose(bool disposing)
|
|
{
|
|
if (!_disposed)
|
|
{
|
|
_disposed = true;
|
|
}
|
|
}
|
|
}
|
|
} |