Exemplo n.º 1
0
 //Отдать хотдог покупателю
 //Проверяет хотдоги до первого готового и пытается отдать методом TryDeliverDish
 public void TryRemoveHotdog(Hotdog hotdog)
 {
     if (hotdog.dishPhase == DishPhase.withMeat)
     {
         if (customersManager.TryDeliverDish(DishType.HotDog))
         {
             hotdog.ChangeToDesk();
         }
     }
 }
Exemplo n.º 2
0
    // Método para cadastrar pedidos no sistema
    public void CadastrarPedido()
    {
        Pedido      pedido         = new Pedido();
        List <Item> itens          = new List <Item>();
        int         somaValorItens = 0;

        Console.WriteLine("CADASTRAR PEDIDO");
        Console.WriteLine();

        bool iniciarPedido = true;

        while (iniciarPedido == true)
        {
            Console.Write("> Digite o ID do pedido: ");
            string idPedido = Console.ReadLine();

            // Verificando se o ID do pedido é válido
            while (true)
            {
                try
                {
                    pedido.VerificarIdPedido(idPedido);
                    break;
                }
                catch (IdInvalido)
                {
                    Console.WriteLine("ID inválido!");
                    Console.Write("> Por favor, tente novamente: ");
                    idPedido = Console.ReadLine();
                }
            }

            Console.Write("> Digite o nome do cliente: ");
            string nomeCliente = Console.ReadLine();

            // Verificando se o nome do cliente é válido
            while (true)
            {
                try
                {
                    pedido.VerificarNomeCliente(nomeCliente);
                    break;
                }
                catch (NomeInvalido)
                {
                    Console.WriteLine("Nome inválido!");
                    Console.Write("> Por favor, tente novamente: ");
                    nomeCliente = Console.ReadLine();
                }
            }

            Console.WriteLine("1 - Hambúrguer");
            Console.WriteLine("2 - Hot dog");

            Console.Write("> Digite o ID do item | Opções [ 1 - 2 ]: ");
            string idItem = Console.ReadLine();

            // Cadastrando um item do tipo Hamburguer
            if (idItem == "1")
            {
                Item hamburguer = new Hamburguer();
                hamburguer.setIdItem(idItem);

                Console.WriteLine("1 - Blend clássico americano");
                Console.WriteLine("2 - Blend com carne de sol");

                Console.Write("> Digite a opção de carne | Opções [ 1 - 2 ]: ");
                int    carne     = int.Parse(Console.ReadLine());
                string tipoCarne = "";

                if (carne == 1)
                {
                    tipoCarne = "Blend clássico americano";
                    hamburguer.setPreco(10);
                }
                else if (carne == 2)
                {
                    tipoCarne = "Blend com carne de sol";
                    hamburguer.setPreco(9);
                }
                else
                {
                    Console.WriteLine();
                    Console.WriteLine("Opção não encontrada! Você retornou ao menu principal!");
                    break;
                }

                hamburguer.setTipoCarne(tipoCarne);
                itens.Add(hamburguer);

                // Verificando se será adicionada bebida
                Console.Write("> Inserir bebida? | Opções [ s / n ]: ");
                char opcaoBebida = char.Parse(Console.ReadLine());

                if (opcaoBebida == 's' || opcaoBebida == 'S')
                {
                    Item bebida = new Bebida();

                    Console.WriteLine("1 - Refrigerante");
                    Console.WriteLine("2 - Suco");
                    Console.WriteLine("3 - Milk-shake");

                    Console.Write("> Escolha a bebida | Opções [ 1 - 2 - 3 ]: ");
                    int    bebi       = int.Parse(Console.ReadLine());
                    string tipoBebida = "";

                    if (bebi == 1)
                    {
                        tipoBebida = "Refrigerante";
                        bebida.setPreco(7);
                        bebida.setIdItem("3");
                    }
                    else if (bebi == 2)
                    {
                        tipoBebida = "Suco";
                        bebida.setPreco(6);
                        bebida.setIdItem("4");
                    }
                    else if (bebi == 3)
                    {
                        tipoBebida = "Milk-shake";
                        bebida.setPreco(8);
                        bebida.setIdItem("5");
                    }
                    else
                    {
                        Console.WriteLine();
                        Console.WriteLine("Opção não encontrada! Você retornou ao menu principal!");
                        break;
                    }

                    bebida.setTipoBebida(tipoBebida);
                    itens.Add(bebida);

                    somaValorItens = hamburguer + bebida;
                }
                else if (opcaoBebida == 'n' || opcaoBebida == 'N')
                {
                    Item bebida = new Bebida();
                    bebida.setPreco(0);
                    somaValorItens = hamburguer + bebida;
                }
                else
                {
                    Console.WriteLine();
                    Console.WriteLine("Opção não encontrada! Você retornou ao menu principal!");
                    break;
                }
            }
            // Cadastrando um item do tipo Hotdog
            else if (idItem == "2")
            {
                Item hotdog = new Hotdog();
                hotdog.setIdItem(idItem);

                Console.Write("> Digite a quantidade de salsichas | Opções [ 1 - 2 ]: ");
                int    salsichas    = int.Parse(Console.ReadLine());
                string qtdSalsichas = "";

                if (salsichas == 1)
                {
                    qtdSalsichas = "1";
                    hotdog.setPreco(7);
                }
                else if (salsichas == 2)
                {
                    qtdSalsichas = "2";
                    hotdog.setPreco(9);
                }
                else
                {
                    Console.WriteLine();
                    Console.WriteLine("Opção não encontrada! Você retornou ao menu principal!");
                    break;
                }

                hotdog.setQtdSalsichas(qtdSalsichas);
                itens.Add(hotdog);

                // Verificando se será adicionada bebida
                Console.Write("> Inserir bebida? | Opções [ s / n ]: ");
                char opcaoBebida = char.Parse(Console.ReadLine());

                if (opcaoBebida == 's' || opcaoBebida == 'S')
                {
                    Item bebida = new Bebida();

                    Console.WriteLine("1 - Refrigerante");
                    Console.WriteLine("2 - Suco");
                    Console.WriteLine("3 - Milk-shake");

                    Console.Write("> Escolha a bebida | Opções [ 1 - 2 - 3 ]: ");
                    int    bebi       = int.Parse(Console.ReadLine());
                    string tipoBebida = "";

                    if (bebi == 1)
                    {
                        tipoBebida = "Refrigerante";
                        bebida.setPreco(7);
                        bebida.setIdItem("3");
                    }
                    else if (bebi == 2)
                    {
                        tipoBebida = "Suco";
                        bebida.setPreco(6);
                        bebida.setIdItem("4");
                    }
                    else if (bebi == 3)
                    {
                        tipoBebida = "Milk-shake";
                        bebida.setPreco(8);
                        bebida.setIdItem("5");
                    }
                    else
                    {
                        Console.WriteLine();
                        Console.WriteLine("Opção não encontrada! Você retornou ao menu principal!");
                        break;
                    }

                    bebida.setTipoBebida(tipoBebida);
                    itens.Add(bebida);

                    somaValorItens = hotdog + bebida;
                }
                else if (opcaoBebida == 'n' || opcaoBebida == 'N')
                {
                    Item bebida = new Bebida();
                    bebida.setPreco(0);
                    somaValorItens = hotdog + bebida;
                }
                else
                {
                    Console.WriteLine();
                    Console.WriteLine("Opção não encontrada! Você retornou ao menu principal!");
                    break;
                }
            }
            else
            {
                Console.WriteLine();
                Console.WriteLine("Opção não encontrada! Você retornou ao menu principal!");
                break;
            }

            pedido.setIdPedido(idPedido);
            pedido.setNomeCliente(nomeCliente);
            pedido.setValorTotal(somaValorItens);

            // Adicionando pedido para a lista de pedidos em preparo
            FileStream   fs = new FileStream("PedidosEmPreparo.txt", FileMode.Append, FileAccess.Write);
            StreamWriter sw = new StreamWriter(fs, Encoding.UTF8);

            // Criando um arquivo com os itens do pedido
            FileStream   fs2 = new FileStream("PedidoId" + idPedido + ".txt", FileMode.Append, FileAccess.Write);
            StreamWriter sw2 = new StreamWriter(fs2, Encoding.UTF8);

            sw.WriteLine(pedido);

            foreach (Item i in itens)
            {
                sw2.WriteLine(i);
            }

            Console.WriteLine();
            Console.WriteLine("Pedido enviado ao preparo!");

            sw.Close();
            sw2.Close();
            fs.Close();
            fs2.Close();

            iniciarPedido = false;
        }
    }