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()); }
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); } }
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); } }
public async Task <bool> Insert(DroneItinerario droneItinerario) { await _droneItinerarioRepository.Adicionar(droneItinerario); return(await _droneItinerarioRepository.UnitOfWork.Commit()); }