Manuais
PHC GO Funções SDK - FileUtil
 

FileUtil

This class contains methods and functions related to files.
 
 

getFile


Description

Gets a file from application´s export directory.

Return Function

The specified file as a FileAttachment object.

Parameters


Name Description Type
path File name String

Example


'Sends file by email 

Dim AttachmentsList as New List(Of FileAttachment)()
AttachmentsList.Add(sdk.FileUtil.getFile("filename.txt"))
sdk.email.send("from@phcsoftware.com", "to@phcsoftware.com", "Subject", "Body" , True, AttachmentsList)


getSafeName


Description

Replaces invalid characters from a string.
\\ / \ * : ? < > | , & # + - will be replaced by -
‘ ’ will be replaced by ´

Return Function

String without invalid characters

Parameters


Name Description Type
value Original string String

Example


Dim stringWithoutInvChar as string = SDK.FileUtil.GetSafeName("**Hello//\\")     


writeLinesToCsv


Description

Creates a CSV file into the application´s export directory

Return Function

CSV file as a FileAttachment object

Parameters


Name Description Type
filename Name of the file to be created String
lines CSV content as a List(Of String) List(Of String)

Example


'Sends a list of all inactive clients by email 

Dim listOfClients as List(Of ClVO) = SDK.Query.getEntityData(of ClVO)(New FilterItem(CL.inactivo, Comparison.Equal, "1"))
Dim csvContent As List(Of String) = (From client In listOfClients Select client.nome + ";"+ client.email).ToList 'Creates CSV content
SDK.FileUtil.WriteLinesToCsv("InactiveClients.csv",csvContent)

Dim AttachmentsList as New List(Of FileAttachment)()
AttachmentsList.Add(sdk.FileUtil.getFile("InactiveClients.csv"))
SDK.email.send("from@phcsoftware.com", "to@phcsoftware.com", "Subject", "Body" , True, AttachmentsList)


GenerateAttachmentFile


Description

Extracts an attachment file from Anexos table

Return Function

PHCResult

Parameters


Name Description Type
anexoStamp Stamp of the attachment to be extracted (Anexos.anexosstamp) String

Example


This example shows how to send an attachment file by e-mail
Dim result As PHCResult = SDK.FileUtil.GenerateAttachmentFile("z202202151256037970038957")
If Not result.HasMsgErrors
Dim filename As String = result.result.Cast(Of StringVO).FirstOrDefault.phcString
Dim emailAttachments As New List(Of FileAttachment)
emailAttachments.Add(sdk.FileUtil.getFile(filename))
If sdk.email.send("from@phcsoftware.com", "to@phcsoftware.com", "Example of sending an attachment file", "This is an example of sending an attachment file by email", True, emailAttachments)
Return New MsgInfo("The attachment file has been sent by e-mail ")
End If
End If


createZipFromFiles


Description

Creates zip file from files

Return Function

n/a

Parameters


Name Description Type
files List of filenames to zip String
zipFileName Name of the zip file that will be created String

Example


This example shows how to send two attachment files by e-mail. The files will be sent using a ZIP file.

Dim files As New List(Of String)

Dim result As PHCResult = SDK.FileUtil.GenerateAttachmentFile("z202202151256037970038957")
If Not result.HasMsgErrors
files.Add(result.result.Cast(Of StringVO).FirstOrDefault.phcString)
End If

result = SDK.FileUtil.GenerateAttachmentFile("z202202151131063340048166")
If Not result.HasMsgErrors
files.Add(result.result.Cast(Of StringVO).FirstOrDefault.phcString)
End If

Dim zipFileName as string = "myFiles.zip"
sdk.FileUtil.createZipFromFiles(files, zipFileName)

Dim emailAttachments As New List(Of FileAttachment)
emailAttachments.Add(sdk.FileUtil.getFile(zipFileName))

If sdk.email.send("from@phcsoftware.com", "to@phcsoftware.com", "Example of sending an zip file", "This is an example of sending an zip file by email", True, emailAttachments)
Return New MsgInfo("The zip file has been sent by e-mail ")
End If


createBDAttachment


Description

Attachs file from application’s export directory in database

Return Function

PHCResult

Parameters


Name Description Type
filename Name of the file to be attached String
resumo Attachment summary String
description Additional remarks about the attachment String
entity NName of entity to which the attachment will be assigned String
docid Entity document type Integer
recstamp If it is a record attachment, it must contain the record stamp String

Example


'Attach a CSV file in Company Profile table (E1)  

'First creates the CSV file

dim listOfInactiveClients as List(Of ClVO) = SDK.Query.getEntityData(of ClVO)(New FilterItem(CL.inactivo, Comparison.Equal, "1"))

Dim csvContent As List(Of String) = (From client In listOfInactiveClients Select client.nome + ";"+ client.email).ToList

sdk.FileUtil.WriteLinesToCsv("InactiveClients.csv",csvContent)

'Then attachs the CSV file

sdk.FileUtil.createBDAttachment("InactiveClients.csv","List of inactive clients"," List of inactive clients on date " + DateTime.Now().Date,"E1", 0, "")


createTxtFile


Description

Creates a txt file into the application's export directory.

Return Function

Txt file as a FileAttachment object.

Parameters


Name Description Type
filename Name of the file to be created e String
content File content String

Example


'Sends a list of all inactive clients by email 

Dim listOfClients as List(Of ClVO) = SDK.Query.getEntityData(of ClVO)(New FilterItem(CL.inactivo, Comparison.Equal, "1"))
Dim txtContent As String = ""
Dim spacer as Integer = 50

For each client as ClVO in listOfClients
txtContent = txtContent & client.nome & Space(spacer-client.nome.length) & client.email & vbCrLf
Next

sdk.FileUtil.createTxtFile("InactiveClients.txt",txtContent)

Dim AttachmentsList as New List(Of FileAttachment)()
AttachmentsList.Add(sdk.FileUtil.getFile("InactiveClients.txt"))
sdk.email.send("from@phcsoftware.com", "to@phcsoftware.com", "Subject", "Body" , True, AttachmentsList)