@model PowderCoating.Application.DTOs.Inventory.InventoryItemDto @{ ViewData["Title"] = $"{Model.Name}"; ViewData["PageIcon"] = "bi-box-seam"; ViewData["PageHelpTitle"] = "Inventory Item"; ViewData["PageHelpContent"] = "Full detail for this inventory item. Stock Information shows current quantity and reorder thresholds — a Low Stock banner appears when quantity is at or below the Reorder Point. Pricing shows Unit Cost (what you paid), Average Cost (weighted average across purchases), and Total Stock Value. Use the Actions panel to edit, view jobs using this powder, or delete the item."; string SafeUrl(string? url) => string.IsNullOrEmpty(url) ? "#" : (url.StartsWith("http://", StringComparison.OrdinalIgnoreCase) || url.StartsWith("https://", StringComparison.OrdinalIgnoreCase)) ? url : "https://" + url; } @section Styles { }
SKU: @Model.SKU
@Model.Description
@Model.Manufacturer
@Model.ColorName
@Model.Finish
@Model.ColorCode
@Model.ManufacturerPartNumber
@Model.CoverageSqFtPerLb.Value @ViewBag.CoverageUnit
@Model.TransferEfficiency.Value%
@Model.Notes
@((int)Model.CureTemperatureF.Value)°F
@Model.CureTimeMinutes.Value min
@if (Model.RequiresClearCoat) { Yes } else { No }
@(Model.InventoryAccountName ?? "—")
@(Model.CogsAccountName ?? "—")
@Model.QuantityOnHand.ToString("N2") @Model.UnitOfMeasure
@(Model.Location ?? "—")
@Model.ReorderPoint.ToString("N2") @Model.UnitOfMeasure
@Model.ReorderQuantity.ToString("N2") @Model.UnitOfMeasure
@Model.MinimumStock.ToString("N2") @Model.UnitOfMeasure
@Model.MaximumStock.ToString("N2") @Model.UnitOfMeasure
@Model.UnitCost.ToString("C")
@Model.AverageCost.ToString("C")
@((Model.QuantityOnHand * Model.UnitCost).ToString("C"))
@Model.LastPurchasePrice.ToString("C")
@Model.LastPurchaseDate.Value.ToString("MMM dd, yyyy")
@Model.PrimaryVendorName
@Model.VendorPartNumber