/// <summary> /// Resets the TangledServices.ServicePortal database by - /// 1. If it exists, deletes the TangledServices.ServicePortal database. /// 2. Creates the TangledServices.ServicePortal database. /// 3. Creates the required containers. /// 4. Persists data to the containers. /// </summary> /// <returns></returns> public async Task Reset() { var databaseResponse = await _systemManager.CreateDatabase(); if (databaseResponse.StatusCode != HttpStatusCode.Created) { throw new SystemDatabaseNotCreatedException(); } // Create containers. var containers = _configuration.GetSection("system:reset:containers").Get <List <SystemResetModel> >(); // from system-reset.json // Persist data to containers. foreach (SystemResetModel container in containers) { var containerResponse = await createContainer(container); await createContainerLookupItems(container); await createContainerSubscriptions(container); await createContainerUsers(container); await createContainerDepartments(container); } }