diff --git a/Marechai/Marechai.csproj b/Marechai/Marechai.csproj index 9df04edc..2500317b 100644 --- a/Marechai/Marechai.csproj +++ b/Marechai/Marechai.csproj @@ -2,7 +2,7 @@ netcoreapp3.1 - 3.0.99.1068 + 3.0.99.1069 Canary Islands Computer Museum Copyright © 2003-2020 Natalia Portillo Canary Islands Computer Museum Website diff --git a/Marechai/Services/GpusService.cs b/Marechai/Services/GpusService.cs index 46c4c9ec..e6664a9c 100644 --- a/Marechai/Services/GpusService.cs +++ b/Marechai/Services/GpusService.cs @@ -13,12 +13,22 @@ namespace Marechai.Services public GpusService(MarechaiContext context) => _context = context; - public async Task> GetAsync() => await _context.Gpus.Include(g => g.Company).OrderBy(g => g.Company.Name).ThenBy(g => g.Name). - ThenBy(g => g.Introduced).Select(g => new GpuViewModel - { - Id = g.Id, Company = g.Company.Name, - Introduced = g.Introduced, - ModelCode = g.ModelCode, Name = g.Name - }).ToListAsync(); + public async Task> GetAsync() => + await _context.Gpus.OrderBy(g => g.Company.Name).ThenBy(g => g.Name).ThenBy(g => g.Introduced). + Select(g => new GpuViewModel + { + Id = g.Id, Company = g.Company.Name, Introduced = g.Introduced, ModelCode = g.ModelCode, + Name = g.Name + }).ToListAsync(); + + public async Task> GetByMachineAsync(int machineId) => + await _context.GpusByMachine.Where(g => g.MachineId == machineId).Select(g => g.Gpu). + OrderBy(g => g.Company.Name).ThenBy(g => g.Name).Select(g => new GpuViewModel + { + Id = g.Id, Name = g.Name, Company = g.Company.Name, CompanyId = g.Company.Id, + ModelCode = g.ModelCode, Introduced = g.Introduced, Package = g.Package, + Process = g.Process, ProcessNm = g.ProcessNm, DieSize = g.DieSize, + Transistors = g.Transistors + }).ToListAsync(); } } \ No newline at end of file diff --git a/Marechai/Services/MachinesService.cs b/Marechai/Services/MachinesService.cs index 20aa70c3..f7969ff4 100644 --- a/Marechai/Services/MachinesService.cs +++ b/Marechai/Services/MachinesService.cs @@ -11,16 +11,19 @@ namespace Marechai.Services public class MachinesService { readonly MarechaiContext _context; + readonly GpusService _gpusService; readonly IStringLocalizer _l; readonly ProcessorsService _processorsService; - readonly SoundSynthsService _soundSynthsService; + readonly SoundSynthsService _soundSynthsService; public MachinesService(MarechaiContext context, IStringLocalizer localizer, - ProcessorsService processorsService, SoundSynthsService soundSynthsService) + GpusService gpusService, ProcessorsService processorsService, + SoundSynthsService soundSynthsService) { - _context = context; - _l = localizer; - _processorsService = processorsService; + _context = context; + _l = localizer; + _gpusService = gpusService; + _processorsService = processorsService; _soundSynthsService = soundSynthsService; } @@ -70,14 +73,7 @@ namespace Marechai.Services model.FamilyId = family.Id; } - model.Gpus = await _context.GpusByMachine.Where(g => g.MachineId == machine.Id).Select(g => g.Gpu). - Select(g => new GpuViewModel - { - Id = g.Id, Name = g.Name, Company = g.Company.Name, - CompanyId = g.Company.Id, ModelCode = g.ModelCode, - Introduced = g.Introduced, Package = g.Package, Process = g.Process, - ProcessNm = g.ProcessNm, DieSize = g.DieSize, Transistors = g.Transistors - }).ToListAsync(); + model.Gpus = await _gpusService.GetByMachineAsync(machine.Id); model.Memory = await _context.MemoryByMachine.Where(m => m.MachineId == machine.Id). Select(m => new MemoryViewModel