コード例 #1
0
        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;
        }