277 lines
12 KiB
C#
277 lines
12 KiB
C#
using System;
|
|
using System.Data;
|
|
using System.Collections.Generic;
|
|
using Microsoft.Data.SqlClient;
|
|
using MLL;
|
|
|
|
namespace DALL
|
|
{
|
|
public class DALClientes
|
|
{
|
|
private readonly string _conexao;
|
|
|
|
public DALClientes(string conexao)
|
|
{
|
|
_conexao = conexao;
|
|
}
|
|
|
|
#region INSERT
|
|
public bool Inserir(ModeloCliente c)
|
|
{
|
|
try
|
|
{
|
|
using (SqlConnection conn = new SqlConnection(_conexao))
|
|
{
|
|
string sql = @"INSERT INTO Clientes
|
|
(EmpresaId, Nome, NomeFantasia, TipoPessoa, Documento, RG, InscricaoMunicipal,
|
|
DataNascimento, Contato, Telefone1, Telefone2, Celular, Whatsapp, Email, EmailNFe,
|
|
Site, Grupo, Cep, Endereco, Numero, Complemento, Bairro, Cidade, UF, Pais,
|
|
LimiteCredito, Bloqueado, ObservacoesCobranca, VendedorPadraoId, TipoConsumidor,
|
|
Observacoes, CampoExtra1, CampoExtra2, CampoExtra3,
|
|
Bitcoin, Ethereum, Litecoin, Ativo, UltimaCompra)
|
|
VALUES
|
|
(@EmpresaId, @Nome, @NomeFantasia, @TipoPessoa, @Documento, @RG, @InscricaoMunicipal,
|
|
@DataNascimento, @Contato, @Telefone1, @Telefone2, @Celular, @Whatsapp, @Email, @EmailNFe,
|
|
@Site, @Grupo, @Cep, @Endereco, @Numero, @Complemento, @Bairro, @Cidade, @UF, @Pais,
|
|
@LimiteCredito, @Bloqueado, @ObservacoesCobranca, @VendedorPadraoId, @TipoConsumidor,
|
|
@Observacoes, @CampoExtra1, @CampoExtra2, @CampoExtra3,
|
|
@Bitcoin, @Ethereum, @Litecoin, @Ativo, @UltimaCompra)";
|
|
|
|
using (SqlCommand cmd = new SqlCommand(sql, conn))
|
|
{
|
|
PreencherParametros(cmd, c);
|
|
|
|
conn.Open();
|
|
return cmd.ExecuteNonQuery() > 0;
|
|
}
|
|
}
|
|
}
|
|
catch
|
|
{
|
|
return false;
|
|
}
|
|
}//inserir
|
|
#endregion
|
|
|
|
#region UPDATE
|
|
public bool Alterar(ModeloCliente c)
|
|
{
|
|
try
|
|
{
|
|
using (SqlConnection conn = new SqlConnection(_conexao))
|
|
{
|
|
string sql = @"UPDATE Clientes SET
|
|
Nome=@Nome, NomeFantasia=@NomeFantasia, TipoPessoa=@TipoPessoa,
|
|
Documento=@Documento, RG=@RG, InscricaoMunicipal=@InscricaoMunicipal,
|
|
DataNascimento=@DataNascimento, Contato=@Contato,
|
|
Telefone1=@Telefone1, Telefone2=@Telefone2, Celular=@Celular,
|
|
Whatsapp=@Whatsapp, Email=@Email, EmailNFe=@EmailNFe,
|
|
Site=@Site, Grupo=@Grupo, Cep=@Cep, Endereco=@Endereco,
|
|
Numero=@Numero, Complemento=@Complemento, Bairro=@Bairro,
|
|
Cidade=@Cidade, UF=@UF, Pais=@Pais,
|
|
LimiteCredito=@LimiteCredito, Bloqueado=@Bloqueado,
|
|
ObservacoesCobranca=@ObservacoesCobranca,
|
|
VendedorPadraoId=@VendedorPadraoId,
|
|
TipoConsumidor=@TipoConsumidor,
|
|
Observacoes=@Observacoes,
|
|
CampoExtra1=@CampoExtra1, CampoExtra2=@CampoExtra2, CampoExtra3=@CampoExtra3,
|
|
Bitcoin=@Bitcoin, Ethereum=@Ethereum, Litecoin=@Litecoin,
|
|
Ativo=@Ativo, UltimaCompra=@UltimaCompra,
|
|
AtualizadoEm=GETDATE()
|
|
WHERE Id=@Id";
|
|
|
|
using (SqlCommand cmd = new SqlCommand(sql, conn))
|
|
{
|
|
PreencherParametros(cmd, c);
|
|
cmd.Parameters.AddWithValue("@Id", c.Id);
|
|
|
|
conn.Open();
|
|
return cmd.ExecuteNonQuery() > 0;
|
|
}
|
|
}
|
|
}
|
|
catch
|
|
{
|
|
return false;
|
|
}
|
|
}//Alterar
|
|
#endregion
|
|
|
|
#region DELETE
|
|
public bool Excluir(int id)
|
|
{
|
|
try
|
|
{
|
|
using (SqlConnection conn = new SqlConnection(_conexao))
|
|
{
|
|
string sql = "DELETE FROM Clientes WHERE Id=@Id";
|
|
|
|
using (SqlCommand cmd = new SqlCommand(sql, conn))
|
|
{
|
|
cmd.Parameters.AddWithValue("@Id", id);
|
|
|
|
conn.Open();
|
|
return cmd.ExecuteNonQuery() > 0;
|
|
}
|
|
}
|
|
}
|
|
catch
|
|
{
|
|
return false;
|
|
}
|
|
}//Excluir
|
|
#endregion
|
|
|
|
#region SELECT POR ID
|
|
public ModeloCliente Carregar(int id)
|
|
{
|
|
ModeloCliente c = null;
|
|
|
|
using (SqlConnection conn = new SqlConnection(_conexao))
|
|
{
|
|
string sql = "SELECT * FROM Clientes WHERE Id=@Id";
|
|
|
|
using (SqlCommand cmd = new SqlCommand(sql, conn))
|
|
{
|
|
cmd.Parameters.AddWithValue("@Id", id);
|
|
|
|
conn.Open();
|
|
|
|
using (SqlDataReader dr = cmd.ExecuteReader())
|
|
{
|
|
if (dr.Read())
|
|
{
|
|
c = new ModeloCliente();
|
|
PreencherModelo(c, dr);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
return c;
|
|
}//CarregarModelo
|
|
#endregion
|
|
|
|
#region LISTAR
|
|
public List<ModeloCliente> Listar()
|
|
{
|
|
var lista = new List<ModeloCliente>();
|
|
|
|
using (SqlConnection conn = new SqlConnection(_conexao))
|
|
{
|
|
string sql = "SELECT * FROM Clientes ORDER BY Nome";
|
|
|
|
using (SqlCommand cmd = new SqlCommand(sql, conn))
|
|
{
|
|
conn.Open();
|
|
|
|
using (SqlDataReader dr = cmd.ExecuteReader())
|
|
{
|
|
while (dr.Read())
|
|
{
|
|
var c = new ModeloCliente();
|
|
PreencherModelo(c, dr);
|
|
lista.Add(c);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
return lista;
|
|
}//Listar Clientes
|
|
#endregion
|
|
|
|
#region AUX PARAMETROS
|
|
private void PreencherParametros(SqlCommand cmd, ModeloCliente c)
|
|
{
|
|
cmd.Parameters.AddWithValue("@EmpresaId", c.EmpresaId);
|
|
cmd.Parameters.AddWithValue("@Nome", c.Nome);
|
|
cmd.Parameters.AddWithValue("@NomeFantasia", (object?)c.NomeFantasia ?? DBNull.Value);
|
|
cmd.Parameters.AddWithValue("@TipoPessoa", c.TipoPessoa);
|
|
cmd.Parameters.AddWithValue("@Documento", c.Documento);
|
|
cmd.Parameters.AddWithValue("@RG", (object?)c.RG ?? DBNull.Value);
|
|
cmd.Parameters.AddWithValue("@InscricaoMunicipal", (object?)c.InscricaoMunicipal ?? DBNull.Value);
|
|
cmd.Parameters.AddWithValue("@DataNascimento", c.DataNascimento ?? (object)DBNull.Value);
|
|
cmd.Parameters.AddWithValue("@Contato", (object?)c.Contato ?? DBNull.Value);
|
|
cmd.Parameters.AddWithValue("@Telefone1", (object?)c.Telefone1 ?? DBNull.Value);
|
|
cmd.Parameters.AddWithValue("@Telefone2", (object?)c.Telefone2 ?? DBNull.Value);
|
|
cmd.Parameters.AddWithValue("@Celular", (object?)c.Celular ?? DBNull.Value);
|
|
cmd.Parameters.AddWithValue("@Whatsapp", (object?)c.Whatsapp ?? DBNull.Value);
|
|
cmd.Parameters.AddWithValue("@Email", (object?)c.Email ?? DBNull.Value);
|
|
cmd.Parameters.AddWithValue("@EmailNFe", (object?)c.EmailNFe ?? DBNull.Value);
|
|
cmd.Parameters.AddWithValue("@Site", (object?)c.Site ?? DBNull.Value);
|
|
cmd.Parameters.AddWithValue("@Grupo", (object?)c.Grupo ?? DBNull.Value);
|
|
cmd.Parameters.AddWithValue("@Cep", (object?)c.Cep ?? DBNull.Value);
|
|
cmd.Parameters.AddWithValue("@Endereco", (object?)c.Endereco ?? DBNull.Value);
|
|
cmd.Parameters.AddWithValue("@Numero", c.Numero ?? (object)DBNull.Value);
|
|
cmd.Parameters.AddWithValue("@Complemento", (object?)c.Complemento ?? DBNull.Value);
|
|
cmd.Parameters.AddWithValue("@Bairro", (object?)c.Bairro ?? DBNull.Value);
|
|
cmd.Parameters.AddWithValue("@Cidade", (object?)c.Cidade ?? DBNull.Value);
|
|
cmd.Parameters.AddWithValue("@UF", (object?)c.UF ?? DBNull.Value);
|
|
cmd.Parameters.AddWithValue("@Pais", (object?)c.Pais ?? DBNull.Value);
|
|
cmd.Parameters.AddWithValue("@LimiteCredito", c.LimiteCredito);
|
|
cmd.Parameters.AddWithValue("@Bloqueado", c.Bloqueado);
|
|
cmd.Parameters.AddWithValue("@ObservacoesCobranca", (object?)c.ObservacoesCobranca ?? DBNull.Value);
|
|
cmd.Parameters.AddWithValue("@VendedorPadraoId", c.VendedorPadraoId ?? (object)DBNull.Value);
|
|
cmd.Parameters.AddWithValue("@TipoConsumidor", (object?)c.TipoConsumidor ?? DBNull.Value);
|
|
cmd.Parameters.AddWithValue("@Observacoes", (object?)c.Observacoes ?? DBNull.Value);
|
|
cmd.Parameters.AddWithValue("@CampoExtra1", (object?)c.CampoExtra1 ?? DBNull.Value);
|
|
cmd.Parameters.AddWithValue("@CampoExtra2", (object?)c.CampoExtra2 ?? DBNull.Value);
|
|
cmd.Parameters.AddWithValue("@CampoExtra3", (object?)c.CampoExtra3 ?? DBNull.Value);
|
|
cmd.Parameters.AddWithValue("@Bitcoin", (object?)c.Bitcoin ?? DBNull.Value);
|
|
cmd.Parameters.AddWithValue("@Ethereum", (object?)c.Ethereum ?? DBNull.Value);
|
|
cmd.Parameters.AddWithValue("@Litecoin", (object?)c.Litecoin ?? DBNull.Value);
|
|
cmd.Parameters.AddWithValue("@Ativo", c.Ativo);
|
|
cmd.Parameters.AddWithValue("@UltimaCompra", c.UltimaCompra ?? (object)DBNull.Value);
|
|
}
|
|
#endregion
|
|
|
|
#region AUX MODEL
|
|
private void PreencherModelo(ModeloCliente c, SqlDataReader dr)
|
|
{
|
|
c.Id = Convert.ToInt32(dr["Id"]);
|
|
c.EmpresaId = Convert.ToInt32(dr["EmpresaId"]);
|
|
c.Nome = dr["Nome"].ToString();
|
|
c.NomeFantasia = dr["NomeFantasia"]?.ToString();
|
|
c.TipoPessoa = dr["TipoPessoa"].ToString();
|
|
c.Documento = dr["Documento"].ToString();
|
|
c.RG = dr["RG"]?.ToString();
|
|
c.InscricaoMunicipal = dr["InscricaoMunicipal"]?.ToString();
|
|
c.DataNascimento = dr["DataNascimento"] == DBNull.Value ? null : (DateTime?)Convert.ToDateTime(dr["DataNascimento"]);
|
|
c.Contato = dr["Contato"]?.ToString();
|
|
c.Telefone1 = dr["Telefone1"]?.ToString();
|
|
c.Telefone2 = dr["Telefone2"]?.ToString();
|
|
c.Celular = dr["Celular"]?.ToString();
|
|
c.Whatsapp = dr["Whatsapp"]?.ToString();
|
|
c.Email = dr["Email"]?.ToString();
|
|
c.EmailNFe = dr["EmailNFe"]?.ToString();
|
|
c.Site = dr["Site"]?.ToString();
|
|
c.Grupo = dr["Grupo"]?.ToString();
|
|
c.Cep = dr["Cep"]?.ToString();
|
|
c.Endereco = dr["Endereco"]?.ToString();
|
|
c.Numero = dr["Numero"] == DBNull.Value ? null : (int?)Convert.ToInt32(dr["Numero"]);
|
|
c.Complemento = dr["Complemento"]?.ToString();
|
|
c.Bairro = dr["Bairro"]?.ToString();
|
|
c.Cidade = dr["Cidade"]?.ToString();
|
|
c.UF = dr["UF"]?.ToString();
|
|
c.Pais = dr["Pais"]?.ToString();
|
|
c.LimiteCredito = Convert.ToDecimal(dr["LimiteCredito"]);
|
|
c.Bloqueado = Convert.ToBoolean(dr["Bloqueado"]);
|
|
c.ObservacoesCobranca = dr["ObservacoesCobranca"]?.ToString();
|
|
c.VendedorPadraoId = dr["VendedorPadraoId"] == DBNull.Value ? null : (int?)Convert.ToInt32(dr["VendedorPadraoId"]);
|
|
c.TipoConsumidor = dr["TipoConsumidor"]?.ToString();
|
|
c.Observacoes = dr["Observacoes"]?.ToString();
|
|
c.CampoExtra1 = dr["CampoExtra1"]?.ToString();
|
|
c.CampoExtra2 = dr["CampoExtra2"]?.ToString();
|
|
c.CampoExtra3 = dr["CampoExtra3"]?.ToString();
|
|
c.Bitcoin = dr["Bitcoin"]?.ToString();
|
|
c.Ethereum = dr["Ethereum"]?.ToString();
|
|
c.Litecoin = dr["Litecoin"]?.ToString();
|
|
c.Ativo = Convert.ToBoolean(dr["Ativo"]);
|
|
c.UltimaCompra = dr["UltimaCompra"] == DBNull.Value ? null : (DateTime?)Convert.ToDateTime(dr["UltimaCompra"]);
|
|
c.CriadoEm = Convert.ToDateTime(dr["CriadoEm"]);
|
|
c.AtualizadoEm = Convert.ToDateTime(dr["AtualizadoEm"]);
|
|
}
|
|
#endregion
|
|
}
|
|
} |