Ejemplo n.º 1
0
        /// <summary>
        /// WARNING complex types for field values not supported
        /// </summary>
        /// <param name="changes"></param>
        /// <returns></returns>
        public override async Task PerformBatchUpdate(IEnumerable <RemoteDataChange> changes)
        {
            var changeDictionary = ClassPool.SpawnOrCreate <Dictionary <string, object> >(() => new Dictionary <string, object>());

            foreach (var change in changes)
            {
                changeDictionary.Add(change.FullPath, change.FieldValue);
            }
            var rootRef = FirebaseDatabase.DefaultInstance.RootReference;
            await rootRef.UpdateChildrenAsync(changeDictionary);

            foreach (var change in changes)
            {
                change.ApplyCallback?.Invoke(change);
                change.Dispose();
            }
            ClassPool.Despawn <Dictionary <string, object> >(changeDictionary, null);
        }
Ejemplo n.º 2
0
 public void Dispose()
 {
     ClassPool.Despawn(this, null);
 }