private IQueryable <Microsoft.WindowsAzure.DevelopmentStorage.Store.BlobContainer> MakeListBlobContainersQuery(string containerNamePrefix, string separator, string containerNameStart, IContainerCondition condition, int maxContainerNames, DevelopmentStorageDbDataContext dataContext) { IQueryable <Microsoft.WindowsAzure.DevelopmentStorage.Store.BlobContainer> blobContainers = from c in dataContext.BlobContainers where c.AccountName == this._account.Name select c; if (!string.IsNullOrEmpty(separator)) { blobContainers = from c in dataContext.GetSummaryBlobContainers(this._account.Name, containerNamePrefix, separator) select c; } else if (!string.IsNullOrEmpty(containerNamePrefix)) { blobContainers = from c in blobContainers where c.ContainerName.StartsWith(DbStorageAccount.FixTildeInPrefix(containerNamePrefix)) select c; } if (!string.IsNullOrEmpty(containerNameStart)) { blobContainers = from c in blobContainers where c.ContainerName.CompareTo(containerNameStart) >= 0 select c; } if (condition != null) { if (condition.IfModifiedSinceTime.HasValue) { blobContainers = from c in blobContainers where c.LastModificationTime > condition.IfModifiedSinceTime.Value select c; } if (condition.IfNotModifiedSinceTime.HasValue) { blobContainers = from c in blobContainers where c.LastModificationTime <= condition.IfNotModifiedSinceTime.Value select c; } } if (maxContainerNames != 0) { blobContainers = blobContainers.Take <Microsoft.WindowsAzure.DevelopmentStorage.Store.BlobContainer>(maxContainerNames + 1); } return(blobContainers); }