adding despesas e receitas
This commit is contained in:
@@ -5,6 +5,7 @@ using OpenCand.ETL.Contracts;
|
||||
using OpenCand.Parser.Models;
|
||||
using OpenCand.Services;
|
||||
using OpenCand.Parser.Services;
|
||||
using OpenCand.ETL.Extensions;
|
||||
|
||||
namespace OpenCand.ETL.Parser.ParserServices
|
||||
{
|
||||
@@ -25,7 +26,7 @@ namespace OpenCand.ETL.Parser.ParserServices
|
||||
{
|
||||
// Parse decimal value
|
||||
decimal? valor = null;
|
||||
if (!string.IsNullOrEmpty(record.ValorBemCandidato))
|
||||
if (!record.ValorBemCandidato.IsNullOrEmpty())
|
||||
{
|
||||
string normalizedValue = record.ValorBemCandidato.Replace(".", "").Replace(",", ".");
|
||||
if (decimal.TryParse(normalizedValue, NumberStyles.Any, CultureInfo.InvariantCulture, out var parsedValue))
|
||||
|
@@ -63,6 +63,7 @@ namespace OpenCand.ETL.Parser.ParserServices
|
||||
Apelido = record.Apelido,
|
||||
SqCandidato = record.SequencialCandidato,
|
||||
Ano = record.AnoEleicao,
|
||||
Turno = record.Turno,
|
||||
TipoEleicao = record.TipoAbrangencia,
|
||||
NomeUE = record.NomeUE,
|
||||
SiglaUF = record.SiglaUF,
|
||||
|
88
OpenCand.ETL/Parser/ParserServices/DespesaParserService.cs
Normal file
88
OpenCand.ETL/Parser/ParserServices/DespesaParserService.cs
Normal file
@@ -0,0 +1,88 @@
|
||||
using Microsoft.Extensions.Logging;
|
||||
using OpenCand.Core.Models;
|
||||
using OpenCand.ETL.Contracts;
|
||||
using OpenCand.ETL.Extensions;
|
||||
using OpenCand.ETL.Services;
|
||||
using OpenCand.Parser.Models;
|
||||
|
||||
namespace OpenCand.ETL.Parser.ParserServices
|
||||
{
|
||||
public class DespesaParserService : IParserService<DespesasCSV>
|
||||
{
|
||||
private readonly ILogger<DespesaParserService> logger;
|
||||
private readonly DespesaReceitaService despesaReceitaService;
|
||||
|
||||
public DespesaParserService(
|
||||
ILogger<DespesaParserService> logger,
|
||||
DespesaReceitaService despesaReceitaService)
|
||||
{
|
||||
this.logger = logger;
|
||||
this.despesaReceitaService = despesaReceitaService;
|
||||
}
|
||||
|
||||
public async Task ParseObject(DespesasCSV record)
|
||||
{
|
||||
var despesa = new Despesa
|
||||
{
|
||||
SgPartido = record.SiglaPartido,
|
||||
Ano = record.AnoEleicao,
|
||||
Turno = int.Parse(record.Turno),
|
||||
Descricao = record.DescricaoDespesa,
|
||||
OrigemDespesa = record.OrigemDespesa,
|
||||
MunicipioFornecedor = record.NomeMunicipioFornecedor,
|
||||
NomeFornecedor = record.NomeFornecedor,
|
||||
NomeFornecedorRFB = record.NomeFornecedorRFB,
|
||||
SqCandidato = record.SequencialCandidato,
|
||||
TipoDocumento = record.TipoDocumento,
|
||||
TipoFornecedor = record.TipoFornecedor,
|
||||
Valor = record.ValorDespesaContratada / 100
|
||||
};
|
||||
|
||||
if (DateTime.TryParse(record.DataDespesa, out var dataDespesa))
|
||||
{
|
||||
despesa.DataDespesa = dataDespesa;
|
||||
}
|
||||
else
|
||||
{
|
||||
despesa.DataDespesa = null;
|
||||
}
|
||||
|
||||
if (record.CpfCnpjFornecedor.Length == 0 || record.CpfCnpjFornecedor == "-4")
|
||||
{
|
||||
despesa.CpfFornecedor = null;
|
||||
despesa.CnpjFornecedor = null;
|
||||
}
|
||||
else if (record.CpfCnpjFornecedor.Length == 11)
|
||||
{
|
||||
despesa.CpfFornecedor = record.CpfCnpjFornecedor;
|
||||
despesa.CnpjFornecedor = null;
|
||||
}
|
||||
else if (record.CpfCnpjFornecedor.Length == 14)
|
||||
{
|
||||
despesa.CnpjFornecedor = record.CpfCnpjFornecedor;
|
||||
despesa.CpfFornecedor = null;
|
||||
}
|
||||
|
||||
if (despesa.Descricao.IsNullOrEmpty())
|
||||
despesa.Descricao = null;
|
||||
if (despesa.OrigemDespesa.IsNullOrEmpty())
|
||||
despesa.OrigemDespesa = null;
|
||||
if (despesa.MunicipioFornecedor.IsNullOrEmpty())
|
||||
despesa.MunicipioFornecedor = null;
|
||||
if (despesa.NomeFornecedor.IsNullOrEmpty())
|
||||
despesa.NomeFornecedor = null;
|
||||
if (despesa.NomeFornecedorRFB.IsNullOrEmpty())
|
||||
despesa.NomeFornecedorRFB = null;
|
||||
if (despesa.TipoDocumento.IsNullOrEmpty())
|
||||
despesa.TipoDocumento = null;
|
||||
if (despesa.CpfFornecedor.IsNullOrEmpty())
|
||||
despesa.CpfFornecedor = null;
|
||||
if (despesa.CnpjFornecedor.IsNullOrEmpty())
|
||||
despesa.CnpjFornecedor = null;
|
||||
if (despesa.TipoFornecedor.IsNullOrEmpty())
|
||||
despesa.TipoFornecedor = null;
|
||||
|
||||
await despesaReceitaService.AddDespesaAsync(despesa);
|
||||
}
|
||||
}
|
||||
}
|
84
OpenCand.ETL/Parser/ParserServices/ReceitaParserService.cs
Normal file
84
OpenCand.ETL/Parser/ParserServices/ReceitaParserService.cs
Normal file
@@ -0,0 +1,84 @@
|
||||
using Microsoft.Extensions.Logging;
|
||||
using OpenCand.Core.Models;
|
||||
using OpenCand.ETL.Contracts;
|
||||
using OpenCand.ETL.Extensions;
|
||||
using OpenCand.ETL.Services;
|
||||
using OpenCand.Parser.Models;
|
||||
|
||||
namespace OpenCand.ETL.Parser.ParserServices
|
||||
{
|
||||
public class ReceitaParserService : IParserService<ReceitasCSV>
|
||||
{
|
||||
private readonly ILogger<ReceitaParserService> logger;
|
||||
private readonly DespesaReceitaService despesaReceitaService;
|
||||
|
||||
public ReceitaParserService(
|
||||
ILogger<ReceitaParserService> logger,
|
||||
DespesaReceitaService despesaReceitaService)
|
||||
{
|
||||
this.logger = logger;
|
||||
this.despesaReceitaService = despesaReceitaService;
|
||||
}
|
||||
|
||||
public async Task ParseObject(ReceitasCSV record)
|
||||
{
|
||||
var receita = new Receita
|
||||
{
|
||||
EspecieReceita = record.EspecieReceita,
|
||||
MunicipioDoador = record.NomeMunicipioDoador,
|
||||
SgPartido = record.SiglaPartido,
|
||||
FonteReceita = record.FonteReceita,
|
||||
NaturezaReceita = record.NaturezaReceita,
|
||||
Ano = record.AnoEleicao,
|
||||
Descricao = record.DescricaoReceita,
|
||||
NomeDoador = record.NomeDoador,
|
||||
NomeDoadorRFB = record.NomeDoadorRFB,
|
||||
OrigemReceita = record.OrigemReceita,
|
||||
Turno = int.Parse(record.Turno),
|
||||
SqCandidato = record.SequencialCandidato,
|
||||
Valor = record.ValorReceita / 100
|
||||
};
|
||||
|
||||
if (DateTime.TryParse(record.DataReceita, out var dataReceita))
|
||||
{
|
||||
receita.DataReceita = dataReceita;
|
||||
}
|
||||
else
|
||||
{
|
||||
receita.DataReceita = null;
|
||||
}
|
||||
|
||||
if (record.CpfCnpjDoador.Length == 0 || record.CpfCnpjDoador == "-4") {
|
||||
receita.CpfDoador = null;
|
||||
receita.CnpjDoador = null;
|
||||
}
|
||||
else if (record.CpfCnpjDoador.Length == 11)
|
||||
{
|
||||
receita.CpfDoador = record.CpfCnpjDoador;
|
||||
receita.CnpjDoador = null;
|
||||
}
|
||||
else if (record.CpfCnpjDoador.Length == 14)
|
||||
{
|
||||
receita.CnpjDoador = record.CpfCnpjDoador;
|
||||
receita.CpfDoador = null;
|
||||
}
|
||||
|
||||
if (receita.Descricao.IsNullOrEmpty())
|
||||
receita.Descricao = null;
|
||||
if (receita.MunicipioDoador.IsNullOrEmpty())
|
||||
receita.MunicipioDoador = null;
|
||||
if (receita.NomeDoador.IsNullOrEmpty())
|
||||
receita.NomeDoador = null;
|
||||
if (receita.NomeDoadorRFB.IsNullOrEmpty())
|
||||
receita.NomeDoadorRFB = null;
|
||||
if (receita.OrigemReceita.IsNullOrEmpty())
|
||||
receita.OrigemReceita = null;
|
||||
if (receita.CpfDoador.IsNullOrEmpty())
|
||||
receita.CpfDoador = null;
|
||||
if (receita.CnpjDoador.IsNullOrEmpty())
|
||||
receita.CnpjDoador = null;
|
||||
|
||||
await despesaReceitaService.AddReceitaAsync(receita);
|
||||
}
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user