tvpl.api

<back to all web services

MergeFileRequest

Requires Authentication
The following routes are available for this service:
POST/merge-file
import 'package:servicestack/servicestack.dart';

class TemplateDefinitionDto implements IConvertible
{
    int? id;
    int? documentId;
    String? title;
    String? description;
    bool? isActive;

    TemplateDefinitionDto({this.id,this.documentId,this.title,this.description,this.isActive});
    TemplateDefinitionDto.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        id = json['id'];
        documentId = json['documentId'];
        title = json['title'];
        description = json['description'];
        isActive = json['isActive'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'id': id,
        'documentId': documentId,
        'title': title,
        'description': description,
        'isActive': isActive
    };

    getTypeName() => "TemplateDefinitionDto";
    TypeContext? context = _ctx;
}

class ElementDefinitionDto implements IConvertible
{
    int? id;
    int? templateId;
    String? elementKey;
    String? tag;
    String? title;
    String? description;
    String? dataType;
    String? templateType;
    int? orderIndex;
    int? parentId;
    dynamic? value;
    List<ElementDefinitionDto>? children;

    ElementDefinitionDto({this.id,this.templateId,this.elementKey,this.tag,this.title,this.description,this.dataType,this.templateType,this.orderIndex,this.parentId,this.value,this.children});
    ElementDefinitionDto.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        id = json['id'];
        templateId = json['templateId'];
        elementKey = json['elementKey'];
        tag = json['tag'];
        title = json['title'];
        description = json['description'];
        dataType = json['dataType'];
        templateType = json['templateType'];
        orderIndex = json['orderIndex'];
        parentId = json['parentId'];
        value = JsonConverters.fromJson(json['value'],'dynamic',context!);
        children = JsonConverters.fromJson(json['children'],'List<ElementDefinitionDto>',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'id': id,
        'templateId': templateId,
        'elementKey': elementKey,
        'tag': tag,
        'title': title,
        'description': description,
        'dataType': dataType,
        'templateType': templateType,
        'orderIndex': orderIndex,
        'parentId': parentId,
        'value': JsonConverters.toJson(value,'dynamic',context!),
        'children': JsonConverters.toJson(children,'List<ElementDefinitionDto>',context!)
    };

    getTypeName() => "ElementDefinitionDto";
    TypeContext? context = _ctx;
}

class MergeFileRequest implements IConvertible
{
    TemplateDefinitionDto? template;
    List<ElementDefinitionDto>? elements;

    MergeFileRequest({this.template,this.elements});
    MergeFileRequest.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        template = JsonConverters.fromJson(json['template'],'TemplateDefinitionDto',context!);
        elements = JsonConverters.fromJson(json['elements'],'List<ElementDefinitionDto>',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'template': JsonConverters.toJson(template,'TemplateDefinitionDto',context!),
        'elements': JsonConverters.toJson(elements,'List<ElementDefinitionDto>',context!)
    };

    getTypeName() => "MergeFileRequest";
    TypeContext? context = _ctx;
}

TypeContext _ctx = TypeContext(library: 'etc_api.vsmlab.vn', types: <String, TypeInfo> {
    'TemplateDefinitionDto': TypeInfo(TypeOf.Class, create:() => TemplateDefinitionDto()),
    'ElementDefinitionDto': TypeInfo(TypeOf.Class, create:() => ElementDefinitionDto()),
    'List<ElementDefinitionDto>': TypeInfo(TypeOf.Class, create:() => <ElementDefinitionDto>[]),
    'MergeFileRequest': TypeInfo(TypeOf.Class, create:() => MergeFileRequest()),
});

Dart MergeFileRequest DTOs

To override the Content-type in your clients, use the HTTP Accept Header, append the .xml suffix or ?format=xml

HTTP + XML

The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.

POST /merge-file HTTP/1.1 
Host: etc-api.vsmlab.vn 
Accept: application/xml
Content-Type: application/xml
Content-Length: length

<MergeFileRequest xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/tvpl.api.ServiceModel">
  <Elements>
    <ElementDefinitionDto>
      <Children>
        <ElementDefinitionDto>
          <Children>
            <ElementDefinitionDto>
              <Children i:nil="true" />
              <DataType>String</DataType>
              <Description>String</Description>
              <ElementKey>String</ElementKey>
              <Id>0</Id>
              <OrderIndex>0</OrderIndex>
              <ParentId>0</ParentId>
              <Tag>String</Tag>
              <TemplateId>0</TemplateId>
              <TemplateType>String</TemplateType>
              <Title>String</Title>
              <Value />
            </ElementDefinitionDto>
          </Children>
          <DataType>String</DataType>
          <Description>String</Description>
          <ElementKey>String</ElementKey>
          <Id>0</Id>
          <OrderIndex>0</OrderIndex>
          <ParentId>0</ParentId>
          <Tag>String</Tag>
          <TemplateId>0</TemplateId>
          <TemplateType>String</TemplateType>
          <Title>String</Title>
          <Value />
        </ElementDefinitionDto>
      </Children>
      <DataType>String</DataType>
      <Description>String</Description>
      <ElementKey>String</ElementKey>
      <Id>0</Id>
      <OrderIndex>0</OrderIndex>
      <ParentId>0</ParentId>
      <Tag>String</Tag>
      <TemplateId>0</TemplateId>
      <TemplateType>String</TemplateType>
      <Title>String</Title>
      <Value />
    </ElementDefinitionDto>
  </Elements>
  <Template>
    <Description>String</Description>
    <DocumentId>0</DocumentId>
    <Id>0</Id>
    <IsActive>false</IsActive>
    <Title>String</Title>
  </Template>
</MergeFileRequest>
HTTP/1.1 200 OK
Content-Type: application/xml
Content-Length: length

<z:anyType xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns:z="http://schemas.microsoft.com/2003/10/Serialization/" />