92 lines
2.8 KiB
C#
92 lines
2.8 KiB
C#
using CsvHelper.Configuration.Attributes;
|
|
|
|
namespace PowderCoating.Application.DTOs.Import;
|
|
|
|
/// <summary>
|
|
/// DTO for importing inventory items from CSV files.
|
|
/// </summary>
|
|
public class InventoryItemImportDto
|
|
{
|
|
[Name("SKU")]
|
|
public string SKU { get; set; } = string.Empty;
|
|
|
|
// "Name" = old export header; "ItemName" = new export header
|
|
[Name("ItemName", "Name")]
|
|
public string ItemName { get; set; } = string.Empty;
|
|
|
|
[Name("Description")]
|
|
public string? Description { get; set; }
|
|
|
|
// "Category" = old export header; "CategoryName" = new export header
|
|
[Name("CategoryName", "Category")]
|
|
public string? CategoryName { get; set; }
|
|
|
|
[Name("Manufacturer")]
|
|
public string? Manufacturer { get; set; }
|
|
|
|
[Name("ManufacturerPartNumber")]
|
|
public string? ManufacturerPartNumber { get; set; }
|
|
|
|
// "Color" = old export header; "ColorName" = new export header
|
|
[Name("ColorName", "Color")]
|
|
public string? ColorName { get; set; }
|
|
|
|
[Name("ColorCode")]
|
|
public string? ColorCode { get; set; }
|
|
|
|
[Name("Finish")]
|
|
public string? Finish { get; set; }
|
|
|
|
// Vendor name is used to look up PrimaryVendorId
|
|
[Name("VendorName")]
|
|
public string? VendorName { get; set; }
|
|
|
|
[Name("VendorPartNumber")]
|
|
public string? VendorPartNumber { get; set; }
|
|
|
|
// "QuantityOnHand" / "Qty on Hand" = old export headers; "QuantityInStock" = new export header
|
|
[Name("QuantityInStock", "QuantityOnHand", "Qty on Hand")]
|
|
public decimal? QuantityInStock { get; set; }
|
|
|
|
// "Unit" = old export header; "UnitOfMeasure" = new export header
|
|
[Name("UnitOfMeasure", "Unit")]
|
|
public string? UnitOfMeasure { get; set; }
|
|
|
|
// "Unit Cost" = old export header; "UnitCost" = new export header
|
|
[Name("UnitCost", "Unit Cost")]
|
|
public decimal? UnitCost { get; set; }
|
|
|
|
[Name("LastPurchasePrice")]
|
|
public decimal? LastPurchasePrice { get; set; }
|
|
|
|
// "Reorder Point" = old export header; "ReorderPoint" = new export header
|
|
[Name("ReorderPoint", "Reorder Point")]
|
|
public decimal? ReorderPoint { get; set; }
|
|
|
|
[Name("ReorderQuantity")]
|
|
public decimal? ReorderQuantity { get; set; }
|
|
|
|
[Name("MinimumStock")]
|
|
public decimal? MinimumStock { get; set; }
|
|
|
|
[Name("MaximumStock")]
|
|
public decimal? MaximumStock { get; set; }
|
|
|
|
// Powder-specific coverage fields
|
|
[Name("CoverageSqFtPerLb")]
|
|
public decimal? CoverageSqFtPerLb { get; set; }
|
|
|
|
[Name("TransferEfficiencyPct")]
|
|
public decimal? TransferEfficiencyPct { get; set; }
|
|
|
|
[Name("Location")]
|
|
public string? Location { get; set; }
|
|
|
|
// "Active" = old export header (Yes/No); "IsActive" = new export header (true/false)
|
|
[Name("IsActive", "Active")]
|
|
public bool? IsActive { get; set; }
|
|
|
|
[Name("Notes")]
|
|
public string? Notes { get; set; }
|
|
}
|