Initial commit

This commit is contained in:
2026-04-23 21:38:24 -04:00
commit 63e12a9636
1762 changed files with 1672620 additions and 0 deletions
@@ -0,0 +1,42 @@
namespace PowderCoating.Application.Interfaces;
public class InventoryAiLookupResult
{
public bool Success { get; set; }
public string? ErrorMessage { get; set; }
// Identity
public string? Manufacturer { get; set; }
public string? ManufacturerPartNumber { get; set; }
public string? ColorName { get; set; }
public string? ColorCode { get; set; }
public string? Description { get; set; }
// Coating specs
public string? Finish { get; set; }
public decimal? CureTemperatureF { get; set; }
public int? CureTimeMinutes { get; set; }
public string? ColorFamilies { get; set; } // comma-separated e.g. "Green,Blue"
public bool? RequiresClearCoat { get; set; }
// Application properties
public decimal? CoverageSqFtPerLb { get; set; } // typical ~80-120 sq ft/lb
public decimal? TransferEfficiency { get; set; } // typical 50-75%
public decimal? UnitCostPerLb { get; set; } // price per lb/unit if found in search results
public string? VendorName { get; set; } // manufacturer/vendor name for dropdown matching
public string? SpecPageUrl { get; set; } // URL of the product page that was fetched
public string? Reasoning { get; set; } // brief explanation of what was found
}
public interface IInventoryAiLookupService
{
/// <summary>
/// Search the web for powder coating product info and use AI to extract structured data.
/// </summary>
Task<InventoryAiLookupResult> LookupAsync(
string? manufacturer,
string? colorName,
string? colorCode,
string? partNumber);
}