diff --git a/Project-Unite/ACL.cs b/Project-Unite/ACL.cs index 73636c7..77e6f1d 100644 --- a/Project-Unite/ACL.cs +++ b/Project-Unite/ACL.cs @@ -13,6 +13,15 @@ namespace Project_Unite { public static class ACL { + public static IHtmlString NotificationCount(this HtmlHelper hpr, string uid) + { + var db = new ApplicationDbContext(); + var usr = db.Users.FirstOrDefault(x => x.Id == uid); + if (usr == null) + return hpr.Raw("N/A"); + return hpr.Raw(usr.UnreadNotifications.ToString()); + } + public static IHtmlString NewestUser(this HtmlHelper hpr) { var db = new ApplicationDbContext(); diff --git a/Project-Unite/Models/IdentityModels.cs b/Project-Unite/Models/IdentityModels.cs index 83ea777..a3dde10 100644 --- a/Project-Unite/Models/IdentityModels.cs +++ b/Project-Unite/Models/IdentityModels.cs @@ -106,6 +106,23 @@ namespace Project_Unite.Models } } + public Notification[] Notifications + { + get + { + var db = new ApplicationDbContext(); + return db.Notifications.Where(x => x.UserId == this.Id).ToArray(); + } + } + + public int UnreadNotifications + { + get + { + return Notifications.Where(x => x.IsRead == false).Count(); + } + } + public UserFollow[] Followed { get @@ -149,6 +166,7 @@ namespace Project_Unite.Models return new ApplicationDbContext(); } + public DbSet Notifications { get; set; } public DbSet Follows { get; set; } public DbSet UserPosts { get; set; } public DbSet ForumPostEdits { get; set; } diff --git a/Project-Unite/Models/Notification.cs b/Project-Unite/Models/Notification.cs new file mode 100644 index 0000000..dd13e5b --- /dev/null +++ b/Project-Unite/Models/Notification.cs @@ -0,0 +1,17 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Web; + +namespace Project_Unite.Models +{ + public class Notification + { + public string Id { get; set; } + public string UserId { get; set; } + public string Discriminator { get; set; } + public DateTime Timestamp { get; set; } + public bool IsRead { get; set; } + + } +} \ No newline at end of file diff --git a/Project-Unite/Project-Unite.csproj b/Project-Unite/Project-Unite.csproj index 5284ef2..f54b154 100644 --- a/Project-Unite/Project-Unite.csproj +++ b/Project-Unite/Project-Unite.csproj @@ -409,6 +409,7 @@ + diff --git a/Project-Unite/Views/Shared/_LoginPartial.cshtml b/Project-Unite/Views/Shared/_LoginPartial.cshtml index 7c49f01..e5c4b34 100644 --- a/Project-Unite/Views/Shared/_LoginPartial.cshtml +++ b/Project-Unite/Views/Shared/_LoginPartial.cshtml @@ -7,6 +7,7 @@