From 16735e46d7ecf1ff3a279217539e45a27ff65d8c Mon Sep 17 00:00:00 2001 From: Flaky Date: Sun, 10 May 2026 13:47:40 +0100 Subject: [PATCH] auto reformat and cleanup from Rider --- .../Importers/MusicBeeTagHierarchyImporter.cs | 2 +- .../TagDatabase/TagDatabase.ImportMethods.cs | 52 +++++++++---------- .../TagDatabase/TagDatabase.Initialisation.cs | 2 +- UI/Controls/TagEditor.axaml | 2 +- UI/ViewModels/BulkAddViewModel.cs | 14 +++-- UI/ViewModels/TagEditorViewModel.cs | 12 ++--- UI/Views/Windows/BulkAddWindow.axaml | 4 +- 7 files changed, 43 insertions(+), 45 deletions(-) diff --git a/Core/Importers/MusicBeeTagHierarchyImporter.cs b/Core/Importers/MusicBeeTagHierarchyImporter.cs index d8ce00b..d82f493 100644 --- a/Core/Importers/MusicBeeTagHierarchyImporter.cs +++ b/Core/Importers/MusicBeeTagHierarchyImporter.cs @@ -61,7 +61,7 @@ public class MusicBeeTagHierarchyImporter : Importer return tagsToImport; } - + private static void AddTagBindingIfMissing(ImportedTag currentTag, string tagBinding) { if (!string.IsNullOrEmpty(tagBinding)) diff --git a/Core/Models/TagDatabase/TagDatabase.ImportMethods.cs b/Core/Models/TagDatabase/TagDatabase.ImportMethods.cs index a00d57d..6b01621 100644 --- a/Core/Models/TagDatabase/TagDatabase.ImportMethods.cs +++ b/Core/Models/TagDatabase/TagDatabase.ImportMethods.cs @@ -22,15 +22,15 @@ public partial class TagDatabase var id = await this.WriteImportedTagToDatabase(transaction, tag); nameToId[tag.Name] = id; } - + this.Tags = await this.GetAllTagsFromDatabase(transaction: transaction).ConfigureAwait(false); - + // phase 2: add the parents and aliases. foreach (var tag in importDict.Values) { var currentTag = this.Tags.SingleOrDefault(t => t.Name == tag.Name); - var parentIds = tag.Parents.Select(parentName => nameToId[parentName]).ToList(); + var parentIds = tag.Parents.Select(parentName => nameToId[parentName]).ToList(); if (parentIds.Count == 0) continue; await this.WriteImportedParentsToDatabase(transaction, currentTag.Id, parentIds).ConfigureAwait(false); @@ -45,28 +45,6 @@ public partial class TagDatabase } } - - private async Task WriteImportedTagToDatabase(SqliteTransaction transaction, ImportedTag tag) - { - if (this.currentConnection is null) - throw new InvalidOperationException(ErrorMessages.TagDatabaseNotInitialised); - - var addCommand = this.currentConnection.CreateCommand(); - addCommand.Transaction = transaction; - addCommand.CommandText = """ - INSERT INTO tag (name, notes, top_level, tags_to_bind, also_known_as, date_modified) - VALUES (@name, @notes, @is_top_level, @tags_to_bind, @aliases, CURRENT_TIMESTAMP) - RETURNING last_insert_rowid(); - """; - addCommand.Parameters.AddWithValue("@name", tag.Name); - addCommand.Parameters.AddWithValue("@notes", tag.Notes); - addCommand.Parameters.AddWithValue("@is_top_level", tag.IsTopLevel ? 1 : 0); - addCommand.Parameters.AddWithValue("@tags_to_bind", string.Join(";", tag.TagBindings)); - addCommand.Parameters.AddWithValue("@aliases", string.Join(";", tag.Aliases)); - var newId = Convert.ToInt32(await addCommand.ExecuteScalarAsync().ConfigureAwait(false)); - return newId; - } - private async Task WriteImportedParentsToDatabase(SqliteTransaction transaction, int targetId, List parentIds) { var valuesClauses = new List(); @@ -81,7 +59,7 @@ public partial class TagDatabase var query = $"INSERT INTO tag_parent_link (target_tag_id, parent_tag_id) VALUES {string.Join(", ", valuesClauses)};"; - + var parentCommand = this.currentConnection.CreateCommand(); parentCommand.Transaction = transaction; parentCommand.CommandText = query; @@ -89,4 +67,26 @@ public partial class TagDatabase await parentCommand.PrepareAsync(); await parentCommand.ExecuteNonQueryAsync().ConfigureAwait(false); } + + + private async Task WriteImportedTagToDatabase(SqliteTransaction transaction, ImportedTag tag) + { + if (this.currentConnection is null) + throw new InvalidOperationException(ErrorMessages.TagDatabaseNotInitialised); + + var addCommand = this.currentConnection.CreateCommand(); + addCommand.Transaction = transaction; + addCommand.CommandText = """ + INSERT INTO tag (name, notes, top_level, tags_to_bind, also_known_as, date_modified) + VALUES (@name, @notes, @is_top_level, @tags_to_bind, @aliases, CURRENT_TIMESTAMP) + RETURNING last_insert_rowid(); + """; + addCommand.Parameters.AddWithValue("@name", tag.Name); + addCommand.Parameters.AddWithValue("@notes", tag.Notes); + addCommand.Parameters.AddWithValue("@is_top_level", tag.IsTopLevel ? 1 : 0); + addCommand.Parameters.AddWithValue("@tags_to_bind", string.Join(";", tag.TagBindings)); + addCommand.Parameters.AddWithValue("@aliases", string.Join(";", tag.Aliases)); + var newId = Convert.ToInt32(await addCommand.ExecuteScalarAsync().ConfigureAwait(false)); + return newId; + } } \ No newline at end of file diff --git a/Core/Models/TagDatabase/TagDatabase.Initialisation.cs b/Core/Models/TagDatabase/TagDatabase.Initialisation.cs index 49d8bb6..d90ab6e 100644 --- a/Core/Models/TagDatabase/TagDatabase.Initialisation.cs +++ b/Core/Models/TagDatabase/TagDatabase.Initialisation.cs @@ -204,7 +204,7 @@ public partial class TagDatabase throw; } - + this.Tags = await this.GetAllTagsFromDatabase(); diff --git a/UI/Controls/TagEditor.axaml b/UI/Controls/TagEditor.axaml index fe55a62..dc6c5d2 100644 --- a/UI/Controls/TagEditor.axaml +++ b/UI/Controls/TagEditor.axaml @@ -19,7 +19,7 @@ Watermark="{x:Static assets:Resources.WatermarkTagParents}" HorizontalAlignment="Stretch" ItemsSource="{Binding AutoCompleteTags}" - Margin="0 0 0 5"/> + Margin="0 0 0 5" /> _tags; [ObservableProperty] private string _windowTitle; - - private List AutoCompleteTags => - this.TagDatabaseService.GetAllTags() - .Select(t => new TagItemViewModel(t, this.TagDatabaseService.GetParentNamesByIds)).ToList(); public BulkAddViewModel(MainWindowViewModel mainWindow, DialogService dialogService) @@ -56,6 +51,10 @@ public partial class BulkAddViewModel : ViewModelBase public bool CanSave => this.Tags.Count > 0; + private List AutoCompleteTags => + this.TagDatabaseService.GetAllTags() + .Select(t => new TagItemViewModel(t, this.TagDatabaseService.GetParentNamesByIds)).ToList(); + private TagDatabaseService TagDatabaseService => this._mainWindow.TagDatabaseService; [RelayCommand] @@ -142,16 +141,15 @@ public partial class BulkAddViewModel : ViewModelBase } } - public class BulkAddTagRow() + public class BulkAddTagRow { public string Aliases { get; set; } = string.Empty; + public List AutoCompleteTags { get; init; } = []; public bool IsTopLevel { get; set; } public string Name { get; set; } = string.Empty; public string Notes { get; set; } = string.Empty; public string Parents { get; set; } = string.Empty; public string TagBindings { get; set; } = string.Empty; - public List AutoCompleteTags { get; init; } = []; - } } \ No newline at end of file diff --git a/UI/ViewModels/TagEditorViewModel.cs b/UI/ViewModels/TagEditorViewModel.cs index 76c7948..59ba00a 100644 --- a/UI/ViewModels/TagEditorViewModel.cs +++ b/UI/ViewModels/TagEditorViewModel.cs @@ -16,14 +16,10 @@ public partial class TagEditorViewModel : ViewModelBase, IDisposable private readonly DialogService _dialogService; private readonly MainWindowViewModel _mainWindow; [ObservableProperty] private TagItemViewModel? _selectedTag; - + [ObservableProperty] private int _selectedTagId; [ObservableProperty] private bool _unsavedChanges; - - public List AutoCompleteTags => - this.TagDatabaseService.GetAllTags() - .Select(t => new TagItemViewModel(t, this.TagDatabaseService.GetParentNamesByIds)).ToList(); - + public TagEditorViewModel(MainWindowViewModel mainWindow, DialogService dialogService) { this._mainWindow = mainWindow; @@ -31,6 +27,10 @@ public partial class TagEditorViewModel : ViewModelBase, IDisposable this.TagDatabaseService.TagsWritten += this.TagDatabaseService_OnTagsWritten; } + public List AutoCompleteTags => + this.TagDatabaseService.GetAllTags() + .Select(t => new TagItemViewModel(t, this.TagDatabaseService.GetParentNamesByIds)).ToList(); + public bool CanDeleteSelectedTag => this._mainWindow.SelectedTag is not null && this._mainWindow.SelectedTag.Id > 0 && this.TagDatabaseService diff --git a/UI/Views/Windows/BulkAddWindow.axaml b/UI/Views/Windows/BulkAddWindow.axaml index f986520..8c82b7a 100644 --- a/UI/Views/Windows/BulkAddWindow.axaml +++ b/UI/Views/Windows/BulkAddWindow.axaml @@ -34,7 +34,7 @@ Binding="{Binding IsTopLevel}" /> - + + ItemsSource="{Binding AutoCompleteTags}" /> -- 2.51.2