/*
         * /
         * /Recebe um id do produto
         * /passa este id para a função
         * /que retorna o produto
         * /cria um obj Pedido
         * /insere este produto
         * /no pedido e pega o id do
         * /usuário da sessão e também
         * /insere no pedido manda este
         * /pedido para a view que o renderiza
         * /na tela
         * /
         */
        public async Task <IActionResult> Adicionar(int?id)
        {
            try
            {
                int userlogado = (int)_httpcontext.HttpContext.Session.GetInt32(Sessao.LOGADO);
                if (id == null)
                {
                    return(NotFound());
                }
                else
                {
                    Produto produto = await _funcService.FindProdById(id.Value);

                    if (produto == null)
                    {
                        return(BadRequest());
                    }
                    else
                    {
                        Pedido pedido = new();
                        pedido.Data          = DateTime.Now;
                        pedido.FuncionarioId = (int)_httpcontext.HttpContext.Session.GetInt32(Sessao.USUARIO_ID);
                        pedido.ProdutoId     = id.Value;
                        pedido.Produto       = produto;
                        PedidoFormViewModel viewModel = new() { Pedido = pedido, Produto = produto };
                        return(View(viewModel));
                    }
                }
            }
            catch
            {
                return(View("~/Views/Login/Index.cshtml"));
            }
        }