public void comprar(Lote lote)
 {
     Lotes.Enqueue(lote);
 }
Example #2
0
        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);
        }
Example #4
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);
        }