LevelOS-Core/DAL/DALLConvenioBoletos.cs

633 lines
17 KiB
C#

using Microsoft.Data.SqlClient;
using MLL;
using System;
using System.Collections.Generic;
using System.Data;
namespace DALL
{
public class DALLConvenioBoletos
{
private readonly string connectionString;
public DALLConvenioBoletos(string conexao)
{
connectionString = conexao;
}
#region CRUD
public bool Inserir(ModeloConvenioBoletos modelo)
{
try
{
using SqlConnection conn =
new(connectionString);
string sql = @"
INSERT INTO Convenio_boletos
(
BANCO,
CARTEIRA,
CONVENIO,
AGENCIA,
CONTA,
NOME_CEDENTE,
LOCAL_PGTO,
INSTRU_01,
INSTRU_02,
INSTRU_03,
INSTRU_04,
INSTRU_05,
INSTRU_06,
INSTRU_07,
INSTRU_08,
INSTRU_09,
INSTRU_10,
DIAS_PROTESTO,
TIPO_DOC_COB,
TIPO_ESP_DOC
)
VALUES
(
@BANCO,
@CARTEIRA,
@CONVENIO,
@AGENCIA,
@CONTA,
@NOME_CEDENTE,
@LOCAL_PGTO,
@INSTRU_01,
@INSTRU_02,
@INSTRU_03,
@INSTRU_04,
@INSTRU_05,
@INSTRU_06,
@INSTRU_07,
@INSTRU_08,
@INSTRU_09,
@INSTRU_10,
@DIAS_PROTESTO,
@TIPO_DOC_COB,
@TIPO_ESP_DOC
)";
using SqlCommand cmd =
new(sql, conn);
PreencherParametros(
cmd,
modelo);
conn.Open();
return cmd.ExecuteNonQuery() > 0;
}
catch
{
return false;
}
}
public bool Alterar(ModeloConvenioBoletos modelo)
{
try
{
using SqlConnection conn =
new(connectionString);
string sql = @"
UPDATE Convenio_boletos
SET
CODIGO = @CODIGO,
BANCO = @BANCO,
CARTEIRA = @CARTEIRA,
CONVENIO = @CONVENIO,
AGENCIA = @AGENCIA,
CONTA = @CONTA,
NOME_CEDENTE = @NOME_CEDENTE,
LOCAL_PGTO = @LOCAL_PGTO,
INSTRU_01 = @INSTRU_01,
INSTRU_02 = @INSTRU_02,
INSTRU_03 = @INSTRU_03,
INSTRU_04 = @INSTRU_04,
INSTRU_05 = @INSTRU_05,
INSTRU_06 = @INSTRU_06,
INSTRU_07 = @INSTRU_07,
INSTRU_08 = @INSTRU_08,
INSTRU_09 = @INSTRU_09,
INSTRU_10 = @INSTRU_10,
DIAS_PROTESTO = @DIAS_PROTESTO,
TIPO_DOC_COB = @TIPO_DOC_COB,
TIPO_ESP_DOC = @TIPO_ESP_DOC
WHERE ID_CONVENIO_BOLETOS =
@ID_CONVENIO_BOLETOS";
using SqlCommand cmd =
new(sql, conn);
PreencherParametros(
cmd,
modelo);
cmd.Parameters.AddWithValue(
"@CODIGO",
modelo.CODIGO);
cmd.Parameters.AddWithValue(
"@ID_CONVENIO_BOLETOS",
modelo.ID_CONVENIO_BOLETOS);
conn.Open();
return cmd.ExecuteNonQuery() > 0;
}
catch
{
return false;
}
}
public bool Excluir(int id)
{
try
{
using SqlConnection conn =
new(connectionString);
string sql = @"
DELETE FROM Convenio_boletos
WHERE ID_CONVENIO_BOLETOS =
@ID_CONVENIO_BOLETOS";
using SqlCommand cmd =
new(sql, conn);
cmd.Parameters.AddWithValue(
"@ID_CONVENIO_BOLETOS",
id);
conn.Open();
return cmd.ExecuteNonQuery() > 0;
}
catch
{
return false;
}
}
public ModeloConvenioBoletos? Carregar( int id)
{
using SqlConnection conn =
new(connectionString);
string sql = @"
SELECT *
FROM Convenio_boletos
WHERE ID_CONVENIO_BOLETOS =
@ID_CONVENIO_BOLETOS";
using SqlCommand cmd =
new(sql, conn);
cmd.Parameters.AddWithValue(
"@ID_CONVENIO_BOLETOS",
id);
conn.Open();
using SqlDataReader dr =
cmd.ExecuteReader();
if (dr.Read())
{
return PreencherModelo(dr);
}
return null;
}
public List<ModeloConvenioBoletos> ListarOtimizado(
string? banco = null,
string? carteira = null,
string? convenio = null,
string? agencia = null,
string? conta = null,
string? nomeCedente = null,
string? tipoDoc = null)
{
List<ModeloConvenioBoletos> lista = [];
using SqlConnection conn =
new(connectionString);
string sql = @"
SELECT *
FROM Convenio_boletos
WHERE 1 = 1";
using SqlCommand cmd =
new();
cmd.Connection = conn;
if (!string.IsNullOrWhiteSpace(
banco))
{
sql += @"
AND BANCO LIKE @BANCO";
cmd.Parameters.AddWithValue(
"@BANCO",
"%" + banco + "%");
}
if (!string.IsNullOrWhiteSpace(
carteira))
{
sql += @"
AND CARTEIRA LIKE
@CARTEIRA";
cmd.Parameters.AddWithValue(
"@CARTEIRA",
"%" + carteira + "%");
}
if (!string.IsNullOrWhiteSpace(
convenio))
{
sql += @"
AND CONVENIO LIKE
@CONVENIO";
cmd.Parameters.AddWithValue(
"@CONVENIO",
"%" + convenio + "%");
}
if (!string.IsNullOrWhiteSpace(
agencia))
{
sql += @"
AND AGENCIA LIKE
@AGENCIA";
cmd.Parameters.AddWithValue(
"@AGENCIA",
"%" + agencia + "%");
}
if (!string.IsNullOrWhiteSpace(
conta))
{
sql += @"
AND CONTA LIKE
@CONTA";
cmd.Parameters.AddWithValue(
"@CONTA",
"%" + conta + "%");
}
if (!string.IsNullOrWhiteSpace(
nomeCedente))
{
sql += @"
AND NOME_CEDENTE LIKE
@NOME_CEDENTE";
cmd.Parameters.AddWithValue(
"@NOME_CEDENTE",
"%" + nomeCedente + "%");
}
if (!string.IsNullOrWhiteSpace(
tipoDoc))
{
sql += @"
AND TIPO_DOC_COB LIKE
@TIPO_DOC_COB";
cmd.Parameters.AddWithValue(
"@TIPO_DOC_COB",
"%" + tipoDoc + "%");
}
sql += @"
ORDER BY
ID_CONVENIO_BOLETOS DESC";
cmd.CommandText = sql;
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(*) AS TOTAL_CONVENIOS
FROM Convenio_boletos";
using SqlCommand cmd =
new(sql, conn);
using SqlDataAdapter da =
new(cmd);
DataTable dt = new();
da.Fill(dt);
return dt;
}
#endregion
#region HELPERS
private static ModeloConvenioBoletos
PreencherModelo(
SqlDataReader dr)
{
return new ModeloConvenioBoletos
{
ID_CONVENIO_BOLETOS =
Convert.ToInt32(
dr["ID_CONVENIO_BOLETOS"]),
CODIGO =
Convert.ToString(
dr["CODIGO"])
?? string.Empty,
BANCO =
Convert.ToString(
dr["BANCO"])
?? string.Empty,
CARTEIRA =
Convert.ToString(
dr["CARTEIRA"])
?? string.Empty,
CONVENIO =
Convert.ToString(
dr["CONVENIO"])
?? string.Empty,
AGENCIA =
Convert.ToString(
dr["AGENCIA"])
?? string.Empty,
CONTA =
Convert.ToString(
dr["CONTA"])
?? string.Empty,
NOME_CEDENTE =
Convert.ToString(
dr["NOME_CEDENTE"])
?? string.Empty,
LOCAL_PGTO =
Convert.ToString(
dr["LOCAL_PGTO"])
?? string.Empty,
INSTRU_01 =
Convert.ToString(
dr["INSTRU_01"])
?? string.Empty,
INSTRU_02 =
Convert.ToString(
dr["INSTRU_02"])
?? string.Empty,
INSTRU_03 =
Convert.ToString(
dr["INSTRU_03"])
?? string.Empty,
INSTRU_04 =
Convert.ToString(
dr["INSTRU_04"])
?? string.Empty,
INSTRU_05 =
Convert.ToString(
dr["INSTRU_05"])
?? string.Empty,
INSTRU_06 =
Convert.ToString(
dr["INSTRU_06"])
?? string.Empty,
INSTRU_07 =
Convert.ToString(
dr["INSTRU_07"])
?? string.Empty,
INSTRU_08 =
Convert.ToString(
dr["INSTRU_08"])
?? string.Empty,
INSTRU_09 =
Convert.ToString(
dr["INSTRU_09"])
?? string.Empty,
INSTRU_10 =
Convert.ToString(
dr["INSTRU_10"])
?? string.Empty,
DIAS_PROTESTO =
Convert.ToString(
dr["DIAS_PROTESTO"])
?? string.Empty,
TIPO_DOC_COB =
Convert.ToString(
dr["TIPO_DOC_COB"])
?? string.Empty,
TIPO_ESP_DOC =
Convert.ToString(
dr["TIPO_ESP_DOC"])
?? string.Empty
};
}
private static void PreencherParametros(
SqlCommand cmd,
ModeloConvenioBoletos modelo)
{
cmd.Parameters.AddWithValue(
"@BANCO",
string.IsNullOrWhiteSpace(
modelo.BANCO)
? DBNull.Value
: modelo.BANCO);
cmd.Parameters.AddWithValue(
"@CARTEIRA",
string.IsNullOrWhiteSpace(
modelo.CARTEIRA)
? DBNull.Value
: modelo.CARTEIRA);
cmd.Parameters.AddWithValue(
"@CONVENIO",
string.IsNullOrWhiteSpace(
modelo.CONVENIO)
? DBNull.Value
: modelo.CONVENIO);
cmd.Parameters.AddWithValue(
"@AGENCIA",
string.IsNullOrWhiteSpace(
modelo.AGENCIA)
? DBNull.Value
: modelo.AGENCIA);
cmd.Parameters.AddWithValue(
"@CONTA",
string.IsNullOrWhiteSpace(
modelo.CONTA)
? DBNull.Value
: modelo.CONTA);
cmd.Parameters.AddWithValue(
"@NOME_CEDENTE",
string.IsNullOrWhiteSpace(
modelo.NOME_CEDENTE)
? DBNull.Value
: modelo.NOME_CEDENTE);
cmd.Parameters.AddWithValue(
"@LOCAL_PGTO",
string.IsNullOrWhiteSpace(
modelo.LOCAL_PGTO)
? DBNull.Value
: modelo.LOCAL_PGTO);
cmd.Parameters.AddWithValue(
"@INSTRU_01",
string.IsNullOrWhiteSpace(
modelo.INSTRU_01)
? DBNull.Value
: modelo.INSTRU_01);
cmd.Parameters.AddWithValue(
"@INSTRU_02",
string.IsNullOrWhiteSpace(
modelo.INSTRU_02)
? DBNull.Value
: modelo.INSTRU_02);
cmd.Parameters.AddWithValue(
"@INSTRU_03",
string.IsNullOrWhiteSpace(
modelo.INSTRU_03)
? DBNull.Value
: modelo.INSTRU_03);
cmd.Parameters.AddWithValue(
"@INSTRU_04",
string.IsNullOrWhiteSpace(
modelo.INSTRU_04)
? DBNull.Value
: modelo.INSTRU_04);
cmd.Parameters.AddWithValue(
"@INSTRU_05",
string.IsNullOrWhiteSpace(
modelo.INSTRU_05)
? DBNull.Value
: modelo.INSTRU_05);
cmd.Parameters.AddWithValue(
"@INSTRU_06",
string.IsNullOrWhiteSpace(
modelo.INSTRU_06)
? DBNull.Value
: modelo.INSTRU_06);
cmd.Parameters.AddWithValue(
"@INSTRU_07",
string.IsNullOrWhiteSpace(
modelo.INSTRU_07)
? DBNull.Value
: modelo.INSTRU_07);
cmd.Parameters.AddWithValue(
"@INSTRU_08",
string.IsNullOrWhiteSpace(
modelo.INSTRU_08)
? DBNull.Value
: modelo.INSTRU_08);
cmd.Parameters.AddWithValue(
"@INSTRU_09",
string.IsNullOrWhiteSpace(
modelo.INSTRU_09)
? DBNull.Value
: modelo.INSTRU_09);
cmd.Parameters.AddWithValue(
"@INSTRU_10",
string.IsNullOrWhiteSpace(
modelo.INSTRU_10)
? DBNull.Value
: modelo.INSTRU_10);
cmd.Parameters.AddWithValue(
"@DIAS_PROTESTO",
string.IsNullOrWhiteSpace(
modelo.DIAS_PROTESTO)
? DBNull.Value
: modelo.DIAS_PROTESTO);
cmd.Parameters.AddWithValue(
"@TIPO_DOC_COB",
string.IsNullOrWhiteSpace(
modelo.TIPO_DOC_COB)
? DBNull.Value
: modelo.TIPO_DOC_COB);
cmd.Parameters.AddWithValue(
"@TIPO_ESP_DOC",
string.IsNullOrWhiteSpace(
modelo.TIPO_ESP_DOC)
? DBNull.Value
: modelo.TIPO_ESP_DOC);
}
#endregion
}
}