Exemplo n.º 1
0
        private void MostrarDespesasPorTipo(CultureInfo cultureInfo, string tipo)
        {
            DespesaRepositorio receitaRepositorio = new DespesaRepositorio(_context);
            List <Despesa>     despesas           = receitaRepositorio.BuscaPorTipo(tipo);

            if (despesas.Count <= 0)
            {
                Console.WriteLine("Não há despesas registradas referentes ao tipo escolhido");
                Console.ReadKey();
                Console.WriteLine();
                return;
            }

            for (int i = 0; i < despesas.Count; i++)
            {
                Console.WriteLine("{0}. {1}", i + 1, despesas[i]);
            }

            Console.WriteLine();
            Console.WriteLine("Digite o número da despesa que deseja remover");
            Console.WriteLine("Digite 0 para voltar");

            while (true)
            {
                int opcao;

                if (!int.TryParse(Console.ReadLine(), NumberStyles.Integer, cultureInfo, out opcao) || opcao < 0 || opcao > despesas.Count)
                {
                    Console.WriteLine("Opção incorreta");
                    continue;
                }

                if (opcao != 0)
                {
                    receitaRepositorio.Remove(despesas[opcao - 1]);
                    despesas.RemoveAt(opcao - 1);
                    Console.WriteLine();
                    Console.WriteLine("Despesa removida");
                    Console.WriteLine();
                }
                else
                {
                    break;
                }
            }
        }