diff --git a/DAL/DALFcaixa.cs b/DAL/DALFcaixa.cs index 7053a5b..deef9f0 100644 --- a/DAL/DALFcaixa.cs +++ b/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 ListarPorForma(string forma) + { + return Listar(forma: forma); + } + public List ListarPorConta(string codConta) + { + return Listar(codConta: codConta); + } + public List ListarPorPlanoContas(string planoContas) + { + return Listar(planoContas: planoContas); + } + public List ListarReceitas() + { + return Listar() + .Where(x => + !string.IsNullOrWhiteSpace(x.RECEITA) && + x.RECEITA != "0") + .ToList(); + } + public List 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 MovimentacaoPorPeriodo(DateTime dataInicial,DateTime dataFinal) + { + List 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 diff --git a/DAL/DALFornecedores.cs b/DAL/DALFornecedores.cs new file mode 100644 index 0000000..a7f2c0b --- /dev/null +++ b/DAL/DALFornecedores.cs @@ -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 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 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 ListarAtivos() + { + return Listar(ativo: true); + } + + #endregion + #region LISTAR INATIVOS + + public List ListarInativos() + { + return Listar(ativo: false); + } + + #endregion + #region LISTAR POR CIDADE + + public List ListarPorCidade(string cidade) + { + return Listar(cidade: cidade); + } + + #endregion + #region LISTAR POR UF + + public List 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"]) + }; + } + diff --git a/DAL/DALFornecerDE.cs b/DAL/DALFornecerDE.cs new file mode 100644 index 0000000..56f7e80 --- /dev/null +++ b/DAL/DALFornecerDE.cs @@ -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 Listar( + string? codigo = null, + string? codFornecedor = null, + string? codItem = null) + { + List 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 + } +} \ No newline at end of file diff --git a/DAL/DALIBPT.cs b/DAL/DALIBPT.cs new file mode 100644 index 0000000..f001dec --- /dev/null +++ b/DAL/DALIBPT.cs @@ -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 Listar( + string? codigo = null, + string? ncm = null, + string? tipo = null) + { + List 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 ListarPorTipo(string tipo) + { + return Listar(tipo: tipo); + } + + #endregion + #region PRODUTOS + + public List ListarProdutos() + { + return Listar(tipo: "P"); + } + + #endregion + #region SERVIÇOS + + public List 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 ListarNCMFaixa(string inicioNcm) + { + List 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 + + + } +} \ No newline at end of file diff --git a/DAL/DALIcmsEmp.cs b/DAL/DALIcmsEmp.cs new file mode 100644 index 0000000..7acf604 --- /dev/null +++ b/DAL/DALIcmsEmp.cs @@ -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 Listar( + string? codigo = null, + string? uf = null) + { + List 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 + } +} \ No newline at end of file