220 lines
6.0 KiB
C#
220 lines
6.0 KiB
C#
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 DALFcaixa
|
|
{
|
|
private readonly string connectionString;
|
|
|
|
public DALFcaixa(string conexao)
|
|
{
|
|
connectionString = conexao;
|
|
}
|
|
|
|
public bool Inserir(ModeloFcaixa modelo)
|
|
{
|
|
using SqlConnection conn = new(connectionString);
|
|
|
|
string sql = @"
|
|
INSERT INTO Fcaixa
|
|
(
|
|
DIA,
|
|
RECEITA,
|
|
DESPESA,
|
|
OBS,
|
|
PLANO_CONTAS,
|
|
COD_CONTA,
|
|
FORMA
|
|
)
|
|
VALUES
|
|
(
|
|
@DIA,
|
|
@RECEITA,
|
|
@DESPESA,
|
|
@OBS,
|
|
@PLANO_CONTAS,
|
|
@COD_CONTA,
|
|
@FORMA
|
|
)";
|
|
|
|
using SqlCommand cmd = new(sql, conn);
|
|
|
|
PreencherParametros(cmd, modelo);
|
|
|
|
conn.Open();
|
|
|
|
return cmd.ExecuteNonQuery() > 0;
|
|
}
|
|
public bool Alterar(ModeloFcaixa modelo)
|
|
{
|
|
using SqlConnection conn = new(connectionString);
|
|
|
|
string sql = @"
|
|
UPDATE Fcaixa
|
|
SET
|
|
DIA=@DIA,
|
|
RECEITA=@RECEITA,
|
|
DESPESA=@DESPESA,
|
|
OBS=@OBS,
|
|
PLANO_CONTAS=@PLANO_CONTAS,
|
|
COD_CONTA=@COD_CONTA,
|
|
FORMA=@FORMA
|
|
WHERE
|
|
ID_FCAIXA=@ID_FCAIXA";
|
|
|
|
using SqlCommand cmd = new(sql, conn);
|
|
|
|
PreencherParametros(cmd, modelo);
|
|
|
|
cmd.Parameters.AddWithValue(
|
|
"@ID_FCAIXA",
|
|
modelo.ID_FCAIXA);
|
|
|
|
conn.Open();
|
|
|
|
return cmd.ExecuteNonQuery() > 0;
|
|
}
|
|
public bool Excluir(int id)
|
|
{
|
|
using SqlConnection conn = new(connectionString);
|
|
|
|
string sql =
|
|
@"DELETE FROM Fcaixa
|
|
WHERE ID_FCAIXA=@ID";
|
|
|
|
using SqlCommand cmd = new(sql, conn);
|
|
|
|
cmd.Parameters.AddWithValue("@ID", id);
|
|
|
|
conn.Open();
|
|
|
|
return cmd.ExecuteNonQuery() > 0;
|
|
}
|
|
public ModeloFcaixa? Carregar(int id)
|
|
{
|
|
using SqlConnection conn = new(connectionString);
|
|
|
|
string sql =
|
|
@"SELECT *
|
|
FROM Fcaixa
|
|
WHERE ID_FCAIXA=@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<ModeloFcaixa> Listar(string? codigo = null,string? dia = null,string? receita = null,string? despesa = null,string? planoContas = null, string? codConta = null,string? forma = null)
|
|
{
|
|
List<ModeloFcaixa> lista = [];
|
|
|
|
using SqlConnection conn = new(connectionString);
|
|
|
|
string sql =
|
|
@"SELECT *
|
|
FROM Fcaixa
|
|
WHERE 1=1";
|
|
|
|
using SqlCommand cmd = new();
|
|
|
|
if (!string.IsNullOrWhiteSpace(codigo))
|
|
{
|
|
sql += " AND CODIGO LIKE @CODIGO";
|
|
cmd.Parameters.AddWithValue("@CODIGO", "%" + codigo + "%");
|
|
}
|
|
|
|
if (!string.IsNullOrWhiteSpace(dia))
|
|
{
|
|
sql += " AND DIA LIKE @DIA";
|
|
cmd.Parameters.AddWithValue("@DIA", "%" + dia + "%");
|
|
}
|
|
|
|
if (!string.IsNullOrWhiteSpace(receita))
|
|
{
|
|
sql += " AND RECEITA LIKE @RECEITA";
|
|
cmd.Parameters.AddWithValue("@RECEITA", "%" + receita + "%");
|
|
}
|
|
|
|
if (!string.IsNullOrWhiteSpace(despesa))
|
|
{
|
|
sql += " AND DESPESA LIKE @DESPESA";
|
|
cmd.Parameters.AddWithValue("@DESPESA", "%" + despesa + "%");
|
|
}
|
|
|
|
if (!string.IsNullOrWhiteSpace(planoContas))
|
|
{
|
|
sql += " AND PLANO_CONTAS LIKE @PLANO_CONTAS";
|
|
cmd.Parameters.AddWithValue("@PLANO_CONTAS", "%" + planoContas + "%");
|
|
}
|
|
|
|
if (!string.IsNullOrWhiteSpace(codConta))
|
|
{
|
|
sql += " AND COD_CONTA LIKE @COD_CONTA";
|
|
cmd.Parameters.AddWithValue("@COD_CONTA", "%" + codConta + "%");
|
|
}
|
|
|
|
if (!string.IsNullOrWhiteSpace(forma))
|
|
{
|
|
sql += " AND FORMA LIKE @FORMA";
|
|
cmd.Parameters.AddWithValue("@FORMA", "%" + forma + "%");
|
|
}
|
|
|
|
sql += " ORDER BY ID_FCAIXA DESC";
|
|
|
|
cmd.Connection = conn;
|
|
cmd.CommandText = sql;
|
|
|
|
conn.Open();
|
|
|
|
using SqlDataReader dr = cmd.ExecuteReader();
|
|
|
|
while (dr.Read())
|
|
{
|
|
lista.Add(
|
|
PreencherModelo(dr));
|
|
}
|
|
|
|
return lista;
|
|
}
|
|
private ModeloFcaixa PreencherModelo(SqlDataReader dr)
|
|
{
|
|
return new ModeloFcaixa
|
|
{
|
|
ID_FCAIXA = Convert.ToInt32(dr["ID_FCAIXA"]),
|
|
CODIGO = Convert.ToString(dr["CODIGO"]) ?? "",
|
|
DIA = Convert.ToString(dr["DIA"]) ?? "",
|
|
RECEITA = Convert.ToString(dr["RECEITA"]) ?? "",
|
|
DESPESA = Convert.ToString(dr["DESPESA"]) ?? "",
|
|
OBS = Convert.ToString(dr["OBS"]) ?? "",
|
|
PLANO_CONTAS = Convert.ToString(dr["PLANO_CONTAS"]) ?? "",
|
|
COD_CONTA = Convert.ToString(dr["COD_CONTA"]) ?? "",
|
|
FORMA = Convert.ToString(dr["FORMA"]) ?? ""
|
|
};
|
|
}
|
|
private void PreencherParametros(SqlCommand cmd,ModeloFcaixa modelo)
|
|
{
|
|
cmd.Parameters.AddWithValue("@DIA", modelo.DIA);
|
|
cmd.Parameters.AddWithValue("@RECEITA", modelo.RECEITA);
|
|
cmd.Parameters.AddWithValue("@DESPESA", modelo.DESPESA);
|
|
cmd.Parameters.AddWithValue("@OBS", modelo.OBS);
|
|
cmd.Parameters.AddWithValue("@PLANO_CONTAS", modelo.PLANO_CONTAS);
|
|
cmd.Parameters.AddWithValue("@COD_CONTA", modelo.COD_CONTA);
|
|
cmd.Parameters.AddWithValue("@FORMA", modelo.FORMA);
|
|
}
|
|
}
|
|
}
|