using Microsoft.Data.SqlClient; using MLL; using System; using System.Collections.Generic; using System.Data; namespace DALL { public class DALLCalibracaoPadrao { private readonly string connectionString; public DALLCalibracaoPadrao(string connectionString) { this.connectionString = connectionString; } #region CRUD public bool Inserir(ModeloCalibracaoPadrao modelo) { using SqlConnection conn = new(connectionString); string query = @" INSERT INTO Calibracao_Padrao ( OS_NUMERO, DATA, TEMP, HUMIDADE, RESPONSABEL, OBSERV ) VALUES ( @OS_NUMERO, @DATA, @TEMP, @HUMIDADE, @RESPONSABEL, @OBSERV )"; using SqlCommand cmd = new(query, conn); PreencherParametrosInserir(cmd, modelo); conn.Open(); return cmd.ExecuteNonQuery() > 0; } public bool Alterar(ModeloCalibracaoPadrao modelo) { using SqlConnection conn = new(connectionString); string query = @" UPDATE Calibracao_Padrao SET CODIGO = @CODIGO, OS_NUMERO = @OS_NUMERO, DATA = @DATA, TEMP = @TEMP, HUMIDADE = @HUMIDADE, RESPONSABEL = @RESPONSABEL, OBSERV = @OBSERV WHERE ID_CALIBRACAO_PADRAO = @ID_CALIBRACAO_PADRAO"; using SqlCommand cmd = new(query, conn); PreencherParametrosAlterar(cmd, modelo); cmd.Parameters.AddWithValue("@ID_CALIBRACAO_PADRAO", modelo.ID_CALIBRACAO_PADRAO); conn.Open(); return cmd.ExecuteNonQuery() > 0; } public bool Excluir(int id) { using SqlConnection conn = new(connectionString); string query = @" DELETE FROM Calibracao_Padrao WHERE ID_CALIBRACAO_PADRAO = @ID_CALIBRACAO_PADRAO"; using SqlCommand cmd = new(query, conn); cmd.Parameters.AddWithValue("@ID_CALIBRACAO_PADRAO", id); conn.Open(); return cmd.ExecuteNonQuery() > 0; } public ModeloCalibracaoPadrao? ObterPorId(int id) { using SqlConnection conn = new(connectionString); string query = @" SELECT * FROM Calibracao_Padrao WHERE ID_CALIBRACAO_PADRAO = @ID_CALIBRACAO_PADRAO"; using SqlCommand cmd = new(query, conn); cmd.Parameters.AddWithValue("@ID_CALIBRACAO_PADRAO", 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 ORDER BY ID_CALIBRACAO_PADRAO DESC"; using SqlCommand cmd = new(query, conn); conn.Open(); using SqlDataReader dr = cmd.ExecuteReader(); while (dr.Read()) { lista.Add(PreencherModelo(dr)); } return lista; } #endregion #region HELPERS private static ModeloCalibracaoPadrao PreencherModelo(SqlDataReader dr) { return new ModeloCalibracaoPadrao { ID_CALIBRACAO_PADRAO = Convert.ToInt32(dr["ID_CALIBRACAO_PADRAO"]), CODIGO = Convert.ToString(dr["CODIGO"]) ?? string.Empty, OS_NUMERO = Convert.ToString(dr["OS_NUMERO"]) ?? string.Empty, DATA = Convert.ToString(dr["DATA"]) ?? string.Empty, TEMP = Convert.ToString(dr["TEMP"]) ?? string.Empty, HUMIDADE = Convert.ToString(dr["HUMIDADE"]) ?? string.Empty, RESPONSABEL = Convert.ToString(dr["RESPONSABEL"]) ?? string.Empty, OBSERV = Convert.ToString(dr["OBSERV"]) ?? string.Empty }; } private static void PreencherParametrosInserir(SqlCommand cmd, ModeloCalibracaoPadrao modelo) { cmd.Parameters.AddWithValue("@OS_NUMERO", string.IsNullOrWhiteSpace(modelo.OS_NUMERO) ? DBNull.Value : modelo.OS_NUMERO); cmd.Parameters.AddWithValue("@DATA", string.IsNullOrWhiteSpace(modelo.DATA) ? DBNull.Value : modelo.DATA); cmd.Parameters.AddWithValue("@TEMP", string.IsNullOrWhiteSpace(modelo.TEMP) ? DBNull.Value : modelo.TEMP); cmd.Parameters.AddWithValue("@HUMIDADE", string.IsNullOrWhiteSpace(modelo.HUMIDADE) ? DBNull.Value : modelo.HUMIDADE); cmd.Parameters.AddWithValue("@RESPONSABEL", string.IsNullOrWhiteSpace(modelo.RESPONSABEL) ? DBNull.Value : modelo.RESPONSABEL); cmd.Parameters.AddWithValue("@OBSERV", string.IsNullOrWhiteSpace(modelo.OBSERV) ? DBNull.Value : modelo.OBSERV); } private static void PreencherParametrosAlterar(SqlCommand cmd, ModeloCalibracaoPadrao modelo) { cmd.Parameters.AddWithValue("@CODIGO", string.IsNullOrWhiteSpace(modelo.CODIGO) ? DBNull.Value : modelo.CODIGO); cmd.Parameters.AddWithValue("@OS_NUMERO", string.IsNullOrWhiteSpace(modelo.OS_NUMERO) ? DBNull.Value : modelo.OS_NUMERO); cmd.Parameters.AddWithValue("@DATA", string.IsNullOrWhiteSpace(modelo.DATA) ? DBNull.Value : modelo.DATA); cmd.Parameters.AddWithValue("@TEMP", string.IsNullOrWhiteSpace(modelo.TEMP) ? DBNull.Value : modelo.TEMP); cmd.Parameters.AddWithValue("@HUMIDADE", string.IsNullOrWhiteSpace(modelo.HUMIDADE) ? DBNull.Value : modelo.HUMIDADE); cmd.Parameters.AddWithValue("@RESPONSABEL", string.IsNullOrWhiteSpace(modelo.RESPONSABEL) ? DBNull.Value : modelo.RESPONSABEL); cmd.Parameters.AddWithValue("@OBSERV", string.IsNullOrWhiteSpace(modelo.OBSERV) ? DBNull.Value : modelo.OBSERV); } #endregion } }