コード例 #1
0
        public void AddNewSimpleNotification()
        {
            DateTime datetime = DateTime.UtcNow;

            Notification notification = new Notification()
            {
                Id = Guid.NewGuid(),
                Message = "New Notification",
                Type = "Type",
                DateTime = datetime
            };

            string userId = Guid.NewGuid().ToString();

            this.notificationRepository.AddNotification(userId, notification);

            var status = this.notificationsContainer.Get(userId);

            Assert.IsNotNull(status);

            Assert.AreEqual(1, status.Notifications.Count);
            Assert.AreEqual(notification.Id, status.Notifications[0].Id);
            Assert.AreEqual(notification.Message, status.Notifications[0].Message);
            Assert.AreEqual(notification.Type, status.Notifications[0].Type);
        }
コード例 #2
0
        public void AddNotification(string userId, Notification notification)
        {
            var status = this.notificationsContainer.Get(userId);

            if (status == null)
            {
                status = new NotificationStatus();
                status.Notifications = new List<Notification>();
            }

            var toremove = status.Notifications.Where(n => notification.DateTime.Subtract(n.DateTime).TotalSeconds >= ConfigurationConstants.NotificationTimeInterval).ToList();

            foreach (var item in toremove)
            {
                status.Notifications.Remove(item);
            }

            if (!status.Notifications.Any(n => n.SenderId == notification.SenderId))
            {
                status.Notifications.Add(notification);
            }

            this.notificationsContainer.Save(userId, status);
        }
コード例 #3
0
 public void AddGlobalNotification(Notification notification)
 {
     throw new NotImplementedException();
 }