public async Task <List <ImpostodeRenda> > CalcularImpostodeRenda() { try { //Remove todos os itens da tabela Imposto de Renda. await ExcluirImpostodeRenda(); var impostodeRenda = new ImpostodeRenda(); List <ImpostodeRenda> listaImpostodeRenda = new List <ImpostodeRenda>(); var salarioMinimo = _salarioMinimoService.ListarSalarioMinimoAsync(); int salarioMinimoId = salarioMinimo.Result.Select(sl => sl.Id).FirstOrDefault(); double salarioMinimoValor = salarioMinimo.Result.Select(sl => sl.Valor).Sum(); var listaContribuinte = _contribuinteService.ListarContribuinteAsync(); if (listaContribuinte.Result.Count > 0) { for (int i = 0; i < listaContribuinte.Result.Count; i++) { //Inicia o cálculo do Imposto de renda do contribuinte. impostodeRenda = new ImpostodeRenda { ContribuinteId = listaContribuinte.Result[i].Id, SalarioMinimoId = salarioMinimoId, Valor = CalcularAliquota(listaContribuinte.Result[i], salarioMinimoValor) }; await IncluirImpostodeRendaAsync(impostodeRenda); } listaImpostodeRenda = await ListarImpostodeRendaAsync(); return(listaImpostodeRenda); } return(listaImpostodeRenda); } catch (ApplicationException e) { throw new ApplicationException(e.Message); } }
public async Task IncluirImpostodeRendaAsync(ImpostodeRenda obj) { _context.Add(obj); await _context.SaveChangesAsync(); }