public static void UpdateNotify(BaseSignalRModel model) { IHubContext context = GlobalHost.ConnectionManager.GetHubContext<NotificationHub>(); if (model != null) { foreach (var userNotificationCounts in model.UsersNotificationCounts) { string userId = userNotificationCounts.Item1; int notSeendNorificationCounts = userNotificationCounts.Item2; context.Clients.Group(userId).addMessage(notSeendNorificationCounts); } } }
public BaseSignalRModel SendNotifications(IEnumerable<string> userIds) { var tuplesList = new List<Tuple<string, int>>(); var now = DateTime.Now; foreach (var userId in userIds) { int notSeenNotificationsCount = this.tripNotificationRepos .All() .Where(n => n.ForUserId == userId && DbFunctions.TruncateTime(n.AvailableAfter) < now /*&& DbFunctions.TruncateTime(n.DueTo) > now*/ && n.IsDeleted == false && n.Seen == false) .Count(); tuplesList.Add(new Tuple<string, int>(userId, notSeenNotificationsCount)); } var signalRModel = new BaseSignalRModel() { UsersNotificationCounts = tuplesList }; return signalRModel; }