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
32 lines
1.0 KiB
C#
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;
|
|
}
|
|
}
|