private void Initialize(IInitializationDataProvider initDataProvider) { InitializationValidator initializationValidator = new InitializationValidator(); initializationValidator.Validate(initDataProvider); dataProvider.Initialize(); dataProvider.InitializeSchema(initDataProvider.Schema !); dataProvider.InsertDataManager(initDataProvider.DataManager !); dataProvider.InsertAdministrator(initDataProvider.Administrator !); dataProvider.SetConfiguration(nameof(IConfiguration.AllowPurposeChoiceOnAgreementCreation), initDataProvider.Configuration !.AllowPurposeChoiceOnAgreementCreation); }
public void CreateDatabaseIfNotExist(IInitializationDataProvider initDataProvider) { if (initDataProvider is null) { throw new ArgumentNullException(nameof(initDataProvider)); } lock (dataAccessLock) { bool isInitialized = dataProvider.IsDatabaseInitialized(); if (!isInitialized) { Initialize(initDataProvider); } } }
public void CreateDatabase(IInitializationDataProvider initDataProvider) { if (initDataProvider is null) { throw new ArgumentNullException(nameof(initDataProvider)); } lock (dataAccessLock) { bool isInitialized = dataProvider.IsDatabaseInitialized(); if (isInitialized) { throw new PersonalDataDBException("Database has been already initialized"); } Initialize(initDataProvider); } }
public void Validate(IInitializationDataProvider initDataProvider) { try { if (initDataProvider.DataManager == null) { throw new InitializationException($"Data manager must be set"); } DataManagerValidator dataManagerValidator = new DataManagerValidator(DataManagerValidator.ValidationMode.Insert); dataManagerValidator.Validate(initDataProvider.DataManager); if (initDataProvider.Administrator == null) { throw new InitializationException($"Administrator must be set"); } ResponsiblePersonValidator adminValidator = new ResponsiblePersonValidator("Administrator", ResponsiblePersonValidator.ValidationMode.Insert); adminValidator.Validate(initDataProvider.Administrator); if (initDataProvider.Configuration == null) { throw new InitializationException($"Configuration must be set"); } if (initDataProvider.Schema == null) { throw new InitializationException($"Schema must be set"); } SchemaValidator schemaValidator = new SchemaValidator(); schemaValidator.Validate(initDataProvider.Schema); } catch (ValidationException ve) { throw new InitializationException(ve.Message, ve); } }