using System.Collections.Generic; namespace GB5Shared.DTO.Promotion { // ============================================================ // PromotionImportResponseDTO — returned by the Import Package endpoint. // Mirrors GopFileUploadResponseDTO/GopFileUploadItemResultDTO's shape // (same "N items in one upload -> N independent GOP executions, collect a // per-item result" convention already used by GOP's own generic file // upload). Each item gets its own GOP execution/Approval gate, so a // reviewer can approve/reject items in a batch independently rather than // all-or-nothing. // ============================================================ public class PromotionImportResponseDTO { public int TotalItems { get; set; } public int SubmittedCount { get; set; } public int FailedCount { get; set; } public List Results { get; set; } = new(); } public class PromotionImportItemResultDTO { public int ItemIndex { get; set; } public string EntityTypeCode { get; set; } = string.Empty; public int OriginEntityId { get; set; } public int? QueueId { get; set; } public int? ExecutionId { get; set; } public string Status { get; set; } = string.Empty; // Queued | Failed public string? Error { get; set; } } }