public IEnumerable <Contribuinte> GetAll() { // Get contribuintes IEnumerable <Contribuinte> contribuintes = _contribuinteService.GetAll(); IEnumerable <AliquotaIr> aliquotaIrs = _aliquotaIrService.GetAll(); // Get Salário Mínimo SalarioMinimo salarioMinimo = _salarioMinimoService.GetById(1); foreach (var contribuinte in contribuintes) { decimal rendaLiquida = contribuinte.RendaBrutaMensal - (contribuinte.NumeroDependentes * (salarioMinimo.Salario * (decimal)0.05)); double qtdSalariosMinimos = (double)(rendaLiquida / salarioMinimo.Salario); AliquotaIr aliquotaIr = aliquotaIrs.Where(a => a.DeSalariosMinimos <= qtdSalariosMinimos && (a.AteSalariosMinimos >= qtdSalariosMinimos || a.AteSalariosMinimos == null)).First(); contribuinte.ImpostoRenda = (rendaLiquida * (decimal)aliquotaIr.Aliquota) / 100; } // Get Aliquotas IR return(contribuintes.OrderBy(c => c.ImpostoRenda).ThenBy(c => c.Nome)); }
public SalarioMinimo GetById(int id) { return(_salarioMinimoService.GetById(id)); }