public IHttpActionResult GetAssign(int funcionario) { try { // Verificar se este funcionario ainda tem waves pendentes // Se tem, retornar essa wave dynamic pendingWave = PriIntegration.GetWaveActual(funcionario); if (pendingWave != null) { return(Ok(pendingWave)); } // Verificar se existem replenishment lines pendentes // Se sim, retorna uma nova replenishment wave Wave <ReplenishmentLine> pendingReplenishmentWave = PriIntegration.GetProximaReplenishmentOrder(funcionario); if (pendingReplenishmentWave != null) { return(Ok(pendingReplenishmentWave)); } // Por fim, verificar se existem picking waves pendentes // Se sim, retorna uma nova picking wave Wave <PickingLine> pendingPickingWave = PriIntegration.GetProximaPickingWave(funcionario); if (pendingPickingWave != null) { return(Ok(pendingPickingWave)); } } catch (InvalidOperationException invalidOperation) { return(BadRequest(invalidOperation.Message)); } catch (Exception e) { return(InternalServerError(e)); } return(StatusCode(HttpStatusCode.NoContent)); }