20251224 todo
📋 Remaining:
Phase 3: Query Object Pattern (~45 min) Create TicketSearchQuery class to encapsulate search criteria Refactor ITicketRepository.SearchTicketsAsync to return (IEnumerable, int) instead of TicketSearchViewModel Update TicketService to handle mapping Benefit: Removes ViewModel dependency from repository layer (fixes layering violation) Phase 4: Create DTO for Search Results (~15 min) Create TicketSearchResultDto for repository results Complete the separation of concerns Benefit: Clean architecture boundaries Summary:
Time to complete: ~1 hour total Impact: Fixes architectural layering violation (ViewModels in repository layer) Breaking changes: Repository signature changes (medium risk, but contained) Would you like me to continue with Phase 3 & 4, or should we stop here with the 2 completed phases?