adding despesas e receitas

This commit is contained in:
2025-06-07 11:56:03 -03:00
parent b9908b36b7
commit 9a107ce9e8
29 changed files with 922 additions and 58 deletions

View File

@@ -49,8 +49,8 @@ namespace OpenCand.Repository
using (var connection = new NpgsqlConnection(ConnectionString))
{
await connection.ExecuteAsync(@"
INSERT INTO candidato_mapping (idcandidato, cpf, nome, apelido, sqcandidato, ano, tipoeleicao, siglauf, nomeue, cargo, nrcandidato, sgpartido, resultado)
VALUES (@idcandidato, @cpf, @nome, @apelido, @sqcandidato, @ano, @tipoeleicao, @siglauf, @nomeue, @cargo, @nrcandidato, @sgpartido, @resultado)
INSERT INTO candidato_mapping (idcandidato, cpf, nome, apelido, sqcandidato, ano, turno, tipoeleicao, siglauf, nomeue, cargo, nrcandidato, sgpartido, resultado)
VALUES (@idcandidato, @cpf, @nome, @apelido, @sqcandidato, @ano, @turno, @tipoeleicao, @siglauf, @nomeue, @cargo, @nrcandidato, @sgpartido, @resultado)
ON CONFLICT DO NOTHING;",
new
{
@@ -60,6 +60,7 @@ namespace OpenCand.Repository
apelido = candidatoMapping.Apelido,
sqcandidato = candidatoMapping.SqCandidato,
ano = candidatoMapping.Ano,
turno = candidatoMapping.Turno,
tipoeleicao = candidatoMapping.TipoEleicao,
siglauf = candidatoMapping.SiglaUF,
nomeue = candidatoMapping.NomeUE,
@@ -83,6 +84,18 @@ namespace OpenCand.Repository
}
}
public async Task<Guid?> GetIdCandidatoBySqCandidato(string sqcandidato)
{
using (var connection = new NpgsqlConnection(ConnectionString))
{
var query = @"
SELECT idcandidato
FROM candidato_mapping
WHERE sqcandidato = @sqcandidato";
return await connection.QueryFirstOrDefaultAsync<Guid>(query, new { sqcandidato });
}
}
public async Task<Candidato?> GetCandidatoByNome(string nome, DateTime datanascimento)
{
using (var connection = new NpgsqlConnection(ConnectionString))

View File

@@ -0,0 +1,139 @@
using Dapper;
using Microsoft.Extensions.Configuration;
using Npgsql;
using OpenCand.Core.Models;
namespace OpenCand.Repository
{
public class DespesaReceitaRepository : BaseRepository
{
public DespesaReceitaRepository(IConfiguration configuration) : base(configuration)
{
}
public async Task AddDespesaAsync(Despesa despesa)
{
using (var connection = new NpgsqlConnection(ConnectionString))
{
await connection.ExecuteAsync(@"
INSERT INTO despesas_candidato (
idcandidato,
ano,
turno,
sqcandidato,
sgpartido,
tipofornecedor,
cnpjfornecedor,
cpffornecedor,
nomefornecedor,
nomefornecedorrfb,
municipiofornecedor,
tipodocumento,
datadespesa,
descricao,
origemdespesa,
valor
) VALUES (
@idCandidato,
@ano,
@turno,
@sqCandidato,
@sgPartido,
@tipoFornecedor,
@cnpjFornecedor,
@cpfFornecedor,
@nomeFornecedor,
@nomeFornecedorRFB,
@municipioFornecedor,
@tipoDocumento,
@dataDespesa,
@descricao,
@origemdespesa,
@valor
)", new
{
idCandidato = despesa.IdCandidato,
ano = despesa.Ano,
turno = despesa.Turno,
sqCandidato = despesa.SqCandidato,
sgPartido = despesa.SgPartido,
tipoFornecedor = despesa.TipoFornecedor,
cnpjFornecedor = despesa.CnpjFornecedor,
cpfFornecedor = despesa.CpfFornecedor,
nomeFornecedor = despesa.NomeFornecedor,
nomeFornecedorRFB = despesa.NomeFornecedorRFB,
municipioFornecedor = despesa.MunicipioFornecedor,
tipoDocumento = despesa.TipoDocumento,
dataDespesa = despesa.DataDespesa,
descricao = despesa.Descricao,
origemdespesa = despesa.OrigemDespesa,
valor = despesa.Valor
});
}
}
public async Task AddReceitaAsync(Receita receita)
{
using (var connection = new NpgsqlConnection(ConnectionString))
{
await connection.ExecuteAsync(@"
INSERT INTO receitas_candidato (
idcandidato,
ano,
turno,
sqcandidato,
sgpartido,
fontereceita,
origemreceita,
naturezareceita,
especiereceita,
cnpjdoador,
cpfdoador,
nomedoador,
nomedoadorrfb,
municipiodoador,
datareceita,
descricao,
valor
) VALUES (
@idCandidato,
@ano,
@turno,
@sqCandidato,
@sgPartido,
@fonteReceita,
@origemReceita,
@naturezaReceita,
@especieReceita,
@cnpjDoador,
@cpfDoador,
@nomeDoador,
@nomeDoadorRFB,
@municipioDoador,
@dataReceita,
@descricao,
@valor
)", new
{
idCandidato = receita.IdCandidato,
ano = receita.Ano,
turno = receita.Turno,
sqCandidato = receita.SqCandidato,
sgPartido = receita.SgPartido,
fonteReceita = receita.FonteReceita,
origemReceita = receita.OrigemReceita,
naturezaReceita = receita.NaturezaReceita,
especieReceita = receita.EspecieReceita,
cnpjDoador = receita.CnpjDoador,
cpfDoador = receita.CpfDoador,
nomeDoador = receita.NomeDoador,
nomeDoadorRFB = receita.NomeDoadorRFB,
municipioDoador = receita.MunicipioDoador,
dataReceita = receita.DataReceita,
descricao = receita.Descricao,
valor = receita.Valor
});
}
}
}
}