tvpl.api

<back to all web services

GetTemplateByDocumentIdRequest

Requires Authentication
The following routes are available for this service:
GET/document-template/bydocument
using System;
using System.Collections;
using System.Collections.Generic;
using System.Runtime.Serialization;
using ServiceStack;
using ServiceStack.DataAnnotations;
using tvpl.api.ServiceModel;
using tvpl.data.Models;

namespace tvpl.api.ServiceModel
{
    public partial class DocumentElementDto
        : DocumentElement
    {
        public DocumentElementDto()
        {
            Children = new List<DocumentElementDto>{};
        }

        public virtual List<DocumentElementDto> Children { get; set; }
    }

    public partial class DocumentTemplateDto
        : DocumentTemplate
    {
        public DocumentTemplateDto()
        {
            Elements = new List<DocumentElementDto>{};
        }

        public virtual List<DocumentElementDto> Elements { get; set; }
    }

    public partial class DocumentTemplateResponse
    {
        public virtual DocumentTemplateDto Template { get; set; }
        public virtual int InsertedId { get; set; }
        public virtual int Code { get; set; }
        public virtual string Message { get; set; }
    }

    public partial class GetTemplateByDocumentIdRequest
    {
        public virtual int DocumentId { get; set; }
    }

}

namespace tvpl.data.Models
{
    public partial class BasicDocument
    {
        [Required]
        public virtual string Title { get; set; }

        [StringLength(4000)]
        public virtual string Description { get; set; }

        [StringLength(500)]
        public virtual string Owner { get; set; }

        public virtual int? DocumentPolicyId { get; set; }
        public virtual int? UpdateDocumentId { get; set; }
        public virtual DateTime? EffectBeginDate { get; set; }
        public virtual DateTime? EffectEndDate { get; set; }
        public virtual int? IssuingAgencyId { get; set; }
        public virtual int? DocumentTypeId { get; set; }
        public virtual int? DocumentGroupId { get; set; }
        public virtual int? SubjectId { get; set; }
        [StringLength(500)]
        public virtual string SignBy { get; set; }

        public virtual DateTime? SignDate { get; set; }
        public virtual int? StatusId { get; set; }
        public virtual bool IsInternal { get; set; }
        public virtual string DocumentNumber { get; set; }
        public virtual string DocumentCode { get; set; }
        public virtual bool? IsUrgent { get; set; }
        public virtual int? ScopeType { get; set; }
        public virtual bool? IsActive { get; set; }
    }

    public partial class Document
        : BasicDocument
    {
        public virtual int Id { get; set; }
        [StringLength(500)]
        public virtual string ReasonReturn { get; set; }

        public virtual int? AccountId { get; set; }
        public virtual DateTime? DeletedAt { get; set; }
        [StringLength(500)]
        public virtual string DeletedBy { get; set; }

        [StringLength(500)]
        public virtual string UpdatedBy { get; set; }

        public virtual DateTime? CreatedAt { get; set; }
        [StringLength(500)]
        public virtual string CreatedBy { get; set; }

        public virtual bool? IsParty { get; set; }
        public virtual bool IsRevisionRequested { get; set; }
        public virtual DateTime? LastUpdatedAt { get; set; }
        public virtual bool? IsPrivate { get; set; }
        public virtual int? DepartmentId { get; set; }
        public virtual DateTime? PublicationDate { get; set; }
        public virtual int? ProcessStatusId { get; set; }
        public virtual string FullTextSearchContent { get; set; }
    }

    public partial class DocumentElement
    {
        public virtual int Id { get; set; }
        public virtual int TemplateId { get; set; }
        [Required]
        public virtual string ElementKey { get; set; }

        [Required]
        public virtual string Tag { get; set; }

        public virtual int? ParentId { get; set; }
        [Required]
        public virtual string Title { get; set; }

        public virtual string Description { get; set; }
        [Required]
        public virtual string DataType { get; set; }

        public virtual string TemplateType { get; set; }
        public virtual int OrderIndex { get; set; }
        public virtual bool? IsRequired { get; set; }
    }

    public partial class DocumentTemplate
    {
        public DocumentTemplate()
        {
            DocumentIds = new List<int>{};
            Documents = new List<Document>{};
        }

        public virtual int Id { get; set; }
        [Required]
        public virtual string Title { get; set; }

        public virtual string Description { get; set; }
        public virtual bool IsActive { get; set; }
        [Ignore]
        public virtual List<int> DocumentIds { get; set; }

        [Ignore]
        public virtual List<Document> Documents { get; set; }
    }

}

C# GetTemplateByDocumentIdRequest 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.

GET /document-template/bydocument HTTP/1.1 
Host: etc-api.vsmlab.vn 
Accept: application/xml
HTTP/1.1 200 OK
Content-Type: application/xml
Content-Length: length

<DocumentTemplateResponse xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/tvpl.api.ServiceModel">
  <Code>0</Code>
  <InsertedId>0</InsertedId>
  <Message>String</Message>
  <Template>
    <CreatedAt xmlns="http://schemas.datacontract.org/2004/07/tvpl.data.Models">0001-01-01T00:00:00</CreatedAt>
    <CreatedBy xmlns="http://schemas.datacontract.org/2004/07/tvpl.data.Models">0</CreatedBy>
    <Description xmlns="http://schemas.datacontract.org/2004/07/tvpl.data.Models">String</Description>
    <DocumentIds xmlns:d3p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays" xmlns="http://schemas.datacontract.org/2004/07/tvpl.data.Models">
      <d3p1:int>0</d3p1:int>
    </DocumentIds>
    <Documents xmlns="http://schemas.datacontract.org/2004/07/tvpl.data.Models">
      <Document>
        <Description>String</Description>
        <DocumentCode>String</DocumentCode>
        <DocumentGroupId>0</DocumentGroupId>
        <DocumentNumber>String</DocumentNumber>
        <DocumentPolicyId>0</DocumentPolicyId>
        <DocumentTypeId>0</DocumentTypeId>
        <EffectBeginDate>0001-01-01T00:00:00</EffectBeginDate>
        <EffectEndDate>0001-01-01T00:00:00</EffectEndDate>
        <IsActive>false</IsActive>
        <IsInternal>false</IsInternal>
        <IsUrgent>false</IsUrgent>
        <IssuingAgencyId>0</IssuingAgencyId>
        <Owner>String</Owner>
        <ScopeType>0</ScopeType>
        <SignBy>String</SignBy>
        <SignDate>0001-01-01T00:00:00</SignDate>
        <StatusId>0</StatusId>
        <SubjectId>0</SubjectId>
        <Title>String</Title>
        <UpdateDocumentId>0</UpdateDocumentId>
        <AccountId>0</AccountId>
        <CreatedAt>0001-01-01T00:00:00</CreatedAt>
        <CreatedBy>String</CreatedBy>
        <DeletedAt>0001-01-01T00:00:00</DeletedAt>
        <DeletedBy>String</DeletedBy>
        <DepartmentId>0</DepartmentId>
        <FullTextSearchContent>String</FullTextSearchContent>
        <Id>0</Id>
        <IsParty>false</IsParty>
        <IsPrivate>false</IsPrivate>
        <IsRevisionRequested>false</IsRevisionRequested>
        <LastUpdatedAt>0001-01-01T00:00:00</LastUpdatedAt>
        <ProcessStatusId>0</ProcessStatusId>
        <PublicationDate>0001-01-01T00:00:00</PublicationDate>
        <ReasonReturn>String</ReasonReturn>
        <UpdatedBy>String</UpdatedBy>
      </Document>
    </Documents>
    <Id xmlns="http://schemas.datacontract.org/2004/07/tvpl.data.Models">0</Id>
    <IsActive xmlns="http://schemas.datacontract.org/2004/07/tvpl.data.Models">false</IsActive>
    <Title xmlns="http://schemas.datacontract.org/2004/07/tvpl.data.Models">String</Title>
    <Elements>
      <DocumentElementDto>
        <CreatedAt xmlns="http://schemas.datacontract.org/2004/07/tvpl.data.Models">0001-01-01T00:00:00</CreatedAt>
        <DataType xmlns="http://schemas.datacontract.org/2004/07/tvpl.data.Models">String</DataType>
        <Description xmlns="http://schemas.datacontract.org/2004/07/tvpl.data.Models">String</Description>
        <ElementKey xmlns="http://schemas.datacontract.org/2004/07/tvpl.data.Models">String</ElementKey>
        <Id xmlns="http://schemas.datacontract.org/2004/07/tvpl.data.Models">0</Id>
        <IsRequired xmlns="http://schemas.datacontract.org/2004/07/tvpl.data.Models">false</IsRequired>
        <OrderIndex xmlns="http://schemas.datacontract.org/2004/07/tvpl.data.Models">0</OrderIndex>
        <ParentId xmlns="http://schemas.datacontract.org/2004/07/tvpl.data.Models">0</ParentId>
        <Tag xmlns="http://schemas.datacontract.org/2004/07/tvpl.data.Models">String</Tag>
        <TemplateId xmlns="http://schemas.datacontract.org/2004/07/tvpl.data.Models">0</TemplateId>
        <TemplateType xmlns="http://schemas.datacontract.org/2004/07/tvpl.data.Models">String</TemplateType>
        <Title xmlns="http://schemas.datacontract.org/2004/07/tvpl.data.Models">String</Title>
        <Children>
          <DocumentElementDto>
            <CreatedAt xmlns="http://schemas.datacontract.org/2004/07/tvpl.data.Models">0001-01-01T00:00:00</CreatedAt>
            <DataType xmlns="http://schemas.datacontract.org/2004/07/tvpl.data.Models">String</DataType>
            <Description xmlns="http://schemas.datacontract.org/2004/07/tvpl.data.Models">String</Description>
            <ElementKey xmlns="http://schemas.datacontract.org/2004/07/tvpl.data.Models">String</ElementKey>
            <Id xmlns="http://schemas.datacontract.org/2004/07/tvpl.data.Models">0</Id>
            <IsRequired xmlns="http://schemas.datacontract.org/2004/07/tvpl.data.Models">false</IsRequired>
            <OrderIndex xmlns="http://schemas.datacontract.org/2004/07/tvpl.data.Models">0</OrderIndex>
            <ParentId xmlns="http://schemas.datacontract.org/2004/07/tvpl.data.Models">0</ParentId>
            <Tag xmlns="http://schemas.datacontract.org/2004/07/tvpl.data.Models">String</Tag>
            <TemplateId xmlns="http://schemas.datacontract.org/2004/07/tvpl.data.Models">0</TemplateId>
            <TemplateType xmlns="http://schemas.datacontract.org/2004/07/tvpl.data.Models">String</TemplateType>
            <Title xmlns="http://schemas.datacontract.org/2004/07/tvpl.data.Models">String</Title>
            <Children>
              <DocumentElementDto>
                <CreatedAt xmlns="http://schemas.datacontract.org/2004/07/tvpl.data.Models">0001-01-01T00:00:00</CreatedAt>
                <DataType xmlns="http://schemas.datacontract.org/2004/07/tvpl.data.Models">String</DataType>
                <Description xmlns="http://schemas.datacontract.org/2004/07/tvpl.data.Models">String</Description>
                <ElementKey xmlns="http://schemas.datacontract.org/2004/07/tvpl.data.Models">String</ElementKey>
                <Id xmlns="http://schemas.datacontract.org/2004/07/tvpl.data.Models">0</Id>
                <IsRequired xmlns="http://schemas.datacontract.org/2004/07/tvpl.data.Models">false</IsRequired>
                <OrderIndex xmlns="http://schemas.datacontract.org/2004/07/tvpl.data.Models">0</OrderIndex>
                <ParentId xmlns="http://schemas.datacontract.org/2004/07/tvpl.data.Models">0</ParentId>
                <Tag xmlns="http://schemas.datacontract.org/2004/07/tvpl.data.Models">String</Tag>
                <TemplateId xmlns="http://schemas.datacontract.org/2004/07/tvpl.data.Models">0</TemplateId>
                <TemplateType xmlns="http://schemas.datacontract.org/2004/07/tvpl.data.Models">String</TemplateType>
                <Title xmlns="http://schemas.datacontract.org/2004/07/tvpl.data.Models">String</Title>
                <Children i:nil="true" />
              </DocumentElementDto>
            </Children>
          </DocumentElementDto>
        </Children>
      </DocumentElementDto>
    </Elements>
  </Template>
</DocumentTemplateResponse>