public ModelSaberLocalUserControlViewModel(MainWindow mainWindow, ModelSaberLocalUserControl userControl, ModelType modelType)
 {
     MainWindow       = mainWindow;
     this.userControl = userControl;
     ModelType        = modelType;
     SelectedModels   = new List <LocalModel>();
 }
예제 #2
0
        public MainWindowViewModel(MainWindow mainWindow)
        {
            MainWindow = mainWindow;
            BeatmapLocalUserControl            = new BeatmapLocalUserControl(mainWindow);
            BeatmapOnlineUserControl           = new BeatmapOnlineUserControl(mainWindow);
            SettingsUserControl                = new SettingsUserControl(mainWindow);
            BeatmapLocalDetailsUserControl     = new BeatmapLocalDetailsUserControl(mainWindow);
            BeatmapOnlineDetailsUserControl    = new BeatmapOnlineDetailsUserControl(mainWindow);
            SaberOnlineUserControl             = new ModelSaberOnlineUserControl(mainWindow, ModelType.Saber);
            SaberLocalUserControl              = new ModelSaberLocalUserControl(mainWindow, ModelType.Saber);
            AvatarOnlineUserControl            = new ModelSaberOnlineUserControl(mainWindow, ModelType.Avatar);
            AvatarLocalUserControl             = new ModelSaberLocalUserControl(mainWindow, ModelType.Avatar);
            PlatformOnlineUserControl          = new ModelSaberOnlineUserControl(mainWindow, ModelType.Platform);
            PlatformLocalUserControl           = new ModelSaberLocalUserControl(mainWindow, ModelType.Platform);
            BloqOnlineUserControl              = new ModelSaberOnlineUserControl(mainWindow, ModelType.Bloq);
            BloqLocalUserControl               = new ModelSaberLocalUserControl(mainWindow, ModelType.Bloq);
            ModelSaberOnlineDetailsUserControl = new ModelSaberOnlineDetailsUserControl(mainWindow);
            ModelSaberLocalDetailsUserControl  = new ModelSaberLocalDetailsUserControl(mainWindow);
            NavigationBeatmapsUserControl      = new NavigationBeatmapsUserControl();
            NavigationSabersUserControl        = new NavigationModelSaberUserControl(ModelType.Saber);
            NavigationAvatarsUserControl       = new NavigationModelSaberUserControl(ModelType.Avatar);
            NavigationPlatformsUserControl     = new NavigationModelSaberUserControl(ModelType.Platform);
            NavigationBloqsUserControl         = new NavigationModelSaberUserControl(ModelType.Bloq);

            DownloadsUserControl = new DownloadsUserControl();

            NavigationBeatmapsUserControl.ViewModel.LocalEvent   += NavigationBeatmaps_LocalEvent;
            NavigationBeatmapsUserControl.ViewModel.OnlineEvent  += NavigationBeatmaps_OnlineEvent;
            NavigationSabersUserControl.ViewModel.LocalEvent     += NavigationSabers_LocalEvent;
            NavigationSabersUserControl.ViewModel.OnlineEvent    += NavigationSabers_OnlineEvent;
            NavigationAvatarsUserControl.ViewModel.LocalEvent    += NavigationAvatars_LocalEvent;
            NavigationAvatarsUserControl.ViewModel.OnlineEvent   += NavigationAvatars_OnlineEvent;
            NavigationPlatformsUserControl.ViewModel.LocalEvent  += NavigationPlatforms_LocalEvent;
            NavigationPlatformsUserControl.ViewModel.OnlineEvent += NavigationPlatforms_OnlineEvent;
            NavigationBloqsUserControl.ViewModel.LocalEvent      += NavigationBloqs_LocalEvent;
            NavigationBloqsUserControl.ViewModel.OnlineEvent     += NavigationBloqs_OnlineEvent;

            App.BeatSaverApi.DownloadStarted += BeatSaverApi_DownloadStarted;
            App.BeatSaverApi.DownloadFailed  += BeatSaverApi_DownloadFailed;

            App.ModelSaberApi.DownloadStarted += ModelSaberApi_DownloadStarted;
            App.ModelSaberApi.DownloadFailed  += ModelSaberApi_DownloadFailed;

            Updater = new Updater("casperb123", "BeatManager", Resources.GitHubToken);
            Updater.UpdateAvailable       += Updater_UpdateAvailable;
            Updater.DownloadingStarted    += Updater_DownloadingStarted;
            Updater.DownloadingProgressed += Updater_DownloadingProgressed;
            Updater.DownloadingCompleted  += Updater_DownloadingCompleted;
            Updater.DownloadingFailed     += Updater_DownloadingFailed;
            Updater.InstallationFailed    += Updater_InstallationFailed;

            CheckForUpdates();
        }
        public void DeleteModel(OnlineModel model)
        {
            ModelSaberLocalUserControl localUserControl = PropertyHelper.GetPropValue <ModelSaberLocalUserControl>(MainWindow.ViewModel, $"{ModelType}LocalUserControl");
            LocalModel localModel = localUserControl.ViewModel.LocalModels?.Models.FirstOrDefault(x => x.Id == model.Id || x.Name == model.Name && x.Id == -1);

            if (localModel != null)
            {
                localUserControl.ViewModel.DeleteModel(localModel);
            }

            App.ModelSaberApi.DeleteModel(model);
            ModelChanged = true;
        }
예제 #4
0
        public void RefreshData()
        {
            ModelSaberLocalUserControl localUserControl = PropertyHelper.GetPropValue <ModelSaberLocalUserControl>(mainWindow.ViewModel, $"{Model.ModelType}LocalUserControl");

            localUserControl.ViewModel.ModelDetails(Model, false);
        }
예제 #5
0
        public void DeleteModel()
        {
            ModelSaberLocalUserControl localUserControl = PropertyHelper.GetPropValue <ModelSaberLocalUserControl>(mainWindow.ViewModel, $"{Model.ModelType}LocalUserControl");

            localUserControl.ViewModel.DeleteModel(Model);
        }
예제 #6
0
        public void Back()
        {
            ModelSaberLocalUserControl localUserControl = PropertyHelper.GetPropValue <ModelSaberLocalUserControl>(mainWindow.ViewModel, $"{Model.ModelType}LocalUserControl");

            mainWindow.userControlMain.Content = localUserControl;
        }