import 'package:servicestack/servicestack.dart';
import 'dart:typed_data';
class GenerateWordDocumentResponse implements IGenerateDocumentResponse, IConvertible
{
    /**
    * Contains the registration ID of the generated (corporate identity) document
    */
    // @ApiMember(Description="Contains the registration ID of the generated (corporate identity) document")
    String? DocumentID;
    GenerateWordDocumentResponse({this.DocumentID});
    GenerateWordDocumentResponse.fromJson(Map<String, dynamic> json) { fromMap(json); }
    fromMap(Map<String, dynamic> json) {
        DocumentID = json['DocumentID'];
        return this;
    }
    Map<String, dynamic> toJson() => {
        'DocumentID': DocumentID
    };
    getTypeName() => "GenerateWordDocumentResponse";
    TypeContext? context = _ctx;
}
/**
* Generate new or update a (corporate identity) document based on an existing document registration.
*/
// @Api(Description="Generate new or update a (corporate identity) document based on an existing document registration.")
class GenerateWordDocument implements IGenerateOfficeDocument, IConvertible
{
    /**
    * ID of the current document registration
    */
    // @ApiMember(Description="ID of the current document registration", IsRequired=true)
    String? RegisteredDocumentID;
    /**
    * Recreate document
    */
    // @ApiMember(Description="Recreate document", IsRequired=true)
    bool? RecreateDocument;
    /**
    * ID of the document generator configuration
    */
    // @ApiMember(Description="ID of the document generator configuration")
    String? DocumentGeneratorDocumentID;
    /**
    * ID of the entity (corresponding to the entityType configured at the DocumentGeneratorDocument) to use as the datasource. Leave blank to fall back on the current document registration.
    */
    // @ApiMember(Description="ID of the entity (corresponding to the entityType configured at the DocumentGeneratorDocument) to use as the datasource. Leave blank to fall back on the current document registration.")
    String? DataSourceEntityID;
    GenerateWordDocument({this.RegisteredDocumentID,this.RecreateDocument,this.DocumentGeneratorDocumentID,this.DataSourceEntityID});
    GenerateWordDocument.fromJson(Map<String, dynamic> json) { fromMap(json); }
    fromMap(Map<String, dynamic> json) {
        RegisteredDocumentID = json['RegisteredDocumentID'];
        RecreateDocument = json['RecreateDocument'];
        DocumentGeneratorDocumentID = json['DocumentGeneratorDocumentID'];
        DataSourceEntityID = json['DataSourceEntityID'];
        return this;
    }
    Map<String, dynamic> toJson() => {
        'RegisteredDocumentID': RegisteredDocumentID,
        'RecreateDocument': RecreateDocument,
        'DocumentGeneratorDocumentID': DocumentGeneratorDocumentID,
        'DataSourceEntityID': DataSourceEntityID
    };
    getTypeName() => "GenerateWordDocument";
    TypeContext? context = _ctx;
}
TypeContext _ctx = TypeContext(library: 'doapigw.baasbv.nl', types: <String, TypeInfo> {
    'GenerateWordDocumentResponse': TypeInfo(TypeOf.Class, create:() => GenerateWordDocumentResponse()),
    'GenerateWordDocument': TypeInfo(TypeOf.Class, create:() => GenerateWordDocument()),
});
Dart GenerateWordDocument DTOs
To override the Content-type in your clients, use the HTTP Accept Header, append the .xml suffix or ?format=xml
The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.
POST /xml/reply/GenerateWordDocument HTTP/1.1 
Host: doapigw.baasbv.nl 
Accept: application/xml
Content-Type: application/xml
Content-Length: length
<GenerateWordDocument xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/IDB.DocumentGenerator.SDK.Operations.Word">
  <DataSourceEntityID>String</DataSourceEntityID>
  <DocumentGeneratorDocumentID>00000000-0000-0000-0000-000000000000</DocumentGeneratorDocumentID>
  <RecreateDocument>false</RecreateDocument>
  <RegisteredDocumentID>00000000-0000-0000-0000-000000000000</RegisteredDocumentID>
</GenerateWordDocument>
HTTP/1.1 200 OK Content-Type: application/xml Content-Length: length <GenerateWordDocumentResponse xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/IDB.DocumentGenerator.SDK.DTO.Word"> <DocumentID>00000000-0000-0000-0000-000000000000</DocumentID> </GenerateWordDocumentResponse>