Ejemplo n.º 1
0
        public static void Welcome()
        {
            Console.WriteLine();

            ViewPrinter.Println("\tOlá, seja bem vindo ao");

            Console.WriteLine();

            ViewPrinter.Println("\t   RESTAURANTE SUTEKINA RANCH   ", ConsoleColor.Black, ConsoleColor.Yellow);

            Console.WriteLine();

            ViewPrinter.Println("\tEstamos no ramo há aproximadamente 10 anos!");
            ViewPrinter.Println("\tTrabalhamos apenas com rodizio de comida japonesa.");

            Console.WriteLine();

            ViewPrinter.Print("\tNosso espaço conta com ");
            ViewPrinter.Print("16 mesas", ConsoleColor.Yellow);
            ViewPrinter.Print(", sendo ");
            ViewPrinter.Println("4 pessoas por mesa.", ConsoleColor.Yellow);

            Console.WriteLine();

            ViewPrinter.Println("\tConfira nosso menu!");

            Console.WriteLine();

            ViewPrinter.Print("\t Pressione ", ConsoleColor.Blue, ConsoleColor.White);
            ViewPrinter.Print("'Enter'", ConsoleColor.DarkGreen, ConsoleColor.White);
            ViewPrinter.Print(" tecla para iniciar seu atendimento! ", ConsoleColor.Blue, ConsoleColor.White);
            Console.ReadLine();
        }
Ejemplo n.º 2
0
        public static void MostrarComandaResumida(int comandaId)
        {
            Console.WriteLine();

            ViewPrinter.Println("\t             DESCRICAO RESUMIDA DA COMANDA            ", ConsoleColor.White, ConsoleColor.DarkGreen);

            var comanda = ComandaService.ObterComandaResumida(comandaId);

            ViewPrinter.Println("\t------------------------------------------------------");

            ViewPrinter.Print("\tComanda: ");
            ViewPrinter.Print(comandaId.ToString(), ConsoleColor.Cyan);

            ViewPrinter.Print("\t\t\t\tMesa: ");
            ViewPrinter.Println($" [{ comanda.MesaId }] ", ConsoleColor.Blue, ConsoleColor.White);

            ViewPrinter.Println("\t------------------------------------------------------");

            ViewPrinter.Print("\tValor atual: ");
            ViewPrinter.Print($" R$ { comanda.Valor.ToString("F2", CultureInfo.InvariantCulture) } ", ConsoleColor.DarkBlue, ConsoleColor.White);

            ViewPrinter.Print("\t  Entrada: ");
            ViewPrinter.Println(comanda.DataHoraEntrada.ToString());

            Console.WriteLine();
        }
Ejemplo n.º 3
0
        public static void MostrarMenu(int comandaId, int tipoExibicaoCardapio)
        {
            bool mostrarMenuNovamente = true;

            while (mostrarMenuNovamente)
            {
                ViewComanda.MostrarComandaResumida(comandaId);

                ViewPrinter.Println("\t           MENU PRINCIPAL           ", ConsoleColor.White, ConsoleColor.DarkBlue);

                Console.WriteLine();

                MostrarOpcaoMenu(1, "Fazer novo pedido");
                MostrarOpcaoMenu(2, "Cancelar um pedido", false);
                MostrarOpcaoMenu(3, "Acompanhamento da comanda");
                MostrarOpcaoMenu(4, "Encerrar minha comanda");

                Console.WriteLine();

                ViewPrinter.Print("\tEscolha: ");
                int escolha = int.Parse(Console.ReadLine());

                if (!ChamarOpcaoEscolhida(comandaId, escolha, tipoExibicaoCardapio))
                {
                    mostrarMenuNovamente = false;
                }
            }
        }
Ejemplo n.º 4
0
        public static void MostrarCardapio(int comandaId, int tipoExibicao)
        {
            bool novoPedido = true;

            // var listaPedidos = new List<PedidoFormularioModel>();

            while (novoPedido)
            {
                Console.WriteLine();
                ViewProduto.MostrarListaProdutos(ExibirMenuPorTipoExibicao(tipoExibicao));

                var pedido = FazerPedido(comandaId);

                if (pedido == null)
                {
                    ViewPrinter.Println("\t Pedido cancelado! ", ConsoleColor.White, ConsoleColor.Red);
                }
                else
                {
                    ViewPrinter.Println("\t Pedido registrado! ", ConsoleColor.White, ConsoleColor.DarkGreen);
                    PedidoService.RegistrarNovoPedido(pedido);
                }

                ViewProduto.DivisorListaProdutos();
                ViewPrinter.Print("\tDeseja fazer outro pedido? (s/n) ");
                novoPedido = char.Parse(Console.ReadLine()) == 's';
            }

            Console.WriteLine();
        }
Ejemplo n.º 5
0
 public static void ShowSucesso()
 {
     Console.WriteLine();
     ViewPrinter.Print("\t  > Sucesso!      ", ConsoleColor.White, ConsoleColor.DarkGreen);
     Console.WriteLine();
     Console.WriteLine();
 }
Ejemplo n.º 6
0
        public static int EscolhaFormatoExibicaoCardapio()
        {
            Console.WriteLine();

            ViewPrinter.Println("\tAntes de ir ao menu principal, gostaríamos de ");
            ViewPrinter.Println("\tsaber se você prefere ver o cardápio com: ");

            Console.WriteLine();

            ViewPrinter.Print("\t [1] ", ConsoleColor.DarkCyan);
            ViewPrinter.Print("Produtos separados por categoria; ");
            ViewPrinter.Println("[BETA]", ConsoleColor.DarkYellow);

            ViewPrinter.Print("\t [2] ", ConsoleColor.DarkCyan);
            ViewPrinter.Println("Listagem de todos os produtos;");

            Console.WriteLine();

            ViewPrinter.Print("\t Obs.: ", ConsoleColor.Black, ConsoleColor.Yellow);
            ViewPrinter.Println(" Qualquer outro valor listará todos os produtos.", ConsoleColor.Yellow);

            Console.WriteLine();

            ViewPrinter.Print("\tSua escolha: ");
            return(int.Parse(Console.ReadLine()));
        }
Ejemplo n.º 7
0
        public static void LabelObterDadosComanda()
        {
            ViewPrinter.Println("\tObtendo dados da comanda \t", ConsoleColor.Yellow);

            Console.WriteLine();

            ViewPrinter.Print("\tNº Comanda: ");
        }
Ejemplo n.º 8
0
 public static void MensagemContinuarAtendimento()
 {
     ViewPrinter.Print("\tPressione ", ConsoleColor.Black, ConsoleColor.White);
     ViewPrinter.Print("Enter", ConsoleColor.Blue, ConsoleColor.White);
     ViewPrinter.Print(" para continuar seu atendimento...", ConsoleColor.Black, ConsoleColor.White);
     Console.ReadLine();
     Console.Clear();
 }
Ejemplo n.º 9
0
        public static PedidoFormularioModel FazerPedido(int comandaId)
        {
            ViewPrinter.Println("\t     NOVO PEDIDO    ", ConsoleColor.White, ConsoleColor.Blue);

            Console.WriteLine();

            ViewPrinter.Print("\tProduto: ");
            int produtoId = int.Parse(Console.ReadLine());

            if (!ProdutoService.ProdutoValido(produtoId))
            {
                ViewPrinter.Println("\t O produto selecionado não está contido no cardápio! \n", ConsoleColor.White, ConsoleColor.Red);
                return(null);
            }

            int quantidadeMaxima = ProdutoService.ObterQuantidadePermitida(produtoId);

            if (quantidadeMaxima != 0)
            {
                Console.WriteLine();
                ViewPrinter.Println($"\t Quantidade máxima permitida por pedido: { quantidadeMaxima } itens", ConsoleColor.Black, ConsoleColor.Yellow);
                Console.WriteLine();
            }

            ViewPrinter.Print("\tQuantidade: ");
            int quantidade = int.Parse(Console.ReadLine());

            if (quantidade <= 0)
            {
                ViewPrinter.Println("\t Quantidade informada inválida! \n", ConsoleColor.White, ConsoleColor.Red);
                return(null);
            }
            if (quantidadeMaxima != 0)
            {
                if (!ProdutoService.ValidarQuantidade(produtoId, quantidade))
                {
                    ViewPrinter.Println("\t Quantidade solicitada além do permitido para este produto! \n", ConsoleColor.White, ConsoleColor.Red);
                    return(null);
                }
            }

            Console.WriteLine();

            ViewPrinter.Print("\tConfirma este pedido? (s/n) ");
            bool confirmarPedido = char.Parse(Console.ReadLine()) == 's';

            if (!confirmarPedido)
            {
                return(null);
            }

            return(new PedidoFormularioModel()
            {
                ComandaId = comandaId,
                ProdutoId = produtoId,
                Quantidade = quantidade
            });
        }
Ejemplo n.º 10
0
 public static void PressioneEnterParaContinuar(string message)
 {
     Console.WriteLine();
     ViewPrinter.Print("\t Pressione ", ConsoleColor.Blue, ConsoleColor.White);
     ViewPrinter.Print("'Enter'", ConsoleColor.Green, ConsoleColor.White);
     ViewPrinter.Print(" para " + message + "... ", ConsoleColor.Blue, ConsoleColor.White);
     Console.ReadLine();
     Console.Clear();
 }
Ejemplo n.º 11
0
        public static void MostrarComandaSelecionada(int comandaId)
        {
            // Console.Clear();

            ViewPrograma.ShowSucesso();

            ViewPrinter.Print("\tCODIGO COMANDA: ");
            ViewPrinter.Println($" { comandaId } ", ConsoleColor.White, ConsoleColor.DarkGreen);
            Console.WriteLine();
            ViewPrograma.MensagemContinuarAtendimento();
        }
Ejemplo n.º 12
0
        public static void MostrarTiposProduto()
        {
            var listaTipos = TipoProdutoService.ObterTipoProduto();

            foreach (var tipoProduto in listaTipos)
            {
                ViewPrinter.Print($"\t[{ tipoProduto.Tipo }]", ConsoleColor.Cyan);
                ViewPrinter.Println($" { tipoProduto.Descricao }");
                // DivisorListaProdutos();
            }
        }
Ejemplo n.º 13
0
        public static void MostrarMesaSelecionada(int mesaId)
        {
            // Console.Clear();

            ViewPrograma.ShowSucesso();

            ViewPrinter.Print("\tSELECIONADA: ");
            ViewPrinter.Println($" MESA [ { mesaId } ] ", ConsoleColor.White, ConsoleColor.DarkGreen);
            Console.WriteLine();
            ViewPrograma.MensagemContinuarAtendimento();
        }
Ejemplo n.º 14
0
        public static void MostrarQuantidadeClientesSelecionada(int quantidadeClientes)
        {
            // Console.Clear();

            ViewPrograma.ShowSucesso();

            ViewPrinter.Print("\tQUANTIDADE DE CLIENTES: ");
            ViewPrinter.Println($" { quantidadeClientes } ", ConsoleColor.White, ConsoleColor.DarkGreen);
            Console.WriteLine();
            ViewPrograma.MensagemContinuarAtendimento();
        }
Ejemplo n.º 15
0
        public static bool EncerramentoComanda(int comandaId)
        {
            bool pedidosEmAberto = PedidoService.VerificarPedidosEmAberto(comandaId);

            Console.WriteLine();

            if (pedidosEmAberto)
            {
                ViewPrinter.Println("\tAinda há pedidos em aberto relacionados a esta comanda.", ConsoleColor.Black, ConsoleColor.Yellow);
                Console.WriteLine();
                ViewPrinter.Println("\tSe você continuar, estes pedidos serão incluídos no valor total!", ConsoleColor.Yellow);
                Console.WriteLine();
                ViewPrinter.Print("\tDeseja continuar o encerramento? (s/n) ");
                char continuar = char.Parse(Console.ReadLine());
                if (continuar == 'n')
                {
                    return(false);
                }

                Console.WriteLine();
                ViewPrinter.Print("\tPressione 'Enter' para visualizar o valor total a ser pago...");
                Console.ReadLine();
                Console.Clear();
            }
            else
            {
                ViewPrinter.Println("\t      ENCERRAMENTO DA COMANDA     ", ConsoleColor.White, ConsoleColor.DarkGreen);

                Console.WriteLine();

                ViewPrinter.Print("\tDeseja continuar com o encerramento? (s/n) ");
                char continuar = char.Parse(Console.ReadLine());
                if (continuar == 'n')
                {
                    return(false);
                }

                Console.WriteLine();
                ViewPrinter.Print("\tPressione 'Enter' para visualizar o valor total a ser pago...");
                Console.ReadLine();
                Console.Clear();
            }

            Console.WriteLine();

            MostrarComandaCompleta(comandaId);

            Console.WriteLine();
            ViewPrinter.Print("\tPressione 'Enter' para confirmar o pagamento! ", ConsoleColor.DarkGreen);
            Console.ReadLine();

            return(true);
        }
Ejemplo n.º 16
0
        public static void MostrarComandaCompleta(int comandaId)
        {
            MostrarAcompanhamento(comandaId, true);

            ViewPrinter.Println("\t--------------------------------------------------------", ConsoleColor.Cyan);

            ViewPrinter.Print("\tValor Final: ");
            ViewPrinter.Print($" R$ { ComandaService.CalcularValorComanda(comandaId, true).ToString("F2", CultureInfo.InvariantCulture) } ", ConsoleColor.White, ConsoleColor.Green);
            ViewPrinter.Print("\t * Incluído 10% garçom", ConsoleColor.Yellow);

            Console.WriteLine();
        }
Ejemplo n.º 17
0
        public static void LabelObterDadosMesa()
        {
            ViewPrinter.Println("\tObtendo dados da mesa \t", ConsoleColor.Yellow);

            Console.WriteLine();

            MostrarMesasDisponiveis();

            Console.WriteLine();

            ViewPrinter.Print("\tMesa: ");
        }
Ejemplo n.º 18
0
 public static void MostrarOpcaoMenu(int opcaoId, string descricao, bool operando = true)
 {
     ViewPrinter.Print($"\t[{ opcaoId }] ", ConsoleColor.Yellow);
     ViewPrinter.Print(descricao);
     if (!operando)
     {
         ViewPrinter.Println(" [Em breve]", ConsoleColor.Green);
     }
     else
     {
         ViewPrinter.Println(" ");
     }
 }
Ejemplo n.º 19
0
        public static void LabelObterQuantidadeClientes(int mesaId)
        {
            ViewPrinter.Println("\tObtendo quantidade de clientes \t", ConsoleColor.Yellow);

            Console.WriteLine();

            int quantidadeClientes = MesaService.ObterQuantidadeClientes(mesaId);

            ViewPrinter.Println($"\t  * A mesa [{ mesaId }] comporta, no máximo, { quantidadeClientes } pessoas  ", ConsoleColor.Black, ConsoleColor.Yellow);

            Console.WriteLine();

            ViewPrinter.Print("\tQuantidade de clientes: ");
        }
Ejemplo n.º 20
0
        public static bool ChamarOpcaoEscolhida(int comandaId, int opcaoEscolhida, int tipoExibicaoCardapio)
        {
            ViewPrinter.Print("\tOPCAO ESCOLHIDA: ");

            switch (opcaoEscolhida)
            {
            case 1:
                ViewPrinter.Println(" Fazer novo pedido ", ConsoleColor.White, ConsoleColor.DarkGreen);
                PressioneEnterParaContinuar("ir ao cardápio");
                ViewPedido.MostrarCardapio(comandaId, tipoExibicaoCardapio);
                break;

            case 2:
                ViewPrinter.Println(" Cancelar um pedido ", ConsoleColor.White, ConsoleColor.DarkGreen);
                Console.WriteLine();
                ViewPrinter.Println("\t    Esta funcionalidade ainda não está operando  ", ConsoleColor.Black, ConsoleColor.Yellow);
                break;

            case 3:
                ViewPrinter.Println(" Acompanhamento da comanda ", ConsoleColor.White, ConsoleColor.DarkGreen);
                PressioneEnterParaContinuar("visualizar o acompanhamento da comanda");
                ViewComanda.MostrarAcompanhamento(comandaId);
                break;

            case 4:
                ViewPrinter.Println(" Encerrar comanda ", ConsoleColor.White, ConsoleColor.DarkGreen);
                PressioneEnterParaContinuar("prosseguir com encerramento da comanda");
                bool encerrar = ViewComanda.EncerramentoComanda(comandaId);
                if (encerrar)
                {
                    ComandaService.EncerrarComanda(comandaId);
                    ViewPrinter.Println("\n\t    COMANDA FINALIZADA COM SUCESSO!    ", ConsoleColor.White, ConsoleColor.Green);
                    PressioneEnterParaContinuar("encerrar o atendimento");
                    return(false);
                }
                break;

            default:
                ViewPrinter.Println(" Opcao escolhida invalida! ", ConsoleColor.White, ConsoleColor.Red);
                break;
            }

            Console.WriteLine();
            MensagemContinuarAtendimento();

            return(true);
        }
Ejemplo n.º 21
0
        public static void MostrarListaProdutos(List <ProdutoMenuModel> listaProdutos)
        {
            listaProdutos.ForEach(produto =>
            {
                ViewPrinter.Print($"\t[ { produto.ProdutoId } ] { produto.Nome }");
                if (produto.Valor == 0)
                {
                    ViewPrinter.Println($" * INCLUSO * ", ConsoleColor.DarkGreen);
                }
                else
                {
                    ViewPrinter.Println($" R$ { produto.Valor } ", ConsoleColor.DarkCyan);
                }

                DivisorListaProdutos();
            });
        }
Ejemplo n.º 22
0
        public static void MostrarMesasDisponiveis()
        {
            var listaMesas = MesaService.ObterMesas(true);

            ViewPrinter.Print("\tMesas disponiveis: \n\t");

            ViewPrinter.Print(" # ", ConsoleColor.White, ConsoleColor.DarkGreen);

            foreach (MesaListagemModel mesa in listaMesas)
            {
                ViewPrinter.Print($"[{ mesa.MesaId }] ", ConsoleColor.White, ConsoleColor.DarkGreen);
            }

            ViewPrinter.Print("# ", ConsoleColor.White, ConsoleColor.DarkGreen);
            Console.WriteLine();

            // ViewPrinter.Print("] ", ConsoleColor.White, ConsoleColor.DarkGreen);
        }
Ejemplo n.º 23
0
        public static int SolicitarCategoria()
        {
            Console.WriteLine();
            ViewPrinter.Print("\tEscolha uma categoria: ", ConsoleColor.Green);
            Console.WriteLine();

            // Selecionar categoria de produto
            ViewProduto.DivisorListaProdutos();
            ViewProduto.MostrarTiposProduto();

            Console.WriteLine();
            ViewPrinter.Print("\tCategoria desejada: ");

            int categoria = int.Parse(Console.ReadLine());

            if (!TipoProdutoService.TipoProdutoValido(categoria))
            {
                bool categoriaValida = false;
                while (!categoriaValida)
                {
                    Console.Clear();

                    Console.WriteLine();
                    ViewPrinter.Println("\tCategoria selecionada inválida! ", ConsoleColor.White, ConsoleColor.Red);

                    Console.WriteLine();
                    ViewPrinter.Print("\tEscolha uma categoria: ", ConsoleColor.Green);
                    Console.WriteLine();

                    // Selecionar categoria de produto
                    ViewProduto.DivisorListaProdutos();
                    ViewProduto.MostrarTiposProduto();

                    Console.WriteLine();
                    ViewPrinter.Print("\tCategoria desejada: ");
                    categoria       = int.Parse(Console.ReadLine());
                    categoriaValida = TipoProdutoService.TipoProdutoValido(categoria);
                }
            }

            return(categoria);
        }
Ejemplo n.º 24
0
        public static void MostrarAcompanhamento(int comandaId, bool comandaCompleta = false)
        {
            Console.WriteLine();

            if (comandaCompleta)
            {
                ViewPrinter.Println("\t                  COMANDA DETALHADA                   ", ConsoleColor.White, ConsoleColor.DarkGreen);
            }
            else
            {
                ViewPrinter.Println("\t              ACOMPANHAMENTO DA COMANDA               ", ConsoleColor.White, ConsoleColor.DarkGreen);
            }

            var comanda = ComandaService.ObterComandaResumida(comandaId);

            ViewPrinter.Println("\t------------------------------------------------------");

            ViewPrinter.Print("\tNº Comanda: ");
            ViewPrinter.Println(comandaId.ToString(), ConsoleColor.Cyan);

            ViewPrinter.Print("\tMesa: ");
            ViewPrinter.Println($" [{ comanda.MesaId }] ", ConsoleColor.Blue, ConsoleColor.White);

            ViewPrinter.Print("\tQuantidade de pessoas: ");
            ViewPrinter.Print(comanda.QuantidadeClientes.ToString(), ConsoleColor.Cyan);
            if (comanda.QuantidadeClientes == 1)
            {
                ViewPrinter.Println(" pessoa");
            }
            else
            {
                ViewPrinter.Println(" pessoas");
            }

            /*ViewPrinter.Print("\tTempo em atividade: ");
             * TimeSpan tempo = ComandaService.CalcularTempoAtividade(comandaId);
             * string strTempo = string.Join(':', tempo.Hours, tempo.Minutes, tempo.Seconds);
             * ViewPrinter.Println(strTempo, ConsoleColor.Cyan);
             */
            ViewPrinter.Print("\tData/hora entrada: ");
            ViewPrinter.Println(comanda.DataHoraEntrada.ToString(), ConsoleColor.Cyan);

            ViewPrinter.Println("\t----------------------------------------------------------------");

            ViewPrinter.Println("\tPedidos relacionados a esta comanda: ");

            var listaPedidos = PedidoService.ObterPedidosPorComanda(comandaId);

            Console.WriteLine();

            ViewPrinter.Println("\t  #ID - Qtde  x  Produto   -   Valor   ---  Status ");
            ViewPrinter.Println("\t----------------------------------------------------------------");

            // Imprimindo os rodizios como pedidos
            ViewPrinter.Print($"\t   # - ");
            ViewPrinter.Print($"{ comanda.QuantidadeClientes } x Rodízio  -  R$ { MesaService.ValorRodizio.ToString("F2", CultureInfo.InvariantCulture) } --- ");
            ViewPrinter.Println(" Ativo ", ConsoleColor.White, ConsoleColor.Green);

            if (listaPedidos.Count == 0)
            {
                Console.WriteLine();
                ViewPrinter.Println("\t  Ainda não há pedidos relacionados a esta comanda  ", ConsoleColor.Black, ConsoleColor.Yellow);
            }
            else
            {
                listaPedidos.ForEach(pedido => {
                    var produto = ProdutoService.ObterProduto(pedido.ProdutoId, false);
                    var status  = StatusService.ObterStatus(pedido.Status);

                    ViewPrinter.Print($"\t   { pedido.PedidoId } - ");
                    ViewPrinter.Print($"{ pedido.Quantidade } x { produto.Nome }  -  ");

                    if (produto.Valor == 0)
                    {
                        ViewPrinter.Print("INCLUSO");
                    }
                    else
                    {
                        ViewPrinter.Print($"R$ { produto.Valor.ToString("F2", CultureInfo.InvariantCulture) }");
                    }

                    ViewPrinter.Print("  --- ");
                    switch (pedido.Status)
                    {
                    case 1: ViewPrinter.Print($" { status.Descricao } ", ConsoleColor.Black, ConsoleColor.Yellow); break;

                    case 2: ViewPrinter.Print($" { status.Descricao } ", ConsoleColor.White, ConsoleColor.Red); break;

                    case 3: ViewPrinter.Print($" { status.Descricao } ", ConsoleColor.White, ConsoleColor.Green); break;

                    default: ViewPrinter.Print($" { status.Descricao } ", ConsoleColor.Black, ConsoleColor.Gray); break;
                    }
                    Console.WriteLine();
                });
            }

            ViewPrinter.Println("\t------------------------------------------------------", ConsoleColor.Cyan);

            ViewPrinter.Print("\tValor parcial da comanda: ");
            ViewPrinter.Print($" R$ { comanda.Valor.ToString("F2", CultureInfo.InvariantCulture) } ", ConsoleColor.DarkBlue, ConsoleColor.White);

            Console.WriteLine();
        }