public void SetRace(string code) { if (!_raceDictionary.ContainsKey(code)) { return; } AutoUpdating = false; _race = _raceDictionary[code]; DBError error; if (_raceStore != null) { _raceStore.Close(); } var manager = DBDatastoreManager.Manager(DBAccountManager.SharedManager.LinkedAccount); _raceStore = manager.OpenDatastore(_race.DataStoreID, out error); _raceStore.Sync(out error); UpdateBoatInformation(); UpdateEventData(true); _raceStore.AddObserver(_raceStore, () => { UpdateEventData(false); // true will curtail the write each time }); AutoUpdating = true; }
public void Init() { if (_generalStore != null) { return; } DBError error; var manager = DBDatastoreManager.Manager(DBAccountManager.SharedManager.LinkedAccount); if (string.IsNullOrEmpty(DatastoreId)) { _generalStore = manager.CreateDatastore(out error); Debug.WriteLine("Datastore created, take a note of this:", _generalStore.DatastoreId); _generalStore.SetRole("public", DBRole.Editor); } else { _generalStore = manager.OpenDatastore(DatastoreId, out error); } _generalStore.Sync(out error); // DeleteAll(); _generalStore.Sync(out error); _generalStore.AddObserver(_generalStore, () => { LoadData(); }); AutoUpdating = true; if (!_generalStore.Status.IsConnected) { LoadData(); } }
public void AddRaceCode(string code) { if (!_raceDictionary.ContainsKey(code)) { AutoUpdating = false; var race = new DropboxRace { Code = code }; var manager = DBDatastoreManager.Manager(DBAccountManager.SharedManager.LinkedAccount); DBError error; var racestore = manager.CreateDatastore(out error); racestore.SetRole("public", DBRole.Editor); racestore.SyncAsync(); race.DataStoreID = racestore.DatastoreId; _raceStore = racestore; _raceDictionary.Add(code, race); UpdateRaceInformation(race); SetRace(code); AutoUpdating = true; } LoadData(); }