Fix case-sensitive transaction search on PostgreSQL
PayeeName and SearchText filters used Contains() which translates to case-sensitive LIKE in PostgreSQL. Switch to EF.Functions.ILike for case-insensitive matching so searching for "frantech" finds "Buyvm Frantech" and "vultr" finds "Vultr.com". Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -158,12 +158,12 @@ public class TransactionService : ITransactionService
|
||||
if (request.Status.HasValue)
|
||||
query = query.Where(t => t.Status == request.Status.Value);
|
||||
if (!string.IsNullOrEmpty(request.PayeeName))
|
||||
query = query.Where(t => t.PayeeName != null && t.PayeeName.Contains(request.PayeeName));
|
||||
query = query.Where(t => t.PayeeName != null && EF.Functions.ILike(t.PayeeName, $"%{request.PayeeName}%"));
|
||||
if (!string.IsNullOrEmpty(request.SearchText))
|
||||
query = query.Where(t =>
|
||||
(t.PayeeName != null && t.PayeeName.Contains(request.SearchText)) ||
|
||||
(t.Memo != null && t.Memo.Contains(request.SearchText)) ||
|
||||
(t.ReferenceNumber != null && t.ReferenceNumber.Contains(request.SearchText)));
|
||||
(t.PayeeName != null && EF.Functions.ILike(t.PayeeName, $"%{request.SearchText}%")) ||
|
||||
(t.Memo != null && EF.Functions.ILike(t.Memo, $"%{request.SearchText}%")) ||
|
||||
(t.ReferenceNumber != null && EF.Functions.ILike(t.ReferenceNumber, $"%{request.SearchText}%")));
|
||||
|
||||
query = query.OrderByDescending(t => t.Date).ThenByDescending(t => t.CreatedAt);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user