/* Options: Date: 2026-02-04 10:28:24 Version: 6.110 Tip: To override a DTO option, remove "//" prefix before updating BaseUrl: https://etc-api.vsmlab.vn //GlobalNamespace: //MakePartial: True //MakeVirtual: True //MakeInternal: False //MakeDataContractsExtensible: False //AddNullableAnnotations: False //AddReturnMarker: True //AddDescriptionAsComments: True //AddDataContractAttributes: False //AddIndexesToDataMembers: False //AddGeneratedCodeAttributes: False //AddResponseStatus: False //AddImplicitVersion: //InitializeCollections: True //ExportValueTypes: False IncludeTypes: GetWorkflowStepRequest.* //ExcludeTypes: //AddNamespaces: //AddDefaultXmlNamespace: http://schemas.servicestack.net/types */ using System; using System.Collections; using System.Collections.Generic; using System.Runtime.Serialization; using ServiceStack; using ServiceStack.DataAnnotations; using ServiceStack.Web; using System.IO; using tvpl.data.Constant; using tvpl.data.Models; using tvpl.api.ServiceModel; namespace tvpl.api.ServiceModel { [Route("/WorkflowStep/by-workflow", "Get")] public partial class GetWorkflowStepRequest : IReturn { public virtual int WorkflowId { get; set; } } public partial class GetWorkflowStepResponse : IResponseRequest { public GetWorkflowStepResponse() { Data = new List{}; } public virtual int Code { get; set; } public virtual string Message { get; set; } public virtual List Data { get; set; } } public partial interface IResponseRequest { int Code { get; set; } string Message { get; set; } } } namespace tvpl.data.Constant { public enum CategoryTypes { Department, PartyGroup, DocGroup, DocType, IssuingAgency, Status, Subjects, Workflow, WorkStatus, StepStatus, SignStatus, } } 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 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 Category : CreateCategoryModel { public Category() { Children = new List{}; } public virtual int Id { get; set; } public virtual int Level { get; set; } public virtual string Key { get; set; } public virtual int SortOrder { get; set; } public virtual DateTime? LastUpdate { get; set; } [Ignore] public virtual List Children { get; set; } } public partial class CreateCategoryModel { public CreateCategoryModel() { ChildList = new List{}; } public virtual string Name { get; set; } public virtual string Description { get; set; } public virtual CategoryTypes Type { get; set; } public virtual bool IsParty { get; set; } [Ignore] public virtual List ChildList { 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 Roles { public Roles() { Permission = new List{}; } 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 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 SimpleDocumentRelation { public virtual int Id { get; set; } public virtual string Title { get; set; } public virtual string DocumentCode { get; set; } public virtual DateTime? PublicationDate { get; set; } public virtual bool? IsSequentialSigning { get; set; } public virtual string StatusText { get; set; } public virtual int? DocumentTypeId { get; set; } } public partial class StepAttached { public StepAttached() { SignerConfigs = new List{}; } 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 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{}; MainAssigneeIds = new List{}; CoDepartmentIds = new List{}; SupportingAssigneeIds = new List{}; StepBasisDocumentIds = new List{}; AttachedDocuments = new List{}; } 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 DepartmentIds { get; set; } [Ignore] public virtual List MainAssigneeIds { get; set; } [Ignore] public virtual List CoDepartmentIds { get; set; } [Ignore] public virtual List SupportingAssigneeIds { get; set; } [Ignore] public virtual List StepBasisDocumentIds { get; set; } [Ignore] public virtual List AttachedDocuments { get; set; } } public partial class WorkflowStepDetail : WorkflowStep { public WorkflowStepDetail() { Departments = new List{}; CoDepartments = new List{}; BasisDocuments = new List{}; ReferenceDocuments = new List{}; MainAssignees = new List{}; SupportingAssignees = new List{}; } public virtual List Departments { get; set; } public virtual List CoDepartments { get; set; } public virtual List BasisDocuments { get; set; } public virtual List ReferenceDocuments { get; set; } public virtual List MainAssignees { get; set; } public virtual List SupportingAssignees { get; set; } public virtual string StatusKey { get; set; } public virtual string StatusText { get; set; } [Ignore] public virtual bool? CanRead { get; set; } [Ignore] public virtual bool? CanWrite { get; set; } [Ignore] public virtual bool? CanUpload { get; set; } public virtual string ReasonReturn { get; set; } public virtual DateTime? ReturnDate { get; set; } } }