diff --git a/ExportDXF/Forms/MainForm.cs b/ExportDXF/Forms/MainForm.cs index 1871506..cf124a3 100644 --- a/ExportDXF/Forms/MainForm.cs +++ b/ExportDXF/Forms/MainForm.cs @@ -477,6 +477,9 @@ namespace ExportDXF.Forms if (drawingInfo != null) { + // Detach event to prevent async race when setting equipment + equipmentBox.SelectedIndexChanged -= EquipmentBox_SelectedIndexChanged; + if (!string.IsNullOrEmpty(drawingInfo.EquipmentNo)) { if (!equipmentBox.Items.Contains(drawingInfo.EquipmentNo)) @@ -484,6 +487,11 @@ namespace ExportDXF.Forms equipmentBox.Text = drawingInfo.EquipmentNo; } + // Load drawings for the selected equipment, then set drawing number + await UpdateDrawingDropdownAsync(); + + equipmentBox.SelectedIndexChanged += EquipmentBox_SelectedIndexChanged; + if (!string.IsNullOrEmpty(drawingInfo.DrawingNo)) { if (!drawingNoBox.Items.Contains(drawingInfo.DrawingNo)) diff --git a/FabWorks.Api/Services/FileStorageService.cs b/FabWorks.Api/Services/FileStorageService.cs index f55231e..52cdb0b 100644 --- a/FabWorks.Api/Services/FileStorageService.cs +++ b/FabWorks.Api/Services/FileStorageService.cs @@ -82,6 +82,17 @@ namespace FabWorks.Api.Services var wasUnchanged = previousHash != null && previousHash == contentHash; var isNewFile = await StoreBlobAsync(stream, contentHash, "pdf"); + // Update the export record with the PDF content hash + if (exportRecordId.HasValue) + { + var record = await _db.ExportRecords.FindAsync(exportRecordId.Value); + if (record != null) + { + record.PdfContentHash = contentHash; + await _db.SaveChangesAsync(); + } + } + return new FileUploadResult { ContentHash = contentHash,