public async Task <ActionResult <Drone> > GetDrone(Guid id) { var drone = await _droneQueries.ObterDrone(id); if (drone == null) { return(NotFound()); } return(Ok(drone)); }
public async Task <bool> Handle(EntregarPedidoCommand message, CancellationToken cancellationToken) { if (!ValidarComando(message)) { return(false); } var drone = await _droneQueries.ObterDrone(message.DroneId); var pedido = await _pedidoQueries.ObterPedido(message.PedidoId); var pedidoAlterado = new Pedido() { Peso = pedido.Peso, Latitude = pedido.Latitude, Longitude = pedido.Longitude, Id = pedido.Id }; var entrega = new Entrega() { DataPrevisao = message.DataPrevisao, DroneId = message.DroneId, PedidoId = message.PedidoId }; var itinerario = new DroneItinerario() { DroneId = drone.Id, StatusDrone = EStatusDrone.EmTransito, DataHora = DateTime.Now }; await _itinerarioRepository.InsertAsync(itinerario); await _itinerarioRepository.UnitOfWork.Commit(); await _entregaRepository.InsertAsync(entrega); await _entregaRepository.UnitOfWork.Commit(); pedidoAlterado.Entrega = entrega; await _pedidoRepository.UpdateAsync(pedidoAlterado); await _pedidoRepository.UnitOfWork.Commit(); return(true); }