コード例 #1
0
        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);
        }
コード例 #2
0
        public void CreateDatabaseIfNotExist(IInitializationDataProvider initDataProvider)
        {
            if (initDataProvider is null)
            {
                throw new ArgumentNullException(nameof(initDataProvider));
            }

            lock (dataAccessLock)
            {
                bool isInitialized = dataProvider.IsDatabaseInitialized();

                if (!isInitialized)
                {
                    Initialize(initDataProvider);
                }
            }
        }
コード例 #3
0
        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);
            }
        }
コード例 #4
0
        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);
            }
        }