/// <summary>
        /// Inserts the provided <paramref name="item"/> into the database.
        /// </summary>
        /// <param name="item">The item to insert</param>
        /// <returns>The provided <paramref name="item"/></returns>
        public async Task <T> Insert(T item)
        {
            if (_database == null)
            {
                throw new Exception("Cannot use database. Have you provided the right configuration?");
            }
            await InitializeAsync();

            DatabaseHelpers.CalculateStorageKeys(_props, item);
            await _container.CreateItemAsync(item, DatabaseHelpers.CalculatePartitionKey(_props, item));

            return(item);
        }
        public DatabaseContainer(IDatabaseService databaseService)
        {
            _props = DatabaseHelpers.GetProperties <T>();
            _name  = _props.ContainerName;

            if (databaseService.Client == null)
            {
                _database = null;
            }
            else
            {
                _database = databaseService.GetDatabase();
            }

            _container = null;
        }