tvpl.api

<back to all web services

CreateWorkflowStepRequest

Requires Authentication
The following routes are available for this service:
POST/WorkflowStep/update
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 CreateWorkflowStepRequest
        : WorkflowStep
    {
    }

    public partial class WorkflowStepResponse
        : IResponseRequest
    {
        public virtual int Code { get; set; }
        public virtual string Message { get; set; }
        public virtual int InsertedId { get; set; }
    }

}

namespace tvpl.data.Models
{
    public partial class BasicSignerConfig
    {
        public virtual int? SubDocumentId { get; set; }
        public virtual int? DepartmentId { get; set; }
        public virtual byte SignerType { get; set; }
        public virtual int SignerRefId { get; set; }
        [Ignore]
        public virtual string SignerRefText { get; set; }

        public virtual byte ActionType { get; set; }
        public virtual int OrderIndex { get; set; }
    }

    public partial class BasicUploadedFile
    {
        public virtual string FileName { get; set; }
        public virtual string Filekey { get; set; }
        public virtual string FileUrl { get; set; }
        public virtual string Checksum { get; set; }
        public virtual string ETag { get; set; }
        public virtual long FileSize { get; set; }
    }

    public partial class Roles
    {
        public Roles()
        {
            Permission = new List<string>{};
        }

        public virtual int Id { get; set; }
        [StringLength(50)]
        public virtual string Name { get; set; }

        public virtual DateTime? CreatedAt { get; set; }
        public virtual DateTime? DeletedAt { get; set; }
        public virtual DateTime? UpdatedAt { get; set; }
        public virtual int? UpdatedBy { get; set; }
        public virtual int? DeletedBy { get; set; }
        public virtual int? CreatedBy { get; set; }
        [Ignore]
        public virtual List<string> Permission { get; set; }
    }

    public partial class SignerConfig
        : BasicSignerConfig
    {
        public virtual int Id { get; set; }
        public virtual int DocumentId { get; set; }
        public virtual int? StepId { get; set; }
    }

    public partial class SignerConfigDetail
        : SignerConfig
    {
        public virtual WorkFlowProfile Profile { get; set; }
        public virtual Roles Role { get; set; }
    }

    public partial class StepAttached
    {
        public StepAttached()
        {
            SignerConfigs = new List<SignerConfigDetail>{};
        }

        public virtual int Id { get; set; }
        public virtual string DocumentCode { get; set; }
        public virtual string Title { get; set; }
        public virtual bool? IsSequentialSigning { get; set; }
        public virtual UploadedFiles PendingSignFile { get; set; }
        public virtual UploadedFiles OriginalFile { get; set; }
        public virtual List<SignerConfigDetail> SignerConfigs { get; set; }
    }

    public partial class UploadedFiles
        : BasicUploadedFile
    {
        public virtual long? Id { get; set; }
        public virtual string UploadedFile { get; set; }
        public virtual int? SubDocumentId { get; set; }
        public virtual int? StepId { get; set; }
        public virtual int Code { get; set; }
    }

    public partial class WorkFlowProfile
    {
        public virtual int Id { get; set; }
        public virtual string Name { get; set; }
        public virtual string FullName { get; set; }
        public virtual string Email { get; set; }
        public virtual int? DepartmentId { get; set; }
        public virtual string Avatar { get; set; }
        public virtual string Telephone { get; set; }
        public virtual DateTime? Birthday { get; set; }
        public virtual int? ConfirmStatus { get; set; }
        public virtual string ConfirmStatusText { get; set; }
        public virtual DateTime? SignAt { get; set; }
        public virtual long? SignedFileId { get; set; }
        public virtual int? OriginalFileId { get; set; }
        public virtual string SignedFileName { get; set; }
        public virtual bool IsSigned { get; set; }
        public virtual string SignStatusText { get; set; }
    }

    public partial class WorkflowStep
    {
        public WorkflowStep()
        {
            DepartmentIds = new List<int>{};
            MainAssigneeIds = new List<int>{};
            CoDepartmentIds = new List<int>{};
            SupportingAssigneeIds = new List<int>{};
            StepBasisDocumentIds = new List<int>{};
            AttachedDocuments = new List<StepAttached>{};
        }

        public virtual int Id { get; set; }
        [References(typeof(tvpl.data.Models.Document))]
        public virtual int WorkflowId { get; set; }

        public virtual int? StepOrder { get; set; }
        public virtual int? StatusId { get; set; }
        [Required]
        [StringLength(255)]
        public virtual string StepName { get; set; }

        [Required]
        public virtual bool IsRequired { get; set; }

        public virtual int? SLALegalValue { get; set; }
        public virtual bool? SLALegalIsByDay { get; set; }
        public virtual int? SLAInternalValue { get; set; }
        public virtual bool? SLAInternalIsByDay { get; set; }
        public virtual bool RequireAttachment { get; set; }
        public virtual bool? IsUsingForm { get; set; }
        [Required]
        public virtual string Description { get; set; }

        public virtual int CreatedBy { get; set; }
        [Ignore]
        public virtual List<int> DepartmentIds { get; set; }

        [Ignore]
        public virtual List<int> MainAssigneeIds { get; set; }

        [Ignore]
        public virtual List<int> CoDepartmentIds { get; set; }

        [Ignore]
        public virtual List<int> SupportingAssigneeIds { get; set; }

        [Ignore]
        public virtual List<int> StepBasisDocumentIds { get; set; }

        [Ignore]
        public virtual List<StepAttached> AttachedDocuments { get; set; }
    }

}

C# CreateWorkflowStepRequest DTOs

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

HTTP + JSV

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

POST /WorkflowStep/update HTTP/1.1 
Host: etc-api.vsmlab.vn 
Accept: text/jsv
Content-Type: text/jsv
Content-Length: length

{
	id: 0,
	workflowId: 0,
	stepOrder: 0,
	statusId: 0,
	stepName: String,
	isRequired: False,
	slaLegalValue: 0,
	slaLegalIsByDay: False,
	slaInternalValue: 0,
	slaInternalIsByDay: False,
	requireAttachment: False,
	isUsingForm: False,
	description: String,
	createdBy: 0,
	departmentIds: 
	[
		0
	],
	mainAssigneeIds: 
	[
		0
	],
	coDepartmentIds: 
	[
		0
	],
	supportingAssigneeIds: 
	[
		0
	],
	stepBasisDocumentIds: 
	[
		0
	],
	attachedDocuments: 
	[
		{
			id: 0,
			documentCode: String,
			title: String,
			isSequentialSigning: False,
			pendingSignFile: 
			{
				id: 0,
				uploadedFile: String,
				subDocumentId: 0,
				stepId: 0,
				code: 0,
				fileName: String,
				filekey: String,
				fileUrl: String,
				checksum: String,
				eTag: String,
				fileSize: 0
			},
			originalFile: 
			{
				id: 0,
				uploadedFile: String,
				subDocumentId: 0,
				stepId: 0,
				code: 0,
				fileName: String,
				filekey: String,
				fileUrl: String,
				checksum: String,
				eTag: String,
				fileSize: 0
			},
			signerConfigs: 
			[
				{
					profile: 
					{
						id: 0,
						name: String,
						fullName: String,
						email: String,
						departmentId: 0,
						avatar: String,
						telephone: String,
						birthday: "0001-01-01T00:00:00.0000000+07:06",
						confirmStatus: 0,
						confirmStatusText: String,
						signAt: "0001-01-01T00:00:00.0000000+07:06",
						signedFileId: 0,
						originalFileId: 0,
						signedFileName: String,
						isSigned: False,
						signStatusText: String
					},
					role: 
					{
						id: 0,
						name: String,
						createdAt: "0001-01-01T00:00:00.0000000+07:06",
						deletedAt: "0001-01-01T00:00:00.0000000+07:06",
						updatedAt: "0001-01-01T00:00:00.0000000+07:06",
						updatedBy: 0,
						deletedBy: 0,
						createdBy: 0,
						permission: 
						[
							String
						]
					},
					id: 0,
					documentId: 0,
					stepId: 0,
					subDocumentId: 0,
					departmentId: 0,
					signerType: 0,
					signerRefId: 0,
					signerRefText: String,
					actionType: 0,
					orderIndex: 0
				}
			]
		}
	]
}
HTTP/1.1 200 OK
Content-Type: text/jsv
Content-Length: length

{
	code: 0,
	message: String,
	insertedId: 0
}