332 lines
9.1 KiB
C#
332 lines
9.1 KiB
C#
using Microsoft.Data.SqlClient;
|
|
using MLL;
|
|
using System;
|
|
using System.Collections.Generic;
|
|
using System.Data;
|
|
|
|
namespace DALL
|
|
{
|
|
public class DALDespFixa
|
|
{
|
|
private readonly string connectionString;
|
|
|
|
public DALDespFixa(string conexao)
|
|
{
|
|
connectionString = conexao;
|
|
}
|
|
|
|
#region CRUD
|
|
|
|
public bool Inserir(ModeloDespFixa modelo)
|
|
{
|
|
try
|
|
{
|
|
using SqlConnection conn = new(connectionString);
|
|
|
|
string sql = @"
|
|
INSERT INTO Desp_fixa
|
|
(
|
|
TIPO,
|
|
COD_CLIENTE,
|
|
VENCIMENTO,
|
|
PLANO_CONTAS,
|
|
OBSERVACAO,
|
|
VALOR
|
|
)
|
|
VALUES
|
|
(
|
|
@TIPO,
|
|
@COD_CLIENTE,
|
|
@VENCIMENTO,
|
|
@PLANO_CONTAS,
|
|
@OBSERVACAO,
|
|
@VALOR
|
|
)";
|
|
|
|
using SqlCommand cmd = new(sql, conn);
|
|
|
|
PreencherParametros(cmd, modelo);
|
|
|
|
conn.Open();
|
|
|
|
return cmd.ExecuteNonQuery() > 0;
|
|
}
|
|
catch
|
|
{
|
|
return false;
|
|
}
|
|
}
|
|
|
|
|
|
public bool Alterar(ModeloDespFixa modelo)
|
|
{
|
|
try
|
|
{
|
|
using SqlConnection conn = new(connectionString);
|
|
|
|
string sql = @"
|
|
UPDATE Desp_fixa
|
|
SET
|
|
CODIGO=@CODIGO,
|
|
TIPO=@TIPO,
|
|
COD_CLIENTE=@COD_CLIENTE,
|
|
VENCIMENTO=@VENCIMENTO,
|
|
PLANO_CONTAS=@PLANO_CONTAS,
|
|
OBSERVACAO=@OBSERVACAO,
|
|
VALOR=@VALOR
|
|
WHERE ID_DESP_FIXA=@ID_DESP_FIXA";
|
|
|
|
using SqlCommand cmd = new(sql, conn);
|
|
|
|
PreencherParametros(cmd, modelo);
|
|
|
|
cmd.Parameters.AddWithValue("@CODIGO", modelo.CODIGO);
|
|
cmd.Parameters.AddWithValue("@ID_DESP_FIXA", modelo.ID_DESP_FIXA);
|
|
|
|
conn.Open();
|
|
|
|
return cmd.ExecuteNonQuery() > 0;
|
|
}
|
|
catch
|
|
{
|
|
return false;
|
|
}
|
|
}
|
|
|
|
public bool Excluir(int id)
|
|
{
|
|
try
|
|
{
|
|
using SqlConnection conn = new(connectionString);
|
|
|
|
string sql = @"
|
|
DELETE FROM Desp_fixa
|
|
WHERE ID_DESP_FIXA=@ID";
|
|
|
|
using SqlCommand cmd = new(sql, conn);
|
|
|
|
cmd.Parameters.AddWithValue("@ID", id);
|
|
|
|
conn.Open();
|
|
|
|
return cmd.ExecuteNonQuery() > 0;
|
|
}
|
|
catch
|
|
{
|
|
return false;
|
|
}
|
|
}
|
|
|
|
public ModeloDespFixa? Carregar(int id)
|
|
{
|
|
using SqlConnection conn = new(connectionString);
|
|
|
|
string sql = @"
|
|
SELECT *
|
|
FROM Desp_fixa
|
|
WHERE ID_DESP_FIXA=@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 List<ModeloDespFixa> Listar(
|
|
string? tipo = null,
|
|
string? codCliente = null,
|
|
string? vencimento = null,
|
|
string? planoContas = null)
|
|
{
|
|
List<ModeloDespFixa> lista = [];
|
|
|
|
using SqlConnection conn = new(connectionString);
|
|
|
|
string sql = @"
|
|
SELECT *
|
|
FROM Desp_fixa
|
|
WHERE 1=1";
|
|
|
|
using SqlCommand cmd = new();
|
|
|
|
cmd.Connection = conn;
|
|
|
|
if (!string.IsNullOrWhiteSpace(tipo))
|
|
{
|
|
sql += " AND TIPO LIKE @TIPO";
|
|
|
|
cmd.Parameters.AddWithValue(
|
|
"@TIPO",
|
|
"%" + tipo + "%");
|
|
}
|
|
|
|
if (!string.IsNullOrWhiteSpace(codCliente))
|
|
{
|
|
sql += " AND COD_CLIENTE LIKE @COD_CLIENTE";
|
|
|
|
cmd.Parameters.AddWithValue(
|
|
"@COD_CLIENTE",
|
|
"%" + codCliente + "%");
|
|
}
|
|
|
|
if (!string.IsNullOrWhiteSpace(vencimento))
|
|
{
|
|
sql += " AND VENCIMENTO LIKE @VENCIMENTO";
|
|
|
|
cmd.Parameters.AddWithValue(
|
|
"@VENCIMENTO",
|
|
"%" + vencimento + "%");
|
|
}
|
|
|
|
if (!string.IsNullOrWhiteSpace(planoContas))
|
|
{
|
|
sql += " AND PLANO_CONTAS LIKE @PLANO_CONTAS";
|
|
|
|
cmd.Parameters.AddWithValue(
|
|
"@PLANO_CONTAS",
|
|
"%" + planoContas + "%");
|
|
}
|
|
|
|
sql += " ORDER BY ID_DESP_FIXA DESC";
|
|
|
|
cmd.CommandText = sql;
|
|
|
|
conn.Open();
|
|
|
|
using SqlDataReader dr = cmd.ExecuteReader();
|
|
|
|
while (dr.Read())
|
|
{
|
|
lista.Add(
|
|
PreencherModelo(dr));
|
|
}
|
|
|
|
return lista;
|
|
}
|
|
public List<ModeloDespFixa> ListarPorCliente(string codCliente)
|
|
{
|
|
List<ModeloDespFixa> lista = [];
|
|
using SqlConnection conn = new(connectionString);
|
|
string sql = @"
|
|
SELECT *
|
|
FROM Desp_fixa
|
|
WHERE COD_CLIENTE=@COD_CLIENTE
|
|
ORDER BY ID_DESP_FIXA DESC";
|
|
using SqlCommand cmd = new(sql, conn);
|
|
cmd.Parameters.AddWithValue("@COD_CLIENTE", codCliente);
|
|
conn.Open();
|
|
using SqlDataReader dr = cmd.ExecuteReader();
|
|
while (dr.Read())
|
|
{
|
|
lista.Add(
|
|
PreencherModelo(dr));
|
|
}
|
|
return lista;
|
|
}
|
|
public List<ModeloDespFixa> ListarPorVencimento(string vencimento)
|
|
{
|
|
List<ModeloDespFixa> lista = [];
|
|
using SqlConnection conn = new(connectionString);
|
|
string sql = @"
|
|
SELECT *
|
|
FROM Desp_fixa
|
|
WHERE VENCIMENTO=@VENCIMENTO
|
|
ORDER BY ID_DESP_FIXA DESC";
|
|
using SqlCommand cmd = new(sql, conn);
|
|
cmd.Parameters.AddWithValue("@VENCIMENTO", vencimento);
|
|
conn.Open();
|
|
using SqlDataReader dr = cmd.ExecuteReader();
|
|
while (dr.Read())
|
|
{
|
|
lista.Add(
|
|
PreencherModelo(dr));
|
|
}
|
|
return lista;
|
|
}
|
|
public List<ModeloDespFixa> ListarPorPlanoContas(string planoContas)
|
|
{
|
|
List<ModeloDespFixa> lista = [];
|
|
using SqlConnection conn = new(connectionString);
|
|
string sql = @"
|
|
SELECT *
|
|
FROM Desp_fixa
|
|
WHERE PLANO_CONTAS=@PLANO_CONTAS
|
|
ORDER BY ID_DESP_FIXA DESC";
|
|
using SqlCommand cmd = new(sql, conn);
|
|
cmd.Parameters.AddWithValue("@PLANO_CONTAS", planoContas);
|
|
conn.Open();
|
|
using SqlDataReader dr = cmd.ExecuteReader();
|
|
while (dr.Read())
|
|
{
|
|
lista.Add(
|
|
PreencherModelo(dr));
|
|
}
|
|
return lista;
|
|
}
|
|
|
|
#endregion
|
|
|
|
#region Dashboard
|
|
|
|
public DataTable Dashboard()
|
|
{
|
|
using SqlConnection conn =
|
|
new(connectionString);
|
|
|
|
string sql = @"
|
|
SELECT
|
|
COUNT(*) TOTAL_DESPESAS_FIXAS
|
|
FROM Desp_fixa";
|
|
|
|
using SqlDataAdapter da =
|
|
new(sql, conn);
|
|
|
|
DataTable dt = new();
|
|
|
|
da.Fill(dt);
|
|
|
|
return dt;
|
|
}
|
|
|
|
#endregion
|
|
|
|
#region Helpers
|
|
|
|
private static ModeloDespFixa PreencherModelo(SqlDataReader dr)
|
|
{
|
|
return new ModeloDespFixa
|
|
{
|
|
ID_DESP_FIXA = Convert.ToInt32(dr["ID_DESP_FIXA"]),
|
|
CODIGO = Convert.ToString(dr["CODIGO"]) ?? string.Empty,
|
|
TIPO = Convert.ToString(dr["TIPO"]) ?? string.Empty,
|
|
COD_CLIENTE = Convert.ToString(dr["COD_CLIENTE"]) ?? string.Empty,
|
|
VENCIMENTO = Convert.ToString(dr["VENCIMENTO"]) ?? string.Empty,
|
|
PLANO_CONTAS = Convert.ToString(dr["PLANO_CONTAS"]) ?? string.Empty,
|
|
OBSERVACAO = Convert.ToString(dr["OBSERVACAO"]) ?? string.Empty,
|
|
VALOR = Convert.ToString(dr["VALOR"]) ?? string.Empty
|
|
};
|
|
}
|
|
|
|
private static void PreencherParametros(
|
|
SqlCommand cmd,
|
|
ModeloDespFixa modelo)
|
|
{
|
|
cmd.Parameters.AddWithValue("@TIPO", modelo.TIPO);
|
|
cmd.Parameters.AddWithValue("@COD_CLIENTE", modelo.COD_CLIENTE);
|
|
cmd.Parameters.AddWithValue("@VENCIMENTO", modelo.VENCIMENTO);
|
|
cmd.Parameters.AddWithValue("@PLANO_CONTAS", modelo.PLANO_CONTAS);
|
|
cmd.Parameters.AddWithValue("@OBSERVACAO", modelo.OBSERVACAO);
|
|
cmd.Parameters.AddWithValue("@VALOR", modelo.VALOR);
|
|
}
|
|
|
|
#endregion
|
|
}
|
|
} |