LevelOS-Core/DAL/DALLCalibracaoPadrao.cs

245 lines
6.9 KiB
C#

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