Files
Aaru.Server/DiscImageChef.Server/Views/Report/View.cshtml

289 lines
9.6 KiB
Plaintext
Raw Normal View History

2019-11-02 01:40:41 +00:00
@using DiscImageChef.CommonTypes.Metadata
@{
Layout = "~/Views/Shared/_Layout.cshtml";
ViewBag.Title = "DiscImageChef Device Report";
}
@{
// /***************************************************************************
// The Disc Image Chef
// ----------------------------------------------------------------------------
//
// Filename : View.cshtml
// Author(s) : Natalia Portillo <claunia@claunia.com>
//
// Component : DiscImageChef Server.
//
// --[ Description ] ----------------------------------------------------------
//
// Renders device report.
//
// --[ License ] --------------------------------------------------------------
//
// This library is free software; you can redistribute it and/or modify
// it under the terms of the GNU Lesser General Public License as
// published by the Free Software Foundation; either version 2.1 of the
// License, or (at your option) any later version.
//
// This library 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
// Lesser General Public License for more details.
//
// You should have received a copy of the GNU Lesser General Public
// License along with this library; if not, see <http://www.gnu.org/licenses/>.
//
// ----------------------------------------------------------------------------
// Copyright © 2011-2019 Natalia Portillo
// ****************************************************************************/
}
<div class="container-fluid">
DiscImageChef Report for
@ViewBag.lblManufacturer
@ViewBag.lblModel
@ViewBag.lblRevision
2019-11-02 21:37:09 +00:00
@if (ViewBag.UsbItem != null)
2019-11-02 01:40:41 +00:00
{
<div id="divUsb">
2019-11-02 23:52:33 +00:00
<br />
<b>USB characteristics:</b>
<br />
<i>Manufacturer:</i> @ViewBag.UsbItem.Manufacturer<br />
<i>Product:</i> @ViewBag.UsbItem.Product<br />
<i>Vendor ID:</i> @ViewBag.UsbItem.VendorDescription<br />
2019-11-02 01:40:41 +00:00
<i>Product ID:</i> @ViewBag.UsbItem.ProductDescription
</div>
}
2019-11-02 21:37:09 +00:00
@if (ViewBag.FireWireItem != null)
2019-11-02 01:40:41 +00:00
{
<div id="divFireWire">
2019-11-02 23:52:33 +00:00
<br />
<b>FireWire characteristics:</b>
<br />
<i>Manufacturer:</i> @ViewBag.FireWire.Manufacturer<br />
<i>Product:</i> @ViewBag.FireWire.Product<br />
<i>Vendor ID:</i> @ViewBag.FireWire.VendorDescription<br />
2019-11-02 01:40:41 +00:00
<i>Product ID:</i> @ViewBag.FireWire.ProductDescription
</div>
}
2019-11-02 21:37:09 +00:00
@if (ViewBag.PcmciaItem != null)
2019-11-02 01:40:41 +00:00
{
<div id="divPcmcia">
2019-11-02 23:52:33 +00:00
<br />
<b>PCMCIA characteristics:</b>
<br />
<i>Manufacturer:</i> @ViewBag.PcmciaItem.Manufacturer<br />
<i>Product:</i> @ViewBag.PcmciaItem.ProductName<br />
<i>Manufacturer code:</i> @ViewBag.PcmciaItem.VendorDescription<br />
<i>Card code:</i> @ViewBag.PcmciaItem.CardCode<br />
<i>Compliance:</i> @ViewBag.PcmciaItem.Compliance<br />
2019-11-02 21:37:09 +00:00
@if (ViewBag.repPcmciaTuples != null)
2019-11-02 01:40:41 +00:00
{
2019-11-02 21:37:09 +00:00
foreach (KeyValuePair<string, string> kvp in ViewBag.repPcmciaTuples)
2019-11-02 01:40:41 +00:00
{
2019-11-02 23:52:33 +00:00
<text>
<i>@kvp.Key</i>: @kvp.Value<br /></text>
2019-11-02 01:40:41 +00:00
}
}
</div>
}
2019-11-02 21:37:09 +00:00
@if (ViewBag.AtaItem != null)
2019-11-02 01:40:41 +00:00
{
<div id="divAta">
2019-11-02 23:52:33 +00:00
<br />
2019-11-02 01:40:41 +00:00
<b>
@ViewBag.AtaItem characteristics:
2019-11-02 23:52:33 +00:00
</b>
<br />
@ViewBag.lblAtaDeviceType<br />
2019-11-02 21:37:09 +00:00
@foreach (KeyValuePair<string, string> kvp in ViewBag.repAtaTwo)
2019-11-02 01:40:41 +00:00
{
2019-11-02 23:52:33 +00:00
<text>
<i>@kvp.Key</i>: @kvp.Value<br /></text>
2019-11-02 01:40:41 +00:00
}
2019-11-02 23:52:33 +00:00
<br />
2019-11-02 21:37:09 +00:00
@foreach (string item in ViewBag.repAtaOne)
2019-11-02 01:40:41 +00:00
{
2019-11-02 23:52:33 +00:00
@Html.Raw(item)<br />
2019-11-02 01:40:41 +00:00
}
</div>
}
2019-11-02 21:37:09 +00:00
@if (ViewBag.repScsi != null)
2019-11-02 01:40:41 +00:00
{
<div id="divScsi">
2019-11-02 23:52:33 +00:00
<br />
<b>SCSI characteristics:</b>
<br />
<i>Vendor: </i>@ViewBag.lblScsiVendor<br />
<i>Product: </i>@ViewBag.lblScsiProduct<br />
<i>Revision: </i>@ViewBag.lblScsiRevision<br />
2019-11-02 21:37:09 +00:00
@foreach (string item in ViewBag.repScsi)
2019-11-02 01:40:41 +00:00
{
2019-11-02 23:52:33 +00:00
@Html.Raw(item)<br />
2019-11-02 01:40:41 +00:00
}
2019-11-02 21:37:09 +00:00
@if (ViewBag.repModeSense != null)
2019-11-02 01:40:41 +00:00
{
<div id="divScsiModeSense">
2019-11-02 23:52:33 +00:00
<br />
<i>SCSI mode sense pages:</i>
2019-11-02 01:40:41 +00:00
<table border="1">
<tr>
<th>Mode</th>
<th>Contents</th>
</tr>
2019-11-02 21:37:09 +00:00
@foreach (KeyValuePair<string, string> kvp in ViewBag.repModeSense)
2019-11-02 01:40:41 +00:00
{
<tr>
<td>
@kvp.Key
</td>
<td>
@Html.Raw(kvp.Value)
</td>
</tr>
}
</table>
</div>
}
2019-11-02 21:37:09 +00:00
@if (ViewBag.repEvpd != null)
2019-11-02 01:40:41 +00:00
{
<div id="divScsiEvpd">
2019-11-02 23:52:33 +00:00
<br />
<i>SCSI extended vital product data pages:</i>
2019-11-02 01:40:41 +00:00
<table border="1">
<tr>
<th>EVPD</th>
<th>Contents</th>
</tr>
2019-11-02 21:37:09 +00:00
@foreach (KeyValuePair<string, string> kvp in ViewBag.repEvpd)
2019-11-02 01:40:41 +00:00
{
<tr>
<td>
@kvp.Key
</td>
<td>
@Html.Raw(kvp.Value)
</td>
</tr>
}
</table>
</div>
}
2019-11-02 21:37:09 +00:00
@if (ViewBag.repScsiMmcMode != null)
2019-11-02 01:40:41 +00:00
{
<div id="divScsiMmcMode">
2019-11-02 23:52:33 +00:00
<br />
<b>SCSI CD-ROM capabilities:</b>
<br />
2019-11-02 21:37:09 +00:00
@foreach (string item in ViewBag.repScsiMmcMode)
2019-11-02 01:40:41 +00:00
{
2019-11-02 23:52:33 +00:00
@Html.Raw(item)<br />
2019-11-02 01:40:41 +00:00
}
</div>
}
2019-11-02 21:37:09 +00:00
@if (ViewBag.repScsiMmcFeatures != null)
2019-11-02 01:40:41 +00:00
{
<div id="divScsiMmcFeatures">
2019-11-02 23:52:33 +00:00
<br />
<b>SCSI MMC features:</b>
<br />
2019-11-02 21:37:09 +00:00
@foreach (string item in ViewBag.repScsiMmcFeatures)
2019-11-02 01:40:41 +00:00
{
2019-11-02 23:52:33 +00:00
@Html.Raw(item)<br />
2019-11-02 01:40:41 +00:00
}
</div>
}
2019-11-02 21:37:09 +00:00
@if (ViewBag.divScsiSscVisible == true)
2019-11-02 01:40:41 +00:00
{
<div id="divScsiSsc">
2019-11-02 23:52:33 +00:00
<br />
<b>SCSI Streaming device capabilities:</b>
<br />
Block size granularity: @ViewBag.lblScsiSscGranularity<br />
Maximum block length: @ViewBag.lblScsiSscMaxBlock bytes
<br />
Minimum block length: @ViewBag.lblScsiSscMinBlock bytes
<br />
2019-11-02 21:37:09 +00:00
@if (ViewBag.repScsiSscDensities != null)
2019-11-02 01:40:41 +00:00
{
2019-11-02 21:37:09 +00:00
foreach (SupportedDensity density in ViewBag.repScsiSscDensities)
2019-11-02 01:40:41 +00:00
{
<text>
2019-11-02 23:52:33 +00:00
<br />
2019-11-02 01:40:41 +00:00
<b>
Information for supported density with primary code @($"{density.PrimaryCode:X2h}") and secondary code @($"{density.SecondaryCode:X2h}")
2019-11-02 23:52:33 +00:00
</b>
<br />
Drive can write this density: @density.Writable<br />
Duplicate density: @density.Duplicate<br />
Default density: @density.DefaultDensity<br />
2019-11-02 01:40:41 +00:00
Density has @density.BitsPerMm bits per mm, with @density.Tracks tracks in a @density.Width mm width tape
2019-11-02 23:52:33 +00:00
Name: @density.Name<br />
Organization: @density.Organization<br />
Description: @density.Description<br />
Maximum capacity: @density.Capacity megabytes
<br />
2019-11-02 01:40:41 +00:00
</text>
}
}
2019-11-02 21:37:09 +00:00
@if (ViewBag.repScsiSscMedias != null)
2019-11-02 01:40:41 +00:00
{
2019-11-02 21:37:09 +00:00
foreach (SscSupportedMedia media in ViewBag.repScsiSscMedias)
2019-11-02 01:40:41 +00:00
{
<text>
2019-11-02 23:52:33 +00:00
<br />
2019-11-02 01:40:41 +00:00
<b>
Information for supported media with type code @($"{media.MediumType:X2h}")
2019-11-02 23:52:33 +00:00
</b>
<br />
2019-11-02 01:40:41 +00:00
Media is @media.Length m long in a @media.Width mm width tape
2019-11-02 23:52:33 +00:00
Name: @media.Name<br />
Organization: @media.Organization<br />
Description: @media.Description<br />
2019-11-02 01:40:41 +00:00
</text>
}
}
</div>
}
</div>
}
2019-11-02 21:37:09 +00:00
@if (ViewBag.repTestedMedia != null)
2019-11-02 01:40:41 +00:00
{
<div id="divTestedMedia">
2019-11-02 23:52:33 +00:00
<br />
<b>Tested media:</b>
<br />
2019-11-02 21:37:09 +00:00
@foreach (string item in ViewBag.repTestedMedia)
2019-11-02 01:40:41 +00:00
{
2019-11-02 23:52:33 +00:00
@Html.Raw(item)<br />
2019-11-02 01:40:41 +00:00
}
</div>
}
2019-11-02 21:37:09 +00:00
@if (ViewBag.repMMC != null)
2019-11-02 01:40:41 +00:00
{
<div id="divMMC">
2019-11-02 23:52:33 +00:00
<br />
<b>MultiMediaCard device:</b>
<br />
2019-11-02 21:37:09 +00:00
@foreach (string item in ViewBag.repMMC)
2019-11-02 01:40:41 +00:00
{
2019-11-02 23:52:33 +00:00
@Html.Raw(item)<br />
2019-11-02 01:40:41 +00:00
}
</div>
}
2019-11-02 21:37:09 +00:00
@if (ViewBag.repSD != null)
2019-11-02 01:40:41 +00:00
{
<div id="divSD">
2019-11-02 23:52:33 +00:00
<br />
<b>SecureDigital device:</b>
<br />
2019-11-02 21:37:09 +00:00
@foreach (string item in ViewBag.repSD)
2019-11-02 01:40:41 +00:00
{
2019-11-02 23:52:33 +00:00
@Html.Raw(item)<br />
2019-11-02 01:40:41 +00:00
}
</div>
}
</div>