Пример #1
0
 public DbBlobContainer(DbStorageAccount account, string containerName) : this(account, new Microsoft.WindowsAzure.DevelopmentStorage.Store.BlobContainer()
 {
     AccountName = account.Name,
     ContainerName = containerName
 })
 {
 }
Пример #2
0
 public DbBlobContainer(DbStorageAccount account, Microsoft.WindowsAzure.DevelopmentStorage.Store.BlobContainer container, bool shouldGenerateLeaseInfo) : this(account, container)
 {
     if (shouldGenerateLeaseInfo)
     {
         this.LeaseInfo = new ContainerLeaseInfo(container, DateTime.UtcNow);
     }
 }
Пример #3
0
 internal DbQueueContainer(DbStorageAccount account, string queueName) : this(account, new Microsoft.WindowsAzure.DevelopmentStorage.Store.QueueContainer()
 {
     AccountName = account.Name,
     QueueName = queueName
 })
 {
 }
Пример #4
0
 public DbBlobContainer(DbStorageAccount account, Microsoft.WindowsAzure.DevelopmentStorage.Store.BlobContainer container)
 {
     StorageStampHelpers.CheckContainerName(container.ContainerName, Microsoft.Cis.Services.Nephos.Common.Storage.ContainerType.BlobContainer, false);
     this.StorageManager  = account.StorageManager;
     this._container      = container;
     this.OperationStatus = account.OperationStatus;
     this.Account         = account;
 }
Пример #5
0
 internal DbTableContainer(DbStorageAccount account, Microsoft.WindowsAzure.DevelopmentStorage.Store.TableContainer container)
 {
     StorageStampHelpers.CheckContainerName(container.CasePreservedTableName, Microsoft.Cis.Services.Nephos.Common.Storage.ContainerType.TableContainer, false);
     this.StorageManager  = account.StorageManager;
     this._tableContainer = container;
     this.OperationStatus = account.OperationStatus;
     this.Account         = account;
 }
Пример #6
0
 internal DbTableContainer(DbStorageAccount account, string tableName) : this(account, new Microsoft.WindowsAzure.DevelopmentStorage.Store.TableContainer()
 {
     AccountName = account.Name,
     TableName = tableName.ToLowerInvariant(),
     CasePreservedTableName = tableName
 })
 {
 }
Пример #7
0
        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);
        }
Пример #8
0
        private IQueryable <Blob> MakeListBlobsQuery(string blobNamePrefix, string blobNameStart, DateTime?snapshotStart, string separator, IBlobObjectCondition condition, int maxBlobNames, DevelopmentStorageDbDataContext dataContext)
        {
            IQueryable <Blob> blobs =
                from b in dataContext.Blobs
                where (b.AccountName == this._container.AccountName) && (b.ContainerName == this._container.ContainerName)
                select b;

            if (condition != null)
            {
                if (!condition.IsIncludingPageBlobs)
                {
                    blobs =
                        from b in blobs
                        where b.BlobTypeInt == 1
                        select b;
                }
                if (!condition.IsIncludingUncommittedBlobs)
                {
                    blobs =
                        from b in blobs
                        where ((BlockBlob)b).IsCommitted == null || ((BlockBlob)b).IsCommitted.Value
                        select b;
                }
            }
            if (!string.IsNullOrEmpty(separator))
            {
                blobs =
                    from b in dataContext.GetSummaryBlobs(this._container.AccountName, this._container.ContainerName, blobNamePrefix, separator)
                    select b;
            }
            else if (!string.IsNullOrEmpty(blobNamePrefix))
            {
                blobs =
                    from b in blobs
                    where b.BlobName.StartsWith(DbStorageAccount.FixTildeInPrefix(blobNamePrefix))
                    select b;
            }
            if (blobNameStart != null)
            {
                blobs = (!snapshotStart.HasValue ?
                         from b in blobs
                         where b.BlobName.CompareTo(blobNameStart) >= 0
                         select b :
                         from b in blobs
                         where b.BlobName.CompareTo(blobNameStart) > 0 || b.BlobName.CompareTo(blobNameStart) == 0 && (b.VersionTimestamp >= snapshotStart.Value)
                         select b);
            }
            if (condition != null)
            {
                if (condition.IfModifiedSinceTime.HasValue)
                {
                    blobs =
                        from b in blobs
                        where b.LastModificationTime > (DateTime?)condition.IfModifiedSinceTime.Value
                        select b;
                }
                if (condition.IfNotModifiedSinceTime.HasValue)
                {
                    blobs =
                        from b in blobs
                        where b.LastModificationTime <= (DateTime?)condition.IfNotModifiedSinceTime.Value
                        select b;
                }
                if (!condition.IsIncludingSnapshots)
                {
                    blobs =
                        from b in blobs
                        where b.VersionTimestamp == StorageStampHelpers.RootBlobSnapshotVersion
                        select b;
                }
            }
            if (maxBlobNames != 0)
            {
                blobs = (
                    from x in blobs
                    orderby x.AccountName
                    orderby x.ContainerName
                    orderby x.BlobName
                    select x).Take <Blob>(maxBlobNames + 1);
            }
            return(blobs);
        }