Esempio n. 1
0
		public void RunTransaction (FirestoreUpdateHandler updateHandler, TransactionCompletionHandler completion)
		{
			_RunTransaction (InternalUpdateHandler, completion);

			NSObject InternalUpdateHandler (Transaction transaction, IntPtr pError)
			{
				if (updateHandler == null)
					return null;

				var result = updateHandler (transaction, out NSError error);

				if (error != null)
					Marshal.WriteIntPtr (pError, error.Handle);

				return result;
			}
		}
Esempio n. 2
0
        public void RunTransaction(TransactionUpdateHandler updateHandler, TransactionCompletionHandler completion)
        {
            _RunTransaction(InternalUpdateHandler, completion);

            NSObject InternalUpdateHandler(Transaction transaction, IntPtr pError)
            {
                if (updateHandler == null)
                {
                    return(null);
                }

                NSError error  = null;
                var     result = updateHandler(transaction, ref error);

                if (error != null)
                {
                    Marshal.WriteIntPtr(pError, error.Handle);
                }

                return(result);
            }
        }