Sensex trades up over 800 points, while Nifty holds gains of over 200 points in afternoon trade