public void comprar(Lote lote) { Lotes.Enqueue(lote); }
static void Main(string[] args) { int opcao; bool menuescolha; do { Console.WriteLine("Projeto Medicamentos\n"); Console.WriteLine("0 - Encerrar"); Console.WriteLine("1 - Cadastrar um medicamento "); Console.WriteLine("2 - Consultar um medicamento sintético"); Console.WriteLine("3 - Consultar um medicamento analítico"); Console.WriteLine("4 - Comprar um medicamento"); Console.WriteLine("5 - Vender um medicamento"); Console.WriteLine("6 - Listar medicamentos"); Console.WriteLine("Opção escolhida:"); menuescolha = int.TryParse(Console.ReadLine(), out opcao); if (menuescolha) { Medicamento _medicamento = new Medicamento(); bool auxiliar; int Mid, Lid = 0, qtd = 0; DateTime venc; string Mlab, Mnome; Lote mLote = new Lote(); switch (opcao) { case 0: return; case 1: Console.Clear(); Console.WriteLine("CADASTRO DE MEDICAMENTOS"); do { Console.Write("ID do medicamento: "); auxiliar = int.TryParse(Console.ReadLine(), out Mid); if (!auxiliar) { Console.WriteLine("Por favor, insira somente números!"); } } while (!auxiliar); Console.WriteLine("Nome do medicamento: "); Mnome = Console.ReadLine(); Console.WriteLine("Laboratório: "); Mlab = Console.ReadLine(); Medicamento m1 = new Medicamento(Mid, Mnome, Mlab); med.adicionar(m1); Console.WriteLine("Medicamento cadastrado com sucesso! Aperte qualquer tecla para voltar ao menu inicial."); Console.ReadKey(); Console.Clear(); break; case 2: Console.Clear(); Console.WriteLine("CONSULTA DE MEDICAMENTOS (SINTÉTICO)"); do { Console.WriteLine("ID:"); auxiliar = int.TryParse(Console.ReadLine(), out Mid); if (auxiliar) { _medicamento = med.pesquisar(new Medicamento(Mid, "", "")); if (_medicamento.Id == 0) { Console.WriteLine("O medicamento inserido não pode ser encontrado."); } else { Console.WriteLine(_medicamento.ToString()); } } else { Console.WriteLine("Por favor, insira somente números!"); } } while (!auxiliar); Console.ReadKey(); Console.Clear(); break; case 3: Console.Clear(); Console.WriteLine("CONSULTA DE MEDICAMENTOS (ANALÍTICO)"); do { Console.WriteLine("ID: "); auxiliar = int.TryParse(Console.ReadLine(), out Mid); if (auxiliar) { _medicamento = med.pesquisar(new Medicamento(Mid, "", "")); if (_medicamento.Id == 0) { Console.WriteLine("O medicamento inserido não pode ser encontrado."); } else { Console.WriteLine(_medicamento.ToString()); } foreach (Lote l in _medicamento.Lotes) { Console.WriteLine(l.ToString()); } } else { Console.WriteLine("Por favor, insira somente números!"); } } while (!auxiliar); Console.ReadKey(); Console.Clear(); break; case 4: Console.Clear(); Console.WriteLine("COMPRAR MEDICAMENTO"); venc = DateTime.Now; Console.WriteLine("ID: "); auxiliar = int.TryParse(Console.ReadLine(), out Mid); _medicamento = med.pesquisar(new Medicamento(Mid, "", "")); if (_medicamento.Id == 0) { Console.WriteLine("O medicamento não pode ser encontrado!"); } else { Console.WriteLine("SOBRE O LOTE"); do { Console.WriteLine("ID Lote "); auxiliar = int.TryParse(Console.ReadLine(), out Lid); if (!auxiliar) { Console.WriteLine("Por favor, insira somente números!"); } } while (!auxiliar); do { Console.WriteLine("Quantidade"); auxiliar = int.TryParse(Console.ReadLine(), out qtd); if (!auxiliar) { Console.WriteLine("Por favor, insira somente números! "); } } while (!auxiliar && Lid < 0); do { Console.WriteLine("Data de vencimento em formato (DD/MM/AAAA)"); auxiliar = DateTime.TryParse(Console.ReadLine(), out venc); if (!auxiliar) { Console.WriteLine("Data inválida. Veja se a mesma se encontra no formato DD/MM/AAAA"); } } while (!auxiliar); Console.WriteLine("Compra realizada! Aperte qualquer tecla para voltar ao menu inicial."); } Lote nLote = new Lote(Lid, qtd, venc); _medicamento.comprar(nLote); Console.ReadKey(); Console.Clear(); break; case 5: Console.Clear(); Console.WriteLine("VENDER MEDICAMENTO"); Console.WriteLine("ID:"); auxiliar = int.TryParse(Console.ReadLine(), out Mid); _medicamento = med.pesquisar(new Medicamento(Mid, "", "")); if (_medicamento.Id == 0) { Console.WriteLine("O medicamento não pode ser encontrado."); } else { do { Console.WriteLine("Quantidade: "); auxiliar = int.TryParse(Console.ReadLine(), out qtd); if (!auxiliar && Lid < 0) { Console.WriteLine("A quantidade precisa ser numeros positivos!"); } } while (!auxiliar && Lid < 0); _medicamento.vender(qtd); Console.WriteLine("Produto vendido! Aperte qualquer tecla para voltar ao menu inicial."); } Console.ReadKey(); break; case 6: foreach (Medicamento m in med.ListaMedicamentos) { Console.WriteLine(m.ToString()); } Console.ReadKey(); Console.Clear(); break; default: Console.WriteLine("Opção inválida. Insira novamente."); Console.ReadKey(); break; } } else { Console.WriteLine("Opção inválida. Insira novamente."); opcao = 7; Console.ReadKey(); Console.Clear(); } } while (opcao != 0); }
static void Main(string[] args) { int opcao; bool menuescolha; do { Console.Clear(); Console.WriteLine("****************************************"); Console.WriteLine("0. Finalizar processo"); Console.WriteLine("1. Cadastrar medicamento "); Console.WriteLine("2. Consultar medicamento (Sintetico) "); Console.WriteLine("3. Consultar medicamento (analítico)"); Console.WriteLine("4. Comprar medicamento"); Console.WriteLine("5. Vender medicamento"); Console.WriteLine("6. Listar medicamentos"); Console.WriteLine("****************************************"); Console.WriteLine("Escolha sua Opção:"); menuescolha = int.TryParse(Console.ReadLine(), out opcao); if (menuescolha) { Medicamento mAux = new Medicamento(); bool aux; int Mid, Lid = 0, qtd = 0; DateTime venc; string Mlab, Mnome; Lote mLote = new Lote(); switch (opcao) { case 0: return; case 1: Console.WriteLine("insira as informaçoes do cadastro"); do { Console.Write("insira o numero do ID: "); aux = int.TryParse(Console.ReadLine(), out Mid); if (!aux) { Console.WriteLine("tem que ser somente numero"); } } while (!aux); Console.WriteLine("digite o nome do medicamento a ser cadastrado: "); Mnome = Console.ReadLine(); Console.WriteLine("digite o laboratório do medicamento a ser cadastrado: "); Mlab = Console.ReadLine(); Medicamento m1 = new Medicamento(Mid, Mnome, Mlab); med.adicionar(m1); Console.WriteLine("dados inseridos"); Console.ReadKey(); break; case 2: do { Console.WriteLine("digite o ID a ser consultado"); aux = int.TryParse(Console.ReadLine(), out Mid); if (aux) { mAux = med.pesquisar(new Medicamento(Mid, "", "")); if (mAux.Id == 0) { Console.WriteLine("Medicamento não encontrado"); } else { Console.WriteLine(mAux.ToString()); } } else { Console.WriteLine("tem que ser numero lek "); } } while (!aux); Console.ReadKey(); break; case 3: do { Console.WriteLine("digite ID: "); aux = int.TryParse(Console.ReadLine(), out Mid); if (aux) { mAux = med.pesquisar(new Medicamento(Mid, "", "")); if (mAux.Id == 0) { Console.WriteLine("Medicamento não encontrado"); } else { Console.WriteLine(mAux.ToString()); } foreach (Lote l in mAux.Lotes) { Console.WriteLine(l.ToString()); } } else { Console.WriteLine("lek é serio escolha um numero "); } } while (!aux); Console.ReadKey(); break; case 4: venc = DateTime.Now; Console.WriteLine("Digite o ID e quantidade do medicamento que deseja comprar: "); aux = int.TryParse(Console.ReadLine(), out Mid); mAux = med.pesquisar(new Medicamento(Mid, "", "")); if (mAux.Id == 0) { Console.WriteLine("medicamento não encontrado: "); } else { Console.WriteLine("Informações do lote "); do { Console.WriteLine("ID do Lote "); aux = int.TryParse(Console.ReadLine(), out Lid); if (!aux) { Console.WriteLine("por favor só numeros"); } } while (!aux); do { Console.WriteLine("quantidade"); aux = int.TryParse(Console.ReadLine(), out qtd); if (!aux) { Console.WriteLine("a quantidade tem que ser em numero "); } } while (!aux && Lid < 0); do { Console.WriteLine("data de vencimento (DD/MM/AAAA)"); aux = DateTime.TryParse(Console.ReadLine(), out venc); if (!aux) { Console.WriteLine("Data Invalida"); Console.WriteLine("Data deve possuir dia mes e ano separados:"); } } while (!aux); Console.WriteLine("Compra realizada com sucesso!!!"); } Lote nLote = new Lote(Lid, qtd, venc); mAux.comprar(nLote); Console.ReadKey(); break; case 5: Console.WriteLine("Digite o id do medicamento"); aux = int.TryParse(Console.ReadLine(), out Mid); mAux = med.pesquisar(new Medicamento(Mid, "", "")); if (mAux.Id == 0) { Console.WriteLine("Medicamento não encontrado "); } else { do { Console.WriteLine("Quantidade de produtos"); aux = int.TryParse(Console.ReadLine(), out qtd); if (!aux && Lid < 0) { Console.WriteLine("A quantidade precisa ser numeros positivos"); } } while (!aux && Lid < 0); mAux.vender(qtd); Console.WriteLine("produto vendido!!"); } Console.ReadKey(); break; case 6: foreach (Medicamento m in med.ListaMedicamentos) { Console.WriteLine(m.ToString()); } Console.ReadKey(); break; default: Console.WriteLine("a Opção que escolheu está invalida"); Console.WriteLine("as opções são numeros de 0 à 6"); Console.ReadKey(); break; } } else { Console.WriteLine("OPÇÃO INVÁLIDA"); Console.WriteLine("Insira um número entre 0 e 6."); opcao = 7; Console.ReadKey(); Console.Clear(); } } while (opcao != 0); }
static void Main(string[] args) { int opcao; bool opcaoMenu; do { #region MENU Console.Clear(); Console.WriteLine("------------------------------------------"); Console.WriteLine("| MENU |"); Console.WriteLine("| |"); Console.WriteLine("| 0. Finalizar processo |"); Console.WriteLine("| 1. Cadastrar medicamento |"); Console.WriteLine("| 2. Consultar medicamento (Sintetico) |"); Console.WriteLine("| 3. Consultar medicamento (analítico) |"); Console.WriteLine("| 4. Comprar medicamento |"); Console.WriteLine("| 5. Vender medicamento |"); Console.WriteLine("| 6. Listar medicamentos |"); Console.WriteLine("| |"); Console.WriteLine("------------------------------------------"); Console.Write("Escolha sua Opção: "); opcaoMenu = int.TryParse(Console.ReadLine(), out opcao); #endregion if (opcaoMenu) { #region Atributos Medicamento mAux = new Medicamento(); bool aux; int Mid, Lid = 0, qtd = 0; DateTime venc; string Mlab, Mnome; Lote mLote = new Lote(); #endregion switch (opcao) { #region 0. Finalizar processo case 0: return; #endregion #region 1. Cadastrar medicamento case 1: Console.WriteLine("insira as informações para cadastro:"); do { Console.Write(" digite o ID: "); aux = int.TryParse(Console.ReadLine(), out Mid); if (!aux) { Console.WriteLine("tem que ser numero!"); } } while (!aux); Console.Write("digite o nome do medicamento: "); Mnome = Console.ReadLine(); Console.Write("digite o laboratório do medicamento: "); Mlab = Console.ReadLine(); Medicamento m1 = new Medicamento(Mid, Mnome, Mlab); med.adicionar(m1); Console.WriteLine("dados inseridos!"); Console.ReadKey(); break; #endregion #region 2. Consultar medicamento (Sintetico) case 2: do { Console.Write("digite o ID:"); aux = int.TryParse(Console.ReadLine(), out Mid); if (aux) { mAux = med.pesquisar(new Medicamento(Mid, "", "")); if (mAux.Id == 0) { Console.WriteLine("Medicamento não encontrado!"); } else { Console.WriteLine(mAux.ToString()); } } else { Console.WriteLine("tem que ser numero! "); } } while (!aux); Console.ReadKey(); break; #endregion #region 3. Consultar medicamento (analítico) case 3: do { Console.Write("digite o ID: "); aux = int.TryParse(Console.ReadLine(), out Mid); if (aux) { mAux = med.pesquisar(new Medicamento(Mid, "", "")); if (mAux.Id == 0) { Console.WriteLine("Medicamento não encontrado!"); } else { Console.WriteLine(mAux.ToString()); } foreach (Lote l in mAux.Lotes) { Console.WriteLine(l.ToString()); } } else { Console.WriteLine("tem que ser numero! "); } } while (!aux); Console.ReadKey(); break; #endregion #region 4. Comprar medicamento case 4: venc = DateTime.Now; Console.Write("Digite o ID do medicamento: "); aux = int.TryParse(Console.ReadLine(), out Mid); Console.Write("Deseja comprar quantos? "); mAux = med.pesquisar(new Medicamento(Mid, "", "")); if (mAux.Id == 0) { Console.WriteLine("medicamento não encontrado! "); } else { Console.WriteLine("Informações do lote:"); do { Console.Write("ID do Lote: "); aux = int.TryParse(Console.ReadLine(), out Lid); if (!aux) { Console.WriteLine("tem que ser numero!"); } } while (!aux); do { Console.Write("quantidade: "); aux = int.TryParse(Console.ReadLine(), out qtd); if (!aux) { Console.WriteLine("tem que ser numero!"); } } while (!aux && Lid < 0); do { Console.Write("digite a data de vencimento (DD/MM/AAAA): "); aux = DateTime.TryParse(Console.ReadLine(), out venc); if (!aux) { Console.WriteLine("Data Invalida!"); Console.WriteLine("A data deve possuir dia, mes e ano separados conforme o exemplo..."); } } while (!aux); Console.WriteLine("Compra realizada com sucesso!!!"); } Lote nLote = new Lote(Lid, qtd, venc); mAux.comprar(nLote); Console.ReadKey(); break; #endregion #region 5. Vender medicamento case 5: Console.Write("Digite o id do medicamento:"); aux = int.TryParse(Console.ReadLine(), out Mid); mAux = med.pesquisar(new Medicamento(Mid, "", "")); if (mAux.Id == 0) { Console.WriteLine("Medicamento não encontrado!"); } else { do { Console.Write("Quantidade de produtos:"); aux = int.TryParse(Console.ReadLine(), out qtd); if (!aux && Lid < 0) { Console.WriteLine("A quantidade precisa ser um numero positivo!"); } } while (!aux && Lid < 0); mAux.vender(qtd); Console.WriteLine("produto vendido!"); } Console.ReadKey(); break; #endregion #region 6. Listar medicamentos case 6: foreach (Medicamento m in med.ListaMedicamentos) { Console.WriteLine(m.ToString()); } Console.ReadKey(); break; #endregion #region Default default: Console.WriteLine("a Opção que escolheu está invalida!"); Console.WriteLine("as opções são numeros de 0 à 6."); Console.ReadKey(); break; #endregion } } #region Opcao invalida else { Console.WriteLine("OPÇÃO INVÁLIDA"); Console.WriteLine("Insira um número entre 0 e 6."); opcao = 7; Console.ReadKey(); Console.Clear(); } #endregion } while (opcao != 0); }