using Microsoft.Dynamics.ApplicationPlatform.Services.Instrumentation;
using Microsoft.DynamicsOnline.Infrastructure.Components.SharedServiceUnitStorage;
using Microsoft.Dynamics.AX.Framework.FileManagement;
internal final class RunnableClass1
{
/// <summary>
/// Class entry point. The system will call this method when a designated menu
/// is selected or when execution starts and this class is set as the startup class.
/// </summary>
/// <param name = "_args">The specified arguments.</param>
public static void main(Args _args)
{
boolean ret = false;
str docfiletype;
Microsoft.Dynamics.AX.Framework.FileManagement.IDocumentStorageProvider storageProvider;
DocuRef docuref;
str downloadUrl;
Filename _Filename = 'GeneralLedger-General journal custom.xlsx';
FilePath _filePath = @'C:\Users\Admin41df0ec1e1\Downloads\GeneralLedger-General journal.xlsx';
System.IO.Stream _stream;
_stream = File::UseFileFromURL(_filePath);
str _contentType = System.Web.MimeMapping::GetMimeMapping(_filePath);
DocuType fileType = DocuType::find(DocuType::typeFile());
storageProvider = Docu::GetStorageProvider(fileType, true, curUserId());
if(storageProvider)
{
str uniqueFileName = storageProvider.GenerateUniqueName(_Filename);
str fileNameWithoutExtension = System.IO.Path::GetFileNameWithoutExtension(_filePath);
str fileExtension = Docu::GetFileExtension(uniqueFileName);
if(Docu::validateExtension(fileExtension))
{
guid FileId = newGuid();
DocuValue docValue;
docValue.Name = fileNameWithoutExtension;
docValue.FileId = FileId;
docValue.FileName = uniqueFileName;
docValue.FileType = "xlsx";//fileExtension;
docValue.OriginalFileName = _Filename;
docValue.Type = DocuValueType::Others;
docValue.StorageProviderId = storageProvider.ProviderId;
DocumentLocation location = storageProvider.SaveFile(docValue.FileId, uniqueFileName, contentType, stream);
if (location != null)
{
if(location.NavigationUri)
{
docValue.Path = location.get_NavigationUri().ToString();
}
if(location.AccessUri)
{
docValue.AccessInformation = location.get_AccessUri().ToString();
//info(docValue.AccessInformation);
}
if (docValue.validateWrite())
{
docValue.insert();
DocuUploadResult DocuUploadResult = new DocuUploadResult(_fileName, _contentType, false, "", newGuid());
DocuUploadResult.fileId(FileId);
docuref = DocuUploadResult.createDocuRef(9615,68719508511,DocuType::typeFile());
if(docuref)
{
ret = true;
}
else
{
ret = false;
}
}
}
}
}
}
}