diff --git a/cicm_web/Models/Gpu.cs b/cicm_web/Models/Gpu.cs index 8fd83eb2..d5124414 100644 --- a/cicm_web/Models/Gpu.cs +++ b/cicm_web/Models/Gpu.cs @@ -54,7 +54,7 @@ namespace cicm_web.Models : new Gpu { Name = dbItem.Name, - Company = Company.GetItem(dbItem.Company.Id), + Company = dbItem.Company == null ? null : Company.GetItem(dbItem.Company.Id), DieSize = dbItem.DieSize, Introduced = dbItem.Introduced, ModelCode = dbItem.ModelCode, @@ -78,7 +78,7 @@ namespace cicm_web.Models items.Add(new Gpu { Name = dbItem.Name, - Company = Company.GetItem(dbItem.Company.Id), + Company = dbItem.Company == null ? null : Company.GetItem(dbItem.Company.Id), DieSize = dbItem.DieSize, Introduced = dbItem.Introduced, ModelCode = dbItem.ModelCode, diff --git a/cicm_web/Views/Computer/View.cshtml b/cicm_web/Views/Computer/View.cshtml index 9c92549e..507573ab 100644 --- a/cicm_web/Views/Computer/View.cshtml +++ b/cicm_web/Views/Computer/View.cshtml @@ -608,27 +608,124 @@ else } } - - -
- Graphics processor -
- +@if(Model.Gpu == null || Model.Gpu != null && Model.Gpu.Id != -1) +{ + + +
+ Graphics processor +
+ - @if(Model.Gpu.Id > 1) - { - if(Model.Gpu.Id > 2) + @if(Model.Gpu != null) { - @Model.Gpu.Name + if(Model.Gpu.Id == -2) + { + + Framebuffer + +
+
+ This computer directly draws pixels from software to a memory region that's converted to video output by a DAC or similar without using any specific graphics processing unit. +
+
+ + } + else + { + + @($"{Model.Gpu.Name}") + +
+
+ + @if(Model.Gpu.ModelCode != null && Model.Gpu.ModelCode != Model.Gpu.Name) + { + + + + + } + + + + + @if(Model.Gpu.Introduced != DateTime.MinValue) + { + + + + + } + @if(Model.Gpu.Package != null) + { + + + + + } + @if(Model.Gpu.Process != null || Model.Gpu.ProcessNm > 0) + { + + + + + } + @if(Model.Gpu.DieSize > 0) + { + + + + + } + @if(Model.Gpu.Transistors > 0) + { + + + + + } +
Model@Model.Gpu.ModelCode
Manufacturer + + @Model.Gpu.Company.Name +
Introduction date@($"{Model.Gpu.Introduced:yyyy}")
Package@Model.Gpu.Package
Manufacturing process + @if(Model.Gpu.Process != null && Model.Gpu.ProcessNm > 0) + { + @Model.Gpu.Process + @("@") + @(Model.Gpu.ProcessNm > 100 ? $"{Model.Gpu.ProcessNm / 100}µm" : $"{Model.Gpu.ProcessNm}nm") + } + else if(Model.Gpu.ProcessNm > 0) { @(Model.Gpu.ProcessNm > 100 ? $"{Model.Gpu.ProcessNm / 100}µm" : $"{Model.Gpu.ProcessNm}nm") } + else + { @Model.Gpu.Process } +
Die size@Model.Gpu.DieSize mm²
Transistors@Model.Gpu.Transistors
+
+
+ + } } else { Unknown data } - } - else - { None } - + +}
diff --git a/cicm_web/Views/Console/View.cshtml b/cicm_web/Views/Console/View.cshtml index b2531ebb..1d819e30 100644 --- a/cicm_web/Views/Console/View.cshtml +++ b/cicm_web/Views/Console/View.cshtml @@ -600,27 +600,124 @@ else } } - - -
- Graphics processor -
- +@if(Model.Gpu == null || Model.Gpu != null && Model.Gpu.Id != -1) +{ + + +
+ Graphics processor +
+ - @if(Model.Gpu.Id > 1) - { - if(Model.Gpu.Id > 2) + @if(Model.Gpu != null) { - @Model.Gpu.Name + if(Model.Gpu.Id == -2) + { + + Framebuffer + +
+
+ This videoconsole directly draws pixels from software to a memory region that's converted to video output by a DAC or similar without using any specific graphics processing unit. +
+
+ + } + else + { + + @($"{Model.Gpu.Name}") + +
+
+ + @if(Model.Gpu.ModelCode != null && Model.Gpu.ModelCode != Model.Gpu.Name) + { + + + + + } + + + + + @if(Model.Gpu.Introduced != DateTime.MinValue) + { + + + + + } + @if(Model.Gpu.Package != null) + { + + + + + } + @if(Model.Gpu.Process != null || Model.Gpu.ProcessNm > 0) + { + + + + + } + @if(Model.Gpu.DieSize > 0) + { + + + + + } + @if(Model.Gpu.Transistors > 0) + { + + + + + } +
Model@Model.Gpu.ModelCode
Manufacturer + + @Model.Gpu.Company.Name +
Introduction date@($"{Model.Gpu.Introduced:yyyy}")
Package@Model.Gpu.Package
Manufacturing process + @if(Model.Gpu.Process != null && Model.Gpu.ProcessNm > 0) + { + @Model.Gpu.Process + @("@") + @(Model.Gpu.ProcessNm > 100 ? $"{Model.Gpu.ProcessNm / 100}µm" : $"{Model.Gpu.ProcessNm}nm") + } + else if(Model.Gpu.ProcessNm > 0) { @(Model.Gpu.ProcessNm > 100 ? $"{Model.Gpu.ProcessNm / 100}µm" : $"{Model.Gpu.ProcessNm}nm") } + else + { @Model.Gpu.Process } +
Die size@Model.Gpu.DieSize mm²
Transistors@Model.Gpu.Transistors
+
+
+ + } } else { Unknown data } - } - else - { None } - + +}
diff --git a/cicm_web/cicm_web.csproj b/cicm_web/cicm_web.csproj index bf55b1e1..f59e313c 100644 --- a/cicm_web/cicm_web.csproj +++ b/cicm_web/cicm_web.csproj @@ -2,7 +2,7 @@ netcoreapp2.0 - 3.0.99.186 + 3.0.99.189 Canary Islands Computer Museum Copyright © 2003-2018 Natalia Portillo Canary Islands Computer Museum Website