using Microsoft.Data.SqlClient; using MLL; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace DAL { public class DALEquipamentos { private readonly string connectionString; public DALEquipamentos(string conexao) { connectionString = conexao; } public bool Inserir(ModeloEquipamentos modelo) { using SqlConnection conn = new(connectionString); string sql = @" INSERT INTO Equipamentos ( COD_CLIENTE, DESCRICAO, MARCA, MODELO, SERIE, PAT, OBSERVACOES, DATA_COMPRA, REVENDA, NUM_NF, NUM_CERTGAR, CAMPO_BOOL, CAMPO_DOUBLE ) VALUES ( @COD_CLIENTE, @DESCRICAO, @MARCA, @MODELO, @SERIE, @PAT, @OBSERVACOES, @DATA_COMPRA, @REVENDA, @NUM_NF, @NUM_CERTGAR, @CAMPO_BOOL, @CAMPO_DOUBLE )"; using SqlCommand cmd = new(sql, conn); PreencherParametros(cmd, modelo); conn.Open(); return cmd.ExecuteNonQuery() > 0; }//inserir public bool Alterar(ModeloEquipamentos modelo) { using SqlConnection conn = new(connectionString); string sql = @" UPDATE Equipamentos SET COD_CLIENTE=@COD_CLIENTE, DESCRICAO=@DESCRICAO, MARCA=@MARCA, MODELO=@MODELO, SERIE=@SERIE, PAT=@PAT, OBSERVACOES=@OBSERVACOES, DATA_COMPRA=@DATA_COMPRA, REVENDA=@REVENDA, NUM_NF=@NUM_NF, NUM_CERTGAR=@NUM_CERTGAR, CAMPO_BOOL=@CAMPO_BOOL, CAMPO_DOUBLE=@CAMPO_DOUBLE WHERE ID_EQUIPAMENTOS=@ID_EQUIPAMENTOS"; using SqlCommand cmd = new(sql, conn); PreencherParametros(cmd, modelo); cmd.Parameters.AddWithValue("@ID_EQUIPAMENTOS", modelo.ID_EQUIPAMENTOS); conn.Open(); return cmd.ExecuteNonQuery() > 0; }//alterar public bool Excluir(int id) { using SqlConnection conn = new(connectionString); string sql = @" DELETE FROM Equipamentos WHERE ID_EQUIPAMENTOS=@ID"; using SqlCommand cmd = new(sql, conn); cmd.Parameters.AddWithValue("@ID", id); conn.Open(); return cmd.ExecuteNonQuery() > 0; }//Excluir public ModeloEquipamentos? Carregar(int id) { using SqlConnection conn = new(connectionString); string sql = @" SELECT * FROM Equipamentos WHERE ID_EQUIPAMENTOS=@ID"; using SqlCommand cmd = new(sql, conn); cmd.Parameters.AddWithValue("@ID", id); conn.Open(); using SqlDataReader dr = cmd.ExecuteReader(); if (dr.Read()) return PreencherModelo(dr); return null; } public List Listar(string? codigo = null,string? codCliente = null,string? descricao = null,string? marca = null,string? modelo = null,string? serie = null,string? patrimonio = null) { List lista = []; using SqlConnection conn = new(connectionString); string sql = @"SELECT * FROM Equipamentos WHERE 1=1"; using SqlCommand cmd = new(); if (!string.IsNullOrWhiteSpace(codigo)) { sql += " AND CODIGO LIKE @CODIGO"; cmd.Parameters.AddWithValue("@CODIGO", "%" + codigo + "%"); } if (!string.IsNullOrWhiteSpace(codCliente)) { sql += " AND COD_CLIENTE LIKE @COD_CLIENTE"; cmd.Parameters.AddWithValue("@COD_CLIENTE", "%" + codCliente + "%"); } if (!string.IsNullOrWhiteSpace(descricao)) { sql += " AND DESCRICAO LIKE @DESCRICAO"; cmd.Parameters.AddWithValue("@DESCRICAO", "%" + descricao + "%"); } if (!string.IsNullOrWhiteSpace(marca)) { sql += " AND MARCA LIKE @MARCA"; cmd.Parameters.AddWithValue("@MARCA", "%" + marca + "%"); } if (!string.IsNullOrWhiteSpace(modelo)) { sql += " AND MODELO LIKE @MODELO"; cmd.Parameters.AddWithValue("@MODELO", "%" + modelo + "%"); } if (!string.IsNullOrWhiteSpace(serie)) { sql += " AND SERIE LIKE @SERIE"; cmd.Parameters.AddWithValue("@SERIE", "%" + serie + "%"); } if (!string.IsNullOrWhiteSpace(patrimonio)) { sql += " AND PAT LIKE @PAT"; cmd.Parameters.AddWithValue("@PAT", "%" + patrimonio + "%"); } sql += " ORDER BY ID_EQUIPAMENTOS DESC"; cmd.Connection = conn; cmd.CommandText = sql; conn.Open(); using SqlDataReader dr = cmd.ExecuteReader(); while (dr.Read()) lista.Add(PreencherModelo(dr)); return lista; } private ModeloEquipamentos PreencherModelo(SqlDataReader dr) { return new ModeloEquipamentos { ID_EQUIPAMENTOS = Convert.ToInt32(dr["ID_EQUIPAMENTOS"]), CODIGO = Convert.ToString(dr["CODIGO"]) ?? "", COD_CLIENTE = Convert.ToString(dr["COD_CLIENTE"]) ?? "", DESCRICAO = Convert.ToString(dr["DESCRICAO"]) ?? "", MARCA = Convert.ToString(dr["MARCA"]) ?? "", MODELO = Convert.ToString(dr["MODELO"]) ?? "", SERIE = Convert.ToString(dr["SERIE"]) ?? "", PAT = Convert.ToString(dr["PAT"]) ?? "", OBSERVACOES = Convert.ToString(dr["OBSERVACOES"]) ?? "", DATA_COMPRA = Convert.ToString(dr["DATA_COMPRA"]) ?? "", REVENDA = Convert.ToString(dr["REVENDA"]) ?? "", NUM_NF = Convert.ToString(dr["NUM_NF"]) ?? "", NUM_CERTGAR = Convert.ToString(dr["NUM_CERTGAR"]) ?? "", CAMPO_BOOL = Convert.ToString(dr["CAMPO_BOOL"]) ?? "", CAMPO_DOUBLE = Convert.ToString(dr["CAMPO_DOUBLE"]) ?? "" }; } private void PreencherParametros(SqlCommand cmd,ModeloEquipamentos modelo) { cmd.Parameters.AddWithValue("@COD_CLIENTE", modelo.COD_CLIENTE); cmd.Parameters.AddWithValue("@DESCRICAO", modelo.DESCRICAO); cmd.Parameters.AddWithValue("@MARCA", modelo.MARCA); cmd.Parameters.AddWithValue("@MODELO", modelo.MODELO); cmd.Parameters.AddWithValue("@SERIE", modelo.SERIE); cmd.Parameters.AddWithValue("@PAT", modelo.PAT); cmd.Parameters.AddWithValue("@OBSERVACOES", modelo.OBSERVACOES); cmd.Parameters.AddWithValue("@DATA_COMPRA", modelo.DATA_COMPRA); cmd.Parameters.AddWithValue("@REVENDA", modelo.REVENDA); cmd.Parameters.AddWithValue("@NUM_NF", modelo.NUM_NF); cmd.Parameters.AddWithValue("@NUM_CERTGAR", modelo.NUM_CERTGAR); cmd.Parameters.AddWithValue("@CAMPO_BOOL", modelo.CAMPO_BOOL); cmd.Parameters.AddWithValue("@CAMPO_DOUBLE", modelo.CAMPO_DOUBLE); } } }