private FloorRequest GetNextRequestBelow() { FloorRequest nextRequestBelow = FloorsBelowCurrent(_downDirectionQueue)?.FirstOrDefault(); if (null == nextRequestBelow) { FloorRequest lowestUpRequest = _upDirectionQueue.Peek(); nextRequestBelow = (lowestUpRequest?.Floor <= CurrentFloor) ? lowestUpRequest : null; } return(nextRequestBelow); }
private FloorRequest GetNextRequestAbove() { var nextRequestAbove = FloorsAboveCurrent(_upDirectionQueue)?.FirstOrDefault(); if (null == nextRequestAbove) { FloorRequest highestDownRequest = _downDirectionQueue.Peek(); nextRequestAbove = (highestDownRequest?.Floor >= CurrentFloor) ? highestDownRequest : null; } return(nextRequestAbove); }