public async Task PushAsync(string uri, string data) { var temporaryUri = Path.GetTempFileName(); await storageController.PushAsync(temporaryUri, data); fileController.Move(temporaryUri, uri); }
public async Task SerializePushAsync <T>(string uri, T data, IStatus status) { var serializedData = serializarionController.Serialize(data); var hash = await getStringHashAsyncDelegate.GetHashAsync(serializedData, status); var existingHash = await storedHashController.GetHashAsync(uri, status); // data has not changed, no need to write to storage if (hash == existingHash) { return; } await storedHashController.SetHashAsync(uri, hash, status); await storageController.PushAsync(uri, serializedData); }