private void MostrarDespesas(CultureInfo cultureInfo, DateTime inicio, DateTime fim) { DespesaRepositorio despesaRepositorio = new DespesaRepositorio(_context); List <Despesa> despesas = despesaRepositorio.BuscaPorPeriodo(inicio, fim); if (despesas.Count <= 0) { Console.WriteLine("Não há despesas registradas no período escolhido"); Console.ReadKey(); Console.WriteLine(); return; } while (true) { 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) { despesaRepositorio.Remove(despesas[opcao - 1]); despesas.RemoveAt(opcao - 1); Console.WriteLine(); Console.WriteLine("Despesa removida"); Console.WriteLine(); } else { break; } } } }
public Tela mostra() { Console.WriteLine(">>> " + this.Nome + " <<<"); Console.WriteLine(); DateTime?dataInicial = null; while (dataInicial == null) { Console.WriteLine("Digite sua data inicial (ex: 05/08/2016): "); try { CultureInfo cf = new CultureInfo("pt-BR"); dataInicial = Convert.ToDateTime(Console.ReadLine()); } catch (FormatException e) { dataInicial = null; Console.WriteLine("Data incorreta"); } } DateTime?dataFinal = null; while (dataFinal == null) { Console.WriteLine("Insira a sua data final (Ex: 05/03/2016): "); try { CultureInfo cf = new CultureInfo("pt-BR"); dataFinal = Convert.ToDateTime(Console.ReadLine()); if (dataFinal < dataInicial) { dataFinal = null; Console.WriteLine("Data incorreta!"); } } catch (FormatException e) { Console.WriteLine("Data incorreta!"); } } using (GranaContext ctx = new GranaContext()) { DespesaRepositorio d = new DespesaRepositorio(ctx); List <Despesa> despesas = d.BuscaPorPeriodo(dataInicial.GetValueOrDefault(), dataFinal.GetValueOrDefault()); int opt = -1; while (opt < 0 || opt > despesas.Count) { for (int i = 0; i < despesas.Count; i++) { Console.WriteLine((i + 1) + ". " + despesas[i]); } Console.WriteLine(); Console.WriteLine("Digite o número da despesa que deseja remover."); Console.WriteLine("Digite 0 para voltar."); try { opt = Convert.ToInt32(Console.ReadLine()); } catch (FormatException e) { Console.WriteLine("Opção inválida!"); continue; } if (opt < 0 || opt > despesas.Count) { Console.WriteLine("Opção inválida!"); continue; } if (opt != 0) { DespesaRepositorio dr = new DespesaRepositorio(ctx); despesas.RemoveAt(opt - 1); opt = -1; ctx.SaveChanges(); Console.WriteLine(); Console.WriteLine("Despesa removida!"); Console.WriteLine(); } } } Console.WriteLine(); return(this.anterior); }