public async Task LiberaDrone() { var listaDrones = await _dronesRepository.GetByStatus(DroneStatus.Pronto.ToString()); foreach (var item in listaDrones) { var listPedidosDrone = await _droneQuery.RetornaConsultaDronePedido(item); if (!TemPedido(listPedidosDrone)) //Se o drone ainda não tem pedido, então ele não será atualizado o seu status, pois não tem entrega para efetuar { continue; } if (listPedidosDrone != null) { foreach (var p in listPedidosDrone.Pedidos) { p.Status = PedidoStatus.EmTransito.ToString(); await _pedidosRepository.Atualizar(p); } } item.Status = DroneStatus.EmTransito; item.DataAtualizacao = DateTime.Now; await AtualizaDrone(item); } }
public void GetByStatus() { var status = _autoFaker.Generate <DroneStatus>(); var result = _repositoryDrone.GetByStatus(status.ToString()); Assert.Equal(status.ToString(), result.Result.FirstOrDefault().Status.ToString()); }
public async Task <DroneEntity> SelecionarDrone() { var listaDrones = await _dronesRepository.GetAll(); AtualizaStatusDrones(listaDrones); var drones = await _dronesRepository.GetByStatus(DroneStatus.Pronto); return(drones.Count > 0 ? drones[0] : null); }