298 lines
8.4 KiB
C#
298 lines
8.4 KiB
C#
using Microsoft.Data.SqlClient;
|
|
using MLL;
|
|
using System;
|
|
using System.Collections.Generic;
|
|
using System.Data;
|
|
|
|
namespace DAL
|
|
{
|
|
public class DALLCartoes
|
|
{
|
|
private readonly string connectionString;
|
|
|
|
public DALLCartoes(string connectionString)
|
|
{
|
|
this.connectionString = connectionString;
|
|
}
|
|
|
|
#region CRUD
|
|
|
|
public bool Inserir(ModeloCartoes modelo)
|
|
{
|
|
using SqlConnection conn = new(connectionString);
|
|
|
|
string query = @"
|
|
INSERT INTO Cartoes
|
|
(
|
|
BANDEIRA,
|
|
NUM_CARTAO,
|
|
NOME,
|
|
VALIDADE,
|
|
AUTORIZACAO,
|
|
PARCELAS,
|
|
VALOR,
|
|
COD_CLIENTE,
|
|
RESUMO,
|
|
DEBITO,
|
|
COD_CONTA,
|
|
DIA,
|
|
COMPENSADO,
|
|
OBS_COMP
|
|
)
|
|
VALUES
|
|
(
|
|
@BANDEIRA,
|
|
@NUM_CARTAO,
|
|
@NOME,
|
|
@VALIDADE,
|
|
@AUTORIZACAO,
|
|
@PARCELAS,
|
|
@VALOR,
|
|
@COD_CLIENTE,
|
|
@RESUMO,
|
|
@DEBITO,
|
|
@COD_CONTA,
|
|
@DIA,
|
|
@COMPENSADO,
|
|
@OBS_COMP
|
|
)";
|
|
|
|
using SqlCommand cmd = new(query, conn);
|
|
|
|
PreencherParametrosInserir(cmd, modelo);
|
|
|
|
conn.Open();
|
|
|
|
return cmd.ExecuteNonQuery() > 0;
|
|
}
|
|
|
|
public bool Alterar(ModeloCartoes modelo)
|
|
{
|
|
using SqlConnection conn = new(connectionString);
|
|
|
|
string query = @"
|
|
UPDATE Cartoes
|
|
SET
|
|
CODIGO = @CODIGO,
|
|
BANDEIRA = @BANDEIRA,
|
|
NUM_CARTAO = @NUM_CARTAO,
|
|
NOME = @NOME,
|
|
VALIDADE = @VALIDADE,
|
|
AUTORIZACAO = @AUTORIZACAO,
|
|
PARCELAS = @PARCELAS,
|
|
VALOR = @VALOR,
|
|
COD_CLIENTE = @COD_CLIENTE,
|
|
RESUMO = @RESUMO,
|
|
DEBITO = @DEBITO,
|
|
COD_CONTA = @COD_CONTA,
|
|
DIA = @DIA,
|
|
COMPENSADO = @COMPENSADO,
|
|
OBS_COMP = @OBS_COMP
|
|
WHERE ID_COD_CARTAO = @ID_COD_CARTAO";
|
|
|
|
using SqlCommand cmd = new(query, conn);
|
|
|
|
PreencherParametrosAlterar(cmd, modelo);
|
|
|
|
cmd.Parameters.AddWithValue("@ID_COD_CARTAO", modelo.ID_COD_CARTAO);
|
|
|
|
conn.Open();
|
|
|
|
return cmd.ExecuteNonQuery() > 0;
|
|
}
|
|
|
|
public bool Excluir(int id)
|
|
{
|
|
using SqlConnection conn = new(connectionString);
|
|
|
|
string query = @"
|
|
DELETE FROM Cartoes
|
|
WHERE ID_COD_CARTAO = @ID_COD_CARTAO";
|
|
|
|
using SqlCommand cmd = new(query, conn);
|
|
|
|
cmd.Parameters.AddWithValue("@ID_COD_CARTAO", id);
|
|
|
|
conn.Open();
|
|
|
|
return cmd.ExecuteNonQuery() > 0;
|
|
}
|
|
|
|
public ModeloCartoes? ObterPorId(int id)
|
|
{
|
|
using SqlConnection conn = new(connectionString);
|
|
|
|
string query = @"
|
|
SELECT *
|
|
FROM Cartoes
|
|
WHERE ID_COD_CARTAO = @ID_COD_CARTAO";
|
|
|
|
using SqlCommand cmd = new(query, conn);
|
|
|
|
cmd.Parameters.AddWithValue("@ID_COD_CARTAO", id);
|
|
|
|
conn.Open();
|
|
|
|
using SqlDataReader dr = cmd.ExecuteReader();
|
|
|
|
if (dr.Read())
|
|
{
|
|
return PreencherModelo(dr);
|
|
}
|
|
|
|
return null;
|
|
}
|
|
|
|
public List<ModeloCartoes> Listar()
|
|
{
|
|
List<ModeloCartoes> lista = [];
|
|
|
|
using SqlConnection conn = new(connectionString);
|
|
|
|
string query = @"
|
|
SELECT *
|
|
FROM Cartoes
|
|
ORDER BY ID_COD_CARTAO DESC";
|
|
|
|
using SqlCommand cmd = new(query, conn);
|
|
|
|
conn.Open();
|
|
|
|
using SqlDataReader dr = cmd.ExecuteReader();
|
|
|
|
while (dr.Read())
|
|
{
|
|
lista.Add(PreencherModelo(dr));
|
|
}
|
|
|
|
return lista;
|
|
}
|
|
|
|
#endregion
|
|
|
|
#region HELPERS
|
|
|
|
private static ModeloCartoes PreencherModelo(SqlDataReader dr)
|
|
{
|
|
return new ModeloCartoes
|
|
{
|
|
ID_COD_CARTAO = Convert.ToInt32(dr["ID_COD_CARTAO"]),
|
|
|
|
CODIGO = Convert.ToString(dr["CODIGO"]) ?? string.Empty,
|
|
|
|
BANDEIRA = Convert.ToString(dr["BANDEIRA"]) ?? string.Empty,
|
|
|
|
NUM_CARTAO = Convert.ToString(dr["NUM_CARTAO"]) ?? string.Empty,
|
|
|
|
NOME = Convert.ToString(dr["NOME"]) ?? string.Empty,
|
|
|
|
VALIDADE = Convert.ToString(dr["VALIDADE"]) ?? string.Empty,
|
|
|
|
AUTORIZACAO = Convert.ToString(dr["AUTORIZACAO"]) ?? string.Empty,
|
|
|
|
PARCELAS = Convert.ToString(dr["PARCELAS"]) ?? string.Empty,
|
|
|
|
VALOR = Convert.ToString(dr["VALOR"]) ?? string.Empty,
|
|
|
|
COD_CLIENTE = Convert.ToString(dr["COD_CLIENTE"]) ?? string.Empty,
|
|
|
|
RESUMO = Convert.ToString(dr["RESUMO"]) ?? string.Empty,
|
|
|
|
DEBITO = Convert.ToString(dr["DEBITO"]) ?? string.Empty,
|
|
|
|
COD_CONTA = Convert.ToString(dr["COD_CONTA"]) ?? string.Empty,
|
|
|
|
DIA = Convert.ToString(dr["DIA"]) ?? string.Empty,
|
|
|
|
COMPENSADO = Convert.ToString(dr["COMPENSADO"]) ?? string.Empty,
|
|
|
|
OBS_COMP = Convert.ToString(dr["OBS_COMP"]) ?? string.Empty
|
|
};
|
|
}
|
|
|
|
private static void PreencherParametrosInserir(SqlCommand cmd, ModeloCartoes modelo)
|
|
{
|
|
cmd.Parameters.AddWithValue("@BANDEIRA",
|
|
string.IsNullOrWhiteSpace(modelo.BANDEIRA)
|
|
? DBNull.Value
|
|
: modelo.BANDEIRA);
|
|
|
|
cmd.Parameters.AddWithValue("@NUM_CARTAO",
|
|
string.IsNullOrWhiteSpace(modelo.NUM_CARTAO)
|
|
? DBNull.Value
|
|
: modelo.NUM_CARTAO);
|
|
|
|
cmd.Parameters.AddWithValue("@NOME",
|
|
string.IsNullOrWhiteSpace(modelo.NOME)
|
|
? DBNull.Value
|
|
: modelo.NOME);
|
|
|
|
cmd.Parameters.AddWithValue("@VALIDADE",
|
|
string.IsNullOrWhiteSpace(modelo.VALIDADE)
|
|
? DBNull.Value
|
|
: modelo.VALIDADE);
|
|
|
|
cmd.Parameters.AddWithValue("@AUTORIZACAO",
|
|
string.IsNullOrWhiteSpace(modelo.AUTORIZACAO)
|
|
? DBNull.Value
|
|
: modelo.AUTORIZACAO);
|
|
|
|
cmd.Parameters.AddWithValue("@PARCELAS",
|
|
string.IsNullOrWhiteSpace(modelo.PARCELAS)
|
|
? DBNull.Value
|
|
: modelo.PARCELAS);
|
|
|
|
cmd.Parameters.AddWithValue("@VALOR",
|
|
string.IsNullOrWhiteSpace(modelo.VALOR)
|
|
? DBNull.Value
|
|
: modelo.VALOR);
|
|
|
|
cmd.Parameters.AddWithValue("@COD_CLIENTE",
|
|
string.IsNullOrWhiteSpace(modelo.COD_CLIENTE)
|
|
? DBNull.Value
|
|
: modelo.COD_CLIENTE);
|
|
|
|
cmd.Parameters.AddWithValue("@RESUMO",
|
|
string.IsNullOrWhiteSpace(modelo.RESUMO)
|
|
? DBNull.Value
|
|
: modelo.RESUMO);
|
|
|
|
cmd.Parameters.AddWithValue("@DEBITO",
|
|
string.IsNullOrWhiteSpace(modelo.DEBITO)
|
|
? DBNull.Value
|
|
: modelo.DEBITO);
|
|
|
|
cmd.Parameters.AddWithValue("@COD_CONTA",
|
|
string.IsNullOrWhiteSpace(modelo.COD_CONTA)
|
|
? DBNull.Value
|
|
: modelo.COD_CONTA);
|
|
|
|
cmd.Parameters.AddWithValue("@DIA",
|
|
string.IsNullOrWhiteSpace(modelo.DIA)
|
|
? DBNull.Value
|
|
: modelo.DIA);
|
|
|
|
cmd.Parameters.AddWithValue("@COMPENSADO",
|
|
string.IsNullOrWhiteSpace(modelo.COMPENSADO)
|
|
? DBNull.Value
|
|
: modelo.COMPENSADO);
|
|
|
|
cmd.Parameters.AddWithValue("@OBS_COMP",
|
|
string.IsNullOrWhiteSpace(modelo.OBS_COMP)
|
|
? DBNull.Value
|
|
: modelo.OBS_COMP);
|
|
}
|
|
|
|
private static void PreencherParametrosAlterar(SqlCommand cmd, ModeloCartoes modelo)
|
|
{
|
|
cmd.Parameters.AddWithValue("@CODIGO",
|
|
string.IsNullOrWhiteSpace(modelo.CODIGO)
|
|
? DBNull.Value
|
|
: modelo.CODIGO);
|
|
|
|
PreencherParametrosInserir(cmd, modelo);
|
|
}
|
|
|
|
#endregion
|
|
}
|
|
} |