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(); }
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(); }