Attaching Items to Reports and Files

The elements of type StiFileItem and StiReportTemplateItem can attach resource elements  (StiFileItem, StiReportSnapshotItem, StiReportTemplateItem). This is done using the method AttachItem(StiResourceItem resourceItem). Detaching the elements is performed using the method DetachItem(StiResourceItem resourceItem). This example shows a file attachment into a report template:

 

.NET API

...

public void AttachItemToReportTemplate()

{

var connection = new Stimulsoft.Server.Connect.StiServerConnection("localhost:40010");

connection.Accounts.Users.Login("UserName@example.com", "Password");

 

// Report Template

var reportTemplateItem = connection.Items.Root.NewReportTemplate("report-template");

reportTemplateItem.Save();

reportTemplateItem.UploadFromFile(@"C:\report.mrt");

 

// Attached File

var attachedFile = connection.Items.Root.NewFile("attach", StiFileType.Image);

attachedFile.Save();

attachedFile.UploadFromFile(@"C:\image.png");

 

// Attach file to report template

reportTemplateItem.AttachItem(attachedFile);

 

// Detach file from report template

reportTemplateItem.DetachItem(attachedFile);

}

...

 

 

Asynchronous method for a XSD-file attachment into a XML-file:

 

.NET API

...

public async void AttachXsdToXmlAsync()

{

var connection = new Stimulsoft.Server.Connect.StiServerConnection("localhost:40010");

await connection.Accounts.Users.LoginAsync("UserName@example.com", "Password");

 

// Xml File

var xmlFile = connection.Items.Root.NewFile("data.xml", StiFileType.Xml);

await xmlFile.SaveAsync();

await xmlFile.UploadFromFileAsync(@"C:\data.xml");

 

// Xsd File

var xsdFile = connection.Items.Root.NewFile("data.xsd", StiFileType.Xsd);

await xsdFile.SaveAsync();

await xsdFile.UploadFromFileAsync(@"C:\data.xsd");

 

// Attach Xsd to Xml

await xmlFile.AttachItem(xsdFile);

 

// Detach item

await xmlFile.DetachItem(xsdFile);

}

...