示例#1
0
 public SetUpSearchCommand(
     INotificationTrigger notificationTrigger,
     ISubscriberStorage subscriberStorage,
     ITelegramClient telegramClient
     )
 {
     this.notificationTrigger = notificationTrigger;
     this.subscriberStorage   = subscriberStorage;
     this.telegramClient      = telegramClient;
 }
 public Subscriber(
     string id,
     string telegramUsername,
     long?telegramChatId,
     int?telegramUserId,
     bool sendTelegramMessages,
     INotificationTrigger notificationTrigger
     )
 {
     Id = id;
     NotificationTrigger  = notificationTrigger;
     TelegramUsername     = telegramUsername;
     SendTelegramMessages = sendTelegramMessages;
     TelegramChatId       = telegramChatId;
     TelegramUserId       = telegramUserId;
 }
示例#3
0
        public async Task <Subscriber> UpdateNotificationTriggerAsync(string subscriberId, INotificationTrigger trigger)
        {
            var subscriber = await subscribersTable.FindAsync <SubscriberDbo>(GlobalPartitionKey, subscriberId);

            if (subscriber == null)
            {
                return(null);
            }

            subscriber.SearchSettings = trigger.Serialize();

            await subscribersTable.WriteAsync(subscriber);

            return(Convert(subscriber));
        }
示例#4
0
 public ICommand CreateSetUpSearch(INotificationTrigger notificationTrigger)
 {
     return(new SetUpSearchCommand(notificationTrigger, subscriberStorage, telegramClient));
 }
示例#5
0
 public void Run(INotificationTrigger trigger)
 {
     trigger.OnTrigger += new NotificationTriggerEventHandler(Notify);
     Task.Run((Action)trigger.Start);
 }