This commit is contained in:
mmrbnjd
2024-06-25 17:14:08 +03:30
parent 4631d8f159
commit ce81911242
10 changed files with 76 additions and 23 deletions

View File

@@ -7,14 +7,27 @@ namespace Back.Services
public class servNotification
{
private readonly IAsyncRepository<Notification> _NotificationRepo;
public servNotification(IAsyncRepository<Notification> NotificationRepo)
private readonly IAsyncRepository<UserNotfi> _UserNotfiRepo;
public servNotification(IAsyncRepository<Notification> NotificationRepo, IAsyncRepository<UserNotfi> userNotfiRepo)
{
_NotificationRepo = NotificationRepo;
_UserNotfiRepo = userNotfiRepo;
}
public async Task<List<Notification>> GetNotifications()
public async Task<bool> ReadNotification(int UserID,int ntID)
{
return await _NotificationRepo.Get(w=>w.Status).ToListAsync();
if (!await _UserNotfiRepo.Get(w => w.UserID == UserID && w.NotificationID == ntID).AnyAsync())
return await _UserNotfiRepo.AddBoolResultAsync(new UserNotfi
{
NotificationID = ntID,
UserID = UserID,
});
else return true;
}
public async Task<List<Notification>> GetNotifications(int UserID)
{
var readmsg=await _UserNotfiRepo.Get(w => w.UserID == UserID).Select(s=>s.NotificationID).ToListAsync();
return await _NotificationRepo.Get(w=>(string.IsNullOrEmpty(w.ForUser) || w.ForUser.Contains("/"+UserID.ToString()+"/"))&& !readmsg.Contains(w.ID)).ToListAsync();
}
}
}