public IDocumentSnapshot Get(IDocumentReference document) { var snapshot = _transaction.GetDocument(document.ToNative(), out var error); if (error != null) { throw ExceptionMapper.Map(error); } return(new DocumentSnapshotWrapper(snapshot !)); }
public IDocumentSnapshot Get(IDocumentReference document) { var wrapper = (DocumentReferenceWrapper)document; var snapshot = _transaction.GetDocument((DocumentReference)wrapper, out var error); if (error != null) { throw ExceptionMapper.Map(error); } return(new DocumentSnapshotWrapper(snapshot)); }
public IDocumentSnapshot GetDocument(IDocumentReference document) { var wrapper = (DocumentReferenceWrapper)document; var snapshot = Transaction.GetDocument(wrapper.DocumentReference, out var error); if (error != null) { throw new NSErrorException(error); } return(new DocumentSnapshotWrapper(snapshot)); }
public ITransaction Set <T>(IDocumentReference document, T documentData, bool merge) { if (merge) { return(Set(document, documentData)); } var wrapper = (DocumentReferenceWrapper)document; _transaction.Set((DocumentReference)wrapper, documentData.ToNativeFieldValues(), SetOptions.Merge()); return(this); }
public void SetData <T>(IDocumentReference document, T documentData, bool merge) where T : class { if (merge) { SetData(document, documentData); return; } var wrapper = (DocumentReferenceWrapper)document; WriteBatch.Set(wrapper.DocumentReference, documentData.ToNativeFieldValues(), SetOptions.Merge()); }
public void SetData(IDocumentReference document, object documentData, bool merge) { if (merge) { SetData(document, documentData); return; } var wrapper = (DocumentReferenceWrapper)document; _writeBatch.Set((DocumentReference)wrapper, documentData.ToNativeFieldValues(), SetOptions.Merge()); }
public IDocumentSnapshot <T> GetDocument <T>(IDocumentReference document) { var snapshot = _wrapped.GetDocument(document.ToNative(), out var error).ToAbstract <T>(); if (error == null) { return(snapshot); } else { throw new FirebaseException(error.LocalizedDescription); } }
public async Task <string> CreateProject(Project project, List <Stream> images) { string error = _projectValidation.ValidateProject(project); if (string.IsNullOrEmpty(error)) { IDocumentReference document = _collectionReference.CreateDocument(); await document.SetDataAsync(project); error = await AddProjectImages(document.Id, images); } return(error); }
public static IObservable <IDocumentSnapshot> AsObservable(this IDocumentReference document) { return(Observable.Create <IDocumentSnapshot>(observer => { return document.AddSnapshotListener((snapshot, error) => { if (error != null) { observer.OnError(error); } else { observer.OnNext(snapshot !); } }); })); }
public static IObservable <IDocumentSnapshot> AsObservable(this IDocumentReference document) { return(Observable.Create <IDocumentSnapshot>(observer => { var registration = document.AddSnapshotListener((snapshot, error) => { if (error != null) { observer.OnError(error); } else { observer.OnNext(snapshot); } }); return Disposable.Create(registration.Remove); })); }
public ITransaction SetData(IDocumentReference document, Dictionary <object, object> data, SetOptions options = null) { if (options == null) { return(_wrapped.SetData(data, document.ToNative()).ToAbstract()); } switch (options.Type) { case SetOptions.TypeMerge: return(_wrapped.SetData(data, document.ToNative(), true).ToAbstract()); case SetOptions.TypeMergeFieldPaths: return(_wrapped.SetData(data, document.ToNative(), options.FieldPaths.Select(x => new FieldPath(x.ToArray())).ToArray()).ToAbstract()); case SetOptions.TypeMergeFields: return(_wrapped.SetData(data, document.ToNative(), options.Fields.ToArray()).ToAbstract()); default: throw new ArgumentException($"SetOptions type {options.Type} is not supported."); } }
private async void Home_PanicButtonEventHandler(object sender, EventArgs e) { CrossCloudFirestore .Current .Instance .Collection("PEOPLE") .Document(FirebaseAuth.Instance.Uid) .AddSnapshotListener(async(value, error) => { if (value.Exists) { var users = value.ToObject <AppUsers>(); Dictionary <string, object> data = new Dictionary <string, object>(); data.Add("Uid", FirebaseAuth.Instance.CurrentUser.Uid); data.Add("TimeDate", FieldValue.ServerTimestamp); dbref = await CrossCloudFirestore .Current .Instance .Collection("EMERGENCY") .AddAsync(data); var stream = Resources.Assets.Open("ServiceAccount.json"); var fcm = FirebaseHelper.FirebaseAdminSDK.GetFirebaseMessaging(stream); FirebaseAdmin.Messaging.Message message = new FirebaseAdmin.Messaging.Message() { Topic = "alerts", Notification = new Notification() { Title = "Emergency Alert", Body = $"${users.Username} may be in need of emergency assistance, please contact him on ${users.PhoneNumber} or contact the police and provide the address in the alert locator in the map.", }, }; await fcm.SendAsync(message); } }); }
public void DeleteDocument(IDocumentReference document) { var wrapper = (DocumentReferenceWrapper)document; Transaction.DeleteDocument(wrapper.DocumentReference); }
public void UpdateData <T>(IDocumentReference document, T fields) where T : class { var wrapper = (DocumentReferenceWrapper)document; Transaction.UpdateData(fields.ToNativeFieldValues(), wrapper.DocumentReference); }
public void SetData <T>(IDocumentReference document, T documentData, bool merge) where T : class { var wrapper = (DocumentReferenceWrapper)document; Transaction.SetData(documentData.ToNativeFieldValues(), wrapper.DocumentReference, merge); }
public ITransaction Update <T>(IDocumentReference document, T fields) { _transaction.UpdateData(fields.ToNativeFieldValues() !, document.ToNative()); return(this); }
public void UpdateData <T>(IDocumentReference document, string field, T value, params object[] moreFieldsAndValues) { var wrapper = (DocumentReferenceWrapper)document; WriteBatch.Update(wrapper.DocumentReference, field, value.ToNativeFieldValue(), moreFieldsAndValues.Select(x => x.ToNativeFieldValue()).ToArray()); }
public void UpdateData(IDocumentReference document, object fields) { var wrapper = (DocumentReferenceWrapper)document; _writeBatch.Update((DocumentReference)wrapper, fields.ToNativeFieldValues()); }
public void SetData(IDocumentReference document, object documentData, params FieldPath[] mergeFields) { var wrapper = (DocumentReferenceWrapper)document; _writeBatch.Set((DocumentReference)wrapper, documentData.ToNativeFieldValues(), SetOptions.MergeFieldPaths(new JavaList <Firebase.Firestore.FieldPath>(mergeFields.Select(x => x.ToNative())))); }
public void SetData(IDocumentReference document, object documentData, params string[] mergeFields) { var wrapper = (DocumentReferenceWrapper)document; _writeBatch.Set((DocumentReference)wrapper, documentData.ToNativeFieldValues(), SetOptions.MergeFields(mergeFields)); }
public void SetData(IDocumentReference document, object documentData) { var wrapper = (DocumentReferenceWrapper)document; _writeBatch.Set((DocumentReference)wrapper, documentData.ToNativeFieldValues()); }
public void UpdateData(IDocumentReference document, string field, object?value, params object?[] moreFieldsAndValues) { Update(document, field, value, moreFieldsAndValues); }
public void SetData <T>(IDocumentReference document, T documentData) where T : class { var wrapper = (DocumentReferenceWrapper)document; WriteBatch.Set(wrapper.DocumentReference, documentData.ToNativeFieldValues()); }
public void UpdateData(IDocumentReference document, FieldPath field, object value, params object[] moreFieldsAndValues) { var wrapper = (DocumentReferenceWrapper)document; _writeBatch.Update((DocumentReference)wrapper, field.ToNative(), value.ToNativeFieldValue(), moreFieldsAndValues.Select(x => x.ToNativeFieldValue()).ToArray()); }
public void SetData <T>(IDocumentReference document, T documentData, string[] mergeFields) where T : class { var wrapper = (DocumentReferenceWrapper)document; WriteBatch.Set(wrapper.DocumentReference, documentData.ToNativeFieldValues(), SetOptions.MergeFields(mergeFields)); }
public IWriteBatch SetData(IDocumentReference document, Dictionary <object, object> data, SetOptions options = null) { return(options == null ? _wrapped.Set(document.ToNative(), data.ToHashMap()).ToAbstract() : _wrapped.Set(document.ToNative(), data.ToHashMap(), options.ToNative()).ToAbstract()); }
public void UpdateData <T>(IDocumentReference document, T fields) where T : class { var wrapper = (DocumentReferenceWrapper)document; WriteBatch.Update(wrapper.DocumentReference, fields.ToNativeFieldValues()); }
public IWriteBatch SetData(IDocumentReference document, params (object, object)[] data)
public void DeleteDocument(IDocumentReference document) { var wrapper = (DocumentReferenceWrapper)document; WriteBatch.Delete(wrapper.DocumentReference); }
public void UpdateData(IDocumentReference document, object fields) { _transaction.UpdateData(fields.ToNativeFieldValues() !, document.ToNative()); }