408 lines
9.9 KiB
C#
408 lines
9.9 KiB
C#
using Microsoft.Data.SqlClient;
|
|
using MLL;
|
|
using System;
|
|
using System.Collections.Generic;
|
|
using System.Data;
|
|
|
|
namespace DALL
|
|
{
|
|
public class DALLCoordImpres
|
|
{
|
|
private readonly string connectionString;
|
|
|
|
public DALLCoordImpres(string conexao)
|
|
{
|
|
connectionString = conexao;
|
|
}
|
|
|
|
#region CRUD
|
|
|
|
public bool Inserir(ModeloCoordImpres modelo)
|
|
{
|
|
try
|
|
{
|
|
using SqlConnection conn =
|
|
new(connectionString);
|
|
|
|
string sql = @"
|
|
INSERT INTO Coord_impres
|
|
(
|
|
COD_MODELO,
|
|
NOME_CAMPO,
|
|
COD_CAMPO,
|
|
TIPO,
|
|
CX,
|
|
CY,
|
|
COMP,
|
|
ATIVO
|
|
)
|
|
VALUES
|
|
(
|
|
@COD_MODELO,
|
|
@NOME_CAMPO,
|
|
@COD_CAMPO,
|
|
@TIPO,
|
|
@CX,
|
|
@CY,
|
|
@COMP,
|
|
@ATIVO
|
|
)";
|
|
|
|
using SqlCommand cmd =
|
|
new(sql, conn);
|
|
|
|
PreencherParametros(cmd, modelo);
|
|
|
|
conn.Open();
|
|
|
|
return cmd.ExecuteNonQuery() > 0;
|
|
}
|
|
catch
|
|
{
|
|
return false;
|
|
}
|
|
}
|
|
|
|
public bool Alterar(ModeloCoordImpres modelo)
|
|
{
|
|
try
|
|
{
|
|
using SqlConnection conn =
|
|
new(connectionString);
|
|
|
|
string sql = @"
|
|
UPDATE Coord_impres
|
|
SET
|
|
CODIGO=@CODIGO,
|
|
COD_MODELO=@COD_MODELO,
|
|
NOME_CAMPO=@NOME_CAMPO,
|
|
COD_CAMPO=@COD_CAMPO,
|
|
TIPO=@TIPO,
|
|
CX=@CX,
|
|
CY=@CY,
|
|
COMP=@COMP,
|
|
ATIVO=@ATIVO
|
|
WHERE ID_COORD_IMPRES=@ID_COORD_IMPRES";
|
|
|
|
using SqlCommand cmd =
|
|
new(sql, conn);
|
|
|
|
PreencherParametros(cmd, modelo);
|
|
|
|
cmd.Parameters.AddWithValue(
|
|
"@CODIGO",
|
|
modelo.CODIGO);
|
|
|
|
cmd.Parameters.AddWithValue(
|
|
"@ID_COORD_IMPRES",
|
|
modelo.ID_COORD_IMPRES);
|
|
|
|
conn.Open();
|
|
|
|
return cmd.ExecuteNonQuery() > 0;
|
|
}
|
|
catch
|
|
{
|
|
return false;
|
|
}
|
|
}
|
|
|
|
public bool Excluir(int id)
|
|
{
|
|
try
|
|
{
|
|
using SqlConnection conn =
|
|
new(connectionString);
|
|
|
|
string sql =
|
|
@"DELETE FROM Coord_impres
|
|
WHERE ID_COORD_IMPRES=@ID";
|
|
|
|
using SqlCommand cmd =
|
|
new(sql, conn);
|
|
|
|
cmd.Parameters.AddWithValue(
|
|
"@ID",
|
|
id);
|
|
|
|
conn.Open();
|
|
|
|
return cmd.ExecuteNonQuery() > 0;
|
|
}
|
|
catch
|
|
{
|
|
return false;
|
|
}
|
|
}
|
|
|
|
public ModeloCoordImpres? Carregar(int id)
|
|
{
|
|
using SqlConnection conn =
|
|
new(connectionString);
|
|
|
|
string sql =
|
|
@"SELECT *
|
|
FROM Coord_impres
|
|
WHERE ID_COORD_IMPRES=@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<ModeloCoordImpres> Listar(
|
|
string? codModelo = null,
|
|
string? nomeCampo = null,
|
|
string? codCampo = null,
|
|
string? tipo = null,
|
|
string? ativo = null)
|
|
{
|
|
List<ModeloCoordImpres> lista = [];
|
|
|
|
using SqlConnection conn =
|
|
new(connectionString);
|
|
|
|
string sql = @"
|
|
SELECT *
|
|
FROM Coord_impres
|
|
WHERE 1=1";
|
|
|
|
using SqlCommand cmd =
|
|
new();
|
|
|
|
cmd.Connection = conn;
|
|
|
|
if (!string.IsNullOrWhiteSpace(codModelo))
|
|
{
|
|
sql += " AND COD_MODELO LIKE @COD_MODELO";
|
|
|
|
cmd.Parameters.AddWithValue(
|
|
"@COD_MODELO",
|
|
"%" + codModelo + "%");
|
|
}
|
|
|
|
if (!string.IsNullOrWhiteSpace(nomeCampo))
|
|
{
|
|
sql += " AND NOME_CAMPO LIKE @NOME_CAMPO";
|
|
|
|
cmd.Parameters.AddWithValue(
|
|
"@NOME_CAMPO",
|
|
"%" + nomeCampo + "%");
|
|
}
|
|
|
|
if (!string.IsNullOrWhiteSpace(codCampo))
|
|
{
|
|
sql += " AND COD_CAMPO LIKE @COD_CAMPO";
|
|
|
|
cmd.Parameters.AddWithValue(
|
|
"@COD_CAMPO",
|
|
"%" + codCampo + "%");
|
|
}
|
|
|
|
if (!string.IsNullOrWhiteSpace(tipo))
|
|
{
|
|
sql += " AND TIPO LIKE @TIPO";
|
|
|
|
cmd.Parameters.AddWithValue(
|
|
"@TIPO",
|
|
"%" + tipo + "%");
|
|
}
|
|
|
|
if (!string.IsNullOrWhiteSpace(ativo))
|
|
{
|
|
sql += " AND ATIVO=@ATIVO";
|
|
|
|
cmd.Parameters.AddWithValue(
|
|
"@ATIVO",
|
|
ativo);
|
|
}
|
|
|
|
sql += " ORDER BY ID_COORD_IMPRES DESC";
|
|
|
|
cmd.CommandText = sql;
|
|
|
|
conn.Open();
|
|
|
|
using SqlDataReader dr =
|
|
cmd.ExecuteReader();
|
|
|
|
while (dr.Read())
|
|
{
|
|
lista.Add(
|
|
PreencherModelo(dr));
|
|
}
|
|
|
|
return lista;
|
|
}
|
|
|
|
public List<ModeloCoordImpres> ListarPorModelo(string codModelo)
|
|
{
|
|
List<ModeloCoordImpres> lista = [];
|
|
using SqlConnection conn =
|
|
new(connectionString);
|
|
string sql = @"
|
|
SELECT *
|
|
FROM Coord_impres
|
|
WHERE COD_MODELO=@COD_MODELO
|
|
ORDER BY ID_COORD_IMPRES DESC";
|
|
using SqlCommand cmd =
|
|
new(sql, conn);
|
|
cmd.Parameters.AddWithValue(
|
|
"@COD_MODELO",
|
|
codModelo);
|
|
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,
|
|
SUM(
|
|
CASE
|
|
WHEN ATIVO='SIM'
|
|
THEN 1
|
|
ELSE 0
|
|
END
|
|
) AS ATIVOS
|
|
FROM Coord_impres";
|
|
|
|
using SqlDataAdapter da =
|
|
new(sql, conn);
|
|
|
|
DataTable dt = new();
|
|
|
|
da.Fill(dt);
|
|
|
|
return dt;
|
|
}
|
|
|
|
#endregion
|
|
|
|
#region Helpers
|
|
|
|
private static ModeloCoordImpres
|
|
PreencherModelo(SqlDataReader dr)
|
|
{
|
|
return new ModeloCoordImpres
|
|
{
|
|
ID_COORD_IMPRES =
|
|
Convert.ToInt32(
|
|
dr["ID_COORD_IMPRES"]),
|
|
|
|
CODIGO =
|
|
Convert.ToString(
|
|
dr["CODIGO"])
|
|
?? string.Empty,
|
|
|
|
COD_MODELO =
|
|
Convert.ToString(
|
|
dr["COD_MODELO"])
|
|
?? string.Empty,
|
|
|
|
NOME_CAMPO =
|
|
Convert.ToString(
|
|
dr["NOME_CAMPO"])
|
|
?? string.Empty,
|
|
|
|
COD_CAMPO =
|
|
Convert.ToString(
|
|
dr["COD_CAMPO"])
|
|
?? string.Empty,
|
|
|
|
TIPO =
|
|
Convert.ToString(
|
|
dr["TIPO"])
|
|
?? string.Empty,
|
|
|
|
CX =
|
|
Convert.ToString(
|
|
dr["CX"])
|
|
?? string.Empty,
|
|
|
|
CY =
|
|
Convert.ToString(
|
|
dr["CY"])
|
|
?? string.Empty,
|
|
|
|
COMP =
|
|
Convert.ToString(
|
|
dr["COMP"])
|
|
?? string.Empty,
|
|
|
|
ATIVO =
|
|
Convert.ToString(
|
|
dr["ATIVO"])
|
|
?? string.Empty
|
|
};
|
|
}
|
|
|
|
private static void PreencherParametros(
|
|
SqlCommand cmd,
|
|
ModeloCoordImpres modelo)
|
|
{
|
|
cmd.Parameters.AddWithValue(
|
|
"@COD_MODELO",
|
|
modelo.COD_MODELO);
|
|
|
|
cmd.Parameters.AddWithValue(
|
|
"@NOME_CAMPO",
|
|
modelo.NOME_CAMPO);
|
|
|
|
cmd.Parameters.AddWithValue(
|
|
"@COD_CAMPO",
|
|
modelo.COD_CAMPO);
|
|
|
|
cmd.Parameters.AddWithValue(
|
|
"@TIPO",
|
|
modelo.TIPO);
|
|
|
|
cmd.Parameters.AddWithValue(
|
|
"@CX",
|
|
modelo.CX);
|
|
|
|
cmd.Parameters.AddWithValue(
|
|
"@CY",
|
|
modelo.CY);
|
|
|
|
cmd.Parameters.AddWithValue(
|
|
"@COMP",
|
|
modelo.COMP);
|
|
|
|
cmd.Parameters.AddWithValue(
|
|
"@ATIVO",
|
|
modelo.ATIVO);
|
|
}
|
|
|
|
#endregion
|
|
}
|
|
} |