static void Main(string[] args) { var Db = new DataContext(); var pessoaModel = new PessoaModel(); var pessoaController = new PessoaController(Db); DbExecuteResultModel dbExecuteResultModel; IEnumerable <PessoaModel> procuraPessoa; int menuOpt, Id, tentativas; do { menuOpt = Menu(); switch (menuOpt) { case 1: var Pessoas = pessoaController.GetAllPessoas(Db); Console.WriteLine("++++++++++++++++++++++ CADASTRO DE PESSOAS ++++++++++++++++++++\n"); bool FlagNext = false; foreach (var Item in Pessoas) { if (FlagNext) { Console.WriteLine("\n======================================================\n"); } Console.WriteLine("ID: {0}", Item.Id.ToString()); Console.WriteLine("Nome: {0}", Item.Nome); Console.WriteLine("Email: {0}", Item.Email); Console.WriteLine("Idade: {0}", Item.Idade.ToString()); Console.WriteLine("Data Cadastro: {0}", Item.Criado.ToString()); FlagNext = true; } Console.ReadLine(); break; case 2: do { Console.Clear(); Console.WriteLine("Informe o Id da pessoa para consultar."); int.TryParse(Console.ReadLine(), out Id); if (Id <= 0) { Console.Clear(); Console.WriteLine("Id inválido, digite um Id maior que 0."); Console.ReadLine(); } } while (Id <= 0); var Pessoa = pessoaController.GetPessoaById(Db, Id); if (Pessoa.Any()) { Console.WriteLine("ID: {0}", Pessoa.FirstOrDefault().Id.ToString()); Console.WriteLine("Nome: {0}", Pessoa.FirstOrDefault().Nome); Console.WriteLine("Email: {0}", Pessoa.FirstOrDefault().Email); Console.WriteLine("Idade: {0}", Pessoa.FirstOrDefault().Idade.ToString()); Console.WriteLine("Data Cadastro: {0}", Pessoa.FirstOrDefault().Criado.ToString()); } else { Console.WriteLine("Cadastro não encontrado."); } Console.ReadLine(); break; case 3: do { Console.WriteLine("Informe o Nome da pessoa."); pessoaModel.Nome = Console.ReadLine(); } while (pessoaModel.Nome == ""); do { Console.WriteLine("Informe o Email da pessoa."); pessoaModel.Email = Console.ReadLine(); } while (pessoaModel.Email == "" || !IsValidEmail(pessoaModel.Email)); do { Console.WriteLine("Informe a Idade da pessoa."); int idade; int.TryParse(Console.ReadLine(), out idade); pessoaModel.Idade = idade; } while (pessoaModel.Idade <= 0); dbExecuteResultModel = pessoaController.InsertPessoa(Db, pessoaModel); Console.WriteLine(dbExecuteResultModel.Message); Console.ReadLine(); break; case 4: tentativas = 0; Id = 0; do { if (tentativas > 3) { break; } Console.WriteLine("Informe o Id da pessoa."); int.TryParse(Console.ReadLine(), out Id); procuraPessoa = pessoaController.GetPessoaById(Db, Id); if (procuraPessoa.Count() != 1) { Console.WriteLine("Id inválido."); Console.ReadLine(); Console.Clear(); } tentativas++; } while (Id <= 0 || procuraPessoa.Count() != 1); pessoaModel.Id = Id; do { Console.WriteLine("Informe o Nome da pessoa."); pessoaModel.Nome = Console.ReadLine(); } while (pessoaModel.Nome == ""); do { Console.WriteLine("Informe o Email da pessoa."); pessoaModel.Email = Console.ReadLine(); } while (pessoaModel.Email == "" || !IsValidEmail(pessoaModel.Email)); do { Console.WriteLine("Informe a Idade da pessoa."); int idade; int.TryParse(Console.ReadLine(), out idade); pessoaModel.Idade = idade; } while (pessoaModel.Idade <= 0); dbExecuteResultModel = pessoaController.UpdatePessoa(Db, pessoaModel); Console.WriteLine(dbExecuteResultModel.Message); Console.ReadLine(); break; case 5: tentativas = 0; Id = 0; do { if (tentativas > 3) { break; } Console.WriteLine("Informe o Id da pessoa."); int.TryParse(Console.ReadLine(), out Id); procuraPessoa = pessoaController.GetPessoaById(Db, Id); if (procuraPessoa.Count() != 1) { Console.WriteLine("Id inválido."); Console.ReadLine(); Console.Clear(); } tentativas++; } while (Id <= 0 || procuraPessoa.Count() != 1); pessoaModel.Id = Id; dbExecuteResultModel = pessoaController.DeletePessoa(Db, Id); Console.WriteLine(dbExecuteResultModel.Message); Console.ReadLine(); break; } } while (menuOpt >= 1 && menuOpt <= 5); }