public Task Handle(FazerPedido message, IMessageHandlerContext context)
        {
            Console.ForegroundColor = ConsoleColor.Red;
            Console.WriteLine($"Comando FazerPedido Recebido, PedidoId: {message.PedidoId}");

            //Criando exception
            //if (_random.Next(0, 5) == 0)
            //    throw new Exception("Oops");

            //Normalmente, é onde alguma lógica de negócios ocorreria
            var pedidoFeito = new PedidoFeito(message);

            Console.ForegroundColor = ConsoleColor.Green;
            Console.WriteLine($"Disparando evento de PedidoFeito, PedidoId: {message.PedidoId}");
            //Aqui estamos disparando o evento de PedidoFeito
            return(context.Publish(pedidoFeito));
        }
        public ActionResult PedidosARealizar()
        {
            PedidoDAO          dao      = new PedidoDAO();
            ItemPedidoDAO      dao2     = new ItemPedidoDAO();
            ProdutoDAO         dao3     = new ProdutoDAO();
            List <PedidoFeito> lista    = new List <PedidoFeito>();
            List <Pedido>      pedidos  = dao.Pedidos(Convert.ToInt32(((Loja)(Session["lo"])).Id));
            List <ItemPedido>  itens    = new List <ItemPedido>();
            List <Produto>     produtos = new List <Produto>();

            foreach (var a in pedidos)
            {
                ItemPedido  item = dao2.BuscaPorNome(a.CodPedido);
                Produto     p    = dao3.BuscaPorId(dao2.BuscaPorNome(a.CodPedido).CodProduto);
                PedidoFeito x    = new PedidoFeito();
                x.Nome        = p.Nome;
                x.Quantidade  = item.Quantidade;
                x.DataEntrega = a.DataEntrega;
                x.Endereco    = a.Endereco;
                lista.Add(x);
            }
            ViewBag.Pedido = lista;
            return(View());
        }