284 lines
6.7 KiB
C#
284 lines
6.7 KiB
C#
using Microsoft.Data.SqlClient;
|
|
using MLL;
|
|
using System;
|
|
using System.Collections.Generic;
|
|
using System.Data;
|
|
|
|
namespace DALL
|
|
{
|
|
public class DALEcfCfg
|
|
{
|
|
private readonly string connectionString;
|
|
|
|
public DALEcfCfg(string conexao)
|
|
{
|
|
connectionString = conexao;
|
|
}
|
|
|
|
#region CRUD
|
|
|
|
public bool Inserir(ModeloEcfCfg modelo)
|
|
{
|
|
try
|
|
{
|
|
using SqlConnection conn = new(connectionString);
|
|
|
|
string sql = @"
|
|
INSERT INTO ECF_CFG
|
|
(
|
|
MODELO,
|
|
PORTA,
|
|
TEM_GAVETA,
|
|
INDICE_AL_SERV
|
|
)
|
|
VALUES
|
|
(
|
|
@MODELO,
|
|
@PORTA,
|
|
@TEM_GAVETA,
|
|
@INDICE_AL_SERV
|
|
)";
|
|
|
|
using SqlCommand cmd = new(sql, conn);
|
|
|
|
PreencherParametros(cmd, modelo);
|
|
|
|
conn.Open();
|
|
|
|
return cmd.ExecuteNonQuery() > 0;
|
|
}
|
|
catch
|
|
{
|
|
return false;
|
|
}
|
|
}
|
|
|
|
public bool Alterar(ModeloEcfCfg modelo)
|
|
{
|
|
try
|
|
{
|
|
using SqlConnection conn = new(connectionString);
|
|
|
|
string sql = @"
|
|
UPDATE ECF_CFG
|
|
SET
|
|
CODIGO=@CODIGO,
|
|
MODELO=@MODELO,
|
|
PORTA=@PORTA,
|
|
TEM_GAVETA=@TEM_GAVETA,
|
|
INDICE_AL_SERV=@INDICE_AL_SERV
|
|
WHERE ID_EFC_CFG=@ID_EFC_CFG";
|
|
|
|
using SqlCommand cmd = new(sql, conn);
|
|
|
|
PreencherParametros(cmd, modelo);
|
|
|
|
cmd.Parameters.AddWithValue("@CODIGO", modelo.CODIGO);
|
|
cmd.Parameters.AddWithValue("@ID_EFC_CFG", modelo.ID_EFC_CFG);
|
|
|
|
conn.Open();
|
|
|
|
return cmd.ExecuteNonQuery() > 0;
|
|
}
|
|
catch
|
|
{
|
|
return false;
|
|
}
|
|
}
|
|
|
|
public bool Excluir(int id)
|
|
{
|
|
try
|
|
{
|
|
using SqlConnection conn = new(connectionString);
|
|
|
|
string sql =
|
|
@"DELETE FROM ECF_CFG
|
|
WHERE ID_EFC_CFG=@ID";
|
|
|
|
using SqlCommand cmd = new(sql, conn);
|
|
|
|
cmd.Parameters.AddWithValue("@ID", id);
|
|
|
|
conn.Open();
|
|
|
|
return cmd.ExecuteNonQuery() > 0;
|
|
}
|
|
catch
|
|
{
|
|
return false;
|
|
}
|
|
}
|
|
|
|
public ModeloEcfCfg? Carregar(int id)
|
|
{
|
|
using SqlConnection conn = new(connectionString);
|
|
|
|
string sql =
|
|
@"SELECT *
|
|
FROM ECF_CFG
|
|
WHERE ID_EFC_CFG=@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<ModeloEcfCfg> Listar(
|
|
string? modelo = null,
|
|
string? porta = null,
|
|
string? temGaveta = null)
|
|
{
|
|
List<ModeloEcfCfg> lista = [];
|
|
|
|
using SqlConnection conn = new(connectionString);
|
|
|
|
string sql = @"
|
|
SELECT *
|
|
FROM ECF_CFG
|
|
WHERE 1=1";
|
|
|
|
using SqlCommand cmd = new();
|
|
|
|
cmd.Connection = conn;
|
|
|
|
if (!string.IsNullOrWhiteSpace(modelo))
|
|
{
|
|
sql += " AND MODELO LIKE @MODELO";
|
|
|
|
cmd.Parameters.AddWithValue(
|
|
"@MODELO",
|
|
"%" + modelo + "%");
|
|
}
|
|
|
|
if (!string.IsNullOrWhiteSpace(porta))
|
|
{
|
|
sql += " AND PORTA LIKE @PORTA";
|
|
|
|
cmd.Parameters.AddWithValue(
|
|
"@PORTA",
|
|
"%" + porta + "%");
|
|
}
|
|
|
|
if (!string.IsNullOrWhiteSpace(temGaveta))
|
|
{
|
|
sql += " AND TEM_GAVETA=@TEM_GAVETA";
|
|
|
|
cmd.Parameters.AddWithValue(
|
|
"@TEM_GAVETA",
|
|
temGaveta);
|
|
}
|
|
|
|
sql += " ORDER BY ID_EFC_CFG DESC";
|
|
|
|
cmd.CommandText = sql;
|
|
|
|
conn.Open();
|
|
|
|
using SqlDataReader dr = cmd.ExecuteReader();
|
|
|
|
while (dr.Read())
|
|
{
|
|
lista.Add(
|
|
PreencherModelo(dr));
|
|
}
|
|
|
|
return lista;
|
|
}
|
|
|
|
#endregion
|
|
|
|
#region Dashboard
|
|
|
|
public DataTable Dashboard()
|
|
{
|
|
using SqlConnection conn = new(connectionString);
|
|
|
|
string sql = @"
|
|
SELECT
|
|
COUNT(*) TOTAL_IMPRESSORAS,
|
|
SUM(
|
|
CASE
|
|
WHEN TEM_GAVETA='SIM'
|
|
THEN 1
|
|
ELSE 0
|
|
END
|
|
) COM_GAVETA
|
|
FROM ECF_CFG";
|
|
|
|
using SqlDataAdapter da =
|
|
new(sql, conn);
|
|
|
|
DataTable dt = new();
|
|
|
|
da.Fill(dt);
|
|
|
|
return dt;
|
|
}
|
|
|
|
#endregion
|
|
|
|
#region Helpers
|
|
|
|
private static ModeloEcfCfg PreencherModelo(SqlDataReader dr)
|
|
{
|
|
return new ModeloEcfCfg
|
|
{
|
|
ID_EFC_CFG =
|
|
Convert.ToInt32(dr["ID_EFC_CFG"]),
|
|
|
|
CODIGO =
|
|
Convert.ToString(dr["CODIGO"])
|
|
?? string.Empty,
|
|
|
|
MODELO =
|
|
Convert.ToString(dr["MODELO"])
|
|
?? string.Empty,
|
|
|
|
PORTA =
|
|
Convert.ToString(dr["PORTA"])
|
|
?? string.Empty,
|
|
|
|
TEM_GAVETA =
|
|
Convert.ToString(dr["TEM_GAVETA"])
|
|
?? string.Empty,
|
|
|
|
INDICE_AL_SERV =
|
|
Convert.ToString(dr["INDICE_AL_SERV"])
|
|
?? string.Empty
|
|
};
|
|
}
|
|
|
|
private static void PreencherParametros(
|
|
SqlCommand cmd,
|
|
ModeloEcfCfg modelo)
|
|
{
|
|
cmd.Parameters.AddWithValue(
|
|
"@MODELO",
|
|
modelo.MODELO);
|
|
|
|
cmd.Parameters.AddWithValue(
|
|
"@PORTA",
|
|
modelo.PORTA);
|
|
|
|
cmd.Parameters.AddWithValue(
|
|
"@TEM_GAVETA",
|
|
modelo.TEM_GAVETA);
|
|
|
|
cmd.Parameters.AddWithValue(
|
|
"@INDICE_AL_SERV",
|
|
modelo.INDICE_AL_SERV);
|
|
}
|
|
|
|
#endregion
|
|
}
|
|
} |