@using System.Collections @using DiscImageChef.CommonTypes.Metadata @using DiscImageChef.Server.Models @using Highsoft.Web.Mvc.Charts @using Chart = Highsoft.Web.Mvc.Charts.Chart @using Filter = DiscImageChef.Server.Models.Filter @{ // /*************************************************************************** // The Disc Image Chef // ---------------------------------------------------------------------------- // // Filename : Index.cshtml // Author(s) : Natalia Portillo // // Component : DiscImageChef Server. // // --[ Description ] ---------------------------------------------------------- // // Renders statistics. // // --[ 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 . // // ---------------------------------------------------------------------------- // Copyright © 2011-2019 Natalia Portillo // ****************************************************************************/ } @{ ViewBag.Title = "DiscImageChef Statistics"; Layout = "~/Views/Shared/_Layout.cshtml"; }
Welcome to DiscImageChef Server version @ViewBag.Version
@if(ViewBag.repOperatingSystems != null) {

@foreach(NameValueStats os in ViewBag.repOperatingSystems) { }
DiscImageChef has run on @os.name @os.Value times.

} @if(ViewBag.repVersions != null) {

@foreach(NameValueStats version in ViewBag.repVersions) { }
DiscImageChef version @version.name has been used @version.Value times.

} @if(ViewBag.repCommands != null) {

@foreach(Command command in ViewBag.repCommands) { }
@command.Name has been run @command.Count times.

} @if(ViewBag.repFilters != null) {

@foreach(Filter filter in ViewBag.repFilters) { }
Filter Times
@filter.Name @($"{filter.Count}")
} @if(ViewBag.repMediaImages != null) {

@foreach(MediaFormat format in ViewBag.repMediaImages) { }
Media image format Times
@format.Name @($"{format.Count}")
} @if(ViewBag.repPartitions != null) {

@foreach(Partition partition in ViewBag.repPartitions) { }
Partitioning scheme Times
@partition.Name @($"{partition.Count}")
} @if(ViewBag.repFilesystems != null) {

@foreach(Filesystem filesystem in ViewBag.repFilesystems) { }
Filesystem name Times
@filesystem.Name @($"{filesystem.Count}")
} @if(ViewBag.repVirtualMedia != null) {

@foreach(MediaItem media in ViewBag.repVirtualMedia) { }
Physical type Logical type Times
@media.Type @media.SubType @($"{media.Count}")
} @if(ViewBag.repRealMedia != null) {

@foreach(MediaItem media in ViewBag.repRealMedia) { }
Physical type Logical type Times
@media.Type @media.SubType @($"{media.Count}")
} @if(ViewBag.repDevices != null) {

All devices found...

@foreach(DeviceItem device in ViewBag.repDevices) { }
Manufacturer Model Revision Bus Report
@device.Manufacturer @device.Model @device.Revision @device.Bus @if(device.ReportId != 0) { @Html.ActionLink("Yes", "View", "Report", new {id = device.ReportId}, new {target = "_blank"}) } else { No }
}
@{ string highChartsTitleColor; string highChartsDataLabelColor; switch(DateTime.UtcNow.DayOfYear) { // 24th January, Macintosh launch case 24: highChartsTitleColor = "#000000"; highChartsDataLabelColor = "#000000"; break; default: highChartsTitleColor = "#AAAAAA"; highChartsDataLabelColor = "#FFFFFF"; break; } Hashtable highChartsTitleStyle = new Hashtable {{"color", highChartsTitleColor}}; PlotOptionsPieDataLabelsStyle highChartsDataLabelStyle = new PlotOptionsPieDataLabelsStyle {Color = highChartsDataLabelColor, TextOutline = "0px"}; @(Html.Highsoft().GetHighcharts(new Highcharts {Chart = new Chart {PlotBackgroundColor = null, PlotBorderWidth = null, PlotShadow = new Shadow {Enabled = true}}, Title = new Title {Text = "Operating system usage", Style = highChartsTitleStyle}, Tooltip = new Tooltip {PointFormat = "{series.name}: {point.percentage:.1f}%"}, PlotOptions = new PlotOptions {Pie = new PlotOptionsPie {AllowPointSelect = true, Cursor = PlotOptionsPieCursor.Pointer, DataLabels = new PlotOptionsPieDataLabels {Style = highChartsDataLabelStyle, Enabled = true, Format = "{point.name}: {point.percentage:.1f} %"}}}, Series = new List {new PieSeries {Name = "Percentage:", Data = ViewData["osPieData"] as List}}}, "osChart", false)) @(Html.Highsoft().GetHighcharts(new Highcharts {Chart = new Chart {PlotBackgroundColor = null, PlotBorderWidth = null, PlotShadow = new Shadow {Enabled = true}}, Title = new Title {Text = "Linux versions", Style = highChartsTitleStyle}, Tooltip = new Tooltip {PointFormat = "{series.name}: {point.percentage:.1f}%"}, PlotOptions = new PlotOptions {Pie = new PlotOptionsPie {AllowPointSelect = true, Cursor = PlotOptionsPieCursor.Pointer, DataLabels = new PlotOptionsPieDataLabels {Style = highChartsDataLabelStyle, Enabled = true, Format = "{point.name}: {point.percentage:.1f} %"}}}, Series = new List {new PieSeries {Name = "Percentage:", Data = ViewData["linuxPieData"] as List}}}, "linuxChart", false)) @(Html.Highsoft().GetHighcharts(new Highcharts {Chart = new Chart {PlotBackgroundColor = null, PlotBorderWidth = null, PlotShadow = new Shadow {Enabled = true}}, Title = new Title {Text = "macOS versions", Style = highChartsTitleStyle}, Tooltip = new Tooltip {PointFormat = "{series.name}: {point.percentage:.1f}%"}, PlotOptions = new PlotOptions {Pie = new PlotOptionsPie {AllowPointSelect = true, Cursor = PlotOptionsPieCursor.Pointer, DataLabels = new PlotOptionsPieDataLabels {Style = highChartsDataLabelStyle, Enabled = true, Format = "{point.name}: {point.percentage:.1f} %"}}}, Series = new List {new PieSeries {Name = "Percentage:", Data = ViewData["macosPieData"] as List}}}, "macosChart", false)) @(Html.Highsoft().GetHighcharts(new Highcharts {Chart = new Chart {PlotBackgroundColor = null, PlotBorderWidth = null, PlotShadow = new Shadow {Enabled = true}}, Title = new Title {Text = "Windows versions", Style = highChartsTitleStyle}, Tooltip = new Tooltip {PointFormat = "{series.name}: {point.percentage:.1f}%"}, PlotOptions = new PlotOptions {Pie = new PlotOptionsPie {AllowPointSelect = true, Cursor = PlotOptionsPieCursor.Pointer, DataLabels = new PlotOptionsPieDataLabels {Style = highChartsDataLabelStyle, Enabled = true, Format = "{point.name}: {point.percentage:.1f} %"}}}, Series = new List {new PieSeries {Name = "Percentage:", Data = ViewData["windowsPieData"] as List}}}, "windowsChart", false)) @(Html.Highsoft().GetHighcharts(new Highcharts {Chart = new Chart {PlotBackgroundColor = null, PlotBorderWidth = null, PlotShadow = new Shadow {Enabled = true}}, Title = new Title {Text = "DiscImageChef versions", Style = highChartsTitleStyle}, Tooltip = new Tooltip {PointFormat = "{series.name}: {point.percentage:.1f}%"}, PlotOptions = new PlotOptions {Pie = new PlotOptionsPie {AllowPointSelect = true, Cursor = PlotOptionsPieCursor.Pointer, DataLabels = new PlotOptionsPieDataLabels {Style = highChartsDataLabelStyle, Enabled = true, Format = "{point.name}: {point.percentage:.1f} %"}}}, Series = new List {new PieSeries {Name = "Percentage:", Data = ViewData["versionsPieData"] as List}}}, "versionsChart", false)) @(Html.Highsoft().GetHighcharts(new Highcharts {Chart = new Chart {PlotBackgroundColor = null, PlotBorderWidth = null, PlotShadow = new Shadow {Enabled = true}}, Title = new Title {Text = "Commands run", Style = highChartsTitleStyle}, Tooltip = new Tooltip {PointFormat = "{series.name}: {point.percentage:.1f}%"}, PlotOptions = new PlotOptions {Pie = new PlotOptionsPie {AllowPointSelect = true, Cursor = PlotOptionsPieCursor.Pointer, DataLabels = new PlotOptionsPieDataLabels {Style = highChartsDataLabelStyle, Enabled = true, Format = "{point.name}: {point.percentage:.1f} %"}}}, Series = new List {new PieSeries {Name = "Percentage:", Data = ViewData["commandsPieData"] as List}}}, "commandsChart", false)) @(Html.Highsoft().GetHighcharts(new Highcharts {Chart = new Chart {PlotBackgroundColor = null, PlotBorderWidth = null, PlotShadow = new Shadow {Enabled = true}}, Title = new Title {Text = "Filters found", Style = highChartsTitleStyle}, Tooltip = new Tooltip {PointFormat = "{series.name}: {point.percentage:.1f}%"}, PlotOptions = new PlotOptions {Pie = new PlotOptionsPie {AllowPointSelect = true, Cursor = PlotOptionsPieCursor.Pointer, DataLabels = new PlotOptionsPieDataLabels {Style = highChartsDataLabelStyle, Enabled = true, Format = "{point.name}: {point.percentage:.1f} %"}}}, Series = new List {new PieSeries {Name = "Percentage:", Data = ViewData["filtersPieData"] as List}}}, "filtersChart", false)) @(Html.Highsoft().GetHighcharts(new Highcharts {Chart = new Chart {PlotBackgroundColor = null, PlotBorderWidth = null, PlotShadow = new Shadow {Enabled = true}}, Title = new Title {Text = "Top 10 media image formats found", Style = highChartsTitleStyle}, Tooltip = new Tooltip {PointFormat = "{series.name}: {point.percentage:.1f}%"}, PlotOptions = new PlotOptions {Pie = new PlotOptionsPie {AllowPointSelect = true, Cursor = PlotOptionsPieCursor.Pointer, DataLabels = new PlotOptionsPieDataLabels {Style = highChartsDataLabelStyle, Enabled = true, Format = "{point.name}: {point.percentage:.1f} %"}}}, Series = new List {new PieSeries {Name = "Percentage:", Data = ViewData["formatsPieData"] as List}}}, "formatsChart", false)) @(Html.Highsoft().GetHighcharts(new Highcharts {Chart = new Chart {PlotBackgroundColor = null, PlotBorderWidth = null, PlotShadow = new Shadow {Enabled = true}}, Title = new Title {Text = "Top 10 partitioning schemes found", Style = highChartsTitleStyle}, Tooltip = new Tooltip {PointFormat = "{series.name}: {point.percentage:.1f}%"}, PlotOptions = new PlotOptions {Pie = new PlotOptionsPie {AllowPointSelect = true, Cursor = PlotOptionsPieCursor.Pointer, DataLabels = new PlotOptionsPieDataLabels {Style = highChartsDataLabelStyle, Enabled = true, Format = "{point.name}: {point.percentage:.1f} %"}}}, Series = new List {new PieSeries {Name = "Percentage:", Data = ViewData["partitionsPieData"] as List}}}, "partitionsChart", false)) @(Html.Highsoft().GetHighcharts(new Highcharts {Chart = new Chart {PlotBackgroundColor = null, PlotBorderWidth = null, PlotShadow = new Shadow {Enabled = true}}, Title = new Title {Text = "Top 10 filesystems found", Style = highChartsTitleStyle}, Tooltip = new Tooltip {PointFormat = "{series.name}: {point.percentage:.1f}%"}, PlotOptions = new PlotOptions {Pie = new PlotOptionsPie {AllowPointSelect = true, Cursor = PlotOptionsPieCursor.Pointer, DataLabels = new PlotOptionsPieDataLabels {Style = highChartsDataLabelStyle, Enabled = true, Format = "{point.name}: {point.percentage:.1f} %"}}}, Series = new List {new PieSeries {Name = "Percentage:", Data = ViewData["filesystemsPieData"] as List}}}, "filesystemsChart", false)) @(Html.Highsoft().GetHighcharts(new Highcharts {Chart = new Chart {PlotBackgroundColor = null, PlotBorderWidth = null, PlotShadow = new Shadow {Enabled = true}}, Title = new Title {Text = "Top 10 media types found in images", Style = highChartsTitleStyle}, Tooltip = new Tooltip {PointFormat = "{series.name}: {point.percentage:.1f}%"}, PlotOptions = new PlotOptions {Pie = new PlotOptionsPie {AllowPointSelect = true, Cursor = PlotOptionsPieCursor.Pointer, DataLabels = new PlotOptionsPieDataLabels {Style = highChartsDataLabelStyle, Enabled = true, Format = "{point.name}: {point.percentage:.1f} %"}}}, Series = new List {new PieSeries {Name = "Percentage:", Data = ViewData["virtualMediaPieData"] as List}}}, "virtualMediaChart", false)) @(Html.Highsoft().GetHighcharts(new Highcharts {Chart = new Chart {PlotBackgroundColor = null, PlotBorderWidth = null, PlotShadow = new Shadow {Enabled = true}}, Title = new Title {Text = "Top 10 media types found in real devices", Style = highChartsTitleStyle}, Tooltip = new Tooltip {PointFormat = "{series.name}: {point.percentage:.1f}%"}, PlotOptions = new PlotOptions {Pie = new PlotOptionsPie {AllowPointSelect = true, Cursor = PlotOptionsPieCursor.Pointer, DataLabels = new PlotOptionsPieDataLabels {Style = highChartsDataLabelStyle, Enabled = true, Format = "{point.name}: {point.percentage:.1f} %"}}}, Series = new List {new PieSeries {Name = "Percentage:", Data = ViewData["realMediaPieData"] as List}}}, "realMediaChart", false)) @(Html.Highsoft().GetHighcharts(new Highcharts {Chart = new Chart {PlotBackgroundColor = null, PlotBorderWidth = null, PlotShadow = new Shadow {Enabled = true}}, Title = new Title {Text = "Devices found by bus", Style = highChartsTitleStyle}, Tooltip = new Tooltip {PointFormat = "{series.name}: {point.percentage:.1f}%"}, PlotOptions = new PlotOptions {Pie = new PlotOptionsPie {AllowPointSelect = true, Cursor = PlotOptionsPieCursor.Pointer, DataLabels = new PlotOptionsPieDataLabels {Style = highChartsDataLabelStyle, Enabled = true, Format = "{point.name}: {point.percentage:.1f} %"}}}, Series = new List {new PieSeries {Name = "Percentage:", Data = ViewData["devicesBusPieData"] as List}}}, "devicesBusChart", false)) @(Html.Highsoft().GetHighcharts(new Highcharts {Chart = new Chart {PlotBackgroundColor = null, PlotBorderWidth = null, PlotShadow = new Shadow {Enabled = true}}, Title = new Title {Text = "Devices found by manufacturer", Style = highChartsTitleStyle}, Tooltip = new Tooltip {PointFormat = "{series.name}: {point.percentage:.1f}%"}, PlotOptions = new PlotOptions {Pie = new PlotOptionsPie {AllowPointSelect = true, Cursor = PlotOptionsPieCursor.Pointer, DataLabels = new PlotOptionsPieDataLabels {Style = highChartsDataLabelStyle, Enabled = true, Format = "{point.name}: {point.percentage:.1f} %"}}}, Series = new List {new PieSeries {Name = "Percentage:", Data = ViewData["devicesManufacturerPieData"] as List}}}, "devicesManufacturerChart", false)) }