public async Task <IActionResult> Create([Bind("PessoaID,Nome,Idade")] Pessoa pessoa) { if (ModelState.IsValid) { _context.Add(pessoa); await _context.SaveChangesAsync(); return(RedirectToAction(nameof(Index))); } return(View(pessoa)); }
public async Task <Pedido> Executar(CancelarPedidoComando comando) { var pedido = await _contextoSql.Pedidos.Include(x => x.Itens).FirstOrDefaultAsync(x => x.Id == comando.PedidoId); pedido.Cancelado(); await _contextoSql.SaveChangesAsync(); return(pedido); }
public async Task <Pedido> Executar(NovoPedidoComando comando) { var pedido = Pedido.Criar( Guid.NewGuid().ToString(), comando.ClienteId, comando.Itens.Select(i => Pedido.Item.Criar(i.ProdutoId, i.Quantidade, i.Valor)).ToList()); await _contextoSql.Pedidos.AddAsync(pedido); await _contextoSql.SaveChangesAsync(); return(pedido); }
public async Task <Pedido> ExecutarAsync(CriarPedidoComando comando) { var pedido = Pedido.Criar( comando.ProcessoId, comando.SocioId, comando.Itens.Select(i => Pedido.Item.Criar(i.DividaId, i.Valor)).ToList()); await _contextoSql.Pedidos.AddAsync(pedido); await _contextoSql.SaveChangesAsync(); return(pedido); }
public async Task <Pedido> Executar(BoletoRecebidoComando comando) { var pedido = await _contextoSql.Pedidos.Include(x => x.Itens).FirstOrDefaultAsync(x => x.Id == comando.PedidoId); var transacao = Transacao.CriarAprovado(comando.PedidoId); pedido.PagamentoAprovado(transacao); await _contextoSql.AddAsync(transacao); await _contextoSql.SaveChangesAsync(); return(pedido); }
public async Task <Boleto> Executar(GerarBoletoComando comando) { var pedido = await _contextoSql.Pedidos.Include(x => x.Itens).FirstOrDefaultAsync(x => x.Id == comando.PedidoId); var boleto = new Boleto(Guid.NewGuid().ToString(), pedido.Id, pedido.ClienteId, DateTime.UtcNow.AddDays(3), pedido.ValorTotal); pedido.AguardandoPagamento(); await _contextoSql.Boletos.AddAsync(boleto); await _contextoSql.SaveChangesAsync(); return(boleto); }
public async Task <Pagamento> ExecutarAsync(SolicitarPagamentoComando comando) { var pagamento = Pagamento.Criar(comando.PedidoId, comando.Valor); var resultadoPagamento = await _pagamentoService.RealizarPagamentoAsync(pagamento, comando.Pagador); if (!resultadoPagamento.EhSucesso) { pagamento.Erro(); } await _contextoSql.Pagamentos.AddAsync(pagamento); await _contextoSql.SaveChangesAsync(); return(pagamento); }
public async Task <Resultado <Pedido> > ExecutarAsync(FecharPedidoComando comando) { var pedido = await _contextoSql.Pedidos.Include(c => c.Itens).FirstOrDefaultAsync(c => c.Id == comando.PedidoId); var pagamento = await _contextoSql.Pagamentos.FindAsync(comando.PagamentoId); if (pagamento.Status == Pagamento.EStatus.EmAnalise) { return(Falha.NovaFalha(Motivo.Novo("ErroAoFecharPedido", "Pagamento está em análise"))); } if (pagamento.Status == Pagamento.EStatus.Aprovado) { pedido.Pago(); } if (pagamento.Status == Pagamento.EStatus.Negado) { pedido.Cancelado(); } await _contextoSql.SaveChangesAsync(); return(pedido); }
public void Commit() { _context.SaveChangesAsync(); }