コード例 #1
0
        public bool deletar(Medicamento medicamento)
        {
            Medicamento pesquisaMedicamento = pesquisar(medicamento);

            if (pesquisaMedicamento.lotes.Count == 0 || pesquisaMedicamento.qtdeDisponivel() == 0)
            {
                listaMedicamentos.Remove(medicamento);
                return(true);
            }
            else
            {
                return(false);
            }
        }
コード例 #2
0
        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);
        }
コード例 #3
0
        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;
                }
            }
        }