private void SnoozeChat(SlackState lastSlackState, string chatName)
        {
            var snoozedChatState = new ChatState {
                name = chatName
            };
            var originalChatState = lastSlackState.ReplaceChatState(snoozedChatState);

            _snoozedChats[chatName] = originalChatState;
        }
示例#2
0
        private void SnoozeChat(SlackState lastSlackState, string chatName)
        {
            var snoozedChatState = new ChatState {
                Id = chatName, Unread = false, Mention = false
            };
            var originalChatState = lastSlackState.ReplaceChatState(snoozedChatState);

            _snoozedChannelStates[chatName] = originalChatState;
        }
示例#3
0
 private void SnoozingServiceOnOnChannelSnoozeFinished(object sender, string channelId)
 {
     if (!string.IsNullOrEmpty(channelId))
     {
         _lastSlackState.ReplaceChatState(_snoozedChannelStates[channelId]);
         _snoozedChannelStates.Remove(channelId);
         NextHandleState(_lastSlackState);
     }
     else
     {
         NextHandleState(_lastSlackState);
     }
 }
        public async void Snooze(string chatName = null)
        {
            if (chatName != null)
            {
                SnoozeChat(_lastSlackState, chatName);

                NextHandleState(_lastSlackState);

                try
                {
                    var soozeTimeout = TimeSpan.FromMinutes(SlackWindowsTray.Default.SnoozeChatTimeMinutes);
                    await Task.Delay(soozeTimeout, _snoozeCancellationToken.Token);
                }
                catch (TaskCanceledException e)
                {
                }

                _lastSlackState.ReplaceChatState(_snoozedChats[chatName]);
                _snoozedChats.Remove(chatName);

                NextHandleState(_lastSlackState);

                CallbackIfAllSnoozeFinished();
            }
            else
            {
                _allSnoozed = true;
                NextHandleState(new SlackState(TrayStates.AllRead));

                try
                {
                    var soozeTimeout = TimeSpan.FromMinutes(SlackWindowsTray.Default.SnoozeAllTimeMinutes);
                    await Task.Delay(soozeTimeout, _snoozeCancellationToken.Token);
                }
                catch (TaskCanceledException e)
                {
                }

                _allSnoozed = false;
                NextHandleState(_lastSlackState);

                CallbackIfAllSnoozeFinished();
            }
        }
 private void SnoozeChat(SlackState lastSlackState, string chatName)
 {
     var snoozedChatState = new ChatState {Id = chatName, Unread = false, Mention = false};
     var originalChatState = lastSlackState.ReplaceChatState(snoozedChatState);
     _snoozedChannelStates[chatName] = originalChatState;
 }