/// <summary>
        /// Creates a new TableStorage object
        /// </summary>
        /// <param name="tableName">The name of the table to be managed</param>
        /// <param name="azureStoreageAccount">Name of Azure Storage Account</param>
        /// <param name="secretKey">Secret Key For Azure Storage</param>
        public TableStorage(string tableName, string azureStoreageAccount, string secretKey)
        {
            _storageAccount = azureStoreageAccount;
            _azureTableName = tableName;
            //var cloudStorageAccount = CloudStorageAccount.Parse(storageConnectionString);

            StorageCredentials  storageCredentials  = HelperFunctions.GetStorageCredentials(azureStoreageAccount, secretKey);
            CloudStorageAccount cloudstorageAccount = HelperFunctions.GetCloudStorageAccount(storageCredentials, azureStoreageAccount);

            keyType = HelperFunctions.GetAuthKeyType(storageCredentials);

            var requestOptions = new TableRequestOptions
            {
                RetryPolicy = new ExponentialRetry(TimeSpan.FromSeconds(1), 3)
            };

            var cloudTableClient = cloudstorageAccount.CreateCloudTableClient();

            cloudTableClient.DefaultRequestOptions = requestOptions;

            _cloudTable = cloudTableClient.GetTableReference(tableName);

            if (storageCredentials.IsSharedKey)
            {
                _cloudTable.CreateIfNotExistsAsync().Wait();
            }

            // cloudTable.CreateIfNotExists();
        }
        public BlobStorage(string azureStoreageAccount, string secretKey)
        {
            _storageAccount = azureStoreageAccount;
            StorageCredentials  storageCredentials  = HelperFunctions.GetStorageCredentials(azureStoreageAccount, secretKey);
            CloudStorageAccount cloudstorageAccount = HelperFunctions.GetCloudStorageAccount(storageCredentials, azureStoreageAccount);

            keyType          = HelperFunctions.GetAuthKeyType(storageCredentials);
            _cloudBlobclient = cloudstorageAccount.CreateCloudBlobClient();
        }
        public QueueStorage(string azureStoreageAccount, string secretKey, string queuename)

        {
            // _storageAccount = azureStoreageAccount;
            StorageCredentials  storageCredentials  = HelperFunctions.GetStorageCredentials(azureStoreageAccount, secretKey);
            CloudStorageAccount cloudstorageAccount = HelperFunctions.GetCloudStorageAccount(storageCredentials, azureStoreageAccount);

            _cloudQueueClient = cloudstorageAccount.CreateCloudQueueClient();

            _cloudQueue = _cloudQueueClient.GetQueueReference(queuename);

            _cloudQueue.CreateIfNotExistsAsync();
        }
        public BlobStorage(string azureStoreageAccount, string secretKey, string blobContainerName)
        {
            _storageAccount = azureStoreageAccount;

            StorageCredentials  storageCredentials  = HelperFunctions.GetStorageCredentials(azureStoreageAccount, secretKey);
            CloudStorageAccount cloudstorageAccount = HelperFunctions.GetCloudStorageAccount(storageCredentials, azureStoreageAccount);

            keyType          = HelperFunctions.GetAuthKeyType(storageCredentials);
            _cloudBlobclient = cloudstorageAccount.CreateCloudBlobClient();

            _cloudBlobContainer = _cloudBlobclient.GetContainerReference(blobContainerName);
            if (storageCredentials.IsSharedKey)
            {
                _cloudBlobContainer.CreateIfNotExistsAsync();
            }
        }