public async Task <ActionResult <Pedido> > PostPedido(Pedido pedido)
        {
            pedido.DroneId          = null;
            pedido.DataHoraInclusao = DateTime.Now;

            DroneDTO droneDTO = await _pedidoService.DroneAtendePedido(pedido);

            if (droneDTO != null)
            {
                pedido.DroneId  = droneDTO.Drone.Id;
                pedido.Situacao = (int)EStatusPedido.DRONE_ASSOCIADO;

                var calculo = (droneDTO.Distancia / droneDTO.Drone.Velocidade);

                var pedidos = await _context.Pedido.ToListAsync();

                //Antes de colocar a data de finalizacao, verifica se o drone não tem outro pedido ainda nao finalizado
                //Caso tiver, considera a data de entrega a partir da data do pedido em aberto
                DateTime dataHoraEntrega = _pedidoService.BuscarDataEntregaPedidoAbertoDrone(pedidos, droneDTO.Drone.Id);

                pedido.DataHoraFinalizacao = dataHoraEntrega.AddHours(calculo);

                //Atualiza o drone com as novas capacidades de acordo com o pedido atendido
                _context.Entry(droneDTO.Drone).State = EntityState.Modified;
            }
            else
            {
                pedido.Situacao            = (int)EStatusPedido.RECUSADO;
                pedido.DataHoraFinalizacao = DateTime.Now;
            }

            _context.Pedido.Add(pedido);
            await _context.SaveChangesAsync();

            return(CreatedAtAction("GetPedido", new { id = pedido.Id }, pedido));
        }