using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace FrameworkDAL.DTO.Workflow { public class WorkflowApprovalListDTO { // ── Task identity ───────────────────────────────────────────────────── public int WorkFlowTaskId { get; set; } public int WorkFlowInstanceId { get; set; } // ── What is being approved ──────────────────────────────────────────── public int ObjectId { get; set; } public int EntityId { get; set; } public string? EntityCode { get; set; } public string? EntityName { get; set; } public object? DataJson { get; set; } public string? FactsJson { get; set; } // ── Which workflow & overall status ─────────────────────────────────── public int WorkflowId { get; set; } public string? WorkflowName { get; set; } public byte WorkflowStatus { get; set; } public string? WorkflowStatusName { get; set; } public int CurrentApprovalLevel { get; set; } // ── Who submitted it ────────────────────────────────────────────────── public int SubmittedById { get; set; } public string? SubmittedByCode { get; set; } public string? SubmittedByName { get; set; } public DateTime? SubmittedOn { get; set; } // ── Current step ────────────────────────────────────────────────────── public int StepId { get; set; } public string? StepName { get; set; } public int? ApprovalLevel { get; set; } // ── Task status ─────────────────────────────────────────────────────── public byte WorkFlowTaskStatus { get; set; } public string? WorkFlowTaskStatusName { get; set; } // ── Assigned approver ───────────────────────────────────────────────── public int AssignedToUserId { get; set; } public string? AssignedToUserCode { get; set; } public string? AssignedToUserName { get; set; } public int? AssignedRoleId { get; set; } public int? AssignedUserGroupId { get; set; } // ── Task timing & action ────────────────────────────────────────────── public DateTime? DueOn { get; set; } public DateTime? CompletedOn { get; set; } public int? ActionTaken { get; set; } public string? Comment { get; set; } public int TenantId { get; set; } public DateTime CreatedOn { get; set; } public DateTime? ModifiedOn { get; set; } // ── Display ─────────────────────────────────────────────────────────── public string? Particulars { get; set; } public string? ParticularsTemplate { get; set; } // ── Previous level's remark (carried forward for this approver's context) ── /// The comment left by whoever actioned the most recent prior approval level on this instance, if any. public string? PreviousRemarks { get; set; } public int? PreviousApprovalLevel { get; set; } public string? PreviousActionByUserName { get; set; } // ── Pagination ──────────────────────────────────────────────────────── public int TotalCount { get; set; } } }