/* Options: Date: 2024-10-18 04:29:28 Version: 6.40 Tip: To override a DTO option, remove "//" prefix before updating BaseUrl: https://digiofficeapigateway.deltares.nl/api //Package: //AddServiceStackTypes: True //AddResponseStatus: False //AddImplicitVersion: //AddDescriptionAsComments: True IncludeTypes: GenerateDocument.* //ExcludeTypes: //InitializeCollections: True //TreatTypesAsStrings: //DefaultImports: java.math.*,java.util.*,net.servicestack.client.* */ import java.math.* import java.util.* import net.servicestack.client.* /** * Generate custom Document (Don't use from inside VSTO's) */ @Api(Description="Generate custom Document (Don't use from inside VSTO's)") open class GenerateDocument : IReturn, IGenerateDocument { /** * DigiOffice user */ @ApiMember(Description="DigiOffice user") var User:UserReference? = null /** * Send the generated e-mail via the e-mail queue. */ @ApiMember(Description="Send the generated e-mail via the e-mail queue.") var SendMail:Boolean? = null /** * ConfigurationSource: DocumentgeneratorDocument of RegistratieProfiel. */ @ApiMember(Description="ConfigurationSource: DocumentgeneratorDocument of RegistratieProfiel.", IsRequired=true) var ConfigurationSource:ConfigurationSource? = null /** * Set references to bind with Registration profile */ @ApiMember(Description="Set references to bind with Registration profile", IsRequired=true) var RegistrationMetaData:RegistrationMetaData? = null /** * Entity instance used as data source parent, if not exists default is Document registration instance. */ @ApiMember(Description="Entity instance used as data source parent, if not exists default is Document registration instance.") var DataSourceEntity:CommonEntityBaseReference? = null /** * Hier kan de (dynamische) data voor het document geplaatst worden, de data kan middels tekstblokken en placeholders worden geplaatst.Het formaat binnen CustomData staat vrij maar vereist een 'root' element. */ @ApiMember(Description="Hier kan de (dynamische) data voor het document geplaatst worden, de data kan middels tekstblokken en placeholders worden geplaatst.Het formaat binnen CustomData staat vrij maar vereist een 'root' element.") var CustomData:String? = null /** * Insert a watermark into the document. */ @ApiMember(Description="Insert a watermark into the document.") var Watermark:Watermark? = null /** * Type van het gegenereerde document, bijvoorbeeld: Doc, Docx, Pdf. */ @ApiMember(Description="Type van het gegenereerde document, bijvoorbeeld: Doc, Docx, Pdf.") var OutputType:String? = null /** * Should update the document file. */ @ApiMember(Description="Should update the document file.") var ShouldUpdateDocumentFile:Boolean? = null companion object { private val responseType = GenerateDocumentResponse::class.java } override fun getResponseType(): Any? = GenerateDocument.responseType } open class GenerateDocumentResponse : IGenerateDocumentResponse { /** * Contains the registration ID of the generated (corporate identity) document */ @ApiMember(Description="Contains the registration ID of the generated (corporate identity) document", IsRequired=true) var DocumentID:UUID? = null } open class UserReference : IEntityReference { var ID:Int? = null var LoginName:String? = null var UserPrincipalName:String? = null var FullName:String? = null var EmailAddress:String? = null var GlobalID:UUID? = null } open class ConfigurationSource { /** * Document genereren op basis van een DocGenDocument. */ var DocumentgeneratorDocument:DocumentgeneratorDocumentReference? = null /** * Document genereren op basis van een RegistratieProfiel. */ var RegistrationProfile:RegistrationProfileReference? = null /** * Use existing document registration. */ var RegisteredDocument:DocumentReference? = null /** * Use draft document registration. */ var DraftDocumentRegistration:MessageQueueReference? = null var DocumentgeneratorType:Class? = null /** * DocumentgeneratorType voor bijvoorbeeld Word of Email. */ var DocumentgeneratorTypeName:String? = null var TemplateExtension:String? = null var OutputExtension:String? = null } open class RegistrationMetaData { /** * Hoe moet het versiebeheer worden toegepast? */ @ApiMember(Description="Hoe moet het versiebeheer worden toegepast?") var Versioning:VersioningType? = null /** * Previous document will be used for registration of a new version. */ @ApiMember(Description="Previous document will be used for registration of a new version.") var PreviousDocument:DocumentReference? = null /** * Company */ @ApiMember(Description="Company") var Company:CompanyReference? = null /** * Relation */ @ApiMember(Description="Relation") var Relation:RelationReference? = null /** * Person */ @ApiMember(Description="Person") var Person:PersonReference? = null /** * Project */ @ApiMember(Description="Project") var Project:ProjectReference? = null /** * Sub projects */ @ApiMember(AllowMultiple=true, Description="Sub projects") var SubProjects:ArrayList = ArrayList() /** * Signers */ @ApiMember(AllowMultiple=true, Description="Signers") var Signers:ArrayList = ArrayList() /** * Bevat velden die gebruikt worden als additionele metadata voor het document, naast de vaste koppelingen zoals gebruiker, project en relatie. */ @ApiMember(AllowMultiple=true, Description="Bevat velden die gebruikt worden als additionele metadata voor het document, naast de vaste koppelingen zoals gebruiker, project en relatie.") var Fields:ArrayList = ArrayList() /** * Attachments die aan de documentregistratie gekoppeld moet worden. */ @ApiMember(AllowMultiple=true, Description="Attachments die aan de documentregistratie gekoppeld moet worden.") var Attachments:ArrayList = ArrayList() } open class CommonEntityBaseReference : IEntityReference { var ID:String? = null var ExternalID:String? = null var GlobalID:UUID? = null } open class Watermark { var Text:String? = null var FontFamilyText:String? = null var FontFamily:FontFamily? = null var Direction:Direction? = null var StrokeColorText:String? = null var StrokeColor:Color? = null var FillColorText:String? = null var FillColor:Color? = null } open interface IGenerateDocument : IDocument { var User:UserReference? var SendMail:Boolean? var ShouldUpdateDocumentFile:Boolean? } open interface IDocument { var ConfigurationSource:ConfigurationSource? var DataSourceEntity:CommonEntityBaseReference? var RegistrationMetaData:RegistrationMetaData? var CustomData:String? var Watermark:Watermark? var OutputType:String? } open interface IGenerateDocumentResponse { var DocumentID:UUID? } open interface IEntityReference { var GlobalID:UUID? } open class DocumentgeneratorDocumentReference : IEntityReference { var ID:UUID? = null var Name:String? = null var GlobalID:UUID? = null } open class RegistrationProfileReference : IEntityReference { var ID:UUID? = null var GlobalID:UUID? = null } open class DocumentReference : IEntityReference { var ID:UUID? = null var Code:String? = null var VersionCode:String? = null var RootDocID:UUID? = null var InternalInvoiceCode:String? = null var CompanyNumber:Int? = null var DocumentTypeID:String? = null var InvoiceType:Int? = null var RegProfCatID:Int? = null var GlobalID:UUID? = null var ExternalID:String? = null var ExternNr:String? = null var InternNummer:String? = null } open class MessageQueueReference : IEntityReference { var ID:Int? = null var GlobalID:UUID? = null } enum class VersioningType { New, Change, Primary, Secondary, } open class CompanyReference : IEntityReference { var ID:Int? = null var Number:Int? = null var GlobalID:UUID? = null var ExternalID:String? = null } open class RelationReference : IEntityReference { var ID:Int? = null var CreditorNumber:Int? = null var DebtorNumber:Int? = null var GlobalLocationNumber:String? = null var GlobalID:UUID? = null var ExternalID:String? = null } open class PersonReference : IEntityReference { var ID:Int? = null var Number:Int? = null var GlobalID:UUID? = null var ExternalID:String? = null } open class ProjectReference : IEntityReference { var ID:Int? = null var Code:String? = null var TypeExternalID:String? = null var CompanyNumber:Int? = null var GlobalID:UUID? = null var ExternalID:String? = null } open class SubProject { var Project:ProjectReference? = null } open class Signer { var User:UserReference? = null var Person:PersonReference? = null var Relation:RelationReference? = null var ContactPerson:ContactPersonReference? = null var RegisteredDocument:DocumentReference? = null var Type:SignerType? = null var ClosingSentence:String? = null var Name:String? = null var Subsidiary:String? = null var Function:String? = null var Department:String? = null var PhoneNumber:String? = null var FaxNumber:String? = null var MobileNumber:String? = null var Email:String? = null var CustomText:String? = null var Signature:ArrayList = ArrayList() var SignatureVisible:Boolean? = null var Visible:Boolean? = null } open class Field { var Name:String? = null var OldValue:String? = null var Value:String? = null var Title:String? = null } open class Attachment { var Name:String? = null var AttachmentData:AttachmentData? = null } enum class Direction(val value:Int) { Left2Right(0), UpLeft2DownRight(45), Up2Down(90), UpRight2DownLeft(135), Right2Left(180), DownRight2UpLeft(225), Down2Up(270), DownLeft2UpRight(315), } open class ContactPersonReference : IEntityReference { var ID:Int? = null var GlobalID:UUID? = null var ExternalID:String? = null var RelationID:Int? = null var PersonID:Int? = null } enum class SignerType { MainSigner, AdditionalSigner, ConfirmationDeclarant, AdditionalConfirmationDeclarant, } open class AttachmentData { var ContentType:String? = null /** * Data base64-encoded zonder padding. */ var Data:String? = null }