예제 #1
0
        public async Task <ActionResult <IEnumerable <SituacaoDroneDTO> > > GetDrone()
        {
            var drones = _unitOfWork.Drones.GetAll();

            IList <SituacaoDroneDTO> situacaoDrones = new List <SituacaoDroneDTO>();

            foreach (var drone in drones)
            {
                SituacaoDroneDTO situacaoDrone = new SituacaoDroneDTO();
                situacaoDrone.Drone = drone;

                DroneItinerario droneItinerario = _unitOfWork.DroneItinerario.GetAll().Where(i => i.DroneId == drone.Id).FirstOrDefault();

                if (droneItinerario == null)
                {
                    situacaoDrone.StatusDrone = EnumStatusDrone.Disponivel.ToString();
                }
                else
                {
                    situacaoDrone.StatusDrone = droneItinerario.StatusDrone.ToString();
                }

                var pedidos = _unitOfWork.Pedidos.GetAll().Where(p => p.Drone != null && p.Status != EnumStatusPedido.Entregue && p.Drone.Id == drone.Id).ToList();

                situacaoDrone.Pedidos = pedidos;

                situacaoDrones.Add(situacaoDrone);
            }

            return(Ok(situacaoDrones));
        }
예제 #2
0
        public async Task <ActionResult <IEnumerable <SituacaoDroneDTO> > > GetDrone()
        {
            var drones = await _droneRepository.GetAll();

            IList <SituacaoDroneDTO> situacaoDrones = new List <SituacaoDroneDTO>();

            foreach (var drone in drones)
            {
                SituacaoDroneDTO situacaoDrone = new SituacaoDroneDTO();
                situacaoDrone.Drone = drone;

                var droneItinerario = _droneItinerarioRepository.GetAll().Result.SingleOrDefault(x => x.DroneId == drone.Id);

                if (droneItinerario == null)
                {
                    situacaoDrone.StatusDrone = EnumStatusDrone.Disponivel.ToString();
                }
                else
                {
                    situacaoDrone.StatusDrone = droneItinerario.StatusDrone.ToString();
                }

                var pedidos = await _pedidoRepository.GetAll();

                situacaoDrone.Pedidos = pedidos.Where(p => p.Drone != null && p.Status != EnumStatusPedido.Entregue && p.Drone.Id == drone.Id).ToList();;

                situacaoDrones.Add(situacaoDrone);
            }

            return(Ok(situacaoDrones));
        }