private IQueryable <Microsoft.WindowsAzure.DevelopmentStorage.Store.QueueContainer> MakeListQueueContainersQuery(string containerNamePrefix, string separator, string containerNameStart, IContainerCondition condition, int maxQueueNames, DevelopmentStorageDbDataContext dataContext) { IQueryable <Microsoft.WindowsAzure.DevelopmentStorage.Store.QueueContainer> queueContainers = from c in dataContext.QueueContainers where c.AccountName == this._account.Name select c; if (!string.IsNullOrEmpty(separator)) { queueContainers = from c in dataContext.GetSummaryQueueContainers(this._account.Name, containerNamePrefix, separator) select c; } else if (!string.IsNullOrEmpty(containerNamePrefix)) { queueContainers = from c in queueContainers where c.QueueName.StartsWith(DbStorageAccount.FixTildeInPrefix(containerNamePrefix)) select c; } if (!string.IsNullOrEmpty(containerNameStart)) { queueContainers = from c in queueContainers where c.QueueName.CompareTo(containerNameStart) >= 0 select c; } if (condition != null) { if (condition.IfModifiedSinceTime.HasValue) { queueContainers = from c in queueContainers where c.LastModificationTime > condition.IfModifiedSinceTime.Value select c; } if (condition.IfNotModifiedSinceTime.HasValue) { queueContainers = from c in queueContainers where c.LastModificationTime <= condition.IfNotModifiedSinceTime.Value select c; } } if (maxQueueNames != 0) { queueContainers = queueContainers.Take <Microsoft.WindowsAzure.DevelopmentStorage.Store.QueueContainer>(maxQueueNames + 1); } return(queueContainers); }