/// <summary> /// Creates a new import request /// </summary> /// <param name="entity">Import Request Model</param> /// <returns>Import Request Response</returns> protected override AzureSqlDatabaseImportExportBaseModel PersistChanges(AzureSqlDatabaseImportExportBaseModel entity) { AzureSqlDatabaseImportModel importModel = entity as AzureSqlDatabaseImportModel; if (importModel == null) { throw new ArgumentNullException("importModel"); } return ModelAdapter.Import(importModel); }
/// <summary> /// Updates the given model element with the cmdlet specific operation /// </summary> /// <param name="model">A model object</param> protected override AzureSqlDatabaseImportExportBaseModel ApplyUserInputToModel(AzureSqlDatabaseImportExportBaseModel model) { AzureSqlDatabaseImportExportBaseModel exportRequest = new AzureSqlDatabaseImportExportBaseModel() { ResourceGroupName = ResourceGroupName, AdministratorLogin = AdministratorLogin, AdministratorLoginPassword = AdministratorLoginPassword, AuthenticationType = AuthenticationType, DatabaseName = DatabaseName, ServerName = ServerName, StorageKey = StorageKey, StorageKeyType = StorageKeyType, StorageUri = StorageUri }; return exportRequest; }
/// <summary> /// Creates a new export request /// </summary> /// <param name="exportRequest">Export request parameters</param> /// <returns>Operation response including the OperationStatusLink to get the operation status</returns> public AzureSqlDatabaseImportExportBaseModel Export(AzureSqlDatabaseImportExportBaseModel exportRequest) { ExportRequestParameters parameters = new ExportRequestParameters() { AdministratorLogin = exportRequest.AdministratorLogin, AdministratorLoginPassword = AzureSqlServerAdapter.Decrypt(exportRequest.AdministratorLoginPassword), StorageKey = exportRequest.StorageKey, StorageKeyType = exportRequest.StorageKeyType.ToString(), StorageUri = exportRequest.StorageUri }; if (exportRequest.AuthenticationType != AuthenticationType.None) { parameters.AuthenticationType = exportRequest.AuthenticationType.ToString().ToLowerInvariant(); } ImportExportResponse response = Communicator.Export(exportRequest.ResourceGroupName, exportRequest.ServerName, exportRequest.DatabaseName, parameters, Util.GenerateTracingId()); return CreateImportExportResponse(response, exportRequest); }
/// <summary> /// Creates the response model given server response /// </summary> /// <param name="response">Server Response</param> /// <returns>Response Model</returns> private AzureSqlDatabaseImportExportBaseModel CreateImportExportResponse(ImportExportResponse response, AzureSqlDatabaseImportExportBaseModel originalModel) { AzureSqlDatabaseImportExportBaseModel model = originalModel == null ? new AzureSqlDatabaseImportExportBaseModel() : originalModel.Copy(); model.OperationStatusLink = response.OperationStatusLink; model.Status = response.Status.ToString(); model.ErrorMessage = response.Error == null ? "" : response.Error.Message; return model; }
/// <summary> /// Creates a new export request /// </summary> /// <param name="entity">Import Request Model</param> /// <returns>Import Request Response</returns> protected override AzureSqlDatabaseImportExportBaseModel PersistChanges(AzureSqlDatabaseImportExportBaseModel entity) { return ModelAdapter.Export(entity); }