public async Task <List <ConsultaDronePedidoDTO> > ConsultaDrone()
        {
            var listaDrones = await _dronesRepository.GetAll();

            AtualizaStatusDrones(listaDrones);
            var drones = await _dronesRepository.GetAll();

            return(drones.Select(async d => await RetornConsultaDronePedido(d))
                   .ToList()
                   .Select(c => c.Result)
                   .ToList());
        }
Beispiel #2
0
        public async Task <List <ConsultaDronePedidoDTO> > ConsultaDrone()
        {
            var listaDrones = await _dronesRepository.GetAll();

            //AtualizaStatusDrones(listaDrones); Por enquanto os Drones nao serão atualizados via consulta de pedido, talvez um fila será responável por fazer essa atualização
            var drones = await _dronesRepository.GetAll();

            return(drones.Select(async d => await RetornaConsultaDronePedido(d))
                   .ToList()
                   .Select(c => c.Result)
                   .ToList());
        }
Beispiel #3
0
        public async Task <DroneEntity> SelecionarDrone(PedidoEntity pedido)
        {
            DroneEntity drone = null;

            var listaDrones = await _dronesRepository.GetAll();

            foreach (var item in listaDrones)
            {
                await AtualizaStatusDrones(item); //Aproveito para atualizar o status de cada drone

                if (!Disponivel(item))            //Se o drone não encontra-se disponível, então pula para verificar a disponibilidade do próximo
                {
                    continue;
                }

                var listPedidosDrone = await _droneQuery.RetornaConsultaDronePedido(item);

                if (SuportaPeso(listPedidosDrone, item, pedido) && TemAutonomiaSuficiente(listPedidosDrone, item, pedido))
                {
                    drone = item;
                    break;
                }
            }
            return(drone);
        }
Beispiel #4
0
        public void GetAll()
        {
            var result = _repositoryDrone.GetAll();

            Assert.NotNull(result);
        }