예제 #1
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);
        }
예제 #2
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;
                }
            }
        }
예제 #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;
                }
            }
        }
예제 #4
0
        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());
                    }
                }
            }
        }