using Microsoft.AspNetCore.Http; using Oms.Application.Services.Orders.Templates; namespace Oms.Application.Dtos.Orders; public class OrderTemplateFieldSchemaOutput { public string TemplateKey { get; set; } = string.Empty; public string TemplateName { get; set; } = string.Empty; public List Fields { get; set; } = []; } public class OrderTemplateFieldSchemaItemOutput { public string FieldKey { get; set; } = string.Empty; public string Label { get; set; } = string.Empty; public bool Required { get; set; } public string DataType { get; set; } = "string"; public string? DictType { get; set; } public string Group { get; set; } = string.Empty; public string Example { get; set; } = string.Empty; } public class OrderTemplateDictOptionsOutput { public List Items { get; set; } = []; } public class OrderTemplateDictOptionOutput { public string DictType { get; set; } = string.Empty; public string Code { get; set; } = string.Empty; public string Label { get; set; } = string.Empty; } public class OrderTemplateCustomUploadInput { public string Name { get; set; } = string.Empty; public IFormFile File { get; set; } = null!; } public class OrderTemplateCustomUploadOutput { public int TemplateId { get; set; } public string Name { get; set; } = string.Empty; public string MappingStatus { get; set; } = OrderTemplateMappingStatus.Draft; public List SourceHeaders { get; set; } = []; } public class OrderTemplateCustomDetailOutput { public int Id { get; set; } public string Name { get; set; } = string.Empty; public string Type { get; set; } = string.Empty; public string? StandardTemplateKey { get; set; } public string MappingStatus { get; set; } = OrderTemplateMappingStatus.Draft; public string? SourceFileName { get; set; } public List SourceHeaders { get; set; } = []; public OrderTemplateColumnMappingDocument? Mapping { get; set; } public List StandardFields { get; set; } = []; } public class OrderTemplateSaveMappingInput { public int TemplateId { get; set; } public int HeaderRowIndex { get; set; } = 1; public int DataStartRowIndex { get; set; } = 2; public List Mappings { get; set; } = []; } public class OrderTemplateSaveMappingItemInput { public string StandardFieldKey { get; set; } = string.Empty; public string SourceColumn { get; set; } = string.Empty; } public class OrderTemplateSaveMappingOutput { public int TemplateId { get; set; } public string MappingStatus { get; set; } = OrderTemplateMappingStatus.Ready; public List MissingRequiredFields { get; set; } = []; }