ok, here my recommendations of wearing shorts:
markets and supermarkets: yes
temples: no (shorts that cover knees are ok)
government offices: no
business offices: no
business meetings: no
casual meetings: depends who you meet
shops: yes
fine dining: no (not eveen for lunch)
mid to low range restaurants: yes
hotels: yes (in 5 star dress with style)
hotels lounges: yes (in 5 star dress with style)
public transportation: yes
entertainment areas: yes
certain restaurants or rooftops have anyway dress codes