424 lines
11 KiB
C#
424 lines
11 KiB
C#
using Microsoft.Data.SqlClient;
|
|
using MLL;
|
|
using System;
|
|
using System.Collections.Generic;
|
|
using System.Data;
|
|
|
|
namespace DALL
|
|
{
|
|
public class DALLConvenioCartoes
|
|
{
|
|
private readonly string connectionString;
|
|
|
|
public DALLConvenioCartoes(string conexao)
|
|
{
|
|
connectionString = conexao;
|
|
}
|
|
|
|
#region CRUD
|
|
|
|
public bool Inserir(ModeloConvenioCartoes modelo)
|
|
{
|
|
try
|
|
{
|
|
using SqlConnection conn =
|
|
new(connectionString);
|
|
|
|
string sql = @"
|
|
INSERT INTO Convenio_cartoes
|
|
(
|
|
NOME,
|
|
COMIS_CRED,
|
|
COMIS_DEBT,
|
|
OP_CRED,
|
|
OP_DEBT,
|
|
LANCA_30,
|
|
CNPJ_OPERADORA,
|
|
tBand
|
|
)
|
|
VALUES
|
|
(
|
|
@NOME,
|
|
@COMIS_CRED,
|
|
@COMIS_DEBT,
|
|
@OP_CRED,
|
|
@OP_DEBT,
|
|
@LANCA_30,
|
|
@CNPJ_OPERADORA,
|
|
@tBand
|
|
)";
|
|
|
|
using SqlCommand cmd =
|
|
new(sql, conn);
|
|
|
|
PreencherParametros(
|
|
cmd,
|
|
modelo);
|
|
|
|
conn.Open();
|
|
|
|
return cmd.ExecuteNonQuery() > 0;
|
|
}
|
|
catch
|
|
{
|
|
return false;
|
|
}
|
|
}
|
|
public bool Alterar(ModeloConvenioCartoes modelo)
|
|
{
|
|
try
|
|
{
|
|
using SqlConnection conn =
|
|
new(connectionString);
|
|
|
|
string sql = @"
|
|
UPDATE Convenio_cartoes
|
|
SET
|
|
CODIGO = @CODIGO,
|
|
NOME = @NOME,
|
|
COMIS_CRED = @COMIS_CRED,
|
|
COMIS_DEBT = @COMIS_DEBT,
|
|
OP_CRED = @OP_CRED,
|
|
OP_DEBT = @OP_DEBT,
|
|
LANCA_30 = @LANCA_30,
|
|
CNPJ_OPERADORA = @CNPJ_OPERADORA,
|
|
tBand = @tBand
|
|
WHERE ID_CONV_CARTOES =
|
|
@ID_CONV_CARTOES";
|
|
|
|
using SqlCommand cmd =
|
|
new(sql, conn);
|
|
|
|
PreencherParametros(
|
|
cmd,
|
|
modelo);
|
|
|
|
cmd.Parameters.AddWithValue(
|
|
"@CODIGO",
|
|
modelo.CODIGO);
|
|
|
|
cmd.Parameters.AddWithValue(
|
|
"@ID_CONV_CARTOES",
|
|
modelo.ID_CONV_CARTOES);
|
|
|
|
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_cartoes
|
|
WHERE ID_CONV_CARTOES =
|
|
@ID_CONV_CARTOES";
|
|
|
|
using SqlCommand cmd =
|
|
new(sql, conn);
|
|
|
|
cmd.Parameters.AddWithValue(
|
|
"@ID_CONV_CARTOES",
|
|
id);
|
|
|
|
conn.Open();
|
|
|
|
return cmd.ExecuteNonQuery() > 0;
|
|
}
|
|
catch
|
|
{
|
|
return false;
|
|
}
|
|
}
|
|
public ModeloConvenioCartoes? Carregar(int id)
|
|
{
|
|
using SqlConnection conn =
|
|
new(connectionString);
|
|
|
|
string sql = @"
|
|
SELECT *
|
|
FROM Convenio_cartoes
|
|
WHERE ID_CONV_CARTOES =
|
|
@ID_CONV_CARTOES";
|
|
|
|
using SqlCommand cmd =
|
|
new(sql, conn);
|
|
|
|
cmd.Parameters.AddWithValue(
|
|
"@ID_CONV_CARTOES",
|
|
id);
|
|
|
|
conn.Open();
|
|
|
|
using SqlDataReader dr =
|
|
cmd.ExecuteReader();
|
|
|
|
if (dr.Read())
|
|
{
|
|
return PreencherModelo(dr);
|
|
}
|
|
|
|
return null;
|
|
}
|
|
public List<ModeloConvenioCartoes> ListarOtimizado(
|
|
string? nome = null,
|
|
string? bandeira = null,
|
|
string? operadoraCredito = null,
|
|
string? operadoraDebito = null,
|
|
string? cnpj = null)
|
|
{
|
|
List<ModeloConvenioCartoes> lista = [];
|
|
|
|
using SqlConnection conn =
|
|
new(connectionString);
|
|
|
|
string sql = @"
|
|
SELECT *
|
|
FROM Convenio_cartoes
|
|
WHERE 1 = 1";
|
|
|
|
using SqlCommand cmd =
|
|
new();
|
|
|
|
cmd.Connection = conn;
|
|
|
|
if (!string.IsNullOrWhiteSpace(
|
|
nome))
|
|
{
|
|
sql += @"
|
|
AND NOME LIKE
|
|
@NOME";
|
|
|
|
cmd.Parameters.AddWithValue(
|
|
"@NOME",
|
|
"%" + nome + "%");
|
|
}
|
|
|
|
if (!string.IsNullOrWhiteSpace(
|
|
bandeira))
|
|
{
|
|
sql += @"
|
|
AND tBand LIKE
|
|
@tBand";
|
|
|
|
cmd.Parameters.AddWithValue(
|
|
"@tBand",
|
|
"%" + bandeira + "%");
|
|
}
|
|
|
|
if (!string.IsNullOrWhiteSpace(
|
|
operadoraCredito))
|
|
{
|
|
sql += @"
|
|
AND OP_CRED LIKE
|
|
@OP_CRED";
|
|
|
|
cmd.Parameters.AddWithValue(
|
|
"@OP_CRED",
|
|
"%" + operadoraCredito + "%");
|
|
}
|
|
|
|
if (!string.IsNullOrWhiteSpace(
|
|
operadoraDebito))
|
|
{
|
|
sql += @"
|
|
AND OP_DEBT LIKE
|
|
@OP_DEBT";
|
|
|
|
cmd.Parameters.AddWithValue(
|
|
"@OP_DEBT",
|
|
"%" + operadoraDebito + "%");
|
|
}
|
|
|
|
if (!string.IsNullOrWhiteSpace(
|
|
cnpj))
|
|
{
|
|
sql += @"
|
|
AND CNPJ_OPERADORA LIKE
|
|
@CNPJ_OPERADORA";
|
|
|
|
cmd.Parameters.AddWithValue(
|
|
"@CNPJ_OPERADORA",
|
|
"%" + cnpj + "%");
|
|
}
|
|
|
|
sql += @"
|
|
ORDER BY
|
|
ID_CONV_CARTOES 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_cartoes";
|
|
|
|
using SqlCommand cmd =
|
|
new(sql, conn);
|
|
|
|
using SqlDataAdapter da =
|
|
new(cmd);
|
|
|
|
DataTable dt = new();
|
|
|
|
da.Fill(dt);
|
|
|
|
return dt;
|
|
}
|
|
|
|
#endregion
|
|
|
|
#region HELPERS
|
|
|
|
private static ModeloConvenioCartoes
|
|
PreencherModelo(
|
|
SqlDataReader dr)
|
|
{
|
|
return new ModeloConvenioCartoes
|
|
{
|
|
ID_CONV_CARTOES =
|
|
Convert.ToInt32(
|
|
dr["ID_CONV_CARTOES"]),
|
|
|
|
CODIGO =
|
|
Convert.ToString(
|
|
dr["CODIGO"])
|
|
?? string.Empty,
|
|
|
|
NOME =
|
|
Convert.ToString(
|
|
dr["NOME"])
|
|
?? string.Empty,
|
|
|
|
COMIS_CRED =
|
|
Convert.ToString(
|
|
dr["COMIS_CRED"])
|
|
?? string.Empty,
|
|
|
|
COMIS_DEBT =
|
|
Convert.ToString(
|
|
dr["COMIS_DEBT"])
|
|
?? string.Empty,
|
|
|
|
OP_CRED =
|
|
Convert.ToString(
|
|
dr["OP_CRED"])
|
|
?? string.Empty,
|
|
|
|
OP_DEBT =
|
|
Convert.ToString(
|
|
dr["OP_DEBT"])
|
|
?? string.Empty,
|
|
|
|
LANCA_30 =
|
|
Convert.ToString(
|
|
dr["LANCA_30"])
|
|
?? string.Empty,
|
|
|
|
CNPJ_OPERADORA =
|
|
Convert.ToString(
|
|
dr["CNPJ_OPERADORA"])
|
|
?? string.Empty,
|
|
|
|
TBAND =
|
|
Convert.ToString(
|
|
dr["tBand"])
|
|
?? string.Empty
|
|
};
|
|
}
|
|
|
|
private static void PreencherParametros(
|
|
SqlCommand cmd,
|
|
ModeloConvenioCartoes modelo)
|
|
{
|
|
cmd.Parameters.AddWithValue(
|
|
"@NOME",
|
|
string.IsNullOrWhiteSpace(
|
|
modelo.NOME)
|
|
? DBNull.Value
|
|
: modelo.NOME);
|
|
|
|
cmd.Parameters.AddWithValue(
|
|
"@COMIS_CRED",
|
|
string.IsNullOrWhiteSpace(
|
|
modelo.COMIS_CRED)
|
|
? DBNull.Value
|
|
: modelo.COMIS_CRED);
|
|
|
|
cmd.Parameters.AddWithValue(
|
|
"@COMIS_DEBT",
|
|
string.IsNullOrWhiteSpace(
|
|
modelo.COMIS_DEBT)
|
|
? DBNull.Value
|
|
: modelo.COMIS_DEBT);
|
|
|
|
cmd.Parameters.AddWithValue(
|
|
"@OP_CRED",
|
|
string.IsNullOrWhiteSpace(
|
|
modelo.OP_CRED)
|
|
? DBNull.Value
|
|
: modelo.OP_CRED);
|
|
|
|
cmd.Parameters.AddWithValue(
|
|
"@OP_DEBT",
|
|
string.IsNullOrWhiteSpace(
|
|
modelo.OP_DEBT)
|
|
? DBNull.Value
|
|
: modelo.OP_DEBT);
|
|
|
|
cmd.Parameters.AddWithValue(
|
|
"@LANCA_30",
|
|
string.IsNullOrWhiteSpace(
|
|
modelo.LANCA_30)
|
|
? DBNull.Value
|
|
: modelo.LANCA_30);
|
|
|
|
cmd.Parameters.AddWithValue(
|
|
"@CNPJ_OPERADORA",
|
|
string.IsNullOrWhiteSpace(
|
|
modelo.CNPJ_OPERADORA)
|
|
? DBNull.Value
|
|
: modelo.CNPJ_OPERADORA);
|
|
|
|
cmd.Parameters.AddWithValue(
|
|
"@tBand",
|
|
string.IsNullOrWhiteSpace(
|
|
modelo.TBAND)
|
|
? DBNull.Value
|
|
: modelo.TBAND);
|
|
}
|
|
|
|
#endregion
|
|
}
|
|
} |