BD_empresa/Data/AccessService.cs

46 lines
2.0 KiB
C#

using System;
using System.Collections.Generic;
using System.Data;
using System.Data.OleDb;
using System.Linq;
using System.Threading.Tasks;
namespace BD_empresa.Data
{
public class AccessService(string connectionString) : IClienteRepository
{
private readonly string _connectionString = connectionString;
public async Task<List<UnidadeSmart>> GetAllClientesAsync()
{
return await Task.Run(() =>
{
var unidades = new List<UnidadeSmart>();
using (var connection = new OleDbConnection(_connectionString))
{
connection.Open();
string sql = "SELECT Cod_Smart_cliente, Cod_Smart_unidade, Gestao, Cliente, Unidade, CNPJ_CPF, Codigo_Instalacao, Razao_Social, Caminho_NFs FROM Dados_cadastrais WHERE Dados_cadastrais.Unidade_gerenciada";
using var cmd = new OleDbCommand(sql, connection);
using var reader = cmd.ExecuteReader();
while (reader.Read())
{
unidades.Add(new UnidadeSmart
{
Cod_Smart_cliente = long.Parse(reader["Cod_Smart_cliente"].ToString() ?? "0"),
Cod_Smart_unidade = long.Parse(reader["Cod_Smart_unidade"].ToString() ?? "0"),
Gestao = reader["Gestao"].ToString(),
Cliente = reader["Cliente"].ToString(),
Unidade = reader["Unidade"].ToString(),
CNPJ_CPF = reader["CNPJ_CPF"].ToString(),
Codigo_Instalacao = reader["Codigo_Instalacao"].ToString(),
Razao_Social = reader["Razao_Social"].ToString(),
Caminho_NFs = reader["Caminho_NFs"].ToString()
});
}
}
return unidades;
});
}
}
}