diff --git a/Aaru.Server/Components/Admin/Pages/Chs/View.razor b/Aaru.Server/Components/Admin/Pages/Chs/View.razor index a25eb6d0..54282ef2 100644 --- a/Aaru.Server/Components/Admin/Pages/Chs/View.razor +++ b/Aaru.Server/Components/Admin/Pages/Chs/View.razor @@ -34,79 +34,168 @@ @inject Microsoft.EntityFrameworkCore.IDbContextFactory DbContextFactory -Chs +CHS @if(!_initialized) { -
-

Loading...

+
+
+
+ Loading... +
+

Loading CHS data...

+
return; } -
-

CHS

- - - - - - - - - - @foreach(Chs item in _items) - { - - - - - - } - -
- @DisplayNameHelper.GetDisplayName(typeof(Chs), nameof(Chs.Cylinders)) - - @DisplayNameHelper.GetDisplayName(typeof(Chs), nameof(Chs.Heads)) - - @DisplayNameHelper.GetDisplayName(typeof(Chs), nameof(Chs.Sectors)) -
- @item.Cylinders - - @item.Heads - - @item.Sectors -
+
+ +
+
+

+ CHS (Cylinder-Head-Sector) +

+

Manage drive geometry database

+
+
+ @if(_duplicates.Count > 0) { -
- The following CHS have duplicates. - - - @foreach(ChsModel item in _duplicates) - { - - - - } - -
- @item.Cylinders/@item.Heads/@item.Sectors -
+ - - } -
- + +
+
+
+
+
+ + + + +
+
+
+ + Total: @FilteredItems.Count() / @_items.Count + +
+
+
+
+ + +
+
+
+ CHS Database +
+
+
+ @if(FilteredItems.Any()) + { +
+ + + + + + + + + + + @foreach(Chs item in FilteredItems) + { + + + + + + + } + +
+ ID + + Cylinders + + Heads + + Sectors +
+ @item.Id + + @item.Cylinders.ToString("N0") + + @item.Heads + + @item.Sectors +
+
+ } + else + { +
+ +

No CHS data found

+

@(string.IsNullOrWhiteSpace(_searchTerm) ? "No data available" : "Try adjusting your search criteria")

+
+ } +
+
+
+ + -
Are you sure you want to delete the duplicates?
+
+ + Are you sure you want to consolidate and delete duplicate CHS entries? This action cannot be undone. +
- - + + -
\ No newline at end of file + + diff --git a/Aaru.Server/Components/Admin/Pages/Chs/View.razor.cs b/Aaru.Server/Components/Admin/Pages/Chs/View.razor.cs index 67d170e7..543481a3 100644 --- a/Aaru.Server/Components/Admin/Pages/Chs/View.razor.cs +++ b/Aaru.Server/Components/Admin/Pages/Chs/View.razor.cs @@ -35,10 +35,26 @@ namespace Aaru.Server.Components.Admin.Pages.Chs; public partial class View { - private Modal? _consolidateModal; - List _duplicates; - bool _initialized; - List _items; + private Modal? _consolidateModal; + private List _duplicates = new(); + private bool _initialized; + private List _items = new(); + private string _searchTerm = string.Empty; + + private IEnumerable FilteredItems + { + get + { + if(string.IsNullOrWhiteSpace(_searchTerm)) return _items; + + return _items.Where(item => + item.Cylinders.ToString() + .Contains(_searchTerm, StringComparison.OrdinalIgnoreCase) || + item.Heads.ToString().Contains(_searchTerm, StringComparison.OrdinalIgnoreCase) || + item.Sectors.ToString().Contains(_searchTerm, StringComparison.OrdinalIgnoreCase) || + item.Id.ToString().Contains(_searchTerm, StringComparison.OrdinalIgnoreCase)); + } + } ///