Esempio n. 1
0
        public async Task <bool> Handle(AdicionarDroneItinerarioCommand message, CancellationToken cancellationToken)
        {
            if (!ValidarComando(message))
            {
                return(false);
            }

            //TODO: Itinerario adicionando duas vezes!!!

            await _droneItinerarioRepository.Adicionar(_mapper.Map <DroneItinerario>(message));

            return(await _droneItinerarioRepository.UnitOfWork.Commit());
        }
Esempio n. 2
0
        private async Task CriarDroneItinerario()
        {
            var dronesId = _droneRepository.ObterTodos().Result.Select(d => d.Id).ToList();

            var droneItininerarios = _droneItinerarioRepository.ObterTodos().Result.Select(i => i.DroneId).ToList();

            var dronesSemItinerario = dronesId.Except(droneItininerarios).ToList();

            foreach (var droneId in dronesSemItinerario)
            {
                DroneItinerario droneItinerario = new DroneItinerario();
                droneItinerario.InformarDataHora(DateTime.Now);
                droneItinerario.InformarStatusDrone(EnumStatusDrone.Disponivel);
                droneItinerario.InformarDrone(_droneRepository.ObterPorId(droneId).Result);
                await _droneItinerarioRepository.Adicionar(droneItinerario);
            }
        }
Esempio n. 3
0
        public async Task <bool> Handle(AdicionarDroneCommand request, CancellationToken cancellationToken)
        {
            if (!request.EhValido())
            {
                return(false);
            }

            var drone = new Drone();

            drone.Capacidade        = request.Capacidade;
            drone.Velocidade        = request.Velocidade;
            drone.Autonomia         = request.Autonomia;
            drone.Carga             = request.Carga;
            drone.AutonomiaRestante = request.AutonomiaRestante;

            await _droneRepository.Adicionar(drone);

            var resultDrone = await _droneRepository.UnitOfWork.Commit();

            if (resultDrone)
            {
                var droneItinerario = new DroneItinerario
                {
                    DataHora    = request.DataHora,
                    Drone       = drone,
                    DroneId     = drone.Id,
                    StatusDrone = request.StatusDrone
                };

                await _droneItinerarioRepository.Adicionar(droneItinerario);

                return(await _droneItinerarioRepository.UnitOfWork.Commit());
            }
            else
            {
                return(false);
            }
        }
Esempio n. 4
0
        public async Task <bool> Insert(DroneItinerario droneItinerario)
        {
            await _droneItinerarioRepository.Adicionar(droneItinerario);

            return(await _droneItinerarioRepository.UnitOfWork.Commit());
        }