315 lines
14 KiB
C#
315 lines
14 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.Data.SqlClient;
|
|
using Microsoft.Data.SqlClient;
|
|
using MLL;
|
|
|
|
namespace DALL
|
|
{
|
|
public class DALEmpresa
|
|
{
|
|
private readonly string connectionString;
|
|
|
|
public DALEmpresa(string conn)
|
|
{
|
|
connectionString = conn;
|
|
}
|
|
|
|
// 🔹 LISTAR
|
|
public List<ModeloEmpresa> Listar()
|
|
{
|
|
var lista = new List<ModeloEmpresa>();
|
|
|
|
try
|
|
{
|
|
using (SqlConnection conn = new SqlConnection(connectionString))
|
|
{
|
|
conn.Open();
|
|
|
|
string sql = "SELECT * FROM Empresa";
|
|
|
|
using (SqlCommand cmd = new SqlCommand(sql, conn))
|
|
using (SqlDataReader dr = cmd.ExecuteReader())
|
|
{
|
|
while (dr.Read())
|
|
{
|
|
lista.Add(new ModeloEmpresa(
|
|
Convert.ToInt32(dr["IdEmpresa"]),
|
|
dr["Nome"]?.ToString(),
|
|
dr["CNPJ"]?.ToString(),
|
|
dr["TipoEmpresa"]?.ToString(),
|
|
dr["RegimeTributario"]?.ToString(),
|
|
dr["CNAE"]?.ToString(),
|
|
dr["Cep"]?.ToString(),
|
|
dr["Endereco"]?.ToString(),
|
|
Convert.ToInt32(dr["Numero"]),
|
|
dr["Complemento"]?.ToString(),
|
|
dr["Bairro"]?.ToString(),
|
|
dr["Cidade"]?.ToString(),
|
|
dr["UF"]?.ToString(),
|
|
dr["Pais"]?.ToString(),
|
|
dr["Telefone1"]?.ToString(),
|
|
dr["Telefone2"]?.ToString(),
|
|
dr["Celular"]?.ToString(),
|
|
dr["Whatsapp"]?.ToString(),
|
|
dr["Email"]?.ToString(),
|
|
dr["Site"]?.ToString(),
|
|
dr["InscricaoEstadual"]?.ToString(),
|
|
dr["InscricaoMunicipal"]?.ToString(),
|
|
dr["CNPJCPF_Contador"]?.ToString(),
|
|
dr["Nome_Contador"]?.ToString(),
|
|
dr["TextoParaRecibo"]?.ToString(),
|
|
Convert.ToBoolean(dr["Ativo"]),
|
|
Convert.ToDateTime(dr["CriadoEm"]),
|
|
Convert.ToDateTime(dr["AtualizadoEm"])
|
|
));
|
|
}
|
|
}
|
|
}
|
|
}
|
|
catch
|
|
{
|
|
return new List<ModeloEmpresa>();
|
|
}
|
|
|
|
return lista;
|
|
}//listarEmpresa
|
|
|
|
// 🔹 CARREGAR POR ID
|
|
public ModeloEmpresa CarregarModeloEmpresa(int id)
|
|
{
|
|
try
|
|
{
|
|
using (SqlConnection conn = new SqlConnection(connectionString))
|
|
{
|
|
conn.Open();
|
|
|
|
string sql = "SELECT * FROM Empresa WHERE IdEmpresa = @Id";
|
|
|
|
using (SqlCommand cmd = new SqlCommand(sql, conn))
|
|
{
|
|
cmd.Parameters.AddWithValue("@Id", id);
|
|
|
|
using (SqlDataReader dr = cmd.ExecuteReader())
|
|
{
|
|
if (dr.Read())
|
|
{
|
|
return new ModeloEmpresa(
|
|
Convert.ToInt32(dr["Id"]),
|
|
dr["Nome"]?.ToString(),
|
|
dr["CNPJ"]?.ToString(),
|
|
dr["TipoEmpresa"]?.ToString(),
|
|
dr["RegimeTributario"]?.ToString(),
|
|
dr["CNAE"]?.ToString(),
|
|
dr["Cep"]?.ToString(),
|
|
dr["Endereco"]?.ToString(),
|
|
Convert.ToInt32(dr["Numero"]),
|
|
dr["Complemento"]?.ToString(),
|
|
dr["Bairro"]?.ToString(),
|
|
dr["Cidade"]?.ToString(),
|
|
dr["UF"]?.ToString(),
|
|
dr["Pais"]?.ToString(),
|
|
dr["Telefone1"]?.ToString(),
|
|
dr["Telefone2"]?.ToString(),
|
|
dr["Celular"]?.ToString(),
|
|
dr["Whatsapp"]?.ToString(),
|
|
dr["Email"]?.ToString(),
|
|
dr["Site"]?.ToString(),
|
|
dr["InscricaoEstadual"]?.ToString(),
|
|
dr["InscricaoMunicipal"]?.ToString(),
|
|
dr["CNPJCPF_Contador"]?.ToString(),
|
|
dr["Nome_Contador"]?.ToString(),
|
|
dr["TextoParaRecibo"]?.ToString(),
|
|
Convert.ToBoolean(dr["Ativo"]),
|
|
Convert.ToDateTime(dr["CriadoEm"]),
|
|
Convert.ToDateTime(dr["AtualizadoEm"])
|
|
);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
catch { }
|
|
|
|
return null;
|
|
}//CarregarModeloEmpresaPorID
|
|
|
|
// 🔹 INSERIR
|
|
public bool Inserir(ModeloEmpresa obj)
|
|
{
|
|
try
|
|
{
|
|
using (SqlConnection conn = new SqlConnection(connectionString))
|
|
{
|
|
conn.Open();
|
|
|
|
string sql = @"INSERT INTO Empresa
|
|
(Nome, CNPJ, TipoEmpresa, RegimeTributario, CNAE, Cep, Endereco, Numero,
|
|
Complemento, Bairro, Cidade, UF, Pais, Telefone1, Telefone2, Celular,
|
|
Whatsapp, Email, Site, InscricaoEstadual, InscricaoMunicipal,
|
|
CNPJCPF_Contador, Nome_Contador, TextoParaRecibo, Ativo)
|
|
VALUES
|
|
(@Nome, @CNPJ, @TipoEmpresa, @RegimeTributario, @CNAE, @Cep, @Endereco, @Numero,
|
|
@Complemento, @Bairro, @Cidade, @UF, @Pais, @Telefone1, @Telefone2, @Celular,
|
|
@Whatsapp, @Email, @Site, @InscricaoEstadual, @InscricaoMunicipal,
|
|
@CNPJCPF_Contador, @Nome_Contador, @TextoParaRecibo, @Ativo)";
|
|
|
|
using (SqlCommand cmd = new SqlCommand(sql, conn))
|
|
{
|
|
PreencherParametros(cmd, obj);
|
|
return cmd.ExecuteNonQuery() > 0;
|
|
}
|
|
}
|
|
}
|
|
catch
|
|
{
|
|
return false;
|
|
}
|
|
}//Incluir
|
|
|
|
// 🔹 ALTERAR
|
|
public bool Alterar(ModeloEmpresa obj)
|
|
{
|
|
try
|
|
{
|
|
using (SqlConnection conn = new SqlConnection(connectionString))
|
|
{
|
|
conn.Open();
|
|
|
|
string sql = @"UPDATE Empresa SET
|
|
Nome=@Nome, CNPJ=@CNPJ, TipoEmpresa=@TipoEmpresa, RegimeTributario=@RegimeTributario,
|
|
CNAE=@CNAE, Cep=@Cep, Endereco=@Endereco, Numero=@Numero,
|
|
Complemento=@Complemento, Bairro=@Bairro, Cidade=@Cidade, UF=@UF,
|
|
Pais=@Pais, Telefone1=@Telefone1, Telefone2=@Telefone2,
|
|
Celular=@Celular, Whatsapp=@Whatsapp, Email=@Email, Site=@Site,
|
|
InscricaoEstadual=@InscricaoEstadual, InscricaoMunicipal=@InscricaoMunicipal,
|
|
CNPJCPF_Contador=@CNPJCPF_Contador, Nome_Contador=@Nome_Contador,
|
|
TextoParaRecibo=@TextoParaRecibo, Ativo=@Ativo,
|
|
AtualizadoEm=GETDATE()
|
|
WHERE IdEmpresa=@Id";
|
|
|
|
using (SqlCommand cmd = new SqlCommand(sql, conn))
|
|
{
|
|
PreencherParametros(cmd, obj);
|
|
cmd.Parameters.AddWithValue("@Id", obj.Id);
|
|
|
|
return cmd.ExecuteNonQuery() > 0;
|
|
}
|
|
}
|
|
}
|
|
catch
|
|
{
|
|
return false;
|
|
}
|
|
}//Alterar
|
|
|
|
// 🔹 EXCLUIR
|
|
public bool Excluir(int id)
|
|
{
|
|
try
|
|
{
|
|
using (SqlConnection conn = new SqlConnection(connectionString))
|
|
{
|
|
conn.Open();
|
|
|
|
string sql = "DELETE FROM Empresa WHERE IdEmpresa=@Id";
|
|
|
|
using (SqlCommand cmd = new SqlCommand(sql, conn))
|
|
{
|
|
cmd.Parameters.AddWithValue("@Id", id);
|
|
return cmd.ExecuteNonQuery() > 0;
|
|
}
|
|
}
|
|
}
|
|
catch
|
|
{
|
|
return false;
|
|
}
|
|
}//Excluir
|
|
|
|
// 🔹 MÉTODO AUXILIAR (evita repetição)
|
|
private void PreencherParametros(SqlCommand cmd, ModeloEmpresa obj)
|
|
{
|
|
cmd.Parameters.AddWithValue("@Nome", obj.Nome ?? (object)DBNull.Value);
|
|
cmd.Parameters.AddWithValue("@CNPJ", obj.CNPJ ?? (object)DBNull.Value);
|
|
cmd.Parameters.AddWithValue("@TipoEmpresa", obj.TipoEmpresa ?? (object)DBNull.Value);
|
|
cmd.Parameters.AddWithValue("@RegimeTributario", obj.RegimeTributario ?? (object)DBNull.Value);
|
|
cmd.Parameters.AddWithValue("@CNAE", obj.CNAE ?? (object)DBNull.Value);
|
|
cmd.Parameters.AddWithValue("@Cep", obj.Cep ?? (object)DBNull.Value);
|
|
cmd.Parameters.AddWithValue("@Endereco", obj.Endereco ?? (object)DBNull.Value);
|
|
cmd.Parameters.AddWithValue("@Numero", obj.Numero);
|
|
cmd.Parameters.AddWithValue("@Complemento", obj.Complemento ?? (object)DBNull.Value);
|
|
cmd.Parameters.AddWithValue("@Bairro", obj.Bairro ?? (object)DBNull.Value);
|
|
cmd.Parameters.AddWithValue("@Cidade", obj.Cidade ?? (object)DBNull.Value);
|
|
cmd.Parameters.AddWithValue("@UF", obj.UF ?? (object)DBNull.Value);
|
|
cmd.Parameters.AddWithValue("@Pais", obj.Pais ?? (object)DBNull.Value);
|
|
cmd.Parameters.AddWithValue("@Telefone1", obj.Telefone1 ?? (object)DBNull.Value);
|
|
cmd.Parameters.AddWithValue("@Telefone2", obj.Telefone2 ?? (object)DBNull.Value);
|
|
cmd.Parameters.AddWithValue("@Celular", obj.Celular ?? (object)DBNull.Value);
|
|
cmd.Parameters.AddWithValue("@Whatsapp", obj.Whatsapp ?? (object)DBNull.Value);
|
|
cmd.Parameters.AddWithValue("@Email", obj.Email ?? (object)DBNull.Value);
|
|
cmd.Parameters.AddWithValue("@Site", obj.Site ?? (object)DBNull.Value);
|
|
cmd.Parameters.AddWithValue("@InscricaoEstadual", obj.InscricaoEstadual ?? (object)DBNull.Value);
|
|
cmd.Parameters.AddWithValue("@InscricaoMunicipal", obj.InscricaoMunicipal ?? (object)DBNull.Value);
|
|
cmd.Parameters.AddWithValue("@CNPJCPF_Contador", obj.CNPJCPF_Contador ?? (object)DBNull.Value);
|
|
cmd.Parameters.AddWithValue("@Nome_Contador", obj.Nome_Contador ?? (object)DBNull.Value);
|
|
cmd.Parameters.AddWithValue("@TextoParaRecibo", obj.TextoParaRecibo ?? (object)DBNull.Value);
|
|
cmd.Parameters.AddWithValue("@Ativo", obj.Ativo);
|
|
}//Preencher parametros
|
|
|
|
public ModeloEmpresa? CarregarEmpresaAtiva()
|
|
{
|
|
try
|
|
{
|
|
using (SqlConnection conn = new SqlConnection(connectionString))
|
|
{
|
|
conn.Open();
|
|
|
|
// Retorna a primeira empresa com Ativo = true
|
|
string sql = "SELECT TOP 1 * FROM Empresa WHERE Ativo = 1";
|
|
|
|
using (SqlCommand cmd = new SqlCommand(sql, conn))
|
|
using (SqlDataReader dr = cmd.ExecuteReader())
|
|
{
|
|
if (dr.Read())
|
|
{
|
|
return new ModeloEmpresa(
|
|
Convert.ToInt32(dr["IdEmpresa"]),
|
|
dr["Nome"]?.ToString(),
|
|
dr["CNPJ"]?.ToString(),
|
|
dr["TipoEmpresa"]?.ToString(),
|
|
dr["RegimeTributario"]?.ToString(),
|
|
dr["CNAE"]?.ToString(),
|
|
dr["Cep"]?.ToString(),
|
|
dr["Endereco"]?.ToString(),
|
|
Convert.ToInt32(dr["Numero"]),
|
|
dr["Complemento"]?.ToString(),
|
|
dr["Bairro"]?.ToString(),
|
|
dr["Cidade"]?.ToString(),
|
|
dr["UF"]?.ToString(),
|
|
dr["Pais"]?.ToString(),
|
|
dr["Telefone1"]?.ToString(),
|
|
dr["Telefone2"]?.ToString(),
|
|
dr["Celular"]?.ToString(),
|
|
dr["Whatsapp"]?.ToString(),
|
|
dr["Email"]?.ToString(),
|
|
dr["Site"]?.ToString(),
|
|
dr["InscricaoEstadual"]?.ToString(),
|
|
dr["InscricaoMunicipal"]?.ToString(),
|
|
dr["CNPJCPF_Contador"]?.ToString(),
|
|
dr["Nome_Contador"]?.ToString(),
|
|
dr["TextoParaRecibo"]?.ToString(),
|
|
Convert.ToBoolean(dr["Ativo"]),
|
|
Convert.ToDateTime(dr["CriadoEm"]),
|
|
Convert.ToDateTime(dr["AtualizadoEm"])
|
|
);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
catch { }
|
|
|
|
return null;
|
|
}//CarregarEmpresaAtiva
|
|
}
|
|
} |