using Microsoft.Data.SqlClient; using MLL; using System; using System.Collections.Generic; using System.Data; namespace DALL { 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 Listar() { List 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 ListarPorCodigo(string codigoCalibracao) { List 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 } }