Пример #1
0
        public async Task BindWatchFoldersList()
        {
            if (lbWatchFolders.InvokeRequired)
            {
                BindWatchFoldersListDelegate d = new BindWatchFoldersListDelegate(BindWatchFoldersList);
                Invoke(d, new object[] { });
            }
            else
            {
                WatchFolders = await WatchFolderRepo.Load();

                foreach (var watchFolder in WatchFolders)
                {
                    if (watchFolder.Path == @"%USERPROFILE%\Music")
                    {
                        watchFolder.Path = DirectoryHelper.EllipsisPath(DirectoryHelper.GetPath(KnownFolder.Music), 100);
                    }
                    else
                    {
                        DirectoryHelper.EllipsisPath(watchFolder.Path, 100);
                    }
                }

                lbWatchFolders.DataSource    = new BindingSource(WatchFolders, null);
                lbWatchFolders.DisplayMember = "Path";
                lbWatchFolders.ValueMember   = "Id";
            }
        }
Пример #2
0
            /// <summary>
            /// Checks if the database is OK
            /// </summary>
            public static void CheckDatabaseIntegrity()
            {
                try
                {
                    Logger.LogInfo("CheckDatabaseIntegrity", "Checking database integrity");

                    var _s = new SettingsRepo().Load().Result;
                    var _w = new WatchFolderRepo().Load().Result;
                    var _m = new MusicFileRepo().LoadAll(true).Result;
                    var _p = new PlaylistFileRepo().LoadAll().Result;
                    var _l = new LogsRepo().LoadSpecific("3").Result;

                    Logger.LogInfo("CheckDatabaseIntegrity", "Database integrity check complete - No issues");
                }
                catch (Exception e)
                {
                    if (
                        MessageBox.Show(
                            $"Unfortunately the database integrity check has failed ({e.Message}). YT Music Uploader cannot continue in this state. " +
                            $"If you click 'OK', YT Music Uploader will reset the database to its original state. You'll lose any uploaded file states but the program" +
                            $" should then work. Otherwise click cancel to attempt to rectify the database yourself located in: %localappdata%\\YTMusicUploader",
                            "Database Integrity Check Fail",
                            MessageBoxButton.OKCancel,
                            MessageBoxImage.Error) == MessageBoxResult.OK)
                    {
                        ResetDatabase();
                        Logger.LogInfo("CheckDatabaseIntegrity", "Database has been reset due to integrity check failure. Comfirmed by user.");
                    }
                }
            }
Пример #3
0
        private async Task AddWatchFolder()
        {
            WatchFolderRepo.Insert(new WatchFolder
            {
                Path = FolderSelector.SelectedPath
            }).Wait();

            await BindWatchFoldersList();

            QueueChecker.Queue = true;
        }
Пример #4
0
        private async Task RemoveWachFolder()
        {
            try
            {
                if ((WatchFolder)lbWatchFolders.SelectedItem != null)
                {
                    await WatchFolderRepo.Delete(((WatchFolder)lbWatchFolders.SelectedItem).Id);

                    await MusicFileRepo.DeleteWatchFolder(((WatchFolder)lbWatchFolders.SelectedItem).Path);

                    RepopulateAmountLables();
                }
            }
            catch { }

            await BindWatchFoldersList();

            QueueChecker.Queue = true;
        }
        private async Task AddWatchFolder()
        {
            try
            {
                Logger.LogInfo("AddWatchFolder", "Watch folder added: " + FolderSelector.SelectedPath);

                WatchFolderRepo.Insert(new WatchFolder
                {
                    Path = FolderSelector.SelectedPath
                }).Wait();

                await BindWatchFoldersList();

                Restart();
            }
            catch (Exception e)
            {
                Logger.Log(e, "AddWatchFolder");
            }
        }
        private async Task RemoveWachFolder()
        {
            try
            {
                if ((WatchFolder)lbWatchFolders.SelectedItem != null)
                {
                    Logger.LogInfo("RemoveWachFolder", "Watch folder removed: " + ((WatchFolder)lbWatchFolders.SelectedItem).Path);

                    await WatchFolderRepo.Delete(((WatchFolder)lbWatchFolders.SelectedItem).Id);

                    await MusicFileRepo.DeleteWatchFolder(((WatchFolder)lbWatchFolders.SelectedItem).Path);

                    RepopulateAmountLables();
                }
            }
            catch (Exception e)
            {
                Logger.Log(e, "RemoveWachFolder");
            }

            await BindWatchFoldersList();

            Restart();
        }