public void consultar(int option) { Medicamento cons = new Medicamento(); Console.WriteLine("-----CONSULTAR-----"); Console.Write("ID: "); cons.Id = int.Parse(Console.ReadLine()); cons = this.med.pesquisar(cons); if (cons.Id != 0) { Console.WriteLine(cons.toString()); if (option == 3) { foreach (Lote l in cons.Lotes) { Console.WriteLine(l.toString()); } } } else { Console.WriteLine("Medicamento não encontrado"); } Console.WriteLine("------------------------"); }
static void Main(string[] args) { medicamentos = new Medicamentos(); int opcao = 0; do { Console.WriteLine("0. Finalizar processo"); Console.WriteLine("1. Cadastrar medicamento"); Console.WriteLine("2. Consultar medicamento (sintético)"); Console.WriteLine("3. Consultar medicamento (analítico)"); Console.WriteLine("4. Comprar medicamento (cadastrar lote)"); Console.WriteLine("5. Vender medicamento (abater do lote mais antigo)"); Console.WriteLine("6. Listar medicamentos (informar dados sintéticos)"); Console.Write("\nOPÇÃO: "); opcao = int.Parse(Console.ReadLine()); Console.Clear(); try { if (opcao == 0) { } else if (opcao == 1) { int idMed, idLote, qtde; string nome, laboratorio; DateTime venc; Console.WriteLine("Preencha os dados do remédio a ser cadastrado:\n"); Console.Write("ID: "); idMed = validaInt(); if (medicamentos.pesquisar(new Medicamento(idMed)) != null) { throw new Exception("Já existe um medicamento com esse ID"); } Console.Write("Nome: "); nome = Console.ReadLine(); Console.Write("Laboratório: "); laboratorio = Console.ReadLine(); Console.Write("Id do Lote: "); idLote = validaInt(); Console.Write("Quantidade: "); qtde = validaInt(); Console.Write("\nData de Vencimento: "); venc = validaData(); if (venc != DateTime.MinValue) { // Adicionando na lista de medicamentos medicamento = new Medicamento(idMed, nome, laboratorio); medicamentos.adicionar(medicamento); medicamento.comprar(new Lote(idLote, qtde, venc)); Console.WriteLine("Medicamento adicionado com sucesso!"); } else { Console.WriteLine("Tente novamente."); } Console.ReadKey(); } else if (opcao == 2) { Console.Write("Digite o ID do medicamento: "); medicamento = new Medicamento(validaInt()); medicamento = medicamentos.pesquisar(medicamento); if (medicamento == null) { throw new Exception("Medicamento não encontrado!"); } else { Console.WriteLine(medicamento.toString() + "\n"); } Console.ReadKey(); } else if (opcao == 3) { Console.Write("Digite o ID do medicamento: "); medicamento = new Medicamento(validaInt()); medicamento = medicamentos.pesquisar(medicamento); if (medicamento == null) { throw new Exception("Medicamento não encontrado!"); } else { Console.WriteLine(medicamento.toString() + "\n"); foreach (Lote lote in medicamento.lotes) { Console.WriteLine(lote.toString()); } } Console.ReadKey(); } else if (opcao == 4) { int idLote, qtde; DateTime venc; Console.Write("Digite o ID do medicamento: "); medicamento = new Medicamento(validaInt()); medicamento = medicamentos.pesquisar(medicamento); if (medicamento == null) { throw new Exception("Medicamento não encontrado!"); } else { Console.Write("Id do Lote: "); idLote = validaInt(); Console.Write("Quantidade: "); qtde = validaInt(); Console.Write("Data de Vencimento: "); venc = validaData(); if (venc != DateTime.MinValue) { medicamento.comprar(new Lote(idLote, qtde, venc)); Console.WriteLine("Medicamento adicionado com sucesso!"); } else { Console.WriteLine("Tente novamente."); } } Console.ReadKey(); } else if (opcao == 5) { int qtde; Console.WriteLine("Digite o ID do medicamento."); medicamento = new Medicamento(validaInt()); medicamento = medicamentos.pesquisar(medicamento); if (medicamento == null) { throw new Exception("Medicamento não encontrado!"); } else { Console.Write("Quantidade: "); qtde = validaInt(); if (medicamento.vender(qtde)) { Console.WriteLine("Medicamento vendido!"); if (medicamentos.deletar(medicamento)) { Console.WriteLine("Medicamento zerado e deletado..."); } else { Console.WriteLine("Resta: " + medicamento.qtdeDisponivel() + " no estoque..."); } } else { Console.WriteLine("Quantidade insuficiente..."); } } Console.ReadKey(); } else if (opcao == 6) { Console.WriteLine("Lista de todos os medicamentos"); if (medicamentos.listaMedicamentos.Count != 0) { foreach (Medicamento medicamento in medicamentos.listaMedicamentos) { Console.WriteLine("\n " + medicamento.toString()); } } else { Console.WriteLine("Estoque vazio..."); } Console.ReadKey(); } else { throw new Exception("Opção Inválida!"); } } catch (Exception e) { Console.WriteLine(e.Message); Console.ReadKey(); } Console.Clear(); } while (opcao != 0); }