what's the point of having a switch if cases are ignored ? the additional inner if check makes it less clear and readable.
since you moved out for the switch the oldRating part, you might aswell move out any other shared code.