Пример #1
0
        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;
        }