N.B.: I'm not living at the same location as my fiancée right now, so I can't take action directly.
My fiancée has a Shih Tzu who'll soon be 5 years old. He had a habit of refusing do his business outside (when it's cold, raining, etc.), and did it inside the house instead.
But lately, he doesn't want to get outside at all, and is doing his business in spots where he usually doesn't do it (below a table for example). Sometimes, he does it barely 2 minutes after refusing to go outside, despite the weather being warm and it's not raining.
Today, he even did his business in front of my fiancée, despite yelling at him. He stopped only when he was done. We initially thought it was linked to the death of a recent family member, but he started acting like this months before.
My fiancée considered using a repellant, but she changed her mind when she realised the product was a health hazard for pets.
Although they (my fiancée and her mother) are yelling on him (the dog), clapping their hands or hitting the ground, he still refuses to do his business outside. For a while now, he's being stubborn and refuses to obey (for example, when he's jumping around or chew softly and we tell him to stop, he's not listening either).
He's been to the veterinarian 3 months ago, and they didn't find anything weird about the dog (his health is good, and his behaviour wasn't out of the ordinary). He usually is an excited dog, but he's not a bad one.
How can she get the dog to start obeying again, and do his business outside in the garden?