public static ParlamentarDespesas AdaptarListaParlamentarDespesasResponse(this IParlamentarDespesasAdapter parlamentarDespesasAdapter, ICollection <DadosDespesas> response) { if (response == null || response.Count == 0) { return(null); } var parlamentarDespesasUnitarias = new List <ParlamentarDespesasUnitarias>(); var despesasMes = new List <ParlamentarDespesasMes>(); response = OrdenarDespesas(response); var ultimaDespesa = response.First(); var penultimaDespesa = response.First(d => d.Ano == ultimaDespesa.Ano && d.Mes < ultimaDespesa.Mes); for (int index = 0; index < NUMERO_DE_MESES; index++) { if (index == (int)MesesEnumExtersions.MesAnterior) { var despesasMesAnterior = response.Where(d => d.Ano == ultimaDespesa.Ano && d.Mes == ultimaDespesa.Mes).ToList(); despesasMes.Add(new ParlamentarDespesasMes(MontarListaEntidades(parlamentarDespesasAdapter, despesasMesAnterior), ultimaDespesa.Mes, ultimaDespesa.Ano)); } else { var despesasMesRetrasado = response.Where(d => d.Ano == penultimaDespesa.Ano && d.Mes == penultimaDespesa.Mes).ToList(); parlamentarDespesasUnitarias.AddRange(MontarListaEntidades(parlamentarDespesasAdapter, despesasMesRetrasado)); despesasMes.Add(new ParlamentarDespesasMes(MontarListaEntidades(parlamentarDespesasAdapter, despesasMesRetrasado), penultimaDespesa.Mes, penultimaDespesa.Ano)); } } return(new ParlamentarDespesas(despesasMes)); }
public ParlamentarService(IIntegrationModel integrationModel, HttpClient httpClient, IParlamentarAdapter parlamentarAdapter, IParlamentarDetalhesAdapter parlamentarDetalhesAdapter , IParlamentarDespesasAdapter parlamentarDespesasAdapter) { _integrationModel = integrationModel; _httpClient = httpClient; _parlamentarAdapter = parlamentarAdapter; _parlamentarDetalhesAdapter = parlamentarDetalhesAdapter; _parlamentarDespesasAdapter = parlamentarDespesasAdapter; }
private static ICollection <ParlamentarDespesasUnitarias> MontarListaEntidades(IParlamentarDespesasAdapter parlamentarDespesasAdapter, ICollection <DadosDespesas> response) { var parlamentarDespesasUnitarias = new List <ParlamentarDespesasUnitarias>(); foreach (var parlamentarResponse in response) { parlamentarDespesasUnitarias.Add(parlamentarDespesasAdapter.CreateEntity(parlamentarResponse)); } return(parlamentarDespesasUnitarias); }