499 lines
14 KiB
C#
499 lines
14 KiB
C#
using Microsoft.Data.SqlClient;
|
|
using MLL;
|
|
using System;
|
|
using System.Collections.Generic;
|
|
using System.Data;
|
|
|
|
namespace DALL
|
|
{
|
|
public class DALIcmsEmp
|
|
{
|
|
private readonly string connectionString;
|
|
|
|
public DALIcmsEmp(string conexao)
|
|
{
|
|
connectionString = conexao;
|
|
}
|
|
|
|
#region INSERT
|
|
|
|
public bool Inserir(ModeloIcmsEmp modelo)
|
|
{
|
|
using SqlConnection conn = new(connectionString);
|
|
|
|
string sql = @"
|
|
INSERT INTO ICMS_EMP
|
|
(
|
|
UF,ICMS,
|
|
UF_AC,UF_AL,UF_AM,UF_AP,
|
|
UF_BA,UF_CE,UF_DF,UF_ES,
|
|
UF_GO,UF_MA,UF_MT,UF_MS,
|
|
UF_MG,UF_PA,UF_PB,UF_PR,
|
|
UF_PE,UF_PI,UF_RN,UF_RS,
|
|
UF_RJ,UF_RO,UF_RR,UF_SC,
|
|
UF_SP,UF_SE,UF_TO,FCP
|
|
)
|
|
VALUES
|
|
(
|
|
@UF,@ICMS,
|
|
@UF_AC,@UF_AL,@UF_AM,@UF_AP,
|
|
@UF_BA,@UF_CE,@UF_DF,@UF_ES,
|
|
@UF_GO,@UF_MA,@UF_MT,@UF_MS,
|
|
@UF_MG,@UF_PA,@UF_PB,@UF_PR,
|
|
@UF_PE,@UF_PI,@UF_RN,@UF_RS,
|
|
@UF_RJ,@UF_RO,@UF_RR,@UF_SC,
|
|
@UF_SP,@UF_SE,@UF_TO,@FCP
|
|
)";
|
|
|
|
using SqlCommand cmd = new(sql, conn);
|
|
|
|
PreencherParametros(cmd, modelo);
|
|
|
|
conn.Open();
|
|
|
|
return cmd.ExecuteNonQuery() > 0;
|
|
}
|
|
|
|
#endregion
|
|
|
|
#region UPDATE
|
|
|
|
public bool Alterar(ModeloIcmsEmp modelo)
|
|
{
|
|
using SqlConnection conn = new(connectionString);
|
|
|
|
string sql = @"
|
|
UPDATE ICMS_EMP SET
|
|
|
|
UF=@UF,
|
|
ICMS=@ICMS,
|
|
UF_AC=@UF_AC,
|
|
UF_AL=@UF_AL,
|
|
UF_AM=@UF_AM,
|
|
UF_AP=@UF_AP,
|
|
UF_BA=@UF_BA,
|
|
UF_CE=@UF_CE,
|
|
UF_DF=@UF_DF,
|
|
UF_ES=@UF_ES,
|
|
UF_GO=@UF_GO,
|
|
UF_MA=@UF_MA,
|
|
UF_MT=@UF_MT,
|
|
UF_MS=@UF_MS,
|
|
UF_MG=@UF_MG,
|
|
UF_PA=@UF_PA,
|
|
UF_PB=@UF_PB,
|
|
UF_PR=@UF_PR,
|
|
UF_PE=@UF_PE,
|
|
UF_PI=@UF_PI,
|
|
UF_RN=@UF_RN,
|
|
UF_RS=@UF_RS,
|
|
UF_RJ=@UF_RJ,
|
|
UF_RO=@UF_RO,
|
|
UF_RR=@UF_RR,
|
|
UF_SC=@UF_SC,
|
|
UF_SP=@UF_SP,
|
|
UF_SE=@UF_SE,
|
|
UF_TO=@UF_TO,
|
|
FCP=@FCP
|
|
|
|
WHERE ID_ICMS_EMP=@ID_ICMS_EMP";
|
|
|
|
using SqlCommand cmd = new(sql, conn);
|
|
|
|
PreencherParametros(cmd, modelo);
|
|
|
|
cmd.Parameters.AddWithValue(
|
|
"@ID_ICMS_EMP",
|
|
modelo.ID_ICMS_EMP);
|
|
|
|
conn.Open();
|
|
|
|
return cmd.ExecuteNonQuery() > 0;
|
|
}
|
|
|
|
#endregion
|
|
|
|
#region DELETE
|
|
|
|
public bool Excluir(int id)
|
|
{
|
|
using SqlConnection conn = new(connectionString);
|
|
|
|
string sql =
|
|
@"DELETE FROM ICMS_EMP
|
|
WHERE ID_ICMS_EMP=@ID";
|
|
|
|
using SqlCommand cmd = new(sql, conn);
|
|
|
|
cmd.Parameters.AddWithValue("@ID", id);
|
|
|
|
conn.Open();
|
|
|
|
return cmd.ExecuteNonQuery() > 0;
|
|
}
|
|
|
|
#endregion
|
|
|
|
#region CARREGAR
|
|
|
|
public ModeloIcmsEmp? Carregar(int id)
|
|
{
|
|
using SqlConnection conn = new(connectionString);
|
|
|
|
string sql =
|
|
@"SELECT *
|
|
FROM ICMS_EMP
|
|
WHERE ID_ICMS_EMP=@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;
|
|
}
|
|
|
|
#endregion
|
|
|
|
#region CARREGAR POR CÓDIGO
|
|
|
|
public ModeloIcmsEmp? CarregarPorCodigo(string codigo)
|
|
{
|
|
using SqlConnection conn = new(connectionString);
|
|
|
|
string sql =
|
|
@"SELECT *
|
|
FROM ICMS_EMP
|
|
WHERE CODIGO=@CODIGO";
|
|
|
|
using SqlCommand cmd = new(sql, conn);
|
|
|
|
cmd.Parameters.AddWithValue("@CODIGO", codigo);
|
|
|
|
conn.Open();
|
|
|
|
using SqlDataReader dr = cmd.ExecuteReader();
|
|
|
|
if (dr.Read())
|
|
return PreencherModelo(dr);
|
|
|
|
return null;
|
|
}
|
|
|
|
#endregion
|
|
|
|
#region CARREGAR POR UF
|
|
|
|
public ModeloIcmsEmp? CarregarPorUF(string uf)
|
|
{
|
|
using SqlConnection conn = new(connectionString);
|
|
|
|
string sql =
|
|
@"SELECT *
|
|
FROM ICMS_EMP
|
|
WHERE UF=@UF";
|
|
|
|
using SqlCommand cmd = new(sql, conn);
|
|
|
|
cmd.Parameters.AddWithValue("@UF", uf);
|
|
|
|
conn.Open();
|
|
|
|
using SqlDataReader dr = cmd.ExecuteReader();
|
|
|
|
if (dr.Read())
|
|
return PreencherModelo(dr);
|
|
|
|
return null;
|
|
}
|
|
|
|
#endregion
|
|
|
|
#region EXISTE UF
|
|
|
|
public bool ExisteUF(string uf)
|
|
{
|
|
using SqlConnection conn = new(connectionString);
|
|
|
|
string sql =
|
|
@"SELECT COUNT(*)
|
|
FROM ICMS_EMP
|
|
WHERE UF=@UF";
|
|
|
|
using SqlCommand cmd = new(sql, conn);
|
|
|
|
cmd.Parameters.AddWithValue("@UF", uf);
|
|
|
|
conn.Open();
|
|
|
|
return Convert.ToInt32(cmd.ExecuteScalar()) > 0;
|
|
}
|
|
|
|
#endregion
|
|
|
|
#region LISTAR
|
|
|
|
public List<ModeloIcmsEmp> Listar(
|
|
string? codigo = null,
|
|
string? uf = null)
|
|
{
|
|
List<ModeloIcmsEmp> lista = [];
|
|
|
|
using SqlConnection conn = new(connectionString);
|
|
|
|
string sql =
|
|
@"SELECT *
|
|
FROM ICMS_EMP
|
|
WHERE 1=1";
|
|
|
|
using SqlCommand cmd = new();
|
|
|
|
if (!string.IsNullOrWhiteSpace(codigo))
|
|
{
|
|
sql += " AND CODIGO LIKE @CODIGO";
|
|
|
|
cmd.Parameters.AddWithValue(
|
|
"@CODIGO",
|
|
"%" + codigo + "%");
|
|
}
|
|
|
|
if (!string.IsNullOrWhiteSpace(uf))
|
|
{
|
|
sql += " AND UF=@UF";
|
|
|
|
cmd.Parameters.AddWithValue(
|
|
"@UF",
|
|
uf);
|
|
}
|
|
|
|
sql += " ORDER BY UF";
|
|
|
|
cmd.Connection = conn;
|
|
cmd.CommandText = sql;
|
|
|
|
conn.Open();
|
|
|
|
using SqlDataReader dr = cmd.ExecuteReader();
|
|
|
|
while (dr.Read())
|
|
{
|
|
lista.Add(
|
|
PreencherModelo(dr));
|
|
}
|
|
|
|
return lista;
|
|
}
|
|
|
|
#endregion
|
|
|
|
#region QUANTIDADE TOTAL
|
|
|
|
public int QuantidadeTotal()
|
|
{
|
|
using SqlConnection conn = new(connectionString);
|
|
|
|
string sql = "SELECT COUNT(*) FROM ICMS_EMP";
|
|
|
|
using SqlCommand cmd = new(sql, conn);
|
|
|
|
conn.Open();
|
|
|
|
return Convert.ToInt32(cmd.ExecuteScalar());
|
|
}
|
|
|
|
#endregion
|
|
|
|
#region PRIMEIRO REGISTRO
|
|
|
|
public ModeloIcmsEmp? PrimeiroRegistro()
|
|
{
|
|
using SqlConnection conn = new(connectionString);
|
|
|
|
string sql =
|
|
@"SELECT TOP 1 *
|
|
FROM ICMS_EMP
|
|
ORDER BY ID_ICMS_EMP";
|
|
|
|
using SqlCommand cmd = new(sql, conn);
|
|
|
|
conn.Open();
|
|
|
|
using SqlDataReader dr = cmd.ExecuteReader();
|
|
|
|
if (dr.Read())
|
|
return PreencherModelo(dr);
|
|
|
|
return null;
|
|
}
|
|
|
|
#endregion
|
|
|
|
#region ÚLTIMO REGISTRO
|
|
|
|
public ModeloIcmsEmp? UltimoRegistro()
|
|
{
|
|
using SqlConnection conn = new(connectionString);
|
|
|
|
string sql =
|
|
@"SELECT TOP 1 *
|
|
FROM ICMS_EMP
|
|
ORDER BY ID_ICMS_EMP DESC";
|
|
|
|
using SqlCommand cmd = new(sql, conn);
|
|
|
|
conn.Open();
|
|
|
|
using SqlDataReader dr = cmd.ExecuteReader();
|
|
|
|
if (dr.Read())
|
|
return PreencherModelo(dr);
|
|
|
|
return null;
|
|
}
|
|
|
|
#endregion
|
|
|
|
#region OBTER ALIQUOTA DESTINO
|
|
|
|
public string ObterAliquotaDestino(
|
|
string ufOrigem,
|
|
string ufDestino)
|
|
{
|
|
ModeloIcmsEmp? origem =
|
|
CarregarPorUF(ufOrigem);
|
|
|
|
if (origem == null)
|
|
return "0";
|
|
|
|
return ufDestino.ToUpper() switch
|
|
{
|
|
"AC" => origem.UF_AC,
|
|
"AL" => origem.UF_AL,
|
|
"AM" => origem.UF_AM,
|
|
"AP" => origem.UF_AP,
|
|
"BA" => origem.UF_BA,
|
|
"CE" => origem.UF_CE,
|
|
"DF" => origem.UF_DF,
|
|
"ES" => origem.UF_ES,
|
|
"GO" => origem.UF_GO,
|
|
"MA" => origem.UF_MA,
|
|
"MT" => origem.UF_MT,
|
|
"MS" => origem.UF_MS,
|
|
"MG" => origem.UF_MG,
|
|
"PA" => origem.UF_PA,
|
|
"PB" => origem.UF_PB,
|
|
"PR" => origem.UF_PR,
|
|
"PE" => origem.UF_PE,
|
|
"PI" => origem.UF_PI,
|
|
"RN" => origem.UF_RN,
|
|
"RS" => origem.UF_RS,
|
|
"RJ" => origem.UF_RJ,
|
|
"RO" => origem.UF_RO,
|
|
"RR" => origem.UF_RR,
|
|
"SC" => origem.UF_SC,
|
|
"SP" => origem.UF_SP,
|
|
"SE" => origem.UF_SE,
|
|
"TO" => origem.UF_TO,
|
|
_ => "0"
|
|
};
|
|
}
|
|
|
|
#endregion
|
|
|
|
#region PREENCHER MODELO
|
|
|
|
private ModeloIcmsEmp PreencherModelo(SqlDataReader dr)
|
|
{
|
|
return new ModeloIcmsEmp
|
|
{
|
|
ID_ICMS_EMP = Convert.ToInt32(dr["ID_ICMS_EMP"]),
|
|
CODIGO = Convert.ToString(dr["CODIGO"]) ?? "",
|
|
UF = Convert.ToString(dr["UF"]) ?? "",
|
|
ICMS = Convert.ToString(dr["ICMS"]) ?? "",
|
|
UF_AC = Convert.ToString(dr["UF_AC"]) ?? "",
|
|
UF_AL = Convert.ToString(dr["UF_AL"]) ?? "",
|
|
UF_AM = Convert.ToString(dr["UF_AM"]) ?? "",
|
|
UF_AP = Convert.ToString(dr["UF_AP"]) ?? "",
|
|
UF_BA = Convert.ToString(dr["UF_BA"]) ?? "",
|
|
UF_CE = Convert.ToString(dr["UF_CE"]) ?? "",
|
|
UF_DF = Convert.ToString(dr["UF_DF"]) ?? "",
|
|
UF_ES = Convert.ToString(dr["UF_ES"]) ?? "",
|
|
UF_GO = Convert.ToString(dr["UF_GO"]) ?? "",
|
|
UF_MA = Convert.ToString(dr["UF_MA"]) ?? "",
|
|
UF_MT = Convert.ToString(dr["UF_MT"]) ?? "",
|
|
UF_MS = Convert.ToString(dr["UF_MS"]) ?? "",
|
|
UF_MG = Convert.ToString(dr["UF_MG"]) ?? "",
|
|
UF_PA = Convert.ToString(dr["UF_PA"]) ?? "",
|
|
UF_PB = Convert.ToString(dr["UF_PB"]) ?? "",
|
|
UF_PR = Convert.ToString(dr["UF_PR"]) ?? "",
|
|
UF_PE = Convert.ToString(dr["UF_PE"]) ?? "",
|
|
UF_PI = Convert.ToString(dr["UF_PI"]) ?? "",
|
|
UF_RN = Convert.ToString(dr["UF_RN"]) ?? "",
|
|
UF_RS = Convert.ToString(dr["UF_RS"]) ?? "",
|
|
UF_RJ = Convert.ToString(dr["UF_RJ"]) ?? "",
|
|
UF_RO = Convert.ToString(dr["UF_RO"]) ?? "",
|
|
UF_RR = Convert.ToString(dr["UF_RR"]) ?? "",
|
|
UF_SC = Convert.ToString(dr["UF_SC"]) ?? "",
|
|
UF_SP = Convert.ToString(dr["UF_SP"]) ?? "",
|
|
UF_SE = Convert.ToString(dr["UF_SE"]) ?? "",
|
|
UF_TO = Convert.ToString(dr["UF_TO"]) ?? "",
|
|
FCP = Convert.ToString(dr["FCP"]) ?? ""
|
|
};
|
|
}
|
|
|
|
#endregion
|
|
#region PREENCHER PARÂMETROS
|
|
|
|
private void PreencherParametros(
|
|
SqlCommand cmd,
|
|
ModeloIcmsEmp modelo)
|
|
{
|
|
cmd.Parameters.AddWithValue("@UF", modelo.UF);
|
|
cmd.Parameters.AddWithValue("@ICMS", modelo.ICMS);
|
|
|
|
cmd.Parameters.AddWithValue("@UF_AC", modelo.UF_AC);
|
|
cmd.Parameters.AddWithValue("@UF_AL", modelo.UF_AL);
|
|
cmd.Parameters.AddWithValue("@UF_AM", modelo.UF_AM);
|
|
cmd.Parameters.AddWithValue("@UF_AP", modelo.UF_AP);
|
|
|
|
cmd.Parameters.AddWithValue("@UF_BA", modelo.UF_BA);
|
|
cmd.Parameters.AddWithValue("@UF_CE", modelo.UF_CE);
|
|
cmd.Parameters.AddWithValue("@UF_DF", modelo.UF_DF);
|
|
cmd.Parameters.AddWithValue("@UF_ES", modelo.UF_ES);
|
|
|
|
cmd.Parameters.AddWithValue("@UF_GO", modelo.UF_GO);
|
|
cmd.Parameters.AddWithValue("@UF_MA", modelo.UF_MA);
|
|
cmd.Parameters.AddWithValue("@UF_MT", modelo.UF_MT);
|
|
cmd.Parameters.AddWithValue("@UF_MS", modelo.UF_MS);
|
|
|
|
cmd.Parameters.AddWithValue("@UF_MG", modelo.UF_MG);
|
|
cmd.Parameters.AddWithValue("@UF_PA", modelo.UF_PA);
|
|
cmd.Parameters.AddWithValue("@UF_PB", modelo.UF_PB);
|
|
cmd.Parameters.AddWithValue("@UF_PR", modelo.UF_PR);
|
|
|
|
cmd.Parameters.AddWithValue("@UF_PE", modelo.UF_PE);
|
|
cmd.Parameters.AddWithValue("@UF_PI", modelo.UF_PI);
|
|
cmd.Parameters.AddWithValue("@UF_RN", modelo.UF_RN);
|
|
cmd.Parameters.AddWithValue("@UF_RS", modelo.UF_RS);
|
|
|
|
cmd.Parameters.AddWithValue("@UF_RJ", modelo.UF_RJ);
|
|
cmd.Parameters.AddWithValue("@UF_RO", modelo.UF_RO);
|
|
cmd.Parameters.AddWithValue("@UF_RR", modelo.UF_RR);
|
|
cmd.Parameters.AddWithValue("@UF_SC", modelo.UF_SC);
|
|
|
|
cmd.Parameters.AddWithValue("@UF_SP", modelo.UF_SP);
|
|
cmd.Parameters.AddWithValue("@UF_SE", modelo.UF_SE);
|
|
cmd.Parameters.AddWithValue("@UF_TO", modelo.UF_TO);
|
|
|
|
cmd.Parameters.AddWithValue("@FCP", modelo.FCP);
|
|
}
|
|
|
|
#endregion
|
|
}
|
|
} |