/// <summary> /// Gets a list of all the databases in the current context. /// </summary> /// <returns>An array of databases in the current context</returns> public Database[] GetDatabases() { this.clientRequestId = SqlDatabaseCmdletBase.GenerateClientTracingId(); // Get the SQL management client SqlManagementClient sqlManagementClient = this.subscription.CreateClient <SqlManagementClient>(); this.AddTracingHeaders(sqlManagementClient); // Retrieve the list of databases DatabaseListResponse response = sqlManagementClient.Databases.List(this.serverName); // Construct the resulting Database objects Database[] databases = response.Databases.Select((db) => CreateDatabaseFromResponse(db)).ToArray(); return(databases); }
/// <summary> /// Given a <see cref="DatabaseGetResponse"/> this will create and return a <see cref="Database"/> /// object with the fields filled in. /// </summary> /// <param name="response">The response to turn into a <see cref="Database"/></param> /// <returns>a <see cref="Database"/> object.</returns> private Database[] CreateDatabaseFromResponse(DatabaseListResponse response) { return(response.Databases.Select(db => this.CreateDatabaseFromResponse( db.Id, db.Name, db.CreationDate, db.Edition, db.CollationName, db.MaximumDatabaseSizeInGB, db.IsFederationRoot, db.IsSystemObject, db.SizeMB, db.ServiceObjectiveAssignmentErrorCode, db.ServiceObjectiveAssignmentErrorDescription, db.ServiceObjectiveAssignmentState, db.ServiceObjectiveAssignmentStateDescription, db.ServiceObjectiveAssignmentSuccessDate, db.ServiceObjectiveId)).ToArray()); }
/// <summary> /// Given a <see cref="DatabaseListResponse"/> this will create and return an array of <see cref="Database"/> /// objects with the fields filled in. /// </summary> /// <param name="response">The response to turn into an array of <see cref="Database"/> objects</param> /// <returns>An array of <see cref="Database"/> objects.</returns> private Database[] CreateDatabaseFromResponse(DatabaseListResponse response) { return response.Databases.Select(db => this.CreateDatabaseFromResponse( db.Id, db.Name, db.CreationDate, db.Edition, db.CollationName, db.MaximumDatabaseSizeInGB, db.MaximumDatabaseSizeInBytes, db.IsFederationRoot, db.IsSystemObject, db.SizeMB, db.ServiceObjectiveAssignmentErrorCode, db.ServiceObjectiveAssignmentErrorDescription, db.ServiceObjectiveAssignmentState, db.ServiceObjectiveAssignmentStateDescription, db.ServiceObjectiveAssignmentSuccessDate, db.ServiceObjectiveId, db.AssignedServiceObjectiveId, db.RecoveryPeriodStartDate, db.State)).ToArray(); }
/// <summary> /// Given a <see cref="DatabaseListResponse.Database"/> this will create and return a <see cref="Database"/> /// object with the fields filled in. /// </summary> /// <param name="response">The response to turn into a <see cref="Database"/></param> /// <returns>a <see cref="Database"/> object.</returns> private Database CreateDatabaseFromResponse(DatabaseListResponse.Database response) { return this.CreateDatabaseFromResponse( response.Id, response.Name, response.CreationDate, response.Edition, response.CollationName, response.MaximumDatabaseSizeInGB, response.IsFederationRoot, response.IsSystemObject, response.SizeMB, response.ServiceObjectiveAssignmentErrorCode, response.ServiceObjectiveAssignmentErrorDescription, response.ServiceObjectiveAssignmentState, response.ServiceObjectiveAssignmentStateDescription, response.ServiceObjectiveAssignmentSuccessDate, response.ServiceObjectiveId); }
private void SelectDatabase(DatabaseListResponse.Database database) { SelectedDatabase = database; // TODO: add database-inspection UX and logic }