using Microsoft.Azure;
using Microsoft.WindowsAzure.Storage;
using Microsoft.WindowsAzure.Storage.File;
using Microsoft.WindowsAzure.Storage.Blob;
using Microsoft.WindowsAzure.Storage.Auth;
class DAX_ERVendPaymOutFieUploadHelper
{
///
<summary>
///
Handles attachingFile event from Electronic reporting
///
</summary>
///
<param name = "_args">Event args for event
handler</param> [SubscribesTo(classStr(ERDocuManagementEvents), staticDelegateStr(ERDocuManagementEvents,
attachingFile))]
public static void ERDocuManagementEvents_attachingFile(ERDocuManagementAttachingFileEventArgs _args)
{
ERFormatMappingRunJobTable
ERFormatMappingRunJobTable;
Common
common = _args.getOwner();
if(common.tableid == tableNum(ERFormatMappingRunJobTable))
{
ERFormatMappingRunJobTable = ERFormatMappingRunJobTable::find(common.RecId);
}
if (!_args.isHandled() && ERFormatMappingRunJobTable.Archived
== noyes::No)
{
DAX_ERVendPaymOutFieUploadHelper
uploadHandler = DAX_ERVendPaymOutFieUploadHelper::construct();
uploadHandler.uploadFile(_args.getStream());
}
}
///
<summary>
///
Creates an object of DAX_ERVendPaymOutFieUploadHelper class
///
</summary>
///
<returns>DAX_ERVendPaymOutFieUploadHelper class object</returns>
public static DAX_ERVendPaymOutFieUploadHelper
construct()
{
return new DAX_ERVendPaymOutFieUploadHelper();
}
///
<summary>
///
Uploads file to custom Azure blob container specified in parameters
///
</summary>
///
<param name = "_fileStream">File stream to be
uploaded</param>
///
<returns>True if file uploaded successfully</returns>
private boolean uploadFile(System.IO.Stream _fileStream)
{
boolean ret = true;
//
Custom parameters table to store Azure Storage and container info
DAX_Parameters
parameters = DAX_Parameters::find();
try
{
StorageCredentials
credentials = new StorageCredentials(parameters.StorageAccountName,
parameters.Key);
CloudStorageAccount storageAccount = new CloudStorageAccount(credentials, true);
CloudBlobClient blobClient = storageAccount.CreateCloudBlobClient();
CloudBlobContainer rootContainer = blobClient.GetContainerReference(parameters.ContainerName);
if(!rootContainer.Exists(null, null))
{
return Checkfailed('Azure
storage parameters are not set up correctly.');
}
CloudBlobDirectory directory = rootContainer.GetDirectoryReference(parameters.BankOutPaymFolder);
CloudBlockBlob blockBlob = directory.GetBlockBlobReference(strFmt('VendOutPaym.xml'));
if (_fileStream.CanSeek)
{
_fileStream.Seek(0,
System.IO.SeekOrigin::Begin);
}
blockBlob.UploadFromStream(_fileStream, null, null, null);
Info('File
uploaded');
}
catch(Exception::Error)
{
ret
= checkFailed('Error occurred while uploading the
file');
}
catch(Exception::CLRError)
{
ret
= checkFailed('CLR Error occurred while uploading
the file');
}
return ret;
}
}
QUICK EASY EMERGENCY URGENT LOANS LOAN OFFER EVERYONE APPLY NOW +918929509036 financialserviceoffer876@gmail.com Dr. James Eric
ReplyDeleteFantastic blog! Thanks for bringing this topic to light.
ReplyDeleteMicrosoft Dynamics 365 Business Central Technical Combo Online Training and Certification Course