public void OnComplete(DatabaseError error, bool committed, DataSnapshot currentData) { onCompletion?.OnComplete(error == null); if (error != null) { onCompletion?.OnError(new FirebaseException(error)); } }
public void Update <T>(T data, FirebasePromise <bool> onCompletion = null) { databaseReference.UpdateChildValues(DataConverter.ToDictionary(data), (error, reference) => { if (onCompletion != null) { onCompletion.OnComplete(error == null); if (error != null) { onCompletion.OnError(new FirebaseException(error)); } } }); }
public void Remove(FirebasePromise <bool> onCompletion = null) { var rootNode = databaseReference; rootNode.RemoveValue((error, reference) => { if (onCompletion != null) { onCompletion.OnComplete(error == null); if (error != null) { onCompletion.OnError(new FirebaseException(error)); } } }); }
public string Put <T>(T data, FirebasePromise <bool> onCompletion = null) { var nativeData = DataConverter.ToNative(data); databaseReference.SetValue(nativeData, (error, reference) => { if (onCompletion != null) { onCompletion.OnComplete(error == null); if (error != null) { onCompletion.OnError(new FirebaseException(error)); } } }); return(databaseReference.Key); }
public string Push <T>(T data, FirebasePromise <bool> onCompletion = null) { var rootNode = databaseReference; rootNode = rootNode.GetChildByAutoId(); rootNode.SetValue(DataConverter.ToNative(data), (error, reference) => { if (onCompletion != null) { onCompletion.OnComplete(error == null); if (error != null) { onCompletion.OnError(new FirebaseException(error)); } } }); return(rootNode.Key); }
public void PutFile(string path, string uri, FirebasePromise <FirebaseFileResult> onCompleted) { var uploadReference = storage.GetRootReference().GetChild(path); uploadReference.PutFile(NSUrl.FromFilename(uri), null, async(metadata, error) => { try { var downloadUrl = await uploadReference.GetDownloadUrlAsync(); onCompleted?.OnComplete(new FirebaseFileResult() { IsSuccess = error == null, DownloadUrl = downloadUrl.AbsoluteString }); } catch (Exception ex) { onCompleted?.OnError(new FirebaseException(ex)); } }); }
public void Transaction <T>(Action <FirebaseMutableData <T> > transaction, FirebasePromise <bool> onCompletion = null) { var rootNode = databaseReference; rootNode.RunTransaction((currentData) => { if (transaction != null) { transaction.Invoke(new IosMutableData <T>(currentData)); } return(TransactionResult.Success(currentData)); }, (error, commited, snapshot) => { if (onCompletion != null) { onCompletion.OnComplete(commited); if (error != null) { onCompletion.OnError(new FirebaseException(error)); } } }); }