It might be best to translate this so that the reader understands that David had other people do this for him. AT: "David had workers build houses for him ... He had them prepare" (See: [[rc://en/ta/man/translate/figs-metonymy]])
Here the word "all" is a generalization. The phrase "all Israel" means that David assembled people from all over Israel, not that he assembled every person in Israel. AT: "David assembled at Jerusalem people from all over Israel" (See: [[rc://en/ta/man/translate/figs-hyperbole]])