feat: add export history auto-fill, fix filename prefixes, persist records for all doc types

- Add database-first lookup for equipment/drawing number auto-fill when
  reopening previously exported files
- Remove prefix prepending for named parts (only use prefix for PT## BOM items)
- Create ExportRecord/BomItem/CutTemplate chains for Part and Assembly
  exports, not just Drawings
- Add auto-incrementing item numbers across drawing numbers
- Add content hashing (SHA256) for DXF and PDF versioning with
  stash/archive pattern
- Add EF Core initial migration for ExportDxfDb

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-02-17 13:09:02 -05:00
parent a17d8cac49
commit 719dca1ca5
12 changed files with 725 additions and 85 deletions

View File

@@ -32,6 +32,16 @@ namespace ExportDXF.Services
/// </summary>
public string FilePrefix { get; set; }
/// <summary>
/// Equipment number from the UI (e.g., "5028").
/// </summary>
public string Equipment { get; set; }
/// <summary>
/// Drawing number from the UI (e.g., "A02", "Misc").
/// </summary>
public string DrawingNo { get; set; }
/// <summary>
/// Selected Equipment ID for API operations (optional).
/// </summary>

View File

@@ -11,6 +11,7 @@ namespace ExportDXF.Models
public string OutputFolder { get; set; }
public DateTime ExportedAt { get; set; }
public string ExportedBy { get; set; }
public string PdfContentHash { get; set; }
public virtual ICollection<BomItem> BomItems { get; set; } = new List<BomItem>();
}

View File

@@ -61,5 +61,15 @@ namespace ExportDXF.Services
/// The SolidWorks component reference.
/// </summary>
public Component2 Component { get; set; }
/// <summary>
/// SHA256 content hash of the exported DXF (transient, not persisted).
/// </summary>
public string ContentHash { get; set; }
/// <summary>
/// Path to the stashed (backed-up) previous DXF file (transient, not persisted).
/// </summary>
public string StashedFilePath { get; set; }
}
}