Rewrite budget fragment to use repositories