ProcessInstanceFile class
The ProcessInstanceFile object represents a file which is part of a process instance. This class provides two main operations:
-
Get the download url to provide the file content
-
Prepare an upload operation to store file content
Namespace: |
IYOPRO.Api |
Assembly: |
IYOPRO.Api (in IYOPRO.Api.dll) |
Methods
ProcessInstanceFile(Task task, string internalname)
-
Constructor to initialize a GetDownloadUrl operation for a given task.
The Task contains the process instance for which the file should be provided.
Internalname specifies the file to download ProcessInstanceFile(ProcessInstance pi, string internalname)
-
Constructor to initialize a GetDownloadUrl operation.
Pi specifies the process instance for which the file should be provided.
Internalname specifies the file to download ProcessInstanceFile(string name, string path)
-
Constructor for an upload operation.
Name specifies the displayed name of the file, path the path where the file can be located void GetDownloadUrl(object userdata = null)
-
Provides the download url where the file content may be downloaded.
Userdata will be provided in the GetDownloadUrlCompletedEventEventArgs string ToString()
-
Overwritten method to provide a valuable string representation of the value
Properties
string Name
-
Gets the name of the file
string InternalName
-
Gets the internal name of the file. IYOPRO ensures, that the internal name is unique. Where as files with the same file names may be uploaded by different tasks of the same process instance the internal name is always different
Events
GetDownloadUrlCompletedEvent GetDownloadUrlCompleted
-
The completed event is triggered if GetDownloadUrl has finished
Examples
ProcessInstanceFile file = new ProcessInstanceFile(Task, internalname);
ProcessInstanceFile.GetDownloadUrlCompletedEvent handler = null;
handler = (s, args) =>
{
file.GetDownloadUrlCompleted -= handler;
string url = "https://www.iyopro.com/iyopro/" + args.Url;
System.Diagnostics.Process.Start(url);
};
file.GetDownloadUrlCompleted += handler;
file.GetDownloadUrl();
// Add the Pdf to our process instance
ProcessInstanceFile pif=Task.AddFile("My Documentation", "c:\\temp\\File.pdf");
// Add the Pdf to our process attribute, that contains the file list
List<object> files = Task.Attributes.Get("Files") as List<object>;
files.Add(pif.InternalName);
// Finish the task
Task.Run(true);