18/06/2026 - Continuando a criação de classe DAL

This commit is contained in:
levelcode developed 2026-06-18 22:07:34 -03:00
parent 271236bb78
commit c7db527039
5 changed files with 1954 additions and 0 deletions

View File

@ -2,6 +2,7 @@
using MLL;
using System;
using System.Collections.Generic;
using System.Data;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
@ -190,6 +191,186 @@ namespace DAL
return lista;
}
public List<ModeloFcaixa> ListarPorForma(string forma)
{
return Listar(forma: forma);
}
public List<ModeloFcaixa> ListarPorConta(string codConta)
{
return Listar(codConta: codConta);
}
public List<ModeloFcaixa> ListarPorPlanoContas(string planoContas)
{
return Listar(planoContas: planoContas);
}
public List<ModeloFcaixa> ListarReceitas()
{
return Listar()
.Where(x =>
!string.IsNullOrWhiteSpace(x.RECEITA) &&
x.RECEITA != "0")
.ToList();
}
public List<ModeloFcaixa> ListarDespesas()
{
return Listar()
.Where(x =>
!string.IsNullOrWhiteSpace(x.DESPESA) &&
x.DESPESA != "0")
.ToList();
}
public decimal TotalReceitas()
{
using SqlConnection conn = new(connectionString);
string sql = @"
SELECT
ISNULL(
SUM(
TRY_CAST(RECEITA AS DECIMAL(18,2))
),0)
FROM Fcaixa";
using SqlCommand cmd = new(sql, conn);
conn.Open();
return Convert.ToDecimal(
cmd.ExecuteScalar());
}
public decimal TotalDespesas()
{
using SqlConnection conn = new(connectionString);
string sql = @"
SELECT
ISNULL(
SUM(
TRY_CAST(DESPESA AS DECIMAL(18,2))
),0)
FROM Fcaixa";
using SqlCommand cmd = new(sql, conn);
conn.Open();
return Convert.ToDecimal(
cmd.ExecuteScalar());
}
public decimal SaldoCaixa()
{
return TotalReceitas() - TotalDespesas();
}
public List<ModeloFcaixa> MovimentacaoPorPeriodo(DateTime dataInicial,DateTime dataFinal)
{
List<ModeloFcaixa> lista = [];
using SqlConnection conn = new(connectionString);
string sql = @"
SELECT *
FROM Fcaixa
WHERE TRY_CONVERT(date,DIA,103)
BETWEEN @INI AND @FIM
ORDER BY
TRY_CONVERT(date,DIA,103)";
using SqlCommand cmd = new(sql, conn);
cmd.Parameters.AddWithValue("@INI", dataInicial);
cmd.Parameters.AddWithValue("@FIM", dataFinal);
conn.Open();
using SqlDataReader dr = cmd.ExecuteReader();
while (dr.Read())
{
lista.Add(
PreencherModelo(dr));
}
return lista;
}
public DataTable DashboardFinanceiro()
{
using SqlConnection conn = new(connectionString);
string sql = @"
SELECT
COUNT(*) TOTAL_MOVIMENTOS,
ISNULL(
SUM(
TRY_CAST(RECEITA AS DECIMAL(18,2))
),0) TOTAL_RECEITAS,
ISNULL(
SUM(
TRY_CAST(DESPESA AS DECIMAL(18,2))
),0) TOTAL_DESPESAS,
ISNULL(
SUM(
TRY_CAST(RECEITA AS DECIMAL(18,2))
),0)
-
ISNULL(
SUM(
TRY_CAST(DESPESA AS DECIMAL(18,2))
),0)
AS SALDO
FROM Fcaixa";
DataTable dt = new();
using SqlDataAdapter da = new(sql, conn);
da.Fill(dt);
return dt;
}
public ModeloFcaixa? UltimoLancamento()
{
using SqlConnection conn = new(connectionString);
string sql = @"
SELECT TOP 1 *
FROM Fcaixa
ORDER BY ID_FCAIXA DESC";
using SqlCommand cmd = new(sql, conn);
conn.Open();
using SqlDataReader dr = cmd.ExecuteReader();
if (dr.Read())
return PreencherModelo(dr);
return null;
}
public ModeloFcaixa? PrimeiroLancamento()
{
using SqlConnection conn = new(connectionString);
string sql = @"
SELECT TOP 1 *
FROM Fcaixa
ORDER BY ID_FCAIXA";
using SqlCommand cmd = new(sql, conn);
conn.Open();
using SqlDataReader dr = cmd.ExecuteReader();
if (dr.Read())
return PreencherModelo(dr);
return null;
}
private ModeloFcaixa PreencherModelo(SqlDataReader dr)
{
return new ModeloFcaixa

554
DAL/DALFornecedores.cs Normal file
View File

@ -0,0 +1,554 @@
using System;
using System.Collections.Generic;
using System.Data;
using Microsoft.Data.SqlClient;
using MLL;
namespace DALL
{
public class DALFornecedores
{
private readonly string connectionString;
public DALFornecedores(string conexao)
{
connectionString = conexao;
}
public bool Inserir(ModeloFornecedores modelo)
{
using SqlConnection conn = new(connectionString);
string sql = @"
INSERT INTO Fornecedores
(
EmpresaId,
Nome,
TipoPessoa,
Documento,
Telefone,
Celular,
Whatsapp,
Email,
Cep,
Endereco,
Numero,
Complemento,
Bairro,
Cidade,
UF,
NomeFantasia,
InscricaoEstadual,
Site,
Observacoes,
Ativo
)
VALUES
(
@EmpresaId,
@Nome,
@TipoPessoa,
@Documento,
@Telefone,
@Celular,
@Whatsapp,
@Email,
@Cep,
@Endereco,
@Numero,
@Complemento,
@Bairro,
@Cidade,
@UF,
@NomeFantasia,
@InscricaoEstadual,
@Site,
@Observacoes,
@Ativo
)";
using SqlCommand cmd = new(sql, conn);
PreencherParametros(cmd, modelo);
conn.Open();
return cmd.ExecuteNonQuery() > 0;
}
public bool Alterar(ModeloFornecedores modelo)
{
using SqlConnection conn = new(connectionString);
string sql = @"
UPDATE Fornecedores SET
EmpresaId=@EmpresaId,
Nome=@Nome,
TipoPessoa=@TipoPessoa,
Documento=@Documento,
Telefone=@Telefone,
Celular=@Celular,
Whatsapp=@Whatsapp,
Email=@Email,
Cep=@Cep,
Endereco=@Endereco,
Numero=@Numero,
Complemento=@Complemento,
Bairro=@Bairro,
Cidade=@Cidade,
UF=@UF,
NomeFantasia=@NomeFantasia,
InscricaoEstadual=@InscricaoEstadual,
Site=@Site,
Observacoes=@Observacoes,
Ativo=@Ativo
WHERE Id=@Id";
using SqlCommand cmd = new(sql, conn);
PreencherParametros(cmd, modelo);
cmd.Parameters.AddWithValue("@Id", modelo.Id);
conn.Open();
return cmd.ExecuteNonQuery() > 0;
}
public bool Excluir(int id)
{
using SqlConnection conn = new(connectionString);
string sql = "DELETE FROM Fornecedores WHERE Id=@Id";
using SqlCommand cmd = new(sql, conn);
cmd.Parameters.AddWithValue("@Id", id);
conn.Open();
return cmd.ExecuteNonQuery() > 0;
}
public ModeloFornecedores? Carregar(int id)
{
using SqlConnection conn = new(connectionString);
string sql = "SELECT * FROM Fornecedores WHERE Id=@Id";
using SqlCommand cmd = new(sql, conn);
cmd.Parameters.AddWithValue("@Id", id);
conn.Open();
using SqlDataReader dr = cmd.ExecuteReader();
if (dr.Read())
return PreencherModelo(dr);
return null;
}
public ModeloFornecedores? CarregarPorDocumento(int empresaId, string documento)
{
using SqlConnection conn = new(connectionString);
string sql = @"
SELECT *
FROM Fornecedores
WHERE EmpresaId=@EmpresaId
AND Documento=@Documento";
using SqlCommand cmd = new(sql, conn);
cmd.Parameters.AddWithValue("@EmpresaId", empresaId);
cmd.Parameters.AddWithValue("@Documento", documento);
conn.Open();
using SqlDataReader dr = cmd.ExecuteReader();
if (dr.Read())
return PreencherModelo(dr);
return null;
}
public List<ModeloFornecedores> Listar(int? empresaId = null,string? nome = null,string? documento = null,string? telefone = null,string? celular = null,string? cidade = null,string? uf = null,string? email = null,bool? ativo = null)
{
List<ModeloFornecedores> lista = [];
using SqlConnection conn = new(connectionString);
string sql = @"SELECT * FROM Fornecedores WHERE 1=1";
using SqlCommand cmd = new();
if (empresaId != null)
{
sql += " AND EmpresaId=@EmpresaId";
cmd.Parameters.AddWithValue("@EmpresaId", empresaId);
}
if (!string.IsNullOrWhiteSpace(nome))
{
sql += " AND Nome LIKE @Nome";
cmd.Parameters.AddWithValue("@Nome", "%" + nome + "%");
}
if (!string.IsNullOrWhiteSpace(documento))
{
sql += " AND Documento LIKE @Documento";
cmd.Parameters.AddWithValue("@Documento", "%" + documento + "%");
}
if (!string.IsNullOrWhiteSpace(telefone))
{
sql += " AND Telefone LIKE @Telefone";
cmd.Parameters.AddWithValue("@Telefone", "%" + telefone + "%");
}
if (!string.IsNullOrWhiteSpace(celular))
{
sql += " AND Celular LIKE @Celular";
cmd.Parameters.AddWithValue("@Celular", "%" + celular + "%");
}
if (!string.IsNullOrWhiteSpace(cidade))
{
sql += " AND Cidade LIKE @Cidade";
cmd.Parameters.AddWithValue("@Cidade", "%" + cidade + "%");
}
if (!string.IsNullOrWhiteSpace(uf))
{
sql += " AND UF=@UF";
cmd.Parameters.AddWithValue("@UF", uf);
}
if (!string.IsNullOrWhiteSpace(email))
{
sql += " AND Email LIKE @Email";
cmd.Parameters.AddWithValue("@Email", "%" + email + "%");
}
if (ativo != null)
{
sql += " AND Ativo=@Ativo";
cmd.Parameters.AddWithValue("@Ativo", ativo);
}
sql += " ORDER BY Nome";
cmd.Connection = conn;
cmd.CommandText = sql;
conn.Open();
using SqlDataReader dr = cmd.ExecuteReader();
while (dr.Read())
{
lista.Add(
PreencherModelo(dr));
}
return lista;
}
#region EXISTE EMAIL
public bool ExisteEmail(string email)
{
using SqlConnection conn = new(connectionString);
string sql = @"
SELECT COUNT(*)
FROM Fornecedores
WHERE Email=@Email";
using SqlCommand cmd = new(sql, conn);
cmd.Parameters.AddWithValue("@Email", email);
conn.Open();
return Convert.ToInt32(cmd.ExecuteScalar()) > 0;
}
#endregion
#region CARREGAR POR NOME
public ModeloFornecedores? CarregarPorNome(string nome)
{
using SqlConnection conn = new(connectionString);
string sql = @"
SELECT TOP 1 *
FROM Fornecedores
WHERE Nome=@Nome";
using SqlCommand cmd = new(sql, conn);
cmd.Parameters.AddWithValue("@Nome", nome);
conn.Open();
using SqlDataReader dr = cmd.ExecuteReader();
if (dr.Read())
return PreencherModelo(dr);
return null;
}
#endregion
#region LISTAR ATIVOS
public List<ModeloFornecedores> ListarAtivos()
{
return Listar(ativo: true);
}
#endregion
#region LISTAR INATIVOS
public List<ModeloFornecedores> ListarInativos()
{
return Listar(ativo: false);
}
#endregion
#region LISTAR POR CIDADE
public List<ModeloFornecedores> ListarPorCidade(string cidade)
{
return Listar(cidade: cidade);
}
#endregion
#region LISTAR POR UF
public List<ModeloFornecedores> ListarPorUF(string uf)
{
return Listar(uf: uf);
}
#endregion
#region QUANTIDADE TOTAL
public int QuantidadeTotal()
{
using SqlConnection conn = new(connectionString);
string sql = "SELECT COUNT(*) FROM Fornecedores";
using SqlCommand cmd = new(sql, conn);
conn.Open();
return Convert.ToInt32(cmd.ExecuteScalar());
}
#endregion
#region QUANTIDADE ATIVOS
public int QuantidadeAtivos()
{
using SqlConnection conn = new(connectionString);
string sql = @"
SELECT COUNT(*)
FROM Fornecedores
WHERE Ativo=1";
using SqlCommand cmd = new(sql, conn);
conn.Open();
return Convert.ToInt32(cmd.ExecuteScalar());
}
#endregion
#region QUANTIDADE INATIVOS
public int QuantidadeInativos()
{
using SqlConnection conn = new(connectionString);
string sql = @"
SELECT COUNT(*)
FROM Fornecedores
WHERE Ativo=0";
using SqlCommand cmd = new(sql, conn);
conn.Open();
return Convert.ToInt32(cmd.ExecuteScalar());
}
#endregion
#region PRIMEIRO FORNECEDOR
public ModeloFornecedores? PrimeiroFornecedor()
{
using SqlConnection conn = new(connectionString);
string sql = @"
SELECT TOP 1 *
FROM Fornecedores
ORDER BY Id";
using SqlCommand cmd = new(sql, conn);
conn.Open();
using SqlDataReader dr = cmd.ExecuteReader();
if (dr.Read())
return PreencherModelo(dr);
return null;
}
#endregion
#region ÚLTIMO FORNECEDOR
public ModeloFornecedores? UltimoFornecedor()
{
using SqlConnection conn = new(connectionString);
string sql = @"
SELECT TOP 1 *
FROM Fornecedores
ORDER BY Id DESC";
using SqlCommand cmd = new(sql, conn);
conn.Open();
using SqlDataReader dr = cmd.ExecuteReader();
if (dr.Read())
return PreencherModelo(dr);
return null;
}
#endregion
#region DASHBOARD
public DataTable Dashboard()
{
using SqlConnection conn = new(connectionString);
string sql = @"
SELECT
COUNT(*) TOTAL_FORNECEDORES,
SUM(
CASE
WHEN Ativo = 1
THEN 1
ELSE 0
END
) FORNECEDORES_ATIVOS,
SUM(
CASE
WHEN Ativo = 0
THEN 1
ELSE 0
END
) FORNECEDORES_INATIVOS,
COUNT(DISTINCT Cidade) TOTAL_CIDADES,
COUNT(DISTINCT UF) TOTAL_ESTADOS
FROM Fornecedores";
DataTable dt = new();
using SqlDataAdapter da = new(sql, conn);
da.Fill(dt);
return dt;
}
#endregion
#region PREENCHER PARÂMETROS
private void PreencherParametros(SqlCommand cmd, ModeloFornecedores modelo)
{
cmd.Parameters.AddWithValue("@EmpresaId", modelo.EmpresaId);
cmd.Parameters.AddWithValue("@Nome", modelo.Nome);
cmd.Parameters.AddWithValue("@TipoPessoa", modelo.TipoPessoa);
cmd.Parameters.AddWithValue("@Documento", modelo.Documento);
cmd.Parameters.AddWithValue("@Telefone", modelo.Telefone);
cmd.Parameters.AddWithValue("@Celular", modelo.Celular);
cmd.Parameters.AddWithValue("@Whatsapp", modelo.Whatsapp);
cmd.Parameters.AddWithValue("@Email", modelo.Email);
cmd.Parameters.AddWithValue("@Cep", modelo.Cep);
cmd.Parameters.AddWithValue("@Endereco", modelo.Endereco);
cmd.Parameters.AddWithValue("@Numero", (object?)modelo.Numero ?? DBNull.Value);
cmd.Parameters.AddWithValue("@Complemento", modelo.Complemento);
cmd.Parameters.AddWithValue("@Bairro", modelo.Bairro);
cmd.Parameters.AddWithValue("@Cidade", modelo.Cidade);
cmd.Parameters.AddWithValue("@UF", modelo.UF);
cmd.Parameters.AddWithValue("@NomeFantasia", modelo.NomeFantasia);
cmd.Parameters.AddWithValue("@InscricaoEstadual", modelo.InscricaoEstadual);
cmd.Parameters.AddWithValue("@Site", modelo.Site);
cmd.Parameters.AddWithValue("@Observacoes", modelo.Observacoes);
cmd.Parameters.AddWithValue("@Ativo", modelo.Ativo);
}
#endregion
public bool ExisteDocumento(int empresaId, string documento)
{
using SqlConnection conn = new(connectionString);
string sql = @"
SELECT COUNT(*)
FROM Fornecedores
WHERE EmpresaId=@EmpresaId
AND Documento=@Documento";
using SqlCommand cmd = new(sql, conn);
cmd.Parameters.AddWithValue("@EmpresaId", empresaId);
cmd.Parameters.AddWithValue("@Documento", documento);
conn.Open();
return Convert.ToInt32(cmd.ExecuteScalar()) > 0;
}
private ModeloFornecedores PreencherModelo(SqlDataReader dr)
{
return new ModeloFornecedores
{
Id = Convert.ToInt32(dr["Id"]),
EmpresaId = Convert.ToInt32(dr["EmpresaId"]),
Nome = Convert.ToString(dr["Nome"]) ?? "",
TipoPessoa = Convert.ToString(dr["TipoPessoa"]) ?? "",
Documento = Convert.ToString(dr["Documento"]) ?? "",
Telefone = Convert.ToString(dr["Telefone"]) ?? "",
Celular = Convert.ToString(dr["Celular"]) ?? "",
Whatsapp = Convert.ToString(dr["Whatsapp"]) ?? "",
Email = Convert.ToString(dr["Email"]) ?? "",
Cep = Convert.ToString(dr["Cep"]) ?? "",
Endereco = Convert.ToString(dr["Endereco"]) ?? "",
Numero = dr["Numero"] == DBNull.Value ? null : Convert.ToInt32(dr["Numero"]),
Complemento = Convert.ToString(dr["Complemento"]) ?? "",
Bairro = Convert.ToString(dr["Bairro"]) ?? "",
Cidade = Convert.ToString(dr["Cidade"]) ?? "",
UF = Convert.ToString(dr["UF"]) ?? "",
NomeFantasia = Convert.ToString(dr["NomeFantasia"]) ?? "",
InscricaoEstadual = Convert.ToString(dr["InscricaoEstadual"]) ?? "",
Site = Convert.ToString(dr["Site"]) ?? "",
Observacoes = Convert.ToString(dr["Observacoes"]) ?? "",
Ativo = Convert.ToBoolean(dr["Ativo"]),
CriadoEm = dr["CriadoEm"] == DBNull.Value ? null : Convert.ToDateTime(dr["CriadoEm"]),
AtualizadoEm = dr["AtualizadoEm"] == DBNull.Value ? null : Convert.ToDateTime(dr["AtualizadoEm"])
};
}

240
DAL/DALFornecerDE.cs Normal file
View File

@ -0,0 +1,240 @@
using Microsoft.Data.SqlClient;
using MLL;
using System;
using System.Collections.Generic;
namespace DALL
{
public class DALFornecerDE
{
private readonly string connectionString;
public DALFornecerDE(string conexao)
{
connectionString = conexao;
}
#region INSERT
public bool Inserir(ModeloFornecerDE modelo)
{
using SqlConnection conn = new(connectionString);
string sql = @"
INSERT INTO Fornecer_DE
(
COD_FOR,
COD_ITEM,
ULTIMA
)
VALUES
(
@COD_FOR,
@COD_ITEM,
@ULTIMA
)";
using SqlCommand cmd = new(sql, conn);
PreencherParametros(cmd, modelo);
conn.Open();
return cmd.ExecuteNonQuery() > 0;
}
#endregion
#region UPDATE
public bool Alterar(ModeloFornecerDE modelo)
{
using SqlConnection conn = new(connectionString);
string sql = @"
UPDATE Fornecer_DE SET
COD_FOR=@COD_FOR,
COD_ITEM=@COD_ITEM,
ULTIMA=@ULTIMA
WHERE ID_FORNECER_DE=@ID_FORNECER_DE";
using SqlCommand cmd = new(sql, conn);
PreencherParametros(cmd, modelo);
cmd.Parameters.AddWithValue("@ID_FORNECER_DE",
modelo.ID_FORNECER_DE);
conn.Open();
return cmd.ExecuteNonQuery() > 0;
}
#endregion
#region DELETE
public bool Excluir(int id)
{
using SqlConnection conn = new(connectionString);
string sql =
@"DELETE FROM Fornecer_DE
WHERE ID_FORNECER_DE=@ID";
using SqlCommand cmd = new(sql, conn);
cmd.Parameters.AddWithValue("@ID", id);
conn.Open();
return cmd.ExecuteNonQuery() > 0;
}
#endregion
#region CARREGAR
public ModeloFornecerDE? Carregar(int id)
{
using SqlConnection conn = new(connectionString);
string sql =
@"SELECT *
FROM Fornecer_DE
WHERE ID_FORNECER_DE=@ID";
using SqlCommand cmd = new(sql, conn);
cmd.Parameters.AddWithValue("@ID", id);
conn.Open();
using SqlDataReader dr = cmd.ExecuteReader();
if (dr.Read())
return PreencherModelo(dr);
return null;
}
#endregion
#region CARREGAR POR CÓDIGO
public ModeloFornecerDE? CarregarPorCodigo(string codigo)
{
using SqlConnection conn = new(connectionString);
string sql =
@"SELECT *
FROM Fornecer_DE
WHERE CODIGO=@CODIGO";
using SqlCommand cmd = new(sql, conn);
cmd.Parameters.AddWithValue("@CODIGO", codigo);
conn.Open();
using SqlDataReader dr = cmd.ExecuteReader();
if (dr.Read())
return PreencherModelo(dr);
return null;
}
#endregion
#region LISTAR
public List<ModeloFornecerDE> Listar(
string? codigo = null,
string? codFornecedor = null,
string? codItem = null)
{
List<ModeloFornecerDE> lista = [];
using SqlConnection conn = new(connectionString);
string sql =
@"SELECT *
FROM Fornecer_DE
WHERE 1=1";
using SqlCommand cmd = new();
if (!string.IsNullOrWhiteSpace(codigo))
{
sql += " AND CODIGO LIKE @CODIGO";
cmd.Parameters.AddWithValue("@CODIGO",
"%" + codigo + "%");
}
if (!string.IsNullOrWhiteSpace(codFornecedor))
{
sql += " AND COD_FOR LIKE @COD_FOR";
cmd.Parameters.AddWithValue("@COD_FOR",
"%" + codFornecedor + "%");
}
if (!string.IsNullOrWhiteSpace(codItem))
{
sql += " AND COD_ITEM LIKE @COD_ITEM";
cmd.Parameters.AddWithValue("@COD_ITEM",
"%" + codItem + "%");
}
sql += " ORDER BY ID_FORNECER_DE DESC";
cmd.Connection = conn;
cmd.CommandText = sql;
conn.Open();
using SqlDataReader dr = cmd.ExecuteReader();
while (dr.Read())
{
lista.Add(
PreencherModelo(dr));
}
return lista;
}
#endregion
#region PREENCHER MODELO
private ModeloFornecerDE PreencherModelo(SqlDataReader dr)
{
return new ModeloFornecerDE
{
ID_FORNECER_DE = Convert.ToInt32(dr["ID_FORNECER_DE"]),
CODIGO = Convert.ToString(dr["CODIGO"]) ?? "",
COD_FOR = Convert.ToString(dr["COD_FOR"]) ?? "",
COD_ITEM = Convert.ToString(dr["COD_ITEM"]) ?? "",
ULTIMA = Convert.ToString(dr["ULTIMA"]) ?? ""
};
}
#endregion
#region PREENCHER PARÂMETROS
private void PreencherParametros(
SqlCommand cmd,
ModeloFornecerDE modelo)
{
cmd.Parameters.AddWithValue("@COD_FOR", modelo.COD_FOR);
cmd.Parameters.AddWithValue("@COD_ITEM", modelo.COD_ITEM);
cmd.Parameters.AddWithValue("@ULTIMA", modelo.ULTIMA);
}
#endregion
}
}

480
DAL/DALIBPT.cs Normal file
View File

@ -0,0 +1,480 @@
using Microsoft.Data.SqlClient;
using MLL;
using System;
using System.Collections.Generic;
using System.Data;
namespace DALL
{
public class DALIBPT
{
private readonly string connectionString;
public DALIBPT(string conexao)
{
connectionString = conexao;
}
#region INSERT
public bool Inserir(ModeloIBPT modelo)
{
using SqlConnection conn = new(connectionString);
string sql = @"
INSERT INTO IBPT
(
NCM,
NacionalFederal,
ImportadosFederal,
Estadual,
Municipal,
Tipo
)
VALUES
(
@NCM,
@NacionalFederal,
@ImportadosFederal,
@Estadual,
@Municipal,
@Tipo
)";
using SqlCommand cmd = new(sql, conn);
PreencherParametros(cmd, modelo);
conn.Open();
return cmd.ExecuteNonQuery() > 0;
}
#endregion
#region UPDATE
public bool Alterar(ModeloIBPT modelo)
{
using SqlConnection conn = new(connectionString);
string sql = @"
UPDATE IBPT SET
NCM=@NCM,
NacionalFederal=@NacionalFederal,
ImportadosFederal=@ImportadosFederal,
Estadual=@Estadual,
Municipal=@Municipal,
Tipo=@Tipo
WHERE ID_IBPT=@ID_IBPT";
using SqlCommand cmd = new(sql, conn);
PreencherParametros(cmd, modelo);
cmd.Parameters.AddWithValue("@ID_IBPT", modelo.ID_IBPT);
conn.Open();
return cmd.ExecuteNonQuery() > 0;
}
#endregion
#region DELETE
public bool Excluir(int id)
{
using SqlConnection conn = new(connectionString);
string sql =
@"DELETE FROM IBPT
WHERE ID_IBPT=@ID";
using SqlCommand cmd = new(sql, conn);
cmd.Parameters.AddWithValue("@ID", id);
conn.Open();
return cmd.ExecuteNonQuery() > 0;
}
#endregion
#region CARREGAR
public ModeloIBPT? Carregar(int id)
{
using SqlConnection conn = new(connectionString);
string sql =
@"SELECT *
FROM IBPT
WHERE ID_IBPT=@ID";
using SqlCommand cmd = new(sql, conn);
cmd.Parameters.AddWithValue("@ID", id);
conn.Open();
using SqlDataReader dr = cmd.ExecuteReader();
if (dr.Read())
return PreencherModelo(dr);
return null;
}
#endregion
#region CARREGAR POR NCM
public ModeloIBPT? CarregarPorNCM(string ncm)
{
using SqlConnection conn = new(connectionString);
string sql =
@"SELECT *
FROM IBPT
WHERE NCM=@NCM";
using SqlCommand cmd = new(sql, conn);
cmd.Parameters.AddWithValue("@NCM", ncm);
conn.Open();
using SqlDataReader dr = cmd.ExecuteReader();
if (dr.Read())
return PreencherModelo(dr);
return null;
}
#endregion
#region LISTAR
public List<ModeloIBPT> Listar(
string? codigo = null,
string? ncm = null,
string? tipo = null)
{
List<ModeloIBPT> lista = [];
using SqlConnection conn = new(connectionString);
string sql =
@"SELECT *
FROM IBPT
WHERE 1=1";
using SqlCommand cmd = new();
if (!string.IsNullOrWhiteSpace(codigo))
{
sql += " AND CODIGO LIKE @CODIGO";
cmd.Parameters.AddWithValue(
"@CODIGO",
"%" + codigo + "%");
}
if (!string.IsNullOrWhiteSpace(ncm))
{
sql += " AND NCM LIKE @NCM";
cmd.Parameters.AddWithValue(
"@NCM",
"%" + ncm + "%");
}
if (!string.IsNullOrWhiteSpace(tipo))
{
sql += " AND Tipo=@Tipo";
cmd.Parameters.AddWithValue(
"@Tipo",
tipo);
}
sql += " ORDER BY NCM";
cmd.Connection = conn;
cmd.CommandText = sql;
conn.Open();
using SqlDataReader dr = cmd.ExecuteReader();
while (dr.Read())
{
lista.Add(
PreencherModelo(dr));
}
return lista;
}
#endregion
#region PREENCHER MODELO
private ModeloIBPT PreencherModelo(SqlDataReader dr)
{
return new ModeloIBPT
{
ID_IBPT = Convert.ToInt32(dr["ID_IBPT"]),
CODIGO = Convert.ToString(dr["CODIGO"]) ?? "",
NCM = Convert.ToString(dr["NCM"]) ?? "",
NacionalFederal = Convert.ToString(dr["NacionalFederal"]) ?? "",
ImportadosFederal = Convert.ToString(dr["ImportadosFederal"]) ?? "",
Estadual = Convert.ToString(dr["Estadual"]) ?? "",
Municipal = Convert.ToString(dr["Municipal"]) ?? "",
Tipo = Convert.ToString(dr["Tipo"]) ?? ""
};
}
#endregion
#region PREENCHER PARÂMETROS
private void PreencherParametros(
SqlCommand cmd,
ModeloIBPT modelo)
{
cmd.Parameters.AddWithValue(
"@NCM",
modelo.NCM);
cmd.Parameters.AddWithValue(
"@NacionalFederal",
modelo.NacionalFederal);
cmd.Parameters.AddWithValue(
"@ImportadosFederal",
modelo.ImportadosFederal);
cmd.Parameters.AddWithValue(
"@Estadual",
modelo.Estadual);
cmd.Parameters.AddWithValue(
"@Municipal",
modelo.Municipal);
cmd.Parameters.AddWithValue(
"@Tipo",
modelo.Tipo);
}
#endregion
#region EXISTE NCM
public bool ExisteNCM(string ncm)
{
using SqlConnection conn = new(connectionString);
string sql = @"
SELECT COUNT(*)
FROM IBPT
WHERE NCM=@NCM";
using SqlCommand cmd = new(sql, conn);
cmd.Parameters.AddWithValue("@NCM", ncm);
conn.Open();
return Convert.ToInt32(cmd.ExecuteScalar()) > 0;
}
#endregion
#region LISTAR POR TIPO
public List<ModeloIBPT> ListarPorTipo(string tipo)
{
return Listar(tipo: tipo);
}
#endregion
#region PRODUTOS
public List<ModeloIBPT> ListarProdutos()
{
return Listar(tipo: "P");
}
#endregion
#region SERVIÇOS
public List<ModeloIBPT> ListarServicos()
{
return Listar(tipo: "S");
}
#endregion
#region TOTAL REGISTROS
public int QuantidadeTotal()
{
using SqlConnection conn = new(connectionString);
string sql = "SELECT COUNT(*) FROM IBPT";
using SqlCommand cmd = new(sql, conn);
conn.Open();
return Convert.ToInt32(cmd.ExecuteScalar());
}
#endregion
#region PRIMEIRO REGISTRO
public ModeloIBPT? PrimeiroRegistro()
{
using SqlConnection conn = new(connectionString);
string sql = @"
SELECT TOP 1 *
FROM IBPT
ORDER BY ID_IBPT";
using SqlCommand cmd = new(sql, conn);
conn.Open();
using SqlDataReader dr = cmd.ExecuteReader();
if (dr.Read())
return PreencherModelo(dr);
return null;
}
#endregion
#region ÚLTIMO REGISTRO
public ModeloIBPT? UltimoRegistro()
{
using SqlConnection conn = new(connectionString);
string sql = @"
SELECT TOP 1 *
FROM IBPT
ORDER BY ID_IBPT DESC";
using SqlCommand cmd = new(sql, conn);
conn.Open();
using SqlDataReader dr = cmd.ExecuteReader();
if (dr.Read())
return PreencherModelo(dr);
return null;
}
#endregion
#region DASHBOARD
public DataTable Dashboard()
{
using SqlConnection conn = new(connectionString);
string sql = @"
SELECT
COUNT(*) TOTAL_REGISTROS,
SUM(
CASE
WHEN Tipo='P'
THEN 1
ELSE 0
END
) PRODUTOS,
SUM(
CASE
WHEN Tipo='S'
THEN 1
ELSE 0
END
) SERVICOS
FROM IBPT";
DataTable dt = new();
using SqlDataAdapter da = new(sql, conn);
da.Fill(dt);
return dt;
}
#endregion
#region BUSCAR NCM
public List<ModeloIBPT> ListarNCMFaixa(string inicioNcm)
{
List<ModeloIBPT> lista = [];
using SqlConnection conn = new(connectionString);
string sql = @"
SELECT *
FROM IBPT
WHERE NCM LIKE @NCM
ORDER BY NCM";
using SqlCommand cmd = new(sql, conn);
cmd.Parameters.AddWithValue(
"@NCM",
inicioNcm + "%");
conn.Open();
using SqlDataReader dr = cmd.ExecuteReader();
while (dr.Read())
{
lista.Add(
PreencherModelo(dr));
}
return lista;
}
#endregion
#region CARREGAR POR CÓDIGO
public ModeloIBPT? CarregarPorCodigo(string codigo)
{
using SqlConnection conn = new(connectionString);
string sql = @"
SELECT *
FROM IBPT
WHERE CODIGO=@CODIGO";
using SqlCommand cmd = new(sql, conn);
cmd.Parameters.AddWithValue("@CODIGO", codigo);
conn.Open();
using SqlDataReader dr = cmd.ExecuteReader();
if (dr.Read())
return PreencherModelo(dr);
return null;
}
#endregion
}
}

499
DAL/DALIcmsEmp.cs Normal file
View File

@ -0,0 +1,499 @@
using Microsoft.Data.SqlClient;
using MLL;
using System;
using System.Collections.Generic;
using System.Data;
namespace DALL
{
public class DALIcmsEmp
{
private readonly string connectionString;
public DALIcmsEmp(string conexao)
{
connectionString = conexao;
}
#region INSERT
public bool Inserir(ModeloIcmsEmp modelo)
{
using SqlConnection conn = new(connectionString);
string sql = @"
INSERT INTO ICMS_EMP
(
UF,ICMS,
UF_AC,UF_AL,UF_AM,UF_AP,
UF_BA,UF_CE,UF_DF,UF_ES,
UF_GO,UF_MA,UF_MT,UF_MS,
UF_MG,UF_PA,UF_PB,UF_PR,
UF_PE,UF_PI,UF_RN,UF_RS,
UF_RJ,UF_RO,UF_RR,UF_SC,
UF_SP,UF_SE,UF_TO,FCP
)
VALUES
(
@UF,@ICMS,
@UF_AC,@UF_AL,@UF_AM,@UF_AP,
@UF_BA,@UF_CE,@UF_DF,@UF_ES,
@UF_GO,@UF_MA,@UF_MT,@UF_MS,
@UF_MG,@UF_PA,@UF_PB,@UF_PR,
@UF_PE,@UF_PI,@UF_RN,@UF_RS,
@UF_RJ,@UF_RO,@UF_RR,@UF_SC,
@UF_SP,@UF_SE,@UF_TO,@FCP
)";
using SqlCommand cmd = new(sql, conn);
PreencherParametros(cmd, modelo);
conn.Open();
return cmd.ExecuteNonQuery() > 0;
}
#endregion
#region UPDATE
public bool Alterar(ModeloIcmsEmp modelo)
{
using SqlConnection conn = new(connectionString);
string sql = @"
UPDATE ICMS_EMP SET
UF=@UF,
ICMS=@ICMS,
UF_AC=@UF_AC,
UF_AL=@UF_AL,
UF_AM=@UF_AM,
UF_AP=@UF_AP,
UF_BA=@UF_BA,
UF_CE=@UF_CE,
UF_DF=@UF_DF,
UF_ES=@UF_ES,
UF_GO=@UF_GO,
UF_MA=@UF_MA,
UF_MT=@UF_MT,
UF_MS=@UF_MS,
UF_MG=@UF_MG,
UF_PA=@UF_PA,
UF_PB=@UF_PB,
UF_PR=@UF_PR,
UF_PE=@UF_PE,
UF_PI=@UF_PI,
UF_RN=@UF_RN,
UF_RS=@UF_RS,
UF_RJ=@UF_RJ,
UF_RO=@UF_RO,
UF_RR=@UF_RR,
UF_SC=@UF_SC,
UF_SP=@UF_SP,
UF_SE=@UF_SE,
UF_TO=@UF_TO,
FCP=@FCP
WHERE ID_ICMS_EMP=@ID_ICMS_EMP";
using SqlCommand cmd = new(sql, conn);
PreencherParametros(cmd, modelo);
cmd.Parameters.AddWithValue(
"@ID_ICMS_EMP",
modelo.ID_ICMS_EMP);
conn.Open();
return cmd.ExecuteNonQuery() > 0;
}
#endregion
#region DELETE
public bool Excluir(int id)
{
using SqlConnection conn = new(connectionString);
string sql =
@"DELETE FROM ICMS_EMP
WHERE ID_ICMS_EMP=@ID";
using SqlCommand cmd = new(sql, conn);
cmd.Parameters.AddWithValue("@ID", id);
conn.Open();
return cmd.ExecuteNonQuery() > 0;
}
#endregion
#region CARREGAR
public ModeloIcmsEmp? Carregar(int id)
{
using SqlConnection conn = new(connectionString);
string sql =
@"SELECT *
FROM ICMS_EMP
WHERE ID_ICMS_EMP=@ID";
using SqlCommand cmd = new(sql, conn);
cmd.Parameters.AddWithValue("@ID", id);
conn.Open();
using SqlDataReader dr = cmd.ExecuteReader();
if (dr.Read())
return PreencherModelo(dr);
return null;
}
#endregion
#region CARREGAR POR CÓDIGO
public ModeloIcmsEmp? CarregarPorCodigo(string codigo)
{
using SqlConnection conn = new(connectionString);
string sql =
@"SELECT *
FROM ICMS_EMP
WHERE CODIGO=@CODIGO";
using SqlCommand cmd = new(sql, conn);
cmd.Parameters.AddWithValue("@CODIGO", codigo);
conn.Open();
using SqlDataReader dr = cmd.ExecuteReader();
if (dr.Read())
return PreencherModelo(dr);
return null;
}
#endregion
#region CARREGAR POR UF
public ModeloIcmsEmp? CarregarPorUF(string uf)
{
using SqlConnection conn = new(connectionString);
string sql =
@"SELECT *
FROM ICMS_EMP
WHERE UF=@UF";
using SqlCommand cmd = new(sql, conn);
cmd.Parameters.AddWithValue("@UF", uf);
conn.Open();
using SqlDataReader dr = cmd.ExecuteReader();
if (dr.Read())
return PreencherModelo(dr);
return null;
}
#endregion
#region EXISTE UF
public bool ExisteUF(string uf)
{
using SqlConnection conn = new(connectionString);
string sql =
@"SELECT COUNT(*)
FROM ICMS_EMP
WHERE UF=@UF";
using SqlCommand cmd = new(sql, conn);
cmd.Parameters.AddWithValue("@UF", uf);
conn.Open();
return Convert.ToInt32(cmd.ExecuteScalar()) > 0;
}
#endregion
#region LISTAR
public List<ModeloIcmsEmp> Listar(
string? codigo = null,
string? uf = null)
{
List<ModeloIcmsEmp> lista = [];
using SqlConnection conn = new(connectionString);
string sql =
@"SELECT *
FROM ICMS_EMP
WHERE 1=1";
using SqlCommand cmd = new();
if (!string.IsNullOrWhiteSpace(codigo))
{
sql += " AND CODIGO LIKE @CODIGO";
cmd.Parameters.AddWithValue(
"@CODIGO",
"%" + codigo + "%");
}
if (!string.IsNullOrWhiteSpace(uf))
{
sql += " AND UF=@UF";
cmd.Parameters.AddWithValue(
"@UF",
uf);
}
sql += " ORDER BY UF";
cmd.Connection = conn;
cmd.CommandText = sql;
conn.Open();
using SqlDataReader dr = cmd.ExecuteReader();
while (dr.Read())
{
lista.Add(
PreencherModelo(dr));
}
return lista;
}
#endregion
#region QUANTIDADE TOTAL
public int QuantidadeTotal()
{
using SqlConnection conn = new(connectionString);
string sql = "SELECT COUNT(*) FROM ICMS_EMP";
using SqlCommand cmd = new(sql, conn);
conn.Open();
return Convert.ToInt32(cmd.ExecuteScalar());
}
#endregion
#region PRIMEIRO REGISTRO
public ModeloIcmsEmp? PrimeiroRegistro()
{
using SqlConnection conn = new(connectionString);
string sql =
@"SELECT TOP 1 *
FROM ICMS_EMP
ORDER BY ID_ICMS_EMP";
using SqlCommand cmd = new(sql, conn);
conn.Open();
using SqlDataReader dr = cmd.ExecuteReader();
if (dr.Read())
return PreencherModelo(dr);
return null;
}
#endregion
#region ÚLTIMO REGISTRO
public ModeloIcmsEmp? UltimoRegistro()
{
using SqlConnection conn = new(connectionString);
string sql =
@"SELECT TOP 1 *
FROM ICMS_EMP
ORDER BY ID_ICMS_EMP DESC";
using SqlCommand cmd = new(sql, conn);
conn.Open();
using SqlDataReader dr = cmd.ExecuteReader();
if (dr.Read())
return PreencherModelo(dr);
return null;
}
#endregion
#region OBTER ALIQUOTA DESTINO
public string ObterAliquotaDestino(
string ufOrigem,
string ufDestino)
{
ModeloIcmsEmp? origem =
CarregarPorUF(ufOrigem);
if (origem == null)
return "0";
return ufDestino.ToUpper() switch
{
"AC" => origem.UF_AC,
"AL" => origem.UF_AL,
"AM" => origem.UF_AM,
"AP" => origem.UF_AP,
"BA" => origem.UF_BA,
"CE" => origem.UF_CE,
"DF" => origem.UF_DF,
"ES" => origem.UF_ES,
"GO" => origem.UF_GO,
"MA" => origem.UF_MA,
"MT" => origem.UF_MT,
"MS" => origem.UF_MS,
"MG" => origem.UF_MG,
"PA" => origem.UF_PA,
"PB" => origem.UF_PB,
"PR" => origem.UF_PR,
"PE" => origem.UF_PE,
"PI" => origem.UF_PI,
"RN" => origem.UF_RN,
"RS" => origem.UF_RS,
"RJ" => origem.UF_RJ,
"RO" => origem.UF_RO,
"RR" => origem.UF_RR,
"SC" => origem.UF_SC,
"SP" => origem.UF_SP,
"SE" => origem.UF_SE,
"TO" => origem.UF_TO,
_ => "0"
};
}
#endregion
#region PREENCHER MODELO
private ModeloIcmsEmp PreencherModelo(SqlDataReader dr)
{
return new ModeloIcmsEmp
{
ID_ICMS_EMP = Convert.ToInt32(dr["ID_ICMS_EMP"]),
CODIGO = Convert.ToString(dr["CODIGO"]) ?? "",
UF = Convert.ToString(dr["UF"]) ?? "",
ICMS = Convert.ToString(dr["ICMS"]) ?? "",
UF_AC = Convert.ToString(dr["UF_AC"]) ?? "",
UF_AL = Convert.ToString(dr["UF_AL"]) ?? "",
UF_AM = Convert.ToString(dr["UF_AM"]) ?? "",
UF_AP = Convert.ToString(dr["UF_AP"]) ?? "",
UF_BA = Convert.ToString(dr["UF_BA"]) ?? "",
UF_CE = Convert.ToString(dr["UF_CE"]) ?? "",
UF_DF = Convert.ToString(dr["UF_DF"]) ?? "",
UF_ES = Convert.ToString(dr["UF_ES"]) ?? "",
UF_GO = Convert.ToString(dr["UF_GO"]) ?? "",
UF_MA = Convert.ToString(dr["UF_MA"]) ?? "",
UF_MT = Convert.ToString(dr["UF_MT"]) ?? "",
UF_MS = Convert.ToString(dr["UF_MS"]) ?? "",
UF_MG = Convert.ToString(dr["UF_MG"]) ?? "",
UF_PA = Convert.ToString(dr["UF_PA"]) ?? "",
UF_PB = Convert.ToString(dr["UF_PB"]) ?? "",
UF_PR = Convert.ToString(dr["UF_PR"]) ?? "",
UF_PE = Convert.ToString(dr["UF_PE"]) ?? "",
UF_PI = Convert.ToString(dr["UF_PI"]) ?? "",
UF_RN = Convert.ToString(dr["UF_RN"]) ?? "",
UF_RS = Convert.ToString(dr["UF_RS"]) ?? "",
UF_RJ = Convert.ToString(dr["UF_RJ"]) ?? "",
UF_RO = Convert.ToString(dr["UF_RO"]) ?? "",
UF_RR = Convert.ToString(dr["UF_RR"]) ?? "",
UF_SC = Convert.ToString(dr["UF_SC"]) ?? "",
UF_SP = Convert.ToString(dr["UF_SP"]) ?? "",
UF_SE = Convert.ToString(dr["UF_SE"]) ?? "",
UF_TO = Convert.ToString(dr["UF_TO"]) ?? "",
FCP = Convert.ToString(dr["FCP"]) ?? ""
};
}
#endregion
#region PREENCHER PARÂMETROS
private void PreencherParametros(
SqlCommand cmd,
ModeloIcmsEmp modelo)
{
cmd.Parameters.AddWithValue("@UF", modelo.UF);
cmd.Parameters.AddWithValue("@ICMS", modelo.ICMS);
cmd.Parameters.AddWithValue("@UF_AC", modelo.UF_AC);
cmd.Parameters.AddWithValue("@UF_AL", modelo.UF_AL);
cmd.Parameters.AddWithValue("@UF_AM", modelo.UF_AM);
cmd.Parameters.AddWithValue("@UF_AP", modelo.UF_AP);
cmd.Parameters.AddWithValue("@UF_BA", modelo.UF_BA);
cmd.Parameters.AddWithValue("@UF_CE", modelo.UF_CE);
cmd.Parameters.AddWithValue("@UF_DF", modelo.UF_DF);
cmd.Parameters.AddWithValue("@UF_ES", modelo.UF_ES);
cmd.Parameters.AddWithValue("@UF_GO", modelo.UF_GO);
cmd.Parameters.AddWithValue("@UF_MA", modelo.UF_MA);
cmd.Parameters.AddWithValue("@UF_MT", modelo.UF_MT);
cmd.Parameters.AddWithValue("@UF_MS", modelo.UF_MS);
cmd.Parameters.AddWithValue("@UF_MG", modelo.UF_MG);
cmd.Parameters.AddWithValue("@UF_PA", modelo.UF_PA);
cmd.Parameters.AddWithValue("@UF_PB", modelo.UF_PB);
cmd.Parameters.AddWithValue("@UF_PR", modelo.UF_PR);
cmd.Parameters.AddWithValue("@UF_PE", modelo.UF_PE);
cmd.Parameters.AddWithValue("@UF_PI", modelo.UF_PI);
cmd.Parameters.AddWithValue("@UF_RN", modelo.UF_RN);
cmd.Parameters.AddWithValue("@UF_RS", modelo.UF_RS);
cmd.Parameters.AddWithValue("@UF_RJ", modelo.UF_RJ);
cmd.Parameters.AddWithValue("@UF_RO", modelo.UF_RO);
cmd.Parameters.AddWithValue("@UF_RR", modelo.UF_RR);
cmd.Parameters.AddWithValue("@UF_SC", modelo.UF_SC);
cmd.Parameters.AddWithValue("@UF_SP", modelo.UF_SP);
cmd.Parameters.AddWithValue("@UF_SE", modelo.UF_SE);
cmd.Parameters.AddWithValue("@UF_TO", modelo.UF_TO);
cmd.Parameters.AddWithValue("@FCP", modelo.FCP);
}
#endregion
}
}