diff --git a/DiscImageChef.Server/Areas/Admin/Controllers/UsbVendorsController.cs b/DiscImageChef.Server/Areas/Admin/Controllers/UsbVendorsController.cs index df4699fd..8c7d0810 100644 --- a/DiscImageChef.Server/Areas/Admin/Controllers/UsbVendorsController.cs +++ b/DiscImageChef.Server/Areas/Admin/Controllers/UsbVendorsController.cs @@ -15,7 +15,8 @@ namespace DiscImageChef.Server.Areas.Admin.Controllers public UsbVendorsController(DicServerContext context) => _context = context; // GET: Admin/UsbVendors - public async Task Index() => View(await _context.UsbVendors.OrderBy(v => v.Vendor).ThenBy(v => v.VendorId).ToListAsync()); + public async Task Index() => + View(await _context.UsbVendors.OrderBy(v => v.Vendor).ThenBy(v => v.VendorId).ToListAsync()); // GET: Admin/UsbVendors/Details/5 public async Task Details(int? id) @@ -32,7 +33,20 @@ namespace DiscImageChef.Server.Areas.Admin.Controllers return NotFound(); } - return View(usbVendor); + return View(new UsbVendorModel + { + Vendor = usbVendor.Vendor, VendorId = usbVendor.VendorId, Products = _context. + UsbProducts. + Where(p => p.VendorId == + usbVendor.Id). + OrderBy(p => p.Product). + ThenBy(p => p.ProductId). + Select(p => new UsbProductModel + { + ProductId = p.ProductId, + ProductName = p.Product + }).ToList() + }); } } } \ No newline at end of file diff --git a/DiscImageChef.Server/Areas/Admin/Views/UsbVendors/Details.cshtml b/DiscImageChef.Server/Areas/Admin/Views/UsbVendors/Details.cshtml index da1c62e3..4992070a 100644 --- a/DiscImageChef.Server/Areas/Admin/Views/UsbVendors/Details.cshtml +++ b/DiscImageChef.Server/Areas/Admin/Views/UsbVendors/Details.cshtml @@ -1,4 +1,4 @@ -@model UsbVendor +@model UsbVendorModel @{ Layout = "~/Areas/Admin/Views/Shared/_Layout.cshtml"; @@ -34,7 +34,7 @@ // ****************************************************************************/ }
-

UsbVendor

+

USB vendor


@@ -51,6 +51,43 @@
+
+

Products:

+ + + + + + + + + @foreach (var item in Model.Products) + { + + + + + } + +
+ @Html.DisplayNameFor(model => model.Products[0].ProductName) + + @Html.DisplayNameFor(model => model.Products[0].ProductId) +
+ @Html.DisplayFor(modelItem => item.ProductName) + + @Html.DisplayFor(modelItem => item.ProductId) +
+
Back to List -
\ No newline at end of file + + +@section scripts{ + + +} \ No newline at end of file diff --git a/DiscImageChef.Server/Models/UsbVendorModel.cs b/DiscImageChef.Server/Models/UsbVendorModel.cs new file mode 100644 index 00000000..b43f980e --- /dev/null +++ b/DiscImageChef.Server/Models/UsbVendorModel.cs @@ -0,0 +1,15 @@ +using System.Collections.Generic; +using System.ComponentModel; +using System.ComponentModel.DataAnnotations; + +namespace DiscImageChef.Server.Models +{ + public class UsbVendorModel + { + [DisplayName("Manufacturer")] + public string Vendor { get; set; } + [DisplayName("Vendor ID"), DisplayFormat(DataFormatString = "0x{0:X4}")] + public ushort VendorId { get; set; } + public List Products { get; set; } + } +} \ No newline at end of file