First of all be consistent and this will pass. It should not be affecting your quality time.
My now 22 yr old started whining as a toddler and I made this little jingle up. EVERY time she started whining, I said my jingle and to this day... when I say Wendy, she knows EXACTLY what I am saying. I didn't lose my cool, the jingle just distracted her.
"Wendy Whiner go away, come again another day". EVERYTIME she whined, I said that which stopped the whining and she changed her tone of voice to a "big girl" voice.
She got bossy later as well and I changed it up and said Bossy Betty go away and come again another day.
Sometimes you don't need the angry tone of voice with children, just switch things up on them and the distraction works.
I am also in the classroom as a sub (17 years) mostly the younger children... we just ask them to use their big girl/boy voices and say we can't understand whining