public async Task <List <PedidoDrone> > RetornaPedidosEmAbertoAsync() { List <PedidoDrone> pedidoDrones = new List <PedidoDrone>(); var busca = await Context.PedidoDrones.Where(FiltroPedidosEmAberto()).ToListAsync(); if (busca.Count > 0) { foreach (var b in busca) { var pedido = await _pedidoRepository.FindOneAsync(p => p.Id == ObjectId.Parse(b.PedidoId.ToString())); pedido.Cliente = await _clienteRepository.GetByIdAsync(pedido.ClienteId); var pedidoDrone = new PedidoDrone { Id = b.Id, DataHoraFinalizacao = b.DataHoraFinalizacao, DroneId = b.DroneId, PedidoId = b.PedidoId, Distancia = b.Distancia, StatusEnvio = b.StatusEnvio, //Pedido = pedido, Drone = await _droneRepository.GetByIdAsync(b.DroneId), }; pedidoDrones.Add(pedidoDrone); } } return(pedidoDrones); }
public async Task ProcessaPagamentosAsync(List <PagamentoStatusDto> pagamentoStatus) { foreach (var item in pagamentoStatus) { var pedido = await _pedidoRepository.FindOneAsync(p => p.GatewayPagamentoId == item.IdPagamento.ToString()); if (item.Status.IsSuccess()) { pedido.Situacao = (int)StatusPedido.AGUARDANDO; pedido.Pagamento.StatusPagamento = item.Status; _pedidoRepository.ReplaceOne(pedido); } } }