Files
EmailBill/Repository/MessageRecordRepository.cs
SunCheng 704f58b1a1
All checks were successful
Docker Build & Deploy / Build Docker Image (push) Successful in 24s
Docker Build & Deploy / Deploy to Production (push) Successful in 6s
Docker Build & Deploy / Cleanup Dangling Images (push) Successful in 1s
Docker Build & Deploy / WeChat Notification (push) Successful in 3s
fix
2026-01-30 10:41:19 +08:00

32 lines
1.0 KiB
C#

namespace Repository;
public interface IMessageRecordRepository : IBaseRepository<MessageRecord>
{
Task<(IEnumerable<MessageRecord> List, long Total)> GetPagedListAsync(int pageIndex, int pageSize);
Task<bool> MarkAllAsReadAsync();
}
public class MessageRecordRepository(IFreeSql freeSql) : BaseRepository<MessageRecord>(freeSql), IMessageRecordRepository
{
public async Task<(IEnumerable<MessageRecord> List, long Total)> GetPagedListAsync(int pageIndex, int pageSize)
{
var list = await FreeSql.Select<MessageRecord>()
.OrderByDescending(x => x.CreateTime)
.Count(out var total)
.Page(pageIndex, pageSize)
.ToListAsync();
return (list, total);
}
public async Task<bool> MarkAllAsReadAsync()
{
var affected = await FreeSql.Update<MessageRecord>()
.Set(a => a.IsRead, true)
.Set(a => a.UpdateTime, DateTime.Now)
.Where(a => !a.IsRead)
.ExecuteAffrowsAsync();
return affected >= 0;
}
}