Fix catalog item repricing on oven-only quote edits

QuoteItem was missing IncludePrepCost, so the Edit GET always deserialized
it as true (DTO default). On save, prep service labor was added on top of
the catalog base price, silently bumping prices whenever any quote field
(e.g. oven cycle minutes) was changed without touching items.

Migration defaults new column to false for catalog items and true for
non-catalog items (matching the wizard's historical defaults).

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-05-06 16:04:45 -04:00
parent 2d8827ad5c
commit d8622b3187
4 changed files with 9617 additions and 3 deletions
@@ -32,6 +32,11 @@ public class QuoteItem : BaseEntity
public bool RequiresSandblasting { get; set; }
public bool RequiresMasking { get; set; }
public int EstimatedMinutes { get; set; }
// Whether to add prep service labor cost on top of this item's base price.
// Defaults to false for catalog items (catalog price assumed to include standard labor);
// true for calculated items where prep is a separate billable add-on.
public bool IncludePrepCost { get; set; }
public string? Notes { get; set; }