public DiscordViewModel(IVTubeMonServerConnection vtubeMonServerConnection, ILogger logger) { ServerCollection = new ObservableCollection <ServerViewModel>(); _logger = logger; _vtubeMonServerConnection = vtubeMonServerConnection; vtubeMonServerConnection.OnConnect += VtubeMonServerConnection_OnConnect; _vtubeMonServerConnection.OnDisconnect += _vtubeMonServerConnection_OnDisconnect; _vtubeMonServerConnection.OnReadyChanged += _vtubeMonServerConnection_OnReadyChanged; _dispatcherTimer = new DispatcherTimer(); _dispatcherTimer.Tick += UiTimerUpdate; UiInterval = 1000; }
public MainWindowViewModel(ILogger logger, IVTubeMonDbConnection vTubeMonDbConnection, DataCache dataCache, IVTubeMonServerConnection vTubeMonServerConnection, DatabaseWorkspace databaseWorkspace) { LogCollection = new ObservableCollection <string>(); _logger = logger; _logger.OnLog += Logger_OnLog; _vTubeMonDbConnection = vTubeMonDbConnection; _vTubeMonDbConnection.OpenConnection(); _dataCache = dataCache; _dataCache.RefreshAll(); _dataCache.VtuberCache.OnDataRefreshed += VtuberCache_OnDataRefreshed; AgencyCollection = new ObservableCollection <Agency>(_dataCache.AgencyCache.CachedList); VTuberCollection = new ObservableCollection <VTuberViewModel>(); UpdateVtuberCollection(); _vTubeMonServerConnection = vTubeMonServerConnection; vTubeMonServerConnection.OnConnect += VTubeMonServerConnection_OnConnect; vTubeMonServerConnection.OnDisconnect += VTubeMonServerConnection_OnDisconnect; _vTubeMonServerConnection.CreateNewClient(); _databaseWorkspace = databaseWorkspace; }