Beispiel #1
0
        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));
        }
Beispiel #2
0
 public SalarioMinimo GetById(int id)
 {
     return(_salarioMinimoService.GetById(id));
 }