Example #1
0
        private Task SendSnsNotification(string notificationMessage, CategorySubscription categorySubscription,
                                         SystemEventElasticsearchDocument document, CancellationToken cancellationToken)
        {
            var message = JsonConvert.SerializeObject(new {
                Event = document,
                notificationMessage
            });

            return(_amazonSimpleNotificationService.PublishAsync(
                       categorySubscription.TopicArn, message, cancellationToken));
        }
Example #2
0
        private void SubscribeToCategory(int userId, int categoryId)
        {
            var subscription = new CategorySubscription
            {
                CategoryId  = categoryId,
                UserId      = userId,
                CreatedDate = DateTime.Now,
                CreatedBy   = HttpContext.Current.User?.Identity?.Name
            };

            DbContext.Set <CategorySubscription>().Add(subscription);
            //DbContext.SaveChanges();
            //UnitOfWork.SaveChanges();
        }
Example #3
0
        private Task <string> SendSlackNotification(string notificationMessage, CategorySubscription categorySubscription,
                                                    SystemEventElasticsearchDocument document, CancellationToken cancellationToken)
        {
            var message = new Message(notificationMessage)
                          .SetUserWithEmoji(_SystemName, _SystemIcon);

            message.AddAttachment(new Attachment()
                                  .AddField("Event Id", document.Id, true)
                                  .AddField("Message", document.Message, true)
                                  .AddField("Target", document.TargetKey, true)
                                  .AddField("Sender", document.Sender, true)
                                  .AddField("Start Time", document.Timestamp, true)
                                  .AddField("End Time", document.Endtime, true)
                                  .AddField("Level", document.Level, true)
                                  .SetColor((document.Level == "critical")? "#eb4034": "#349ceb")
                                  );

            return(_slackService.SendAsync(message, categorySubscription.WebhookUrl));
        }