diff --git a/API/ROLAC.API.Tests/Services/GivingServiceTests.cs b/API/ROLAC.API.Tests/Services/GivingServiceTests.cs index 67d0281..b540fa3 100644 --- a/API/ROLAC.API.Tests/Services/GivingServiceTests.cs +++ b/API/ROLAC.API.Tests/Services/GivingServiceTests.cs @@ -137,4 +137,25 @@ public class GivingServiceTests await Assert.ThrowsAsync(() => svc.DeleteAsync(giving.Id)); } + + [Fact] + public async Task GetPagedAsync_MatchesByMemberName() + { + using var db = BuildDb(); + var catId = await SeedCategoryAsync(db); + var member = new Member { FirstName_en = "Grace", LastName_en = "Lee" }; + db.Members.Add(member); + await db.SaveChangesAsync(); + var svc = new GivingService(db); + await svc.CreateAsync(new CreateGivingRequest + { + GivingCategoryId = catId, Amount = 75m, PaymentMethod = "Cash", + GivingDate = new DateOnly(2026, 5, 31), MemberId = member.Id, + }); + + var page = await svc.GetPagedAsync(1, 20, "grace", null, null, null); + + Assert.Equal(1, page.TotalCount); + Assert.Equal(member.Id, page.Items[0].MemberId); + } } diff --git a/API/ROLAC.API/Services/GivingService.cs b/API/ROLAC.API/Services/GivingService.cs index b3a105f..f9ed2a3 100644 --- a/API/ROLAC.API/Services/GivingService.cs +++ b/API/ROLAC.API/Services/GivingService.cs @@ -21,10 +21,15 @@ public class GivingService : IGivingService if (to.HasValue) query = query.Where(g => g.GivingDate <= to.Value); if (!string.IsNullOrWhiteSpace(search)) { - var s = search.Trim().ToLower(); + var s = search.Trim().ToLower(); + var term = search.Trim(); query = query.Where(g => (g.CheckNumber != null && g.CheckNumber.ToLower().Contains(s)) || - (g.Notes != null && g.Notes.ToLower().Contains(s))); + (g.Notes != null && g.Notes.ToLower().Contains(s)) || + (g.Member != null && ( + (g.Member.FirstName_en + " " + g.Member.LastName_en).ToLower().Contains(s) || + (g.Member.FirstName_zh != null && g.Member.FirstName_zh.Contains(term)) || + (g.Member.LastName_zh != null && g.Member.LastName_zh.Contains(term))))); } var total = await query.CountAsync(); diff --git a/APP/src/app/features/giving/pages/givings-page/givings-page.component.html b/APP/src/app/features/giving/pages/givings-page/givings-page.component.html index 467d23f..c5861a1 100644 --- a/APP/src/app/features/giving/pages/givings-page/givings-page.component.html +++ b/APP/src/app/features/giving/pages/givings-page/givings-page.component.html @@ -5,7 +5,7 @@
- +