@model Disco.Web.Models.Device.ShowModel @{ Authorization.Require(Claims.Device.ShowDetails); var canConfig = Authorization.Has(Claims.Device.Properties.Details); if (canConfig) { Html.BundleDeferred("~/ClientScripts/Modules/Disco-PropertyChangeHelpers"); } var processors = Model.Device.DeviceDetails.Processors(); var physicalMemory = Model.Device.DeviceDetails.PhysicalMemory(); var diskDrives = Model.Device.DeviceDetails.DiskDrives(); var networkAdapters = Model.Device.DeviceDetails.NetworkAdapters(); var lanMacAddress = Model.Device.DeviceDetails.LanMacAddress(); var wlanMacAddress = Model.Device.DeviceDetails.WLanMacAddress(); }
@if (processors != null) { } @if (physicalMemory != null) { } @if (networkAdapters != null) { } else { if (lanMacAddress != null) { } if (wlanMacAddress != null) { } } @if (diskDrives != null) { } @if (Model.Device.LastEnrolDate.HasValue) { }
Processors @foreach (var processor in processors) { }
Name Description Architecture Max Clock Speed Cores Logical Processors
@processor.Name @processor.Description @processor.Architecture @processor.MaxClockSpeedFriendly() @processor.NumberOfCores.ToString("N0") @processor.NumberOfLogicalProcessors.ToString("N0")
Memory @foreach (var memory in physicalMemory) { }
Location Manufacturer Part Number Serial Number Capacity Clock Speed
@memory.DeviceLocator @memory.Manufacturer @memory.PartNumber @memory.SerialNumber @memory.CapacityFriendly() @memory.ConfiguredClockSpeed
Network Adapters @foreach (var adapter in networkAdapters) { }
Connection Manufacturer Product Speed MAC Address
@(adapter.NetConnectionID ?? "N/A") @if (adapter.IsWlanAdapter) {} @adapter.Manufacturer @adapter.ProductName @adapter.SpeedFriendly() @adapter.MACAddress
LAN MAC Address @(lanMacAddress)
WLAN MAC Address @(wlanMacAddress)
Disk Drives @foreach (var disk in diskDrives) { if (disk.Partitions != null) { // calculate stretched offsets var minPartitionSize = (double)disk.Size * 0.1; var diskSizeAdjusted = disk.Partitions.Sum(p => Math.Max(minPartitionSize, p.Size)); var diskAdjustedOffet = (double)0; } }
Manufacturer Model Serial Number Firmware Type Interface Size
@disk.Manufacturer @disk.Model @disk.SerialNumber @disk.FirmwareRevision @disk.MediaType @disk.InterfaceType @disk.SizeFriendly()
@foreach (var partition in disk.Partitions) { var logicalDisk = partition.LogicalDisk; var offsetPercentage = Math.Round(((partition.StartingOffset + diskAdjustedOffet) / diskSizeAdjusted) * 100, 3); var widthPercentage = Math.Round((Math.Max(minPartitionSize, partition.Size) / diskSizeAdjusted) * 100, 3); var freeSpacePercentage = 0d; if (partition.Size < minPartitionSize) { diskAdjustedOffet += minPartitionSize - partition.Size; } var partitionTitle = partition.Type; var tags = new List(); if (partition.BootPartition) { tags.Add("Boot"); } if (partition.PrimaryParition) { tags.Add("Primary"); } if (logicalDisk != null) { partitionTitle = string.Format("{0} {1}", logicalDisk.DeviceID, logicalDisk.VolumeName); tags.Add(logicalDisk.SizeFriendly()); tags.Add(logicalDisk.FreeSpaceFriendly() + " Free"); tags.Add(logicalDisk.FileSystem); tags.Add(logicalDisk.DriveType); freeSpacePercentage = Math.Round(((double)logicalDisk.FreeSpace / logicalDisk.Size) * 100, 3); } else { tags.Add(partition.SizeFriendly()); } var tag = string.Join(" | ", tags); @if (freeSpacePercentage > 0.5) { } @partitionTitle
@tag
}
AC Adapter @if (canConfig) { @Html.TextBox("DeviceDetail_ACAdapter", Model.Device.DeviceDetails.ACAdapter()) @AjaxHelpers.AjaxSave() @AjaxHelpers.AjaxLoader() } else { @(Model.Device.DeviceDetails.ACAdapter() ?? "Unknown") }
Battery @if (canConfig) { @Html.TextBox("DeviceDetail_Battery", Model.Device.DeviceDetails.Battery()) @AjaxHelpers.AjaxSave() @AjaxHelpers.AjaxLoader() } else { @(Model.Device.DeviceDetails.Battery() ?? "Unknown") }
Keyboard @if (canConfig) { @Html.TextBox("DeviceDetail_Keyboard", Model.Device.DeviceDetails.Keyboard()) @AjaxHelpers.AjaxSave() @AjaxHelpers.AjaxLoader() } else { @(Model.Device.DeviceDetails.Keyboard() ?? "Unknown") }
Details collected @CommonHelpers.FriendlyDate(Model.Device.LastEnrolDate) at time of last enrolment