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 CreateWorkflowStepRequest()
        {
            StepAttachFiles = new List<UploadedFiles>{};
        }

        public virtual List<UploadedFiles> StepAttachFiles { 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 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 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 WorkflowStep
    {
        public WorkflowStep()
        {
            DepartmentIds = new List<int>{};
            StepBasisDocumentIds = new List<int>{};
            StepAttachedIds = new List<int>{};
            MainAssigneeIds = new List<int>{};
        }

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

        public virtual int? StepOrder { 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; }
        [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> StepBasisDocumentIds { get; set; }

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

        [Ignore]
        public virtual List<int> MainAssigneeIds { 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

{
	stepAttachFiles: 
	[
		{
			id: 0,
			uploadedFile: String,
			subDocumentId: 0,
			stepId: 0,
			code: 0,
			fileName: String,
			filekey: String,
			fileUrl: String,
			checksum: String,
			eTag: String,
			fileSize: 0
		}
	],
	id: 0,
	workflowId: 0,
	stepOrder: 0,
	stepName: String,
	isRequired: False,
	slaLegalValue: 0,
	slaLegalIsByDay: False,
	slaInternalValue: 0,
	slaInternalIsByDay: False,
	requireAttachment: False,
	description: String,
	createdBy: 0,
	departmentIds: 
	[
		0
	],
	stepBasisDocumentIds: 
	[
		0
	],
	stepAttachedIds: 
	[
		0
	],
	mainAssigneeIds: 
	[
		0
	]
}
HTTP/1.1 200 OK
Content-Type: text/jsv
Content-Length: length

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