LevelOS-Core/DAL/DALLCalibracaoPadraoEnsaios.cs

246 lines
6.8 KiB
C#

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