You should check if IsDirty==false after saving. In some cases the save command may fail (for example, if the save would overwrite changes done outside MD). If a save fails, you should show a message to the user and cancel the commit.