コード例 #1
0
        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);
        }
コード例 #2
0
        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);
                }
            }
        }