public void SetData(DataSnapshot data) { if (data.Child("name").Exists()) { Name = data.Child("name").Value.ToString(); } if (data.Child("data").Exists()) { foreach (DataSnapshot datum in data.Child("data").Children.ToEnumerable()) { if (this.data.Keys.Contains(datum.Key)) { this.data[datum.Key] = datum.Value.ToString(); } else { this.data.Add(datum.Key, datum.Value.ToString()); } } } else { this.data.Clear(); } controller.NotifyDataChanged(this.data); }