[ENHANCE] - Added IsRead property to Notifications
Fixed Version to Tenant.04.00.01.01 and reverted the Program.cs back to the way it was
This reverts commit 82fef82c4f
.
[ENHANCE] - Added API to get Count of New Notifications based on IsRead
Fixed Typo in Notification Controller
[ENHANCE] - Added API to get Notifications by Count and IsRead
This commit is contained in:
@ -6,6 +6,8 @@ namespace Oqtane.Repository
|
||||
public interface INotificationRepository
|
||||
{
|
||||
IEnumerable<Notification> GetNotifications(int siteId, int fromUserId, int toUserId);
|
||||
IEnumerable<Notification> GetNotifications(int siteId, int fromUserId, int toUserId, int count, bool isRead);
|
||||
int GetNotificationCount(int siteId, int fromUserId, int toUserId, bool isRead);
|
||||
Notification AddNotification(Notification notification);
|
||||
Notification UpdateNotification(Notification notification);
|
||||
Notification GetNotification(int notificationId);
|
||||
|
@ -33,6 +33,52 @@ namespace Oqtane.Repository
|
||||
.ToList();
|
||||
}
|
||||
|
||||
public IEnumerable<Notification> GetNotifications(int siteId, int fromUserId, int toUserId, int count, bool isRead)
|
||||
{
|
||||
if (toUserId == -1 && fromUserId == -1)
|
||||
{
|
||||
return _db.Notification
|
||||
.Where(item => item.SiteId == siteId)
|
||||
.Where(item => item.IsDelivered == false && item.IsDeleted == false)
|
||||
.Where(item => item.SendOn == null || item.SendOn < System.DateTime.UtcNow)
|
||||
.Where(item => item.IsRead == isRead)
|
||||
.ToList()
|
||||
.Take(count);
|
||||
}
|
||||
|
||||
return _db.Notification
|
||||
.Where(item => item.SiteId == siteId)
|
||||
.Where(item => item.ToUserId == toUserId || toUserId == -1)
|
||||
.Where(item => item.FromUserId == fromUserId || fromUserId == -1)
|
||||
.Where(item => item.IsRead == isRead)
|
||||
.ToList()
|
||||
.Take(count);
|
||||
}
|
||||
|
||||
public int GetNotificationCount(int siteId, int fromUserId, int toUserId, bool isRead)
|
||||
{
|
||||
if (toUserId == -1 && fromUserId == -1)
|
||||
{
|
||||
return _db.Notification
|
||||
.Where(item => item.SiteId == siteId)
|
||||
.Where(item => item.IsDelivered == false && item.IsDeleted == false)
|
||||
.Where(item => item.SendOn == null || item.SendOn < System.DateTime.UtcNow)
|
||||
.Where(item => item.IsRead == isRead)
|
||||
.ToList()
|
||||
.Count();
|
||||
|
||||
}
|
||||
|
||||
return _db.Notification
|
||||
.Where(item => item.SiteId == siteId)
|
||||
.Where(item => item.ToUserId == toUserId || toUserId == -1)
|
||||
.Where(item => item.FromUserId == fromUserId || fromUserId == -1)
|
||||
.Where(item => item.IsRead == isRead)
|
||||
.ToList()
|
||||
.Count();
|
||||
}
|
||||
|
||||
|
||||
public Notification AddNotification(Notification notification)
|
||||
{
|
||||
_db.Notification.Add(notification);
|
||||
|
Reference in New Issue
Block a user