예제 #1
0
        public bool SaveBtsAssemblyFilesMetadata(BtsAssemblyFilesMetadata btsAssemblyFilesMetadata)
        {
            this.tableClient = account.CreateCloudTableClient();
            this.tableClient.CreateTableIfNotExist(MapFilesTableName);
            this.tableContext = tableClient.GetDataServiceContext();

            btsAssemblyFilesMetadata.PartitionKey = btsAssemblyFilesMetadata.FileName;
            btsAssemblyFilesMetadata.RowKey       = btsAssemblyFilesMetadata.FileName;
            btsAssemblyFilesMetadata.Timestamp    = DateTime.UtcNow;

            if (MapFiles.FirstOrDefault(t => t.PartitionKey == btsAssemblyFilesMetadata.PartitionKey && t.RowKey == btsAssemblyFilesMetadata.RowKey) == null)
            {
                MapFiles.Add(btsAssemblyFilesMetadata);
            }

            // We need upsert functionality here, hence removing AddObject call and adding UpdateObject
            // this.tableContext.AddObject(MapFilesTableName, tradingPartnerSpecCert);
            // http://social.msdn.microsoft.com/Forums/windowsazure/en-US/892340f1-bfe1-4433-9246-b617abe6078c/upsert-operation-in-the-table
            // http://msdn.microsoft.com/en-us/library/windowsazure/hh452242.aspx
            // http://www.windowsazure.com/en-us/develop/net/how-to-guides/table-services/#replace-entity
            tableContext.AttachTo(MapFilesTableName, btsAssemblyFilesMetadata);
            tableContext.UpdateObject(btsAssemblyFilesMetadata);

            DataServiceResponse response = this.tableContext.SaveChangesWithRetries(SaveChangesOptions.Batch | SaveChangesOptions.ReplaceOnUpdate);

            return(response.BatchStatusCode == Http200 || response.BatchStatusCode == Http201 || response.BatchStatusCode == Http202);
        }
        public void DeleteBtsAssemblyFiles(BtsAssemblyFilesMetadata mapFilesMetadata)
        {
            CloudBlobClient client = this.storageAccount.CreateCloudBlobClient();
            CloudBlob       blob   = client.GetBlobReference(string.Format(CultureInfo.InvariantCulture, "{0}/{1}",
                                                                           this.container.Name, mapFilesMetadata.FileName));

            blob.DeleteIfExists();
        }
        public Stream GetBtsAssemblyFiles(BtsAssemblyFilesMetadata mapFilesMetadata)
        {
            CloudBlobClient client = this.storageAccount.CreateCloudBlobClient();
            CloudBlob       blob   = client.GetBlobReference(string.Format(CultureInfo.InvariantCulture, "{0}/{1}", this.container.Name, mapFilesMetadata.FileName));

            MemoryStream ms = new MemoryStream();

            blob.DownloadToStream(ms);
            ms.Position = 0;

            return(ms);
        }
예제 #4
0
        public bool DeleteBtsAssemblyFilesMetadata(BtsAssemblyFilesMetadata btsAssemblyFilesMetadata)
        {
            this.tableClient = account.CreateCloudTableClient();
            this.tableClient.CreateTableIfNotExist(MapFilesTableName);
            this.tableContext = tableClient.GetDataServiceContext();

            btsAssemblyFilesMetadata.PartitionKey = btsAssemblyFilesMetadata.FileName;
            btsAssemblyFilesMetadata.RowKey       = btsAssemblyFilesMetadata.FileName;
            btsAssemblyFilesMetadata.Timestamp    = DateTime.UtcNow;

            MapFiles.Remove(btsAssemblyFilesMetadata);

            tableContext.AttachTo(MapFilesTableName, btsAssemblyFilesMetadata, "*");
            tableContext.DeleteObject(btsAssemblyFilesMetadata);

            DataServiceResponse response = this.tableContext.SaveChangesWithRetries(SaveChangesOptions.Batch | SaveChangesOptions.ReplaceOnUpdate);

            return(response.BatchStatusCode == Http200 || response.BatchStatusCode == Http201 || response.BatchStatusCode == Http202);
        }
예제 #5
0
        public Stream GetBtsAssemblyFiles(BtsAssemblyFilesMetadata btsAssemblyFilesMetadata)
        {
            DALMapFiles dal = new DALMapFiles(this.storageAccount, this.container);

            return(dal.GetBtsAssemblyFiles(btsAssemblyFilesMetadata));
        }
예제 #6
0
        public void DeleteBtsAssemblyFiles(BtsAssemblyFilesMetadata btsAssemblyFilesMetadata)
        {
            DALMapFiles dal = new DALMapFiles(this.storageAccount, this.container);

            dal.DeleteBtsAssemblyFiles(btsAssemblyFilesMetadata);
        }
예제 #7
0
        public bool DeleteBtsAssemblyFilesMetadata(BtsAssemblyFilesMetadata btsAssemblyFilesMetadata)
        {
            DALBtsAssemblyFilesMetadata dal = new DALBtsAssemblyFilesMetadata(this.storageAccount);

            return(dal.DeleteBtsAssemblyFilesMetadata(btsAssemblyFilesMetadata));
        }
예제 #8
0
        public void SaveBtsAssemblyFiles(Stream tradingPartnerSpecCertStream, BtsAssemblyFilesMetadata btsAssemblyFilesMetadata)
        {
            DALMapFiles dal = new DALMapFiles(this.storageAccount, this.container);

            dal.SaveBtsAssemblyFiles(tradingPartnerSpecCertStream, btsAssemblyFilesMetadata);
        }