AJ c0a6b1690f Add duplicate detection for receipt uploads
Implemented duplicate detection to warn users when uploading receipts
that may already exist in the system.

Changes:
- Extended ReceiptUploadResult to include DuplicateWarning list
- Added CheckForDuplicatesAsync method to ReceiptManager that checks:
  1. Identical file content (same SHA256 hash)
  2. Same file name and size (potential duplicate saved/edited)
- Updated upload flow to check for duplicates before saving
- Enhanced Receipts page to:
  - Display warning alert when duplicates are detected
  - Show details of each potential duplicate (receipt ID, filename,
    upload date, mapped transaction, and reason)
  - Provide quick link to view the duplicate receipt
  - Use TempData to persist warnings across redirect

Duplicate detection runs on every upload and provides actionable
information to help users avoid uploading the same receipt multiple
times. The check uses hash-based detection for exact duplicates and
name+size matching for potential duplicates.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-12 12:58:39 -04:00
2025-10-04 02:19:54 -04:00
2025-10-04 02:13:50 -04:00
Description
No description provided
103 MiB
Languages
C# 66.6%
HTML 31.2%
JavaScript 1.9%
CSS 0.2%
Dockerfile 0.1%