193 lines
5.6 KiB
C#
193 lines
5.6 KiB
C#
using Microsoft.Data.SqlClient;
|
|
using MLL;
|
|
using System;
|
|
using System.Collections.Generic;
|
|
using System.Data;
|
|
|
|
namespace DALL
|
|
{
|
|
public class DALLBancos
|
|
{
|
|
private readonly string connectionString;
|
|
|
|
public DALLBancos(string connectionString)
|
|
{
|
|
this.connectionString = connectionString;
|
|
}
|
|
|
|
public bool Inserir(ModeloBancos modelo)
|
|
{
|
|
using SqlConnection conn = new(connectionString);
|
|
|
|
string query = @"
|
|
INSERT INTO Bancos
|
|
(
|
|
NUMERO,
|
|
NOME
|
|
)
|
|
VALUES
|
|
(
|
|
@NUMERO,
|
|
@NOME
|
|
)";
|
|
|
|
using SqlCommand cmd = new(query, conn);
|
|
|
|
PreencherParametros(cmd, modelo);
|
|
|
|
conn.Open();
|
|
|
|
return cmd.ExecuteNonQuery() > 0;
|
|
}//inserir
|
|
public bool Alterar(ModeloBancos modelo)
|
|
{
|
|
using SqlConnection conn = new(connectionString);
|
|
|
|
string query = @"
|
|
UPDATE Bancos
|
|
SET
|
|
NUMERO = @NUMERO,
|
|
NOME = @NOME
|
|
WHERE ID_BANCOS = @ID_BANCOS";
|
|
|
|
using SqlCommand cmd = new(query, conn);
|
|
|
|
PreencherParametros(cmd, modelo);
|
|
|
|
cmd.Parameters.AddWithValue("@ID_BANCOS", modelo.ID_BANCOS);
|
|
|
|
conn.Open();
|
|
|
|
return cmd.ExecuteNonQuery() > 0;
|
|
}//alterar
|
|
public bool Excluir(int id)
|
|
{
|
|
using SqlConnection conn = new(connectionString);
|
|
|
|
string query = "DELETE FROM Bancos WHERE ID_BANCOS = @ID_BANCOS";
|
|
|
|
using SqlCommand cmd = new(query, conn);
|
|
|
|
cmd.Parameters.AddWithValue("@ID_BANCOS", id);
|
|
|
|
conn.Open();
|
|
|
|
return cmd.ExecuteNonQuery() > 0;
|
|
}//excluir
|
|
public ModeloBancos? ObterPorId(int id)
|
|
{
|
|
using SqlConnection conn = new(connectionString);
|
|
|
|
string query = "SELECT * FROM Bancos WHERE ID_BANCOS = @ID_BANCOS";
|
|
|
|
using SqlCommand cmd = new(query, conn);
|
|
|
|
cmd.Parameters.AddWithValue("@ID_BANCOS", id);
|
|
|
|
conn.Open();
|
|
|
|
using SqlDataReader dr = cmd.ExecuteReader();
|
|
|
|
if (dr.Read())
|
|
{
|
|
return PreencherModelo(dr);
|
|
}
|
|
|
|
return null;
|
|
}//alterar
|
|
public List<ModeloBancos> Listar()
|
|
{
|
|
List<ModeloBancos> lista = [];
|
|
|
|
using SqlConnection conn = new(connectionString);
|
|
|
|
string query = "SELECT * FROM Bancos ORDER BY NOME";
|
|
|
|
using SqlCommand cmd = new(query, conn);
|
|
|
|
conn.Open();
|
|
|
|
using SqlDataReader dr = cmd.ExecuteReader();
|
|
|
|
while (dr.Read())
|
|
{
|
|
lista.Add(PreencherModelo(dr));
|
|
}
|
|
|
|
return lista;
|
|
}//Listar
|
|
public List<ModeloBancos> Listar(string valor)
|
|
{
|
|
List<ModeloBancos> lista = [];
|
|
using SqlConnection conn = new(connectionString);
|
|
string query = @"
|
|
SELECT * FROM Bancos
|
|
WHERE NOME LIKE @VALOR
|
|
ORDER BY NOME";
|
|
using SqlCommand cmd = new(query, conn);
|
|
cmd.Parameters.AddWithValue("@VALOR", $"%{valor}%");
|
|
conn.Open();
|
|
using SqlDataReader dr = cmd.ExecuteReader();
|
|
while (dr.Read())
|
|
{
|
|
lista.Add(PreencherModelo(dr));
|
|
}
|
|
return lista;
|
|
}//Listar
|
|
public int ObterQuantidade()
|
|
{
|
|
using SqlConnection conn = new(connectionString);
|
|
string query = "SELECT COUNT(*) FROM Bancos";
|
|
using SqlCommand cmd = new(query, conn);
|
|
conn.Open();
|
|
return Convert.ToInt32(cmd.ExecuteScalar());
|
|
}//ObterQuantidade
|
|
public bool VerificarExistencia(int id)
|
|
{
|
|
using SqlConnection conn = new(connectionString);
|
|
string query = "SELECT COUNT(*) FROM Bancos WHERE ID_BANCOS = @ID_BANCOS";
|
|
using SqlCommand cmd = new(query, conn);
|
|
cmd.Parameters.AddWithValue("@ID_BANCOS", id);
|
|
conn.Open();
|
|
return Convert.ToInt32(cmd.ExecuteScalar()) > 0;
|
|
}//VerificarExistencia
|
|
public DataTable LocalizarTodos()
|
|
{
|
|
using SqlConnection conn = new(connectionString);
|
|
string query = "SELECT * FROM Bancos";
|
|
using SqlCommand cmd = new(query, conn);
|
|
using SqlDataAdapter da = new(cmd);
|
|
DataTable dt = new();
|
|
da.Fill(dt);
|
|
return dt;
|
|
}//LocalizarTodos
|
|
private static ModeloBancos PreencherModelo(SqlDataReader dr)
|
|
{
|
|
return new ModeloBancos
|
|
{
|
|
ID_BANCOS = Convert.ToInt32(dr["ID_BANCOS"]),
|
|
|
|
NUMERO = dr["NUMERO"] == DBNull.Value
|
|
? string.Empty
|
|
: Convert.ToString(dr["NUMERO"]) ?? string.Empty,
|
|
|
|
NOME = dr["NOME"] == DBNull.Value
|
|
? string.Empty
|
|
: Convert.ToString(dr["NOME"]) ?? string.Empty
|
|
};
|
|
}
|
|
|
|
private static void PreencherParametros(SqlCommand cmd, ModeloBancos modelo)
|
|
{
|
|
cmd.Parameters.AddWithValue("@NUMERO",
|
|
string.IsNullOrWhiteSpace(modelo.NUMERO)
|
|
? DBNull.Value
|
|
: modelo.NUMERO);
|
|
|
|
cmd.Parameters.AddWithValue("@NOME",
|
|
string.IsNullOrWhiteSpace(modelo.NOME)
|
|
? DBNull.Value
|
|
: modelo.NOME);
|
|
}
|
|
}
|
|
} |