@{ /****************************************************************************** // MARECHAI: Master repository of computing history artifacts information // ---------------------------------------------------------------------------- // // Author(s) : Natalia Portillo // // --[ License ] -------------------------------------------------------------- // // This program is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as // published by the Free Software Foundation, either version 3 of the // License, or (at your option) any later version. // // This program is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // // You should have received a copy of the GNU General Public License // along with this program. If not, see . // // ---------------------------------------------------------------------------- // Copyright © 2003-2020 Natalia Portillo *******************************************************************************/ } @page "/admin/machines/details/{Id:int}" @page "/admin/machines/edit/{Id:int}" @page "/admin/machines/create" @using Marechai.Database.Models @using Marechai.Database @inherits OwningComponentBase @inject IStringLocalizer L @inject CompaniesService CompaniesService @inject MachineFamiliesService MachineFamiliesService @inject NavigationManager NavigationManager @inject GpusByMachineService GpusByMachineService @inject GpusService GpusService @inject SoundSynthsByMachineService SoundSynthsByMachineService @inject SoundSynthsService SoundSynthsService @inject ProcessorsByMachineService ProcessorsByMachineService @inject ProcessorsService ProcessorsService @inject MemoriesByMachineService MemoriesByMachineService @inject StorageByMachineService StorageByMachineService @inject ScreensByMachineService ScreensByMachineService @inject ScreensService ScreensService @inject MachinePhotosService MachinePhotosService @inject UserManager UserManager @inject AuthenticationStateProvider AuthenticationStateProvider @attribute [Authorize(Roles = "UberAdmin, Admin")]

@L["Machine details"]


@if(!_loaded) {

@L["Loading..."]

return; }
@L["Company"] @L["Name"] @L["Please enter a valid name."] @L["Type"] @if(_editing || _model.Model != null) { @L["Model code"] @if(_editing) { @L["Unknown (model)"] } @if(!_editing || !_unknownModel) { @L["Please enter a valid model."] } } @if(_editing || _model.Introduced.HasValue) { @L["Introduced (public release)"] @if(_editing) { @L["Unknown (introduction date)"] @L["Prototype"] } @if(!_editing || !_prototype && !_unknownIntroduced) { @L["Please enter an introduction date."] } } @if(_editing || _model.FamilyId != null) { @L["Family"] @if(_editing) { @L["No family"] } @if(!_editing || !_noFamily) { } }
@if(!_editing) { } else { } @L["Back to list"]
@if(!_editing) {

@L["Graphical processing units belonging to this machine"]

@if(_addingGpu) {
@L["Graphical processing units"]
} @if(_machineGpus?.Count > 0) {
@foreach(var item in _machineGpus) { }
@L["Company"] @L["Name"]
@item.CompanyName @item.Name
}

@L["Sound synthesizers belonging to this machine"]

@if(_addingSound) {
@L["Sound synthesizers"]
} @if(_machineSound?.Count > 0) {
@foreach(var item in _machineSound) { }
@L["Company"] @L["Name"]
@item.CompanyName @item.Name
}

@L["Processors belonging to this machine"]

@if(_addingCpu) {
@L["Processors"] @L["Nominal speed (MHz)"] @L["Unknown (processor by machine speed)"] @if(!_unknownProcessorSpeed) { @L["Please enter a valid speed for this processor."] }
} @if(_machineCpus?.Count > 0) {
@foreach(var item in _machineCpus) { }
@L["Company"] @L["Name"] @L["Speed"]
@item.CompanyName @item.Name @string.Format(L["{0:F3} MHz"], item.Speed)
}

@L["Memory belonging to this machine"]

@if(_addingMemory) {
@L["Memory type"] @L["Memory usage"] @L["Nominal speed (Hz)"] @L["Unknown (memory by machine speed)"] @if(!_unknownMemorySpeed) { @L["Please enter a valid speed for this memory."] } @L["Memory size (bytes)"] @L["Unknown (memory by machine size)"] @if(!_unknownMemorySize) { @L["Please enter a valid size for this memory."] }
} @if(_machineMemories?.Count > 0) {
@foreach(var item in _machineMemories) { }
@L["Type"] @L["Usage"] @L["Size"] @L["Speed"]
@item.Type @item.Usage @if(item.Size.HasValue) { @string.Format(L["{0} bytes"], item.Size) } else { @L["Unknown (memory by machine size)"] } @if(item.Speed.HasValue) { @string.Format(L["{0:F3} Hz"], item.Speed) } else { @L["Unknown (memory by machine speed)"] }
}

@L["Storage belonging to this machine"]

@if(_addingStorage) {
@L["Storage type"] @L["Storage interface"] @L["Nominal capacity (bytes)"] @L["Unknown or empty (storage by machine nominal capacity)"] @if(!_unknownStorageSize) { @L["Please enter a valid size for this storage."] }
} @if(_machineStorage?.Count > 0) {
@foreach(var item in _machineStorage) { }
@L["Type"] @L["Interface"] @L["Nominal capacity"]
@item.Type @item.Interface @if(item.Capacity.HasValue) { @string.Format(L["{0} bytes"], item.Capacity) } else { @L["Unknown or empty (storage by machine nominal capacity)"] }
}

@L["Screens attached to this machine"]

@if(_addingScreen) {
@L["Screens"]
} @if(_machineScreens?.Count > 0) {
@foreach(var item in _machineScreens) { }
@L["Diagonal"] @L["Width"] @L["Height"] @L["Type"] @L["Effective colors"] @L["Native resolution"]
@item.Screen.Diagonal @item.Screen.Width @item.Screen.Height @item.Screen.Type @item.Screen.EffectiveColors @item.Screen.NativeResolution
} @_deleteTitle @_deleteText @if(_photos.Count > 0) { foreach(var photo in _photos) { } } }