public bool Save(Func <string> chooseFileName) { if (string.IsNullOrEmpty(chosenFileName)) { chosenFileName = chooseFileName(); if (chooseFileName == null) { return(false); } } bool estateSave = _estateManager.BinarySerialize(chosenFileName + ".estates"); bool addressSave = _addressManager.BinarySerialize(chosenFileName + ".addresses"); if (estateSave && addressSave) { UnsavedChanges = false; return(true); } return(false); }