예제 #1
0
        public IActionResult OnPostFecharPedido([FromServices] FecharPedido.CommandHandler handler
                                                , [FromServices] ListarRestaurantes.QueryHandler listarHandler
                                                , [FromServices] ObterPedidoAberto.QueryHandler pedidoHandler
                                                , [FromServices] ObterPedidoNaoEntregue.QueryHandler naoEntregueHandler
                                                , [FromServices] ObterPrecoTotalDoPedido.QueryHandler precoHandler
                                                , [FromServices] GerarPagamentoCartao.CommandHandler pagamentoHandler)
        {
            string sessionCpf = HttpContext.Session.GetString("CpfCliente");

            if (!string.IsNullOrWhiteSpace(sessionCpf))
            {
                handler.Handle(new FecharPedido.Command
                {
                    PedidoId = PedidoAberto.FirstOrDefault().PedidoId,
                    Produtos = PedidoAberto.Select(p => new FecharPedido.ProdutoQuantidade {
                        ProdutoId = p.ProdutoId, Quantidade = p.Quantidade
                    }),
                    PagarComCartao = PagarNoCartao,
                    Cpf            = sessionCpf
                });
            }

            return(OnGet(listarHandler, pedidoHandler, naoEntregueHandler, precoHandler));
        }
예제 #2
0
 public CommandHandler(IDbConnection db
                       , GerarPagamentoCartao.CommandHandler handler)
 {
     connection       = db;
     pagamentoHandler = handler;
 }