18/06/2026 - Continuando a criação de classe DAL
This commit is contained in:
parent
271236bb78
commit
c7db527039
181
DAL/DALFcaixa.cs
181
DAL/DALFcaixa.cs
@ -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
554
DAL/DALFornecedores.cs
Normal 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
240
DAL/DALFornecerDE.cs
Normal 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
480
DAL/DALIBPT.cs
Normal 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
499
DAL/DALIcmsEmp.cs
Normal 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
|
||||
}
|
||||
}
|
||||
Loading…
Reference in New Issue
Block a user