コード例 #1
0
        public IWriteBatch Set <T>(IDocumentReference document, T documentData, bool merge)
        {
            if (merge)
            {
                return(Set(document, documentData));
            }

            _writeBatch.Set(document.ToNative(), documentData.ToNativeFieldValues(), SetOptions.Merge());
            return(this);
        }
コード例 #2
0
        public void SetData(IDocumentReference document, object documentData, bool merge)
        {
            if (merge)
            {
                SetData(document, documentData);
                return;
            }

            _writeBatch.Set(document.ToNative(), documentData.ToNativeFieldValues(), SetOptions.Merge());
        }
コード例 #3
0
        public void SetData <T>(T documentData, bool merge, CompletionHandler handler) where T : class
        {
            if (!merge)
            {
                SetData(documentData, handler);
                return;
            }

            DocumentReference.Set(documentData.ToNativeFieldValues(), SetOptions.Merge()).AddOnCompleteListener(new OnCompleteHandlerListener((task) =>
            {
                handler?.Invoke(task.IsSuccessful ? null : new CloudFirestoreException(task.Exception.Message));
            }));
        }
コード例 #4
0
        public void SetData(object documentData, bool merge, CompletionHandler handler)
        {
            if (!merge)
            {
                SetData(documentData, handler);
                return;
            }

            _documentReference.Set(documentData.ToNativeFieldValues(), SetOptions.Merge()).AddOnCompleteListener(new OnCompleteHandlerListener((task) =>
            {
                handler?.Invoke(task.IsSuccessful ? null : ExceptionMapper.Map(task.Exception));
            }));
        }
コード例 #5
0
        public Task SetDataAsync <T>(T documentData, bool merge) where T : class
        {
            if (!merge)
            {
                return(SetDataAsync(documentData));
            }

            var tcs = new TaskCompletionSource <bool>();

            DocumentReference.Set(documentData.ToNativeFieldValues(), SetOptions.Merge()).AddOnCompleteListener(new OnCompleteHandlerListener((task) =>
            {
                if (task.IsSuccessful)
                {
                    tcs.SetResult(true);
                }
                else
                {
                    tcs.SetException(new CloudFirestoreException(task.Exception.Message));
                }
            }));

            return(tcs.Task);
        }
コード例 #6
0
        public Task SetDataAsync(object documentData, bool merge)
        {
            if (!merge)
            {
                return(SetDataAsync(documentData));
            }

            var tcs = new TaskCompletionSource <bool>();

            _documentReference.Set(documentData.ToNativeFieldValues(), SetOptions.Merge()).AddOnCompleteListener(new OnCompleteHandlerListener((task) =>
            {
                if (task.IsSuccessful)
                {
                    tcs.SetResult(true);
                }
                else
                {
                    tcs.SetException(ExceptionMapper.Map(task.Exception));
                }
            }));

            return(tcs.Task);
        }
コード例 #7
0
        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());
        }
コード例 #8
0
        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());
        }
コード例 #9
0
        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);
        }
コード例 #10
0
        public ITransaction Set <T>(IDocumentReference document, T documentData, bool merge)
        {
            if (merge)
            {
                return(Set(document, documentData));
            }

            _transaction.Set(document.ToNative(), documentData.ToNativeFieldValues(), SetOptions.Merge());
            return(this);
        }