/// <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);
            }
        }