internal B2Bucket(B2Client b2Client, B2BucketObject bucket) { _b2Client = b2Client; _bucket = bucket; State = B2BucketState.Present; }
public async Task<bool> DeleteAsync() { ThrowIfNot(B2BucketState.Present); B2BucketObject result = await _b2Client.Communicator.DeleteBucket(AccountId, BucketId); State = B2BucketState.Deleted; _b2Client.BucketCache.RemoveBucket(_bucket); _bucket = result; return true; }
private void ThrowIfNot(B2BucketState desiredState) { if (State != desiredState) throw new InvalidOperationException($"The B2 Bucket, {BucketName}, was {State} and not {desiredState} (id: {BucketId})"); }