This can be simplified to the following.
public void Rotate (int degrees) {
    this.orientation = (this.orientation + degrees) % 360;
    if (this.orientation < 0) this.orientation += 360;
}
C# follows the same rules as C and C++ and angle % 360 will give you a value between -359 and 359 for any integer. Then the second line is to ensure it's in the range 0 through 359 inclusive.
If you wanted to be "clever", you could get it down to one line:
this.orientation = (this.orientation + (degrees % 360) + 360) % 360;
This would keep it positive under all conditions but that's a nasty hack for saving one line of code, so I wouldn't do it, but I will explain it.
From degrees % 360 you will get a number between -359 and 359. Adding 360 will modify the range to between 1 and 719. If orientation is already positive, adding this will guarantee it still is, and the final % 360 will bring it back to the range 0 through 359.
At a bare minimum, you could simplify your code since the ifs and whiles can be combined. For example, the result of the conditions in these two lines is always the same, hence you don't need the surrounding if:
if (this.orientation < 0) {
   while (this.orientation < 0) {
So, to that end, you could do:
public void Rotate (int degrees) {
    this.orientation += degrees;
    while (this.orientation <   0) this.orientation += 360;
    while (this.orientation > 359) this.orientation -= 360;
}
but I'd still go for the modulus version since it avoids potentially expensive loops.
This will be important when a user enters 360,000,000,000 for the rotation (and they will do this, believe me) and then find they have to take an early lunch while your code grinds away :-)