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 Listar() { List 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 ListarPorCodigo(string codigo) { List 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 } }