280 lines
9.0 KiB
C#
280 lines
9.0 KiB
C#
using Microsoft.Data.SqlClient;
|
|
using MLL;
|
|
using System;
|
|
using System.Collections.Generic;
|
|
using System.Data;
|
|
|
|
namespace DALL
|
|
{
|
|
public class DALLChegues
|
|
{
|
|
private readonly string connectionString;
|
|
|
|
public DALLChegues(string connectionString)
|
|
{
|
|
this.connectionString = connectionString;
|
|
}
|
|
|
|
#region CRUD
|
|
|
|
public bool Inserir(ModeloChegues modelo)
|
|
{
|
|
using SqlConnection conn = new(connectionString);
|
|
|
|
string query = @"
|
|
INSERT INTO Chegues
|
|
(
|
|
BANCO,
|
|
AGENCIA,
|
|
VALOR,
|
|
CLIENTE,
|
|
FORNECEDOR,
|
|
EMITIDO,
|
|
COMPENSAR,
|
|
OK,
|
|
TIPO,
|
|
CONTA,
|
|
NUMERO,
|
|
OBS,
|
|
COD_CONTA,
|
|
EMITENTE
|
|
)
|
|
VALUES
|
|
(
|
|
@BANCO,
|
|
@AGENCIA,
|
|
@VALOR,
|
|
@CLIENTE,
|
|
@FORNECEDOR,
|
|
@EMITIDO,
|
|
@COMPENSAR,
|
|
@OK,
|
|
@TIPO,
|
|
@CONTA,
|
|
@NUMERO,
|
|
@OBS,
|
|
@COD_CONTA,
|
|
@EMITENTE
|
|
)";
|
|
|
|
using SqlCommand cmd = new(query, conn);
|
|
|
|
PreencherParametrosInserir(cmd, modelo);
|
|
|
|
conn.Open();
|
|
|
|
return cmd.ExecuteNonQuery() > 0;
|
|
}
|
|
|
|
public bool Alterar(ModeloChegues modelo)
|
|
{
|
|
using SqlConnection conn = new(connectionString);
|
|
|
|
string query = @"
|
|
UPDATE Chegues
|
|
SET
|
|
CODIGO = @CODIGO,
|
|
BANCO = @BANCO,
|
|
AGENCIA = @AGENCIA,
|
|
VALOR = @VALOR,
|
|
CLIENTE = @CLIENTE,
|
|
FORNECEDOR = @FORNECEDOR,
|
|
EMITIDO = @EMITIDO,
|
|
COMPENSAR = @COMPENSAR,
|
|
OK = @OK,
|
|
TIPO = @TIPO,
|
|
CONTA = @CONTA,
|
|
NUMERO = @NUMERO,
|
|
OBS = @OBS,
|
|
COD_CONTA = @COD_CONTA,
|
|
EMITENTE = @EMITENTE
|
|
WHERE ID_CHEGUES = @ID_CHEGUES";
|
|
|
|
using SqlCommand cmd = new(query, conn);
|
|
|
|
PreencherParametrosAlterar(cmd, modelo);
|
|
|
|
cmd.Parameters.AddWithValue("@ID_CHEGUES", modelo.ID_CHEGUES);
|
|
|
|
conn.Open();
|
|
|
|
return cmd.ExecuteNonQuery() > 0;
|
|
}
|
|
|
|
public bool Excluir(int id)
|
|
{
|
|
using SqlConnection conn = new(connectionString);
|
|
|
|
string query = "DELETE FROM Chegues WHERE ID_CHEGUES = @ID_CHEGUES";
|
|
|
|
using SqlCommand cmd = new(query, conn);
|
|
|
|
cmd.Parameters.AddWithValue("@ID_CHEGUES", id);
|
|
|
|
conn.Open();
|
|
|
|
return cmd.ExecuteNonQuery() > 0;
|
|
}
|
|
|
|
public ModeloChegues? ObterPorId(int id)
|
|
{
|
|
using SqlConnection conn = new(connectionString);
|
|
|
|
string query = "SELECT * FROM Chegues WHERE ID_CHEGUES = @ID_CHEGUES";
|
|
|
|
using SqlCommand cmd = new(query, conn);
|
|
|
|
cmd.Parameters.AddWithValue("@ID_CHEGUES", id);
|
|
|
|
conn.Open();
|
|
|
|
using SqlDataReader dr = cmd.ExecuteReader();
|
|
|
|
if (dr.Read())
|
|
{
|
|
return PreencherModelo(dr);
|
|
}
|
|
|
|
return null;
|
|
}
|
|
|
|
public List<ModeloChegues> Listar()
|
|
{
|
|
return ExecutarViewLista("SELECT * FROM VW_Chegues");
|
|
}
|
|
|
|
#endregion
|
|
|
|
#region VIEWS
|
|
|
|
public List<ModeloChegues> ListarCompensados()
|
|
{
|
|
return ExecutarViewLista("SELECT * FROM VW_CheguesCompensados");
|
|
}
|
|
|
|
public List<ModeloChegues> ListarPendentes()
|
|
{
|
|
return ExecutarViewLista("SELECT * FROM VW_CheguesPendentes");
|
|
}
|
|
|
|
public List<ModeloChegues> ListarClientes()
|
|
{
|
|
return ExecutarViewLista("SELECT * FROM VW_CheguesClientes");
|
|
}
|
|
|
|
public List<ModeloChegues> ListarFornecedores()
|
|
{
|
|
return ExecutarViewLista("SELECT * FROM VW_CheguesFornecedores");
|
|
}
|
|
|
|
public List<ModeloChegues> ListarReceber()
|
|
{
|
|
return ExecutarViewLista("SELECT * FROM VW_CheguesReceber");
|
|
}
|
|
|
|
public List<ModeloChegues> ListarPagar()
|
|
{
|
|
return ExecutarViewLista("SELECT * FROM VW_CheguesPagar");
|
|
}
|
|
|
|
public List<ModeloChegues> ListarHoje()
|
|
{
|
|
return ExecutarViewLista("SELECT * FROM VW_CheguesHoje");
|
|
}
|
|
|
|
public DataTable ObterDashboard()
|
|
{
|
|
return ExecutarViewDataTable("SELECT * FROM VW_CheguesDashboard");
|
|
}
|
|
|
|
#endregion
|
|
|
|
#region HELPERS
|
|
|
|
private List<ModeloChegues> ExecutarViewLista(string query)
|
|
{
|
|
List<ModeloChegues> lista = [];
|
|
|
|
using SqlConnection conn = new(connectionString);
|
|
|
|
using SqlCommand cmd = new(query, conn);
|
|
|
|
conn.Open();
|
|
|
|
using SqlDataReader dr = cmd.ExecuteReader();
|
|
|
|
while (dr.Read())
|
|
{
|
|
lista.Add(PreencherModelo(dr));
|
|
}
|
|
|
|
return lista;
|
|
}
|
|
|
|
private DataTable ExecutarViewDataTable(string query)
|
|
{
|
|
DataTable dt = new();
|
|
|
|
using SqlConnection conn = new(connectionString);
|
|
|
|
using SqlDataAdapter da = new(query, conn);
|
|
|
|
da.Fill(dt);
|
|
|
|
return dt;
|
|
}
|
|
|
|
private static ModeloChegues PreencherModelo(SqlDataReader dr)
|
|
{
|
|
return new ModeloChegues
|
|
{
|
|
ID_CHEGUES = Convert.ToInt32(dr["ID_CHEGUES"]),
|
|
CODIGO = Convert.ToString(dr["CODIGO"]) ?? string.Empty,
|
|
BANCO = Convert.ToString(dr["BANCO"]) ?? string.Empty,
|
|
AGENCIA = Convert.ToString(dr["AGENCIA"]) ?? string.Empty,
|
|
VALOR = Convert.ToString(dr["VALOR"]) ?? string.Empty,
|
|
CLIENTE = Convert.ToString(dr["CLIENTE"]) ?? string.Empty,
|
|
FORNECEDOR = Convert.ToString(dr["FORNECEDOR"]) ?? string.Empty,
|
|
EMITIDO = Convert.ToString(dr["EMITIDO"]) ?? string.Empty,
|
|
COMPENSAR = Convert.ToString(dr["COMPENSAR"]) ?? string.Empty,
|
|
OK = Convert.ToString(dr["OK"]) ?? string.Empty,
|
|
TIPO = Convert.ToString(dr["TIPO"]) ?? string.Empty,
|
|
CONTA = Convert.ToString(dr["CONTA"]) ?? string.Empty,
|
|
NUMERO = Convert.ToString(dr["NUMERO"]) ?? string.Empty,
|
|
OBS = Convert.ToString(dr["OBS"]) ?? string.Empty,
|
|
COD_CONTA = Convert.ToString(dr["COD_CONTA"]) ?? string.Empty,
|
|
EMITENTE = Convert.ToString(dr["EMITENTE"]) ?? string.Empty
|
|
};
|
|
}
|
|
|
|
private static void PreencherParametrosInserir(SqlCommand cmd, ModeloChegues modelo)
|
|
{
|
|
cmd.Parameters.AddWithValue("@BANCO", string.IsNullOrWhiteSpace(modelo.BANCO) ? DBNull.Value : modelo.BANCO);
|
|
cmd.Parameters.AddWithValue("@AGENCIA", string.IsNullOrWhiteSpace(modelo.AGENCIA) ? DBNull.Value : modelo.AGENCIA);
|
|
cmd.Parameters.AddWithValue("@VALOR", string.IsNullOrWhiteSpace(modelo.VALOR) ? DBNull.Value : modelo.VALOR);
|
|
cmd.Parameters.AddWithValue("@CLIENTE", string.IsNullOrWhiteSpace(modelo.CLIENTE) ? DBNull.Value : modelo.CLIENTE);
|
|
cmd.Parameters.AddWithValue("@FORNECEDOR", string.IsNullOrWhiteSpace(modelo.FORNECEDOR) ? DBNull.Value : modelo.FORNECEDOR);
|
|
cmd.Parameters.AddWithValue("@EMITIDO", string.IsNullOrWhiteSpace(modelo.EMITIDO) ? DBNull.Value : modelo.EMITIDO);
|
|
cmd.Parameters.AddWithValue("@COMPENSAR", string.IsNullOrWhiteSpace(modelo.COMPENSAR) ? DBNull.Value : modelo.COMPENSAR);
|
|
cmd.Parameters.AddWithValue("@OK", string.IsNullOrWhiteSpace(modelo.OK) ? DBNull.Value : modelo.OK);
|
|
cmd.Parameters.AddWithValue("@TIPO", string.IsNullOrWhiteSpace(modelo.TIPO) ? DBNull.Value : modelo.TIPO);
|
|
cmd.Parameters.AddWithValue("@CONTA", string.IsNullOrWhiteSpace(modelo.CONTA) ? DBNull.Value : modelo.CONTA);
|
|
cmd.Parameters.AddWithValue("@NUMERO", string.IsNullOrWhiteSpace(modelo.NUMERO) ? DBNull.Value : modelo.NUMERO);
|
|
cmd.Parameters.AddWithValue("@OBS", string.IsNullOrWhiteSpace(modelo.OBS) ? DBNull.Value : modelo.OBS);
|
|
cmd.Parameters.AddWithValue("@COD_CONTA", string.IsNullOrWhiteSpace(modelo.COD_CONTA) ? DBNull.Value : modelo.COD_CONTA);
|
|
cmd.Parameters.AddWithValue("@EMITENTE", string.IsNullOrWhiteSpace(modelo.EMITENTE) ? DBNull.Value : modelo.EMITENTE);
|
|
}
|
|
|
|
private static void PreencherParametrosAlterar(SqlCommand cmd, ModeloChegues modelo)
|
|
{
|
|
cmd.Parameters.AddWithValue("@CODIGO",
|
|
string.IsNullOrWhiteSpace(modelo.CODIGO)
|
|
? DBNull.Value
|
|
: modelo.CODIGO);
|
|
|
|
PreencherParametrosInserir(cmd, modelo);
|
|
}
|
|
|
|
#endregion
|
|
}
|
|
} |