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); }
static void Main(string[] args) { int escolha = 1; int medId, id, qtde, dia, mes, ano; string medNome, medLaboratorio; Medicamentos meds = new Medicamentos(); Medicamento dipirona = new Medicamento(1, "dipirona", "panvel"); Medicamento coronaVac = new Medicamento(2, "CoronaVac", "butãtã"); for (int i = 1; i < 6; i++) { Lote newlote = new Lote(i, i * 15, DateTime.Now); dipirona.comprar(newlote); } meds.adicionar(dipirona); meds.adicionar(coronaVac); Medicamento med; while (escolha != 0) { Console.WriteLine("\n--------------------------------------------------------------"); Console.WriteLine("0. Finalizar processo"); Console.WriteLine("1. Cadastrar medicamento"); Console.WriteLine("2. Consultar medicamento (sintético: informar dados1)"); Console.WriteLine("3. Consultar medicamento (analítico: informar dados1 + lotes2)"); Console.WriteLine("4. Comprar medicamento (cadastrar lote)"); Console.WriteLine("5. Vender medicamento (abater do lote mais antigo) "); Console.WriteLine("6. Listar medicamentos (informando dados sintéticos)"); Console.Write("Escolhido: "); escolha = int.Parse(Console.ReadLine()); Console.WriteLine(""); switch (escolha) { case 0: break; case 1: Console.Write("Insira o id do medicamento: "); medId = int.Parse(Console.ReadLine()); Console.Write("Insira o nome do medicamento: "); medNome = Console.ReadLine(); Console.Write("Insira o nome do laboratorio do medicamento: "); medLaboratorio = Console.ReadLine(); med = new Medicamento(medId, medNome, medLaboratorio); meds.adicionar(med); break; case 2: Console.Write("Insira o id do medicamento a ser pesquisado: "); medId = int.Parse(Console.ReadLine()); med = new Medicamento(medId, "", ""); Console.WriteLine(meds.pesquisar(med).toString()); break; case 3: Console.Write("Insira o id do medicamento a ser pesquisado: "); medId = int.Parse(Console.ReadLine()); med = new Medicamento(medId, "", ""); if (meds.pesquisar(med).Id != 0) { Console.WriteLine(meds.pesquisar(med).toString()); foreach (Lote l in meds.pesquisar(med).Lotes) { Console.WriteLine(l.toString()); } } else { Console.WriteLine("Não há medicamento com este ID!"); } break; case 4: Console.Write("Insira o id do medicamento: "); medId = int.Parse(Console.ReadLine()); med = new Medicamento(medId, "", ""); if (meds.pesquisar(med).Id == medId) { Console.Write("Insira o id do lote: "); id = int.Parse(Console.ReadLine()); Console.Write("Insira a qtde no lote: "); qtde = int.Parse(Console.ReadLine()); Console.Write("Insira o dia da data de vencimento do lote: "); dia = int.Parse(Console.ReadLine()); Console.Write("Insira o mes da data de vencimento do lote: "); mes = int.Parse(Console.ReadLine()); Console.Write("Insira o ano da data de vencimento do lote: "); ano = int.Parse(Console.ReadLine()); Lote newlote = new Lote(id, qtde, new DateTime(ano, mes, dia)); meds.ListaMedicamentos.Find(m => m.Id == medId).comprar(newlote); } break; case 5: Console.Write("Insira o nome do medicamento a ser vendido: "); medNome = Console.ReadLine(); Console.Write("Insira a qtde a ser vendida: "); qtde = int.Parse(Console.ReadLine()); Console.WriteLine(meds.ListaMedicamentos.Find(md => md.Nome == medNome).vender(qtde) == true ? "Vendido" : "Não há quantidades suficientes disponível!"); break; case 6: foreach (Medicamento md in meds.ListaMedicamentos) { Console.WriteLine(md.toString()); } break; } } }
static void Main(string[] args) { int opc = 1; Medicamentos medicamentos = new Medicamentos(); while (opc != 0) { Console.WriteLine("0. Finalizar processo"); Console.WriteLine("1. Cadastrar medicamento"); Console.WriteLine("2. Consultar medicamento (sintetico)"); Console.WriteLine("3. Consultar medicamento (analitico)"); Console.WriteLine("4. Comprar medicamento (cadastrar lote)"); Console.WriteLine("5. Vender medicamento"); Console.WriteLine("6. Listar medicamentos"); opc = int.Parse(Console.ReadLine()); switch (opc) { case 0: Console.WriteLine("tchau"); break; case 1: Console.WriteLine("Id do medicamento que deseja cadastrar"); int idNovoMedicamento = int.Parse(Console.ReadLine()); Console.WriteLine("Nome do medicamento que deseja cadastrar"); string nomeNovoMedicamento = Console.ReadLine(); Console.WriteLine("Laboratorio do medicamento que deseja cadastrar"); string laboratorioNovoMedicamento = Console.ReadLine(); Medicamento novoMedicamento = new Medicamento(idNovoMedicamento, nomeNovoMedicamento, laboratorioNovoMedicamento); medicamentos.adicionar(novoMedicamento); break; case 2: Console.WriteLine("Id do medicamento que deseja pesquisar"); int idPesquisa = int.Parse(Console.ReadLine()); Medicamento medicamentoAchado = medicamentos.pesquisar(new Medicamento(idPesquisa, "", "")); if (medicamentoAchado == null) { Console.WriteLine("Medicamento nao encontrado"); break; } Console.WriteLine(medicamentoAchado.ToString() + medicamentoAchado.qtdeDisponivel()); break; case 3: Console.WriteLine("Id do medicamento que deseja pesquisar"); idPesquisa = int.Parse(Console.ReadLine()); medicamentoAchado = medicamentos.pesquisar(new Medicamento(idPesquisa, "", "")); if (medicamentoAchado == null) { Console.WriteLine("Medicamento nao encontrado"); break; } Console.WriteLine(medicamentoAchado.ToString()); foreach (Lote l in medicamentoAchado.Lotes) { Console.WriteLine(l.ToString()); } break; case 4: Console.WriteLine("Id do medicamento que deseja pesquisar"); idPesquisa = int.Parse(Console.ReadLine()); medicamentoAchado = medicamentos.pesquisar(new Medicamento(idPesquisa, "", "")); if (medicamentoAchado == null) { Console.WriteLine("Medicamento nao encontrado"); break; } Console.WriteLine("Id do lote que deseja cadastrar"); int idNovoLote = int.Parse(Console.ReadLine()); Console.WriteLine("qual a quantidade do lote que deseja cadastrar"); int qtdeNovoLote = int.Parse(Console.ReadLine()); Boolean condicao = false; DateTime vencNovoLote = DateTime.MinValue; do { condicao = false; Console.WriteLine("qual a validade do lote que deseja cadastrar? (dd/MM/yyyy) "); try { vencNovoLote = DateTime.ParseExact(Console.ReadLine(), "dd/MM/yyyy", CultureInfo.CurrentCulture); if (DateTime.Now.CompareTo(vencNovoLote.Date) > 0) { Console.WriteLine("Data de vencimento tem que ser maior que a data atual!"); condicao = true; } } catch (Exception) { Console.WriteLine("aaaa"); condicao = true; } } while (condicao); medicamentoAchado.comprar(new Lote(idNovoLote, qtdeNovoLote, vencNovoLote)); Console.WriteLine(medicamentoAchado.qtdeDisponivel()); break; case 5: Console.WriteLine("Id do medicamento que deseja vender?"); idPesquisa = int.Parse(Console.ReadLine()); Console.WriteLine("Qual a quantidade que deseja vender?"); int qtdeVenda = int.Parse(Console.ReadLine()); medicamentoAchado = medicamentos.pesquisar(new Medicamento(idPesquisa, "", "")); if (medicamentoAchado == null) { Console.WriteLine("medicamento nao encontrado"); break; } condicao = medicamentoAchado.vender(qtdeVenda); if (condicao) { Console.WriteLine("Venda realizada com sucesso!"); Console.WriteLine(medicamentoAchado.qtdeDisponivel()); } else { Console.WriteLine("Venda não reazlizada quantidade pedida é maior que a disponível"); } break; case 6: foreach (Medicamento m in medicamentos.ListaMedicamentos) { Console.WriteLine(m.ToString()); } break; } } }
static void Main(string[] args) { int opcao = 1; int medId, id, qtde, dia, mes, ano; string medicamentoNome, medicamentoLaboratorio; Medicamentos medicamentos = new Medicamentos(); Medicamento medicamento1 = new Medicamento(1, "medicamento1", "panvel"); Medicamento medicamento2 = new Medicamento(2, "medicamento2", "butãtã"); for (int i = 1; i < 6; i++) { Lote newlote = new Lote(i, i * 15, DateTime.Now); medicamento1.comprar(newlote); } medicamentos.adicionar(medicamento1); medicamentos.adicionar(medicamento2); Medicamento med; while (opcao != 0) { Console.WriteLine("0. Finalizar processo"); Console.WriteLine("1. Cadastrar medicamento"); Console.WriteLine("2. Consultar medicamento (sintético: informar dados1)"); Console.WriteLine("3. Consultar medicamento (analítico: informar dados1 + lotes2)"); Console.WriteLine("4. Comprar medicamento (cadastrar lote)"); Console.WriteLine("5. Vender medicamento (abater do lote mais antigo) "); Console.WriteLine("6. Listar medicamentos (informando dados sintéticos)"); opcao = int.Parse(Console.ReadLine()); Console.WriteLine(""); if (opcao == 0) { } if (opcao == 1) { Console.Write("Insira o id do medicamento: "); medId = int.Parse(Console.ReadLine()); Console.Write("Insira o nome do medicamento: "); medicamentoNome = Console.ReadLine(); Console.Write("Insira o nome do laboratorio do medicamento: "); medicamentoLaboratorio = Console.ReadLine(); med = new Medicamento(medId, medicamentoNome, medicamentoLaboratorio); medicamentos.adicionar(med); } if (opcao == 2) { Console.Write("Insira o id do medicamento a ser pesquisado: "); medId = int.Parse(Console.ReadLine()); med = new Medicamento(medId, "", ""); Console.WriteLine(medicamentos.pesquisar(med).toString()); } if (opcao == 3) { Console.Write("Insira o id do medicamento a ser pesquisado: "); medId = int.Parse(Console.ReadLine()); med = new Medicamento(medId, "", ""); if (medicamentos.pesquisar(med).Id != 0) { Console.WriteLine(medicamentos.pesquisar(med).toString()); foreach (Lote l in medicamentos.pesquisar(med).Lotes) { Console.WriteLine(l.toString()); } } else { Console.WriteLine("Não há medicamento com este ID!"); } } if (opcao == 4) { Console.Write("Insira o id do medicamento: "); medId = int.Parse(Console.ReadLine()); med = new Medicamento(medId, "", ""); if (medicamentos.pesquisar(med).Id == medId) { Console.Write("Insira o id do lote: "); id = int.Parse(Console.ReadLine()); Console.Write("Insira a qtde no lote: "); qtde = int.Parse(Console.ReadLine()); Console.Write("Insira o dia da data de vencimento do lote: "); dia = int.Parse(Console.ReadLine()); Console.Write("Insira o mes da data de vencimento do lote: "); mes = int.Parse(Console.ReadLine()); Console.Write("Insira o ano da data de vencimento do lote: "); ano = int.Parse(Console.ReadLine()); Lote newlote = new Lote(id, qtde, new DateTime(ano, mes, dia)); medicamentos.ListaMedicamentos.Find(m => m.Id == medId).comprar(newlote); } } if (opcao == 5) { Console.Write("Insira o nome do medicamento a ser vendido: "); medicamentoNome = Console.ReadLine(); Console.Write("Insira a qtde a ser vendida: "); qtde = int.Parse(Console.ReadLine()); Console.WriteLine(medicamentos.ListaMedicamentos.Find(md => md.Nome == medicamentoNome).vender(qtde) == true ? "Vendido" : "Não há quantidades suficientes disponível!"); } if (opcao == 6) { foreach (Medicamento md in medicamentos.ListaMedicamentos) { Console.WriteLine(md.toString()); } } } }