tvpl.api

<back to all web services

DocumentSearchRequest

Requires Authentication
The following routes are available for this service:
POST/document/search
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.Constant;
using tvpl.data.Models;

namespace tvpl.api.ServiceModel
{
    public partial class DocumentSearchRequest
        : PagingRequest, IDocumentSearchFilter, IPost
    {
        public virtual string Title { get; set; }
        public virtual int? TypeId { get; set; }
        public virtual int? GroupId { get; set; }
        public virtual int? SubjectId { get; set; }
        public virtual int? IssuingAgencyId { get; set; }
        public virtual bool? IsUrgent { get; set; }
        public virtual DocumentSearchStage DocumentSearchStage { get; set; }
        public virtual bool? IsInternal { get; set; }
        public virtual int? StatusId { get; set; }
        public virtual SearchOrderBy OrderBy { get; set; }
        public virtual DateTime? FromDate { get; set; }
        public virtual DateTime? ToDate { get; set; }
        public virtual bool? IsParty { get; set; }
        public virtual int ScopeType { get; set; }
    }

    public partial class PagingRequest
    {
        public virtual int Page { get; set; }
        public virtual int Limit { get; set; }
    }

    public partial class SearchResponse
        : IResponseRequest
    {
        public SearchResponse()
        {
            Data = new List<DocumentSearchResultItem>{};
        }

        public virtual long TotalCount { get; set; }
        public virtual int Code { get; set; }
        public virtual List<DocumentSearchResultItem> Data { get; set; }
        public virtual string Message { get; set; }
    }

}

namespace tvpl.data.Constant
{
    public enum DocumentSearchStage
    {
        All,
        AllProcessing,
        Draft,
        PendingApproval,
        IsRevisionRequested,
        PendingCompilation,
        PendingReport,
        Published,
        Active,
        InActive,
    }

    public enum SearchOrderBy
    {
        UpdatedDateDesc,
        PublishDateDesc,
    }

}

namespace tvpl.data.Models
{
    public partial class DocumentSearchResultItem
    {
        public virtual string Title { get; set; }
        public virtual string Description { get; set; }
        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? SubjectId { get; set; }
        public virtual string SignBy { get; set; }
        public virtual DateTime? SignDate { get; set; }
        public virtual DateTime? UpdatedAt { 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 Id { get; set; }
        public virtual string ReasonReturn { get; set; }
        public virtual int? AccountId { get; set; }
        public virtual int? ApproverId { get; set; }
        [StringLength(500)]
        public virtual string UpdatedBy { get; set; }

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

        public virtual bool? IsParty { get; set; }
        public virtual bool? IsRevisionRequested { 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 int? DocumentTypeId { get; set; }
        public virtual int? DocumentGroupId { get; set; }
        public virtual string AccountName { get; set; }
        public virtual string AcceptAccountName { get; set; }
        public virtual string DocumentGroupText { get; set; }
        public virtual string ProcessStatusText { get; set; }
        public virtual string DocumentTypeText { get; set; }
        public virtual string DepartmentText { get; set; }
        public virtual string StatusText { get; set; }
        public virtual string IssuingAgencyText { get; set; }
        public virtual string SubjectText { get; set; }
        public virtual string Comment { get; set; }
        public virtual string SubmitComment { get; set; }
        public virtual string FullFile { get; set; }
        public virtual string ParthFile { get; set; }
        public virtual bool? IsActive { get; set; }
        public virtual int? StepOrder { get; set; }
        public virtual int? StepCount { get; set; }
    }

}

C# DocumentSearchRequest DTOs

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

HTTP + CSV

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

POST /document/search HTTP/1.1 
Host: etc-api.vsmlab.vn 
Accept: text/csv
Content-Type: text/csv
Content-Length: length

{"title":"String","typeId":0,"groupId":0,"subjectId":0,"issuingAgencyId":0,"isUrgent":false,"documentSearchStage":"All","isInternal":false,"statusId":0,"orderBy":"UpdatedDateDesc","fromDate":"0001-01-01T00:00:00.0000000+07:06","toDate":"0001-01-01T00:00:00.0000000+07:06","isParty":false,"scopeType":0,"page":1,"limit":10}
HTTP/1.1 200 OK
Content-Type: text/csv
Content-Length: length

{"totalCount":0,"code":0,"data":[{"title":"String","description":"String","owner":"String","documentPolicyId":0,"updateDocumentId":0,"effectBeginDate":"0001-01-01T00:00:00.0000000+07:06","effectEndDate":"0001-01-01T00:00:00.0000000+07:06","issuingAgencyId":0,"subjectId":0,"signBy":"String","signDate":"0001-01-01T00:00:00.0000000+07:06","updatedAt":"0001-01-01T00:00:00.0000000+07:06","statusId":0,"isInternal":false,"documentNumber":"String","documentCode":"String","isUrgent":false,"id":0,"reasonReturn":"String","accountId":0,"approverId":0,"updatedBy":"String","createdBy":"String","isParty":false,"isRevisionRequested":false,"isPrivate":false,"departmentId":0,"publicationDate":"0001-01-01T00:00:00.0000000+07:06","processStatusId":0,"documentTypeId":0,"documentGroupId":0,"accountName":"String","acceptAccountName":"String","documentGroupText":"String","processStatusText":"String","documentTypeText":"String","departmentText":"String","statusText":"String","issuingAgencyText":"String","subjectText":"String","comment":"String","submitComment":"String","fullFile":"String","parthFile":"String","isActive":false,"stepOrder":0,"stepCount":0}],"message":"String"}