Esempio n. 1
0
 public ApplicationRecorder(
     ISystemRecorder systemRecorder,
     IMessagesCache messagesCache)
 {
     _systemRecorder = systemRecorder;
     _messagesCache  = messagesCache;
 }
Esempio n. 2
0
        public ApplicationCacheRecorder()
        {
            AppInfoCache         = string.Empty;
            AppErrorCache        = string.Empty;
            SystemInfoCache      = string.Empty;
            SystemErrorCache     = string.Empty;
            DisplayMessagesCache = string.Empty;

            _messageCache = new MessagesCache(10);
        }
Esempio n. 3
0
        public ChatManager(
            IChatService chatService,
            IMessagesCache messagesCache,
            IViewModelFactoryService viewModelFactoryService,
            ILogManager logManager,
            IUploadImageService uploadImageService,
            ICache localCache)
        {
            _chatService             = chatService;
            _messagesCache           = messagesCache;
            _viewModelFactoryService = viewModelFactoryService;
            _uploadImageService      = uploadImageService;
            _localCache = localCache;
            _logger     = logManager.GetLogger <ChatManager>();

            _messagesCache.Init(new TaskReference <MessagesQuery, IList <ChatMessageModel> >(query =>
            {
                return(_chatService.GetMessagesFromAsync(query));
            }));

            _messagesCache.CacheUpdated       += OnCacheUpdated;
            ChatsCollection.CollectionChanged += OnChatsCollectionCollectionChanged;

            _subscriptions.Add(_chatService.MessageReceived.Subscribe(AddLatestMessage));
            _subscriptions.Add(_chatService.MessageEdited.Subscribe(OnMessageEdited));
            _subscriptions.Add(_chatService.MessageDeleted.Subscribe(OnMessageDeleted));
            _subscriptions.Add(_chatService.ChatAdded.Subscribe(x => TryAddChat(x)));
            _subscriptions.Add(_chatService.ChatRemoved.Subscribe(OnChatRemoved));
            _subscriptions.Add(_chatService.ChatUpdated.Subscribe(OnChatUpdated));
            _subscriptions.Add(_chatService.ChatRead.Subscribe(OnChatRead));

            _subscriptions.Add(_chatService.ConnectionStatusChanged.Subscribe(OnConnectionStatusChanged));
            OnConnectionStatusChanged(_chatService.ConnectionStatus);

            Messenger.Default.Register <ChatInForegroundMessage>(this, x => _chatService.ForceReconnect());
            Messenger.Default.Register <ChatInBackgroundMessage>(this, x => _chatService.ForceDisconnect());
        }