Beispiel #1
0
        static void Main(string[] args)
        {
            Console.OutputEncoding = Encoding.UTF8;

            List <Taxpayer> list = new List <Taxpayer>();

            double _minumimWage;

            while (true)
            {
                Taxpayer taxpayer = new Taxpayer();

                Console.Write("Digite o CPF: ");
                taxpayer.CPF = Console.ReadLine();
                if (taxpayer.CPF.Equals("0"))
                {
                    Console.Clear();
                    if (list.Count > 0)
                    {
                        break;
                    }
                    else
                    {
                        continue;
                    }
                }

                Console.Write("Digite o nome completo: ");
                taxpayer.Name = Console.ReadLine();

                Console.Write("Número de dependentes: ");
                taxpayer.NumberOfDependents = WriteOnlyNumbersMaxValueInteger();

                Console.Write("Renda bruta mensal: R$ ");
                taxpayer.GrossIncome = WriteOnlyCoin();

                Console.Clear();

                list.Add(taxpayer);
            }

            Console.Write("Valor salário mínimo: R$ ");
            _minumimWage = WriteOnlyCoin();

            Console.Clear();

            CalculateIncomeTax incomeTax = new CalculateIncomeTax(_minumimWage);

            foreach (Taxpayer taxpayer in list)
            {
                taxpayer.AmountToPay = incomeTax.AmountToPay(taxpayer.GrossIncome, taxpayer.NumberOfDependents);
            }

            foreach (Taxpayer taxpayer in list.OrderBy(x => x.AmountToPay).ThenBy(y => y.Name))
            {
                Console.WriteLine(taxpayer.ToString());
            }

            Console.ReadKey();
        }
Beispiel #2
0
        private void btnCalculate_Click(object sender, EventArgs e)
        {
            CalculateIncomeTax incomeTax = new CalculateIncomeTax(Convert.ToDouble(txtMinimumWage.Text));

            foreach (DataRow row in _dataTable.Rows)
            {
                row["Valor a pagar"] = incomeTax.AmountToPay(Convert.ToDouble(row["Renda Bruta"]), Convert.ToInt32(row["Qtd Dependentes"]));
            }

            OrderByValueIRAndName();
        }