Buy BPCL with a target of Rs 800: Edelweiss Financial Services