public void SetValue <T> (T value, DatabaseReferenceCompletionHandler completionHandler) where T : NSObject
        {
            if (completionHandler == null)
            {
                throw new ArgumentNullException(nameof(completionHandler));
            }

            if (!VerifyValidType(value))
            {
                throw new InvalidOperationException("Invalid parameter types");
            }

            _SetValue(value, completionHandler);
        }
        public void SetValues(NSObject [] values, DatabaseReferenceCompletionHandler completionHandler)
        {
            if (completionHandler == null)
            {
                throw new ArgumentNullException(nameof(completionHandler));
            }

            if (values == null)
            {
                _SetValue(null, completionHandler);
            }

            var nsArray = VerifyArray(values);

            _SetValue(nsArray, completionHandler);
        }
        public void SetValuesOnDisconnect <T> (T [] values, NSObject priority, DatabaseReferenceCompletionHandler completionHandler) where T : NSObject
        {
            if (completionHandler == null)
            {
                throw new ArgumentNullException(nameof(completionHandler));
            }

            if (values == null)
            {
                _SetValueOnDisconnect(null, priority, completionHandler);
            }

            var nsArray = VerifyArray(values);

            _SetValueOnDisconnect(nsArray, priority, completionHandler);
        }
Пример #4
0
        async Task <bool> SaveValues(NSDictionary data)
        {
            TaskCompletionSource <bool>        task       = new TaskCompletionSource <bool>();
            DatabaseReferenceCompletionHandler onComplete = (NSError error, DatabaseReference reference) =>
            {
                if (error != null)
                {
                    task.SetResult(false);
                    return;
                }

                task.SetResult(true);
            };

            entityNode.SetValue(value: data, completionHandler: onComplete);

            return(await task.Task);
        }