From a9b8092732e2012ffadc552052e2e070cbf380e4 Mon Sep 17 00:00:00 2001 From: Michael Date: Mon, 17 Apr 2017 08:30:58 -0400 Subject: SignalR notifications --- Project-Unite/NotificationDaemon.cs | 34 +++++++++++++++++++++++++++++++++- 1 file changed, 33 insertions(+), 1 deletion(-) (limited to 'Project-Unite/NotificationDaemon.cs') diff --git a/Project-Unite/NotificationDaemon.cs b/Project-Unite/NotificationDaemon.cs index 25d384a..2e548ea 100644 --- a/Project-Unite/NotificationDaemon.cs +++ b/Project-Unite/NotificationDaemon.cs @@ -1,7 +1,9 @@ using System; using System.Collections.Generic; using System.Linq; +using System.Text; using System.Web; +using Microsoft.AspNet.SignalR; using Project_Unite.Models; namespace Project_Unite @@ -10,6 +12,13 @@ namespace Project_Unite { public static Action OnBroadcast; + private static void SendMessage(string uid, string message) + { + GlobalHost + .ConnectionManager + .GetHubContext().Clients.User(uid).sendMessage(message); + } + public static void NotifyFollowers(string uid, string title, string desc, string url) { var db = new ApplicationDbContext(); @@ -34,7 +43,28 @@ namespace Project_Unite } } - public static void NotifyUser(string uid, string target, string title, string desc, string url) + private static string ComposeHtml(Notification note) + { + var builder = new StringBuilder(); + builder.AppendLine(""); + //Avatar holder start: + builder.AppendLine("
"); + //Avatar + builder.AppendLine(""); + //Avatar holder end: + builder.AppendLine("
"); + + //Notification title. + builder.AppendLine("

" + note.Title + "

"); + //Contents. + builder.AppendLine(note.Description + "

"); + + builder.AppendLine("
"); + return builder.ToString(); + + } + + public static void NotifyUser(string uid, string target, string title, string desc, string url) { var db = new ApplicationDbContext(); var user = db.Users.FirstOrDefault(x => x.Id == uid); @@ -53,6 +83,8 @@ namespace Project_Unite db.Notifications.Add(note); db.SaveChanges(); + + SendMessage(target, ComposeHtml(note)); } -- cgit v1.2.3