コード例 #1
0
        public async Task SendNotificationsAsync()
        {
            SetNotificationProperties(new SubscriptionService(DataUnitOfWork, ObjectLocator), new PushServiceClient());
            AngularPushNotification _notification = new AngularPushNotification
            {
                Title = "Test Notification",
                Body  = $"This is test notification",
                Icon  = ""
            };

            string             topic      = null;
            int?               timeToLive = null;
            PushMessageUrgency urgency    = PushMessageUrgency.Normal;

            PushMessage notification = new PushMessage(WRAPPER_START + JsonConvert.SerializeObject(_notification, _jsonSerializerSettings) + WRAPPER_END)
            {
                Topic      = topic,
                TimeToLive = timeToLive,
                Urgency    = urgency
            };

            try {
                var allSupscriptions = await _subscriptionsService.getAllSubscriptions();

                foreach (MBPushSubscription subscription in allSupscriptions)
                {
                    // fire-and-forget
                    await _pushClient.RequestPushMessageDeliveryAsync(subscription.PushSubscription, notification);
                }
            }
            catch (Exception e)
            {
            }
        }
コード例 #2
0
        public async Task SendNotificationsAsync(Notification notificationObject)
        {
            var allSupscriptions = await _subscriptionsService.getAllSubscriptions();

            foreach (MBSubscription subscription in allSupscriptions)
            {
                try
                {
                    AngularPushNotification _notification = new AngularPushNotification
                    {
                        Title = notificationObject.Title,
                        Body  = $"{notificationObject.Body}",
                        Icon  = (notificationObject.Image != null) ? notificationObject.Image : ""
                    };

                    string             topic      = null;
                    int?               timeToLive = null;
                    PushMessageUrgency urgency    = PushMessageUrgency.Normal;

                    PushMessage notification = new PushMessage(WRAPPER_START + JsonConvert.SerializeObject(_notification, _jsonSerializerSettings) + WRAPPER_END)
                    {
                        Topic      = topic,
                        TimeToLive = timeToLive,
                        Urgency    = urgency
                    };

                    // fire-and-forget
                    var result = _pushClient.RequestPushMessageDeliveryAsync(subscription.PushSubscription, notification, CancellationToken.None);
                }
                catch (Exception e)
                {
                }
            }
        }
 public PushMessage ToPushMessage(string topic = null, int?timeToLive = null, PushMessageUrgency urgency = PushMessageUrgency.Normal)
 {
     return(new PushMessage(WRAPPER_START + JsonConvert.SerializeObject(this, _jsonSerializerSettings) + WRAPPER_END)
     {
         Topic = topic,
         TimeToLive = timeToLive,
         Urgency = urgency
     });
 }
コード例 #4
0
ファイル: Notification.cs プロジェクト: maidadur/MyHouseMaido
        public PushMessage ToPushMessage(string topic = null, int?timeToLive = null, PushMessageUrgency urgency = PushMessageUrgency.Normal)
        {
            string json = JsonConvert.SerializeObject(new { notification = this });

            System.Console.WriteLine(json);
            return(new PushMessage(json)
            {
                Topic = topic,
                TimeToLive = timeToLive,
                Urgency = urgency
            });
        }
コード例 #5
0
 /// <summary>
 /// Creates new instance of <see cref="PushMessage"/> class.
 /// </summary>
 /// <param name="content">The content.</param>
 public PushMessage(HttpContent content)
 {
     _stringBased = false;
     _httpContent = content;
     Urgency      = PushMessageUrgency.Normal;
 }
コード例 #6
0
 /// <summary>
 /// Creates new instance of <see cref="PushMessage"/> class.
 /// </summary>
 /// <param name="content">The content.</param>
 public PushMessage(string content)
 {
     _stringBased = true;
     Content      = content;
     Urgency      = PushMessageUrgency.Normal;
 }
コード例 #7
0
        public static void Initialize(SqlServerDBContext context)
        {
            // Look for any students.
            if (context.PushTopics.Any())
            {
                //If database is over return no data.
                return;   // DB has been seeded
            }
            var _pushTopics = new PushTopics[]
            {
                new PushTopics {
                    TopicFilters = "Lead", Actived = true, TimeAfterToSend = new TimeSpan(00, 00, 30)
                },
                new PushTopics {
                    TopicFilters = "Activity", Actived = true, TimeAfterToSend = new TimeSpan(00, 00, 30)
                },
                new PushTopics {
                    TopicFilters = "ActionCRM", Actived = true, TimeAfterToSend = new TimeSpan(00, 00, 30)
                },
                new PushTopics {
                    TopicFilters = "Other", Actived = true, TimeAfterToSend = new TimeSpan(00, 00, 30)
                },
            };

            foreach (PushTopics e in _pushTopics)
            {
                context.PushTopics.Add(e);
            }
            context.SaveChanges();

            var _pushMessageTypes = new PushMessageType[]
            {
                new PushMessageType {
                    Name = "Tile", Description = "Tile Message"
                },
                new PushMessageType {
                    Name = "Toast", Description = "Toast Message"
                },
                new PushMessageType {
                    Name = "Push", Description = "Push Message"
                },
                new PushMessageType {
                    Name = "Normal", Description = "Normal Message"
                },
                new PushMessageType {
                    Name = "Lead", Description = "Lead Message"
                }
            };

            foreach (PushMessageType e in _pushMessageTypes)
            {
                context.PushMessageType.Add(e);
            }
            context.SaveChanges();

            var _pushMessageUrgencys = new PushMessageUrgency[]
            {
                new PushMessageUrgency {
                    Name = "Very Low", Description = "Battery full max power"
                },
                new PushMessageUrgency {
                    Name = "Low", Description = "Battery semi full"
                },
                new PushMessageUrgency {
                    Name = "Normal", Description = "Battery normal"
                },
                new PushMessageUrgency {
                    Name = "Medium", Description = "Battery medium no power full"
                },
                new PushMessageUrgency {
                    Name = "High", Description = "Battery low no power"
                }
            };

            foreach (PushMessageUrgency e in _pushMessageUrgencys)
            {
                context.PushMessageUrgency.Add(e);
            }
            context.SaveChanges();

            var _pushSubscriptionUsers = new PushSubscriptionUser[]
            {
                new PushSubscriptionUser {
                    UserId = "Max", Endpoint = "http://fcm.google.com/sjfasfjfjaf", P256DH = "alfalsfasfklsflafll", Auth = "falflafafaklflasfafla", CreatedTime = DateTime.UtcNow
                },
                new PushSubscriptionUser {
                    UserId = "4022", Endpoint = "http://fcm.google.com/sjfasfjfjaf", P256DH = "alfalsfasfklsflafll", Auth = "falflafafaklflasfafla", CreatedTime = DateTime.UtcNow
                },
                new PushSubscriptionUser {
                    UserId = "4023", Endpoint = "http://fcm.google.com/sjfasfjfjaf", P256DH = "alfalsfasfklsflafll", Auth = "falflafafaklflasfafla", CreatedTime = DateTime.UtcNow
                },
                new PushSubscriptionUser {
                    UserId = "4024", Endpoint = "http://fcm.google.com/sjfasfjfjaf", P256DH = "alfalsfasfklsflafll", Auth = "falflafafaklflasfafla", CreatedTime = DateTime.UtcNow
                }
            };

            foreach (PushSubscriptionUser c in _pushSubscriptionUsers)
            {
                context.PushSubscriptionUser.Add(c);
            }
            context.SaveChanges();

            var _pushSubscriptionTopics = new PushSubscriptionTopic[]
            {
                new PushSubscriptionTopic {
                    Topic = _pushTopics[0], Subscription = _pushSubscriptionUsers[0]
                },
                new PushSubscriptionTopic {
                    Topic = _pushTopics[0], Subscription = _pushSubscriptionUsers[1]
                },
                new PushSubscriptionTopic {
                    Topic = _pushTopics[1], Subscription = _pushSubscriptionUsers[1]
                },
                new PushSubscriptionTopic {
                    Topic = _pushTopics[2], Subscription = _pushSubscriptionUsers[0]
                }
            };

            foreach (PushSubscriptionTopic s in _pushSubscriptionTopics)
            {
                context.PushSubscriptionTopic.Add(s);
            }
            context.SaveChanges();

            var _pushUsers = new PushNotificationUser[]
            {
                new PushNotificationUser {
                    UserId = "4022", SubscriptionId = 2, NotificationMessage = "{message: ''}", CreatedTime = DateTime.Now
                },
                new PushNotificationUser {
                    UserId = "4022", SubscriptionId = 2, NotificationMessage = "{message: ''}", CreatedTime = DateTime.Now
                },
                new PushNotificationUser {
                    UserId = "Max", SubscriptionId = 1, NotificationMessage = "{message: ''}", CreatedTime = DateTime.Now
                },
                new PushNotificationUser {
                    UserId = "Max", SubscriptionId = 1, NotificationMessage = "{message: ''}", CreatedTime = DateTime.Now
                },
                new PushNotificationUser {
                    UserId = "4023", SubscriptionId = 3, NotificationMessage = "{message: ''}", CreatedTime = DateTime.Now
                },
                new PushNotificationUser {
                    UserId = "4024", SubscriptionId = 4, NotificationMessage = "{message: ''}", CreatedTime = DateTime.Now
                },
            };

            foreach (PushNotificationUser e in _pushUsers)
            {
                context.PushNotificationUser.Add(e);
            }
            context.SaveChanges();
        }
コード例 #8
0
 public PushMessageViewModel()
 {
     Urgency = PushMessageUrgency.Normal;
 }