public async Task <bool> WriteAsync(IProject project, string location) { Argument.IsNotNull(() => project); Argument.IsNotNullOrWhitespace(() => location); Log.Debug("Writing all data to '{0}'", location); if (!await WriteToLocationAsync((TProject)project, location).ConfigureAwait(false)) { Log.Error("Failed to write all data to '{0}'", location); return(false); } project.Location = location; project.ClearIsDirty(); Log.Info("Wrote all data to '{0}'", location); return(true); }