240 lines
5.7 KiB
C#
240 lines
5.7 KiB
C#
using Microsoft.Data.SqlClient;
|
|
using MLL;
|
|
using System;
|
|
using System.Collections.Generic;
|
|
|
|
namespace DALL
|
|
{
|
|
public class DALFornecerDE
|
|
{
|
|
private readonly string connectionString;
|
|
|
|
public DALFornecerDE(string conexao)
|
|
{
|
|
connectionString = conexao;
|
|
}
|
|
|
|
#region INSERT
|
|
|
|
public bool Inserir(ModeloFornecerDE modelo)
|
|
{
|
|
using SqlConnection conn = new(connectionString);
|
|
|
|
string sql = @"
|
|
INSERT INTO Fornecer_DE
|
|
(
|
|
COD_FOR,
|
|
COD_ITEM,
|
|
ULTIMA
|
|
)
|
|
VALUES
|
|
(
|
|
@COD_FOR,
|
|
@COD_ITEM,
|
|
@ULTIMA
|
|
)";
|
|
|
|
using SqlCommand cmd = new(sql, conn);
|
|
|
|
PreencherParametros(cmd, modelo);
|
|
|
|
conn.Open();
|
|
|
|
return cmd.ExecuteNonQuery() > 0;
|
|
}
|
|
|
|
#endregion
|
|
|
|
#region UPDATE
|
|
|
|
public bool Alterar(ModeloFornecerDE modelo)
|
|
{
|
|
using SqlConnection conn = new(connectionString);
|
|
|
|
string sql = @"
|
|
UPDATE Fornecer_DE SET
|
|
|
|
COD_FOR=@COD_FOR,
|
|
COD_ITEM=@COD_ITEM,
|
|
ULTIMA=@ULTIMA
|
|
|
|
WHERE ID_FORNECER_DE=@ID_FORNECER_DE";
|
|
|
|
using SqlCommand cmd = new(sql, conn);
|
|
|
|
PreencherParametros(cmd, modelo);
|
|
|
|
cmd.Parameters.AddWithValue("@ID_FORNECER_DE",
|
|
modelo.ID_FORNECER_DE);
|
|
|
|
conn.Open();
|
|
|
|
return cmd.ExecuteNonQuery() > 0;
|
|
}
|
|
|
|
#endregion
|
|
|
|
#region DELETE
|
|
|
|
public bool Excluir(int id)
|
|
{
|
|
using SqlConnection conn = new(connectionString);
|
|
|
|
string sql =
|
|
@"DELETE FROM Fornecer_DE
|
|
WHERE ID_FORNECER_DE=@ID";
|
|
|
|
using SqlCommand cmd = new(sql, conn);
|
|
|
|
cmd.Parameters.AddWithValue("@ID", id);
|
|
|
|
conn.Open();
|
|
|
|
return cmd.ExecuteNonQuery() > 0;
|
|
}
|
|
|
|
#endregion
|
|
|
|
#region CARREGAR
|
|
|
|
public ModeloFornecerDE? Carregar(int id)
|
|
{
|
|
using SqlConnection conn = new(connectionString);
|
|
|
|
string sql =
|
|
@"SELECT *
|
|
FROM Fornecer_DE
|
|
WHERE ID_FORNECER_DE=@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;
|
|
}
|
|
|
|
#endregion
|
|
|
|
#region CARREGAR POR CÓDIGO
|
|
|
|
public ModeloFornecerDE? CarregarPorCodigo(string codigo)
|
|
{
|
|
using SqlConnection conn = new(connectionString);
|
|
|
|
string sql =
|
|
@"SELECT *
|
|
FROM Fornecer_DE
|
|
WHERE CODIGO=@CODIGO";
|
|
|
|
using SqlCommand cmd = new(sql, conn);
|
|
|
|
cmd.Parameters.AddWithValue("@CODIGO", codigo);
|
|
|
|
conn.Open();
|
|
|
|
using SqlDataReader dr = cmd.ExecuteReader();
|
|
|
|
if (dr.Read())
|
|
return PreencherModelo(dr);
|
|
|
|
return null;
|
|
}
|
|
|
|
#endregion
|
|
|
|
#region LISTAR
|
|
|
|
public List<ModeloFornecerDE> Listar(
|
|
string? codigo = null,
|
|
string? codFornecedor = null,
|
|
string? codItem = null)
|
|
{
|
|
List<ModeloFornecerDE> lista = [];
|
|
|
|
using SqlConnection conn = new(connectionString);
|
|
|
|
string sql =
|
|
@"SELECT *
|
|
FROM Fornecer_DE
|
|
WHERE 1=1";
|
|
|
|
using SqlCommand cmd = new();
|
|
|
|
if (!string.IsNullOrWhiteSpace(codigo))
|
|
{
|
|
sql += " AND CODIGO LIKE @CODIGO";
|
|
cmd.Parameters.AddWithValue("@CODIGO",
|
|
"%" + codigo + "%");
|
|
}
|
|
|
|
if (!string.IsNullOrWhiteSpace(codFornecedor))
|
|
{
|
|
sql += " AND COD_FOR LIKE @COD_FOR";
|
|
cmd.Parameters.AddWithValue("@COD_FOR",
|
|
"%" + codFornecedor + "%");
|
|
}
|
|
|
|
if (!string.IsNullOrWhiteSpace(codItem))
|
|
{
|
|
sql += " AND COD_ITEM LIKE @COD_ITEM";
|
|
cmd.Parameters.AddWithValue("@COD_ITEM",
|
|
"%" + codItem + "%");
|
|
}
|
|
|
|
sql += " ORDER BY ID_FORNECER_DE DESC";
|
|
|
|
cmd.Connection = conn;
|
|
cmd.CommandText = sql;
|
|
|
|
conn.Open();
|
|
|
|
using SqlDataReader dr = cmd.ExecuteReader();
|
|
|
|
while (dr.Read())
|
|
{
|
|
lista.Add(
|
|
PreencherModelo(dr));
|
|
}
|
|
|
|
return lista;
|
|
}
|
|
|
|
#endregion
|
|
|
|
#region PREENCHER MODELO
|
|
|
|
private ModeloFornecerDE PreencherModelo(SqlDataReader dr)
|
|
{
|
|
return new ModeloFornecerDE
|
|
{
|
|
ID_FORNECER_DE = Convert.ToInt32(dr["ID_FORNECER_DE"]),
|
|
CODIGO = Convert.ToString(dr["CODIGO"]) ?? "",
|
|
COD_FOR = Convert.ToString(dr["COD_FOR"]) ?? "",
|
|
COD_ITEM = Convert.ToString(dr["COD_ITEM"]) ?? "",
|
|
ULTIMA = Convert.ToString(dr["ULTIMA"]) ?? ""
|
|
};
|
|
}
|
|
|
|
#endregion
|
|
|
|
#region PREENCHER PARÂMETROS
|
|
|
|
private void PreencherParametros(
|
|
SqlCommand cmd,
|
|
ModeloFornecerDE modelo)
|
|
{
|
|
cmd.Parameters.AddWithValue("@COD_FOR", modelo.COD_FOR);
|
|
cmd.Parameters.AddWithValue("@COD_ITEM", modelo.COD_ITEM);
|
|
cmd.Parameters.AddWithValue("@ULTIMA", modelo.ULTIMA);
|
|
}
|
|
|
|
#endregion
|
|
}
|
|
} |