I suggest that you collect and/or calculate all the information you need to save before you save it.
Consider this: If the conversion from address to lat/lng fails. Should the Save()
method actually save the object or not?
I would recommend that you put that logic somewhere else than in the Save()
method.
You could do like this:
// example object
private ObjectToSave PrepareObjectForPersistance()
{
return new ObjectToSave { LatLng = await ConvertAddressToLatLng(address) };
}
Then pass the object you want to save to the Save() method:
public void Save(ObjectToSave obejctToSave)
{
// Do whatever has to be done to save your object
}