private void SubscribeToStatisticsChanged(DatabaseModel databaseModel) { databaseModel.Statistics .ObservePropertyChanged() .TakeUntil(databaseChanged) .SubscribeWeakly(this, (target, e) => target.RaiseCanExecuteChanged()); }
private void SelectDatabase(DatabaseModel database) { var urlParser = new UrlParser(UrlUtil.Url); urlParser.SetQueryParam("database", database.Name); urlParser.NavigateTo(); }
public void SetCurrentDatabase(UrlParser urlParser) { var databaseName = urlParser.GetQueryParam("database"); if (databaseName == null) { defaultDatabase = new[] {new DatabaseModel(DefaultDatabaseName, documentStore.AsyncDatabaseCommands)}; Databases.Set(defaultDatabase); SelectedDatabase.Value = defaultDatabase[0]; return; } if (SelectedDatabase.Value != null && SelectedDatabase.Value.Name == databaseName) return; var database = Databases.FirstOrDefault(x => x.Name == databaseName); if (database != null) { SelectedDatabase.Value = database; return; } singleTenant = urlParser.GetQueryParam("api-key") != null; var databaseCommands = databaseName.Equals("default", StringComparison.OrdinalIgnoreCase) ? documentStore.AsyncDatabaseCommands.ForDefaultDatabase() : documentStore.AsyncDatabaseCommands.ForDatabase(databaseName); var databaseModel = new DatabaseModel(databaseName, databaseCommands); Databases.Add(databaseModel); SelectedDatabase.Value = databaseModel; }
private bool Equals(DatabaseModel other) { if (ReferenceEquals(null, other)) return false; if (ReferenceEquals(this, other)) return true; return Equals(other.name, name); }
private void HandleDatabaseChanged(DatabaseModel databaseModel) { RaiseCanExecuteChanged(); SubscribeToStatisticsChanged(databaseModel); }
public void SetCurrentDatabase(UrlParser urlParser) { var databaseName = urlParser.GetQueryParam("database"); if (databaseName == null) return; if (SelectedDatabase.Value != null && SelectedDatabase.Value.Name == databaseName) return; var database = Databases.FirstOrDefault(x => x.Name == databaseName); if (database != null) { SelectedDatabase.Value = database; } else { var databaseModel = new DatabaseModel(databaseName, documentStore.AsyncDatabaseCommands.ForDatabase(databaseName)); Databases.Add(databaseModel); SelectedDatabase.Value = databaseModel; } }
public PerDatabaseState this[DatabaseModel database] { get { return this[database.Name]; } }
public void SetCurrentDatabase(UrlParser urlParser) { var databaseName = urlParser.GetQueryParam("database"); if (databaseName == null) { SelectedDatabase.Value = defaultDatabase[0]; return; } if (SelectedDatabase.Value != null && SelectedDatabase.Value.Name == databaseName) return; var database = Databases.FirstOrDefault(x => x.Name == databaseName); if (database != null) { SelectedDatabase.Value = database; return; } singleTenant = urlParser.GetQueryParam("api-key") != null; var databaseModel = new DatabaseModel(databaseName, documentStore); Databases.Add(databaseModel); SelectedDatabase.Value = databaseModel; }
public PerDatabaseState this[DatabaseModel database] { get { return(this[database.Name]); } }