LevelOS-Core/DAL/DALLCalibracaoEnsaio.cs

233 lines
6.2 KiB
C#

using Microsoft.Data.SqlClient;
using MLL;
using System;
using System.Collections.Generic;
using System.Data;
namespace DAL
{
public class DALLCalibracaoEnsaio
{
private readonly string connectionString;
public DALLCalibracaoEnsaio(string connectionString)
{
this.connectionString = connectionString;
}
#region CRUD
public bool Inserir(ModeloCalibracaoEnsaio modelo)
{
using SqlConnection conn = new(connectionString);
string query = @"
INSERT INTO Calibracao_ensaio
(
COD_CALIBRACAO,
DESCRICAO,
MINIMO,
MAXIMO,
OBTIDO,
UNIDADE
)
VALUES
(
@COD_CALIBRACAO,
@DESCRICAO,
@MINIMO,
@MAXIMO,
@OBTIDO,
@UNIDADE
)";
using SqlCommand cmd = new(query, conn);
PreencherParametros(cmd, modelo);
conn.Open();
return cmd.ExecuteNonQuery() > 0;
}
public bool Alterar(ModeloCalibracaoEnsaio modelo)
{
using SqlConnection conn = new(connectionString);
string query = @"
UPDATE Calibracao_ensaio
SET
COD_CALIBRACAO = @COD_CALIBRACAO,
DESCRICAO = @DESCRICAO,
MINIMO = @MINIMO,
MAXIMO = @MAXIMO,
OBTIDO = @OBTIDO,
UNIDADE = @UNIDADE
WHERE ID_CALIBRACAO_ENSAIO = @ID_CALIBRACAO_ENSAIO";
using SqlCommand cmd = new(query, conn);
PreencherParametros(cmd, modelo);
cmd.Parameters.AddWithValue("@ID_CALIBRACAO_ENSAIO", modelo.ID_CALIBRACAO_ENSAIO);
conn.Open();
return cmd.ExecuteNonQuery() > 0;
}
public bool Excluir(int id)
{
using SqlConnection conn = new(connectionString);
string query = @"
DELETE FROM Calibracao_ensaio
WHERE ID_CALIBRACAO_ENSAIO = @ID_CALIBRACAO_ENSAIO";
using SqlCommand cmd = new(query, conn);
cmd.Parameters.AddWithValue("@ID_CALIBRACAO_ENSAIO", id);
conn.Open();
return cmd.ExecuteNonQuery() > 0;
}
public ModeloCalibracaoEnsaio? ObterPorId(int id)
{
using SqlConnection conn = new(connectionString);
string query = @"
SELECT *
FROM Calibracao_ensaio
WHERE ID_CALIBRACAO_ENSAIO = @ID_CALIBRACAO_ENSAIO";
using SqlCommand cmd = new(query, conn);
cmd.Parameters.AddWithValue("@ID_CALIBRACAO_ENSAIO", id);
conn.Open();
using SqlDataReader dr = cmd.ExecuteReader();
if (dr.Read())
{
return PreencherModelo(dr);
}
return null;
}
public List<ModeloCalibracaoEnsaio> Listar()
{
List<ModeloCalibracaoEnsaio> lista = [];
using SqlConnection conn = new(connectionString);
string query = @"
SELECT *
FROM Calibracao_ensaio
ORDER BY ID_CALIBRACAO_ENSAIO DESC";
using SqlCommand cmd = new(query, conn);
conn.Open();
using SqlDataReader dr = cmd.ExecuteReader();
while (dr.Read())
{
lista.Add(PreencherModelo(dr));
}
return lista;
}
public List<ModeloCalibracaoEnsaio> ListarPorCodigo(string codigoCalibracao)
{
List<ModeloCalibracaoEnsaio> lista = [];
using SqlConnection conn = new(connectionString);
string query = @"
SELECT *
FROM Calibracao_ensaio
WHERE COD_CALIBRACAO = @COD_CALIBRACAO
ORDER BY ID_CALIBRACAO_ENSAIO";
using SqlCommand cmd = new(query, conn);
cmd.Parameters.AddWithValue("@COD_CALIBRACAO", codigoCalibracao);
conn.Open();
using SqlDataReader dr = cmd.ExecuteReader();
while (dr.Read())
{
lista.Add(PreencherModelo(dr));
}
return lista;
}
#endregion
#region HELPERS
private static ModeloCalibracaoEnsaio PreencherModelo(SqlDataReader dr)
{
return new ModeloCalibracaoEnsaio
{
ID_CALIBRACAO_ENSAIO = Convert.ToInt32(dr["ID_CALIBRACAO_ENSAIO"]),
COD_CALIBRACAO = Convert.ToString(dr["COD_CALIBRACAO"]) ?? string.Empty,
DESCRICAO = Convert.ToString(dr["DESCRICAO"]) ?? string.Empty,
MINIMO = Convert.ToString(dr["MINIMO"]) ?? string.Empty,
MAXIMO = Convert.ToString(dr["MAXIMO"]) ?? string.Empty,
OBTIDO = Convert.ToString(dr["OBTIDO"]) ?? string.Empty,
UNIDADE = Convert.ToString(dr["UNIDADE"]) ?? string.Empty
};
}
private static void PreencherParametros(SqlCommand cmd, ModeloCalibracaoEnsaio modelo)
{
cmd.Parameters.AddWithValue("@COD_CALIBRACAO",
string.IsNullOrWhiteSpace(modelo.COD_CALIBRACAO)
? DBNull.Value
: modelo.COD_CALIBRACAO);
cmd.Parameters.AddWithValue("@DESCRICAO",
string.IsNullOrWhiteSpace(modelo.DESCRICAO)
? DBNull.Value
: modelo.DESCRICAO);
cmd.Parameters.AddWithValue("@MINIMO",
string.IsNullOrWhiteSpace(modelo.MINIMO)
? DBNull.Value
: modelo.MINIMO);
cmd.Parameters.AddWithValue("@MAXIMO",
string.IsNullOrWhiteSpace(modelo.MAXIMO)
? DBNull.Value
: modelo.MAXIMO);
cmd.Parameters.AddWithValue("@OBTIDO",
string.IsNullOrWhiteSpace(modelo.OBTIDO)
? DBNull.Value
: modelo.OBTIDO);
cmd.Parameters.AddWithValue("@UNIDADE",
string.IsNullOrWhiteSpace(modelo.UNIDADE)
? DBNull.Value
: modelo.UNIDADE);
}
#endregion
}
}