@model Disco.Web.Models.Device.ImportReviewModel @using Disco.Models.Services.Devices.Importing; @using System.Data; @{ Authorization.Require(Claims.Device.Actions.Import); ViewBag.Title = Html.ToBreadcrumb("Devices", MVC.Device.Index(), "Import Devices", MVC.Device.Import(), string.Format("File: {0}", Model.Context.Filename)); }

Review Pending Changes

Parsed @Model.Context.Records.Count Device Record@(Model.Context.Records.Count != 1 ? "s" : null)

@Model.StatisticImportRecords of @Model.Context.Records.Count Device@(Model.Context.Records.Count != 1 ? "s" : null) are ready for import.

@if (Model.StatisticErrorRecords > 0) {

@(Model.StatisticErrorRecords) Record@(Model.StatisticErrorRecords != 1 ? "s" : null) will be skipped due to parse errors.

}
@foreach (var header in Model.Context.ParsedHeaders) { } @foreach (var header in Model.Context.ParsedHeaders) { } @foreach (var recordEntry in Model.Context.Records.Select((r, i) => Tuple.Create(r, i))) { var record = recordEntry.Item1; @foreach (var field in record.Fields) { var friendlyValue = field.FriendlyValue; } }
Action Row@(Model.HeaderTypes.FirstOrDefault(h => h.Item1 == header.Item2).Item2)
   @header.Item1
@(recordEntry.Item2 + 1) @if (!field.FieldAction.HasValue) { Error: @field.ErrorMessage } @if (string.IsNullOrEmpty(friendlyValue)) {<None>} else if (field.FieldType == DeviceImportFieldTypes.DeviceSerialNumber && field.FieldAction.HasValue && field.FieldAction.Value != EntityState.Added) { @Html.ActionLink(friendlyValue, MVC.Device.Show((string)field.RawParsedValue), new { target="_blank" })} else if (field.FieldType == DeviceImportFieldTypes.AssignedUserId && field.FieldAction.HasValue && field.FieldAction.Value != EntityState.Unchanged) { @Html.ActionLink(friendlyValue, MVC.User.Show((string)field.RawParsedValue), new { target="_blank" })} else {@friendlyValue}
Change Import Columns @if (Model.StatisticImportRecords == 0) { Apply Device Import } else { Apply Device Import }
@*
@if (Model.ImportDevices.Count > 0) {

Parsed @Model.ImportDevices.Count Device Record@(Model.ImportDevices.Count != 1 ? "s" : null)

@importDeviceOkCount of @Model.ImportDevices.Count Device@(Model.ImportDevices.Count != 1 ? "s" : null) are ready for import.

if (importDeviceErrorCount > 0) {

@(importDeviceErrorCount) Record@(importDeviceErrorCount != 1 ? "s" : null) will be skipped if the import continues

}
@foreach (var device in Model.ImportDevices) { bool isUpdate = device.Device != null; string error; }
Row Action Serial Number Model Profile Batch Assigned User Location Asset Number
@((Model.ImportDevices.IndexOf(device) + 1)) @(device.ImportStatus()) @if (device.Device == null) { @device.SerialNumber } else { @Html.ActionLink(device.SerialNumber, MVC.Device.Show(device.SerialNumber), new { target = "_blank" }) } @if (device.Errors.TryGetValue("SerialNumber", out error)) {
@error
}
@if (device.Errors.TryGetValue("DeviceModelId", out error)) {
@error
} else { if (!isUpdate || device.DeviceModelId != device.Device.DeviceModelId) { Model Image @device.DeviceModel.ToString() } else { No Change } }
@if (device.Errors.TryGetValue("DeviceProfileId", out error)) {
@error
} else { if (!isUpdate || device.DeviceProfileId != device.Device.DeviceProfileId) { @device.DeviceProfile.ToString() } else { No Change } }
@if (device.Errors.TryGetValue("DeviceBatchId", out error)) {
@error
} else { if (!isUpdate || device.DeviceBatchId != device.Device.DeviceBatchId) { if (device.DeviceBatch == null) { <None> } else { @device.DeviceBatch.ToString() } } else { No Change } }
@if (device.Errors.TryGetValue("AssignedUserId", out error)) {
@error
} else { if (!isUpdate || device.AssignedUserId != device.Device.AssignedUserId) { if (device.AssignedUser == null) { <None> } else { @device.AssignedUser.ToString() } } else { No Change } }
@if (device.Errors.TryGetValue("Location", out error)) {
@error
} else { if (!isUpdate || device.Location != device.Device.Location) { if (device.Location == null) { <None> } else { @device.Location } } else { No Change } }
@if (device.Errors.TryGetValue("AssetNumber", out error)) {
@error
} else { if (!isUpdate || device.AssetNumber != device.Device.AssetNumber) { if (device.AssetNumber == null) { <None> } else { @device.AssetNumber } } else { No Change } }
if (importDeviceOkCount > 0) {
@Html.ActionLinkButton(string.Format("Import {0} Device{1}", importDeviceOkCount, importDeviceOkCount != 1 ? "s" : null), MVC.API.Device.ImportProcess(Model.ImportParseTaskId))
} } else {

No Devices were found in this file

}
*@