393 lines
11 KiB
C#
393 lines
11 KiB
C#
using Microsoft.Data.SqlClient;
|
|
using MLL;
|
|
using System;
|
|
using System.Collections.Generic;
|
|
using System.Data;
|
|
|
|
namespace DALL
|
|
{
|
|
public class DALLClientesEnderecos
|
|
{
|
|
private readonly string connectionString;
|
|
|
|
public DALLClientesEnderecos(string conexao)
|
|
{
|
|
connectionString = conexao;
|
|
}
|
|
|
|
#region CRUD
|
|
|
|
public bool Inserir(ModeloClientesEnderecos modelo)
|
|
{
|
|
try
|
|
{
|
|
using SqlConnection conn = new(connectionString);
|
|
|
|
string query = @"
|
|
INSERT INTO Clientes_enderecos
|
|
(
|
|
COD_CLIENTE,
|
|
LOGRADOURO,
|
|
NUMERO,
|
|
COMPLEM,
|
|
BAIRRO,
|
|
CIDADE,
|
|
UF,
|
|
CEP,
|
|
DATA_CADASTRO
|
|
)
|
|
VALUES
|
|
(
|
|
@COD_CLIENTE,
|
|
@LOGRADOURO,
|
|
@NUMERO,
|
|
@COMPLEM,
|
|
@BAIRRO,
|
|
@CIDADE,
|
|
@UF,
|
|
@CEP,
|
|
@DATA_CADASTRO
|
|
)";
|
|
|
|
using SqlCommand cmd = new(query, conn);
|
|
|
|
PreencherParametrosInserir(cmd, modelo);
|
|
|
|
conn.Open();
|
|
|
|
return cmd.ExecuteNonQuery() > 0;
|
|
}
|
|
catch
|
|
{
|
|
return false;
|
|
}
|
|
}//Inserir
|
|
|
|
public bool Alterar(ModeloClientesEnderecos modelo)
|
|
{
|
|
try
|
|
{
|
|
using SqlConnection conn = new(connectionString);
|
|
|
|
string query = @"
|
|
UPDATE Clientes_enderecos
|
|
SET
|
|
CODIGO = @CODIGO,
|
|
COD_CLIENTE = @COD_CLIENTE,
|
|
LOGRADOURO = @LOGRADOURO,
|
|
NUMERO = @NUMERO,
|
|
COMPLEM = @COMPLEM,
|
|
BAIRRO = @BAIRRO,
|
|
CIDADE = @CIDADE,
|
|
UF = @UF,
|
|
CEP = @CEP,
|
|
DATA_CADASTRO = @DATA_CADASTRO
|
|
WHERE ID_COD_CLIENTE_END = @ID_COD_CLIENTE_END";
|
|
|
|
using SqlCommand cmd = new(query, conn);
|
|
|
|
PreencherParametrosAlterar(cmd, modelo);
|
|
|
|
cmd.Parameters.AddWithValue(
|
|
"@ID_COD_CLIENTE_END",
|
|
modelo.ID_COD_CLIENTE_END);
|
|
|
|
conn.Open();
|
|
|
|
return cmd.ExecuteNonQuery() > 0;
|
|
}
|
|
catch
|
|
{
|
|
return false;
|
|
}
|
|
}//alterar
|
|
|
|
public bool Excluir(int id)
|
|
{
|
|
try
|
|
{
|
|
using SqlConnection conn = new(connectionString);
|
|
|
|
string query = @"
|
|
DELETE FROM Clientes_enderecos
|
|
WHERE ID_COD_CLIENTE_END =
|
|
@ID_COD_CLIENTE_END";
|
|
|
|
using SqlCommand cmd = new(query, conn);
|
|
|
|
cmd.Parameters.AddWithValue(
|
|
"@ID_COD_CLIENTE_END",
|
|
id);
|
|
|
|
conn.Open();
|
|
|
|
return cmd.ExecuteNonQuery() > 0;
|
|
}
|
|
catch
|
|
{
|
|
return false;
|
|
}
|
|
}//Excluir
|
|
|
|
public ModeloClientesEnderecos? Carregar(int id)
|
|
{
|
|
using SqlConnection conn = new(connectionString);
|
|
|
|
string query = @"
|
|
SELECT *
|
|
FROM Clientes_enderecos
|
|
WHERE ID_COD_CLIENTE_END =
|
|
@ID_COD_CLIENTE_END";
|
|
|
|
using SqlCommand cmd = new(query, conn);
|
|
|
|
cmd.Parameters.AddWithValue(
|
|
"@ID_COD_CLIENTE_END",
|
|
id);
|
|
|
|
conn.Open();
|
|
|
|
using SqlDataReader dr =
|
|
cmd.ExecuteReader();
|
|
|
|
if (dr.Read())
|
|
{
|
|
return PreencherModelo(dr);
|
|
}
|
|
|
|
return null;
|
|
}//CarregarOuObter
|
|
|
|
public List<ModeloClientesEnderecos> Listar()
|
|
{
|
|
List<ModeloClientesEnderecos> lista = [];
|
|
|
|
using SqlConnection conn = new(connectionString);
|
|
|
|
string query = @"
|
|
SELECT *
|
|
FROM Clientes_enderecos
|
|
ORDER BY ID_COD_CLIENTE_END DESC";
|
|
|
|
using SqlCommand cmd = new(query, conn);
|
|
|
|
conn.Open();
|
|
|
|
using SqlDataReader dr =
|
|
cmd.ExecuteReader();
|
|
|
|
while (dr.Read())
|
|
{
|
|
lista.Add(PreencherModelo(dr));
|
|
}
|
|
|
|
return lista;
|
|
}//listar clientes
|
|
public List<ModeloClientesEnderecos> ListarPorCliente(string codCliente)
|
|
{
|
|
List<ModeloClientesEnderecos> lista = [];
|
|
using SqlConnection conn = new(connectionString);
|
|
string query = @"
|
|
SELECT *
|
|
FROM Clientes_enderecos
|
|
WHERE COD_CLIENTE =
|
|
@COD_CLIENTE
|
|
ORDER BY ID_COD_CLIENTE_END DESC";
|
|
using SqlCommand cmd = new(query, conn);
|
|
cmd.Parameters.AddWithValue(
|
|
"@COD_CLIENTE",
|
|
codCliente);
|
|
conn.Open();
|
|
using SqlDataReader dr =
|
|
cmd.ExecuteReader();
|
|
while (dr.Read())
|
|
{
|
|
lista.Add(PreencherModelo(dr));
|
|
}
|
|
return lista;
|
|
}//listar clientes por cliente
|
|
public int ObterTotalPorCliente(string codCliente)
|
|
{
|
|
using SqlConnection conn = new(connectionString);
|
|
string query = @"
|
|
SELECT COUNT(*)
|
|
FROM Clientes_enderecos
|
|
WHERE COD_CLIENTE =
|
|
@COD_CLIENTE";
|
|
using SqlCommand cmd = new(query, conn);
|
|
cmd.Parameters.AddWithValue(
|
|
"@COD_CLIENTE",
|
|
codCliente);
|
|
conn.Open();
|
|
return Convert.ToInt32(cmd.ExecuteScalar());
|
|
}//obter total por cliente
|
|
public int ObterTotal()
|
|
{
|
|
using SqlConnection conn = new(connectionString);
|
|
string query = @"
|
|
SELECT COUNT(*)
|
|
FROM Clientes_enderecos";
|
|
using SqlCommand cmd = new(query, conn);
|
|
conn.Open();
|
|
return Convert.ToInt32(cmd.ExecuteScalar());
|
|
}//obter total
|
|
public bool Existe(int id)
|
|
{
|
|
using SqlConnection conn = new(connectionString);
|
|
string query = @"
|
|
SELECT COUNT(*)
|
|
FROM Clientes_enderecos
|
|
WHERE ID_COD_CLIENTE_END =
|
|
@ID_COD_CLIENTE_END";
|
|
using SqlCommand cmd = new(query, conn);
|
|
cmd.Parameters.AddWithValue(
|
|
"@ID_COD_CLIENTE_END",
|
|
id);
|
|
conn.Open();
|
|
return Convert.ToInt32(cmd.ExecuteScalar()) > 0;
|
|
}//existe
|
|
|
|
|
|
|
|
#endregion
|
|
|
|
#region HELPERS
|
|
|
|
private static ModeloClientesEnderecos PreencherModelo(
|
|
SqlDataReader dr)
|
|
{
|
|
return new ModeloClientesEnderecos
|
|
{
|
|
ID_COD_CLIENTE_END =
|
|
Convert.ToInt32(
|
|
dr["ID_COD_CLIENTE_END"]),
|
|
|
|
CODIGO =
|
|
Convert.ToString(
|
|
dr["CODIGO"]) ?? string.Empty,
|
|
|
|
COD_CLIENTE =
|
|
Convert.ToString(
|
|
dr["COD_CLIENTE"]) ?? string.Empty,
|
|
|
|
LOGRADOURO =
|
|
Convert.ToString(
|
|
dr["LOGRADOURO"]) ?? string.Empty,
|
|
|
|
NUMERO =
|
|
Convert.ToString(
|
|
dr["NUMERO"]) ?? string.Empty,
|
|
|
|
COMPLEM =
|
|
Convert.ToString(
|
|
dr["COMPLEM"]) ?? string.Empty,
|
|
|
|
BAIRRO =
|
|
Convert.ToString(
|
|
dr["BAIRRO"]) ?? string.Empty,
|
|
|
|
CIDADE =
|
|
Convert.ToString(
|
|
dr["CIDADE"]) ?? string.Empty,
|
|
|
|
UF =
|
|
Convert.ToString(
|
|
dr["UF"]) ?? string.Empty,
|
|
|
|
CEP =
|
|
Convert.ToString(
|
|
dr["CEP"]) ?? string.Empty,
|
|
|
|
DATA_CADASTRO =
|
|
Convert.ToString(
|
|
dr["DATA_CADASTRO"]) ?? string.Empty
|
|
};
|
|
}
|
|
|
|
private static void PreencherParametrosInserir(
|
|
SqlCommand cmd,
|
|
ModeloClientesEnderecos modelo)
|
|
{
|
|
cmd.Parameters.AddWithValue(
|
|
"@COD_CLIENTE",
|
|
string.IsNullOrWhiteSpace(
|
|
modelo.COD_CLIENTE)
|
|
? DBNull.Value
|
|
: modelo.COD_CLIENTE);
|
|
|
|
cmd.Parameters.AddWithValue(
|
|
"@LOGRADOURO",
|
|
string.IsNullOrWhiteSpace(
|
|
modelo.LOGRADOURO)
|
|
? DBNull.Value
|
|
: modelo.LOGRADOURO);
|
|
|
|
cmd.Parameters.AddWithValue(
|
|
"@NUMERO",
|
|
string.IsNullOrWhiteSpace(
|
|
modelo.NUMERO)
|
|
? DBNull.Value
|
|
: modelo.NUMERO);
|
|
|
|
cmd.Parameters.AddWithValue(
|
|
"@COMPLEM",
|
|
string.IsNullOrWhiteSpace(
|
|
modelo.COMPLEM)
|
|
? DBNull.Value
|
|
: modelo.COMPLEM);
|
|
|
|
cmd.Parameters.AddWithValue(
|
|
"@BAIRRO",
|
|
string.IsNullOrWhiteSpace(
|
|
modelo.BAIRRO)
|
|
? DBNull.Value
|
|
: modelo.BAIRRO);
|
|
|
|
cmd.Parameters.AddWithValue(
|
|
"@CIDADE",
|
|
string.IsNullOrWhiteSpace(
|
|
modelo.CIDADE)
|
|
? DBNull.Value
|
|
: modelo.CIDADE);
|
|
|
|
cmd.Parameters.AddWithValue(
|
|
"@UF",
|
|
string.IsNullOrWhiteSpace(
|
|
modelo.UF)
|
|
? DBNull.Value
|
|
: modelo.UF);
|
|
|
|
cmd.Parameters.AddWithValue(
|
|
"@CEP",
|
|
string.IsNullOrWhiteSpace(
|
|
modelo.CEP)
|
|
? DBNull.Value
|
|
: modelo.CEP);
|
|
|
|
cmd.Parameters.AddWithValue(
|
|
"@DATA_CADASTRO",
|
|
string.IsNullOrWhiteSpace(
|
|
modelo.DATA_CADASTRO)
|
|
? DBNull.Value
|
|
: modelo.DATA_CADASTRO);
|
|
}
|
|
|
|
private static void PreencherParametrosAlterar(
|
|
SqlCommand cmd,
|
|
ModeloClientesEnderecos modelo)
|
|
{
|
|
cmd.Parameters.AddWithValue(
|
|
"@CODIGO",
|
|
string.IsNullOrWhiteSpace(
|
|
modelo.CODIGO)
|
|
? DBNull.Value
|
|
: modelo.CODIGO);
|
|
|
|
PreencherParametrosInserir(
|
|
cmd,
|
|
modelo);
|
|
}
|
|
|
|
#endregion
|
|
}
|
|
} |