| POST | /document/stat-search-by-type |
|---|
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 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; }
}
public partial class SimpleSearchFilter
{
public virtual string Title { get; set; }
public virtual int? GroupId { get; set; }
public virtual int? SubjectId { get; set; }
public virtual bool? IsUrgent { get; set; }
public virtual DocumentSearchStage DocumentSearchStage { get; set; }
public virtual bool? IsInternal { get; set; }
public virtual DateTime? FromDate { get; set; }
public virtual DateTime? ToDate { get; set; }
public virtual int? TypeId { get; set; }
public virtual int? StatusId { get; set; }
public virtual int? IssuingAgencyId { get; set; }
public virtual bool? IsParty { get; set; }
}
public partial class StatDocByTypeRequest
: SimpleSearchFilter, IPost
{
}
}
namespace tvpl.data.Constant
{
public enum DocumentSearchStage
{
All,
AllProcessing,
Draft,
PendingApproval,
IsRevisionRequested,
PendingCompilation,
PendingReport,
Published,
Active,
InActive,
}
}
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; }
}
}
To override the Content-type in your clients, use the HTTP Accept Header, append the .jsv suffix or ?format=jsv
The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.
POST /document/stat-search-by-type HTTP/1.1
Host: etc-api.vsmlab.vn
Accept: text/jsv
Content-Type: text/jsv
Content-Length: length
{
title: String,
groupId: 0,
subjectId: 0,
isUrgent: False,
documentSearchStage: All,
isInternal: False,
fromDate: "0001-01-01T00:00:00.0000000+07:06",
toDate: "0001-01-01T00:00:00.0000000+07:06",
typeId: 0,
statusId: 0,
issuingAgencyId: 0,
isParty: False
}
HTTP/1.1 200 OK
Content-Type: text/jsv
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
}