Feature: MS Excel (xlsx) Import/Export
Microsoft Excel files can be used to import/export devices. Several import bugs were also fixed in the process.
This commit is contained in:
@@ -2,7 +2,7 @@
|
||||
//------------------------------------------------------------------------------
|
||||
// <auto-generated>
|
||||
// This code was generated by a tool.
|
||||
// Runtime Version:4.0.30319.34014
|
||||
// Runtime Version:4.0.30319.42000
|
||||
//
|
||||
// Changes to this file may cause incorrect behavior and will be lost if
|
||||
// the code is regenerated.
|
||||
@@ -27,7 +27,6 @@ namespace Disco.Web.Views.Device
|
||||
using System.Web.UI;
|
||||
using System.Web.WebPages;
|
||||
using Disco;
|
||||
using Disco.BI.Extensions;
|
||||
using Disco.Models.Repository;
|
||||
using Disco.Services;
|
||||
using Disco.Services.Authorization;
|
||||
@@ -49,7 +48,7 @@ namespace Disco.Web.Views.Device
|
||||
|
||||
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));
|
||||
ViewBag.Title = Html.ToBreadcrumb("Devices", MVC.Device.Index(), "Import Devices", MVC.Device.Import(), string.Format("File: {0}", Model.Context.DatasetName));
|
||||
|
||||
|
||||
#line default
|
||||
@@ -68,7 +67,7 @@ WriteLiteral(">\r\n\r\n <h2>Define Import Columns</h2>\r\n\r\n");
|
||||
#line hidden
|
||||
|
||||
#line 11 "..\..\Views\Device\ImportHeaders.cshtml"
|
||||
if (Model.Context.RawData.Count > 10)
|
||||
if (Model.Context.RecordCount > 10)
|
||||
{
|
||||
|
||||
|
||||
@@ -82,7 +81,7 @@ WriteLiteral(">");
|
||||
|
||||
|
||||
#line 13 "..\..\Views\Device\ImportHeaders.cshtml"
|
||||
Write(Model.Context.RawData.Count);
|
||||
Write(Model.Context.RecordCount);
|
||||
|
||||
|
||||
#line default
|
||||
@@ -120,7 +119,7 @@ WriteLiteral(">\r\n <thead>\r\n <tr>\r\n");
|
||||
#line hidden
|
||||
|
||||
#line 22 "..\..\Views\Device\ImportHeaders.cshtml"
|
||||
foreach (var header in Model.Context.Header.Select((h, i) => Tuple.Create(h, i)))
|
||||
foreach (var header in Model.Context.Columns)
|
||||
{
|
||||
|
||||
|
||||
@@ -132,29 +131,29 @@ WriteLiteral(" data-headerindex=\"");
|
||||
|
||||
|
||||
#line 24 "..\..\Views\Device\ImportHeaders.cshtml"
|
||||
Write(header.Item2);
|
||||
Write(header.Index);
|
||||
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
WriteLiteral("\"");
|
||||
|
||||
WriteAttribute("class", Tuple.Create(" class=\"", 984), Tuple.Create("\"", 1030)
|
||||
, Tuple.Create(Tuple.Create("", 992), Tuple.Create("header", 992), true)
|
||||
WriteAttribute("class", Tuple.Create(" class=\"", 947), Tuple.Create("\"", 986)
|
||||
, Tuple.Create(Tuple.Create("", 955), Tuple.Create("header", 955), true)
|
||||
|
||||
#line 24 "..\..\Views\Device\ImportHeaders.cshtml"
|
||||
, Tuple.Create(Tuple.Create("", 998), Tuple.Create<System.Object, System.Int32>(header.Item1.Item2.ToString()
|
||||
, Tuple.Create(Tuple.Create("", 961), Tuple.Create<System.Object, System.Int32>(header.Type.ToString()
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
, 998), false)
|
||||
, 961), false)
|
||||
);
|
||||
|
||||
WriteLiteral(">");
|
||||
|
||||
|
||||
#line 24 "..\..\Views\Device\ImportHeaders.cshtml"
|
||||
Write(header.Item1.Item1);
|
||||
Write(header.Name);
|
||||
|
||||
|
||||
#line default
|
||||
@@ -178,7 +177,7 @@ WriteLiteral(" </tr>\r\n <tr>\r\n");
|
||||
#line hidden
|
||||
|
||||
#line 28 "..\..\Views\Device\ImportHeaders.cshtml"
|
||||
foreach (var header in Model.Context.Header.Select((h, i) => Tuple.Create(h, i)))
|
||||
foreach (var header in Model.Context.Columns)
|
||||
{
|
||||
|
||||
|
||||
@@ -190,22 +189,22 @@ WriteLiteral(" data-headerindex=\"");
|
||||
|
||||
|
||||
#line 30 "..\..\Views\Device\ImportHeaders.cshtml"
|
||||
Write(header.Item2);
|
||||
Write(header.Index);
|
||||
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
WriteLiteral("\"");
|
||||
|
||||
WriteAttribute("class", Tuple.Create(" class=\"", 1313), Tuple.Create("\"", 1359)
|
||||
, Tuple.Create(Tuple.Create("", 1321), Tuple.Create("header", 1321), true)
|
||||
WriteAttribute("class", Tuple.Create(" class=\"", 1226), Tuple.Create("\"", 1265)
|
||||
, Tuple.Create(Tuple.Create("", 1234), Tuple.Create("header", 1234), true)
|
||||
|
||||
#line 30 "..\..\Views\Device\ImportHeaders.cshtml"
|
||||
, Tuple.Create(Tuple.Create("", 1327), Tuple.Create<System.Object, System.Int32>(header.Item1.Item2.ToString()
|
||||
, Tuple.Create(Tuple.Create("", 1240), Tuple.Create<System.Object, System.Int32>(header.Type.ToString()
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
, 1327), false)
|
||||
, 1240), false)
|
||||
);
|
||||
|
||||
WriteLiteral(">\r\n <ul");
|
||||
@@ -216,7 +215,7 @@ WriteLiteral(" data-headerindex=\"");
|
||||
|
||||
|
||||
#line 31 "..\..\Views\Device\ImportHeaders.cshtml"
|
||||
Write(header.Item2);
|
||||
Write(header.Index);
|
||||
|
||||
|
||||
#line default
|
||||
@@ -227,7 +226,7 @@ WriteLiteral(" data-headertype=\"");
|
||||
|
||||
|
||||
#line 31 "..\..\Views\Device\ImportHeaders.cshtml"
|
||||
Write(header.Item1.Item2.ToString());
|
||||
Write(header.Type.ToString());
|
||||
|
||||
|
||||
#line default
|
||||
@@ -246,7 +245,7 @@ WriteLiteral(">");
|
||||
|
||||
|
||||
#line 32 "..\..\Views\Device\ImportHeaders.cshtml"
|
||||
Write(Model.HeaderTypes.FirstOrDefault(h => h.Item1 == header.Item1.Item2).Item2);
|
||||
Write(Model.HeaderTypes.FirstOrDefault(h => h.Item1 == header.Type).Item2);
|
||||
|
||||
|
||||
#line default
|
||||
@@ -322,35 +321,38 @@ WriteLiteral(" </tr>\r\n </thead>\r\n <tbod
|
||||
#line hidden
|
||||
|
||||
#line 46 "..\..\Views\Device\ImportHeaders.cshtml"
|
||||
foreach (var record in Model.Context.RawData.Take(10))
|
||||
using (var dataReader = Model.Context.GetDataReader())
|
||||
{
|
||||
for (int r = 0; r < Math.Min(10, Model.Context.RecordCount); r++)
|
||||
{
|
||||
dataReader.Read();
|
||||
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
WriteLiteral(" <tr>\r\n");
|
||||
WriteLiteral(" <tr>\r\n");
|
||||
|
||||
|
||||
#line 49 "..\..\Views\Device\ImportHeaders.cshtml"
|
||||
|
||||
#line 52 "..\..\Views\Device\ImportHeaders.cshtml"
|
||||
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
|
||||
#line 49 "..\..\Views\Device\ImportHeaders.cshtml"
|
||||
foreach (var field in record.Select((h, i) => Tuple.Create(h, i)))
|
||||
{
|
||||
#line 52 "..\..\Views\Device\ImportHeaders.cshtml"
|
||||
for (int c = 0; c < Model.Context.ColumnCount; c++)
|
||||
{
|
||||
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
WriteLiteral(" <td");
|
||||
WriteLiteral(" <td");
|
||||
|
||||
WriteLiteral(" data-headerindex=\"");
|
||||
|
||||
|
||||
#line 51 "..\..\Views\Device\ImportHeaders.cshtml"
|
||||
Write(field.Item2);
|
||||
#line 54 "..\..\Views\Device\ImportHeaders.cshtml"
|
||||
Write(c);
|
||||
|
||||
|
||||
#line default
|
||||
@@ -360,8 +362,8 @@ WriteLiteral("\"");
|
||||
WriteLiteral(">");
|
||||
|
||||
|
||||
#line 51 "..\..\Views\Device\ImportHeaders.cshtml"
|
||||
Write(field.Item1);
|
||||
#line 54 "..\..\Views\Device\ImportHeaders.cshtml"
|
||||
Write(dataReader.GetString(c));
|
||||
|
||||
|
||||
#line default
|
||||
@@ -369,16 +371,17 @@ WriteLiteral(">");
|
||||
WriteLiteral("</td>\r\n");
|
||||
|
||||
|
||||
#line 52 "..\..\Views\Device\ImportHeaders.cshtml"
|
||||
}
|
||||
#line 55 "..\..\Views\Device\ImportHeaders.cshtml"
|
||||
}
|
||||
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
WriteLiteral(" </tr>\r\n");
|
||||
WriteLiteral(" </tr>\r\n");
|
||||
|
||||
|
||||
#line 54 "..\..\Views\Device\ImportHeaders.cshtml"
|
||||
#line 57 "..\..\Views\Device\ImportHeaders.cshtml"
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -391,13 +394,13 @@ WriteLiteral(" class=\"actionBar\"");
|
||||
WriteLiteral(">\r\n");
|
||||
|
||||
|
||||
#line 59 "..\..\Views\Device\ImportHeaders.cshtml"
|
||||
#line 63 "..\..\Views\Device\ImportHeaders.cshtml"
|
||||
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
|
||||
#line 59 "..\..\Views\Device\ImportHeaders.cshtml"
|
||||
#line 63 "..\..\Views\Device\ImportHeaders.cshtml"
|
||||
using (Html.BeginForm(MVC.API.Device.ImportParse(Model.Context.SessionId, null)))
|
||||
{
|
||||
|
||||
@@ -415,7 +418,7 @@ WriteLiteral(" class=\"button\"");
|
||||
WriteLiteral(">Parse Device Import</a> \r\n");
|
||||
|
||||
|
||||
#line 62 "..\..\Views\Device\ImportHeaders.cshtml"
|
||||
#line 66 "..\..\Views\Device\ImportHeaders.cshtml"
|
||||
}
|
||||
|
||||
|
||||
@@ -439,13 +442,13 @@ WriteLiteral("></i>Parsing device import...</h4>\r\n</div>\r\n<script>\r\n $(
|
||||
" var headerTypes = {\r\n");
|
||||
|
||||
|
||||
#line 71 "..\..\Views\Device\ImportHeaders.cshtml"
|
||||
#line 75 "..\..\Views\Device\ImportHeaders.cshtml"
|
||||
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
|
||||
#line 71 "..\..\Views\Device\ImportHeaders.cshtml"
|
||||
#line 75 "..\..\Views\Device\ImportHeaders.cshtml"
|
||||
foreach (var h in Model.HeaderTypes)
|
||||
{
|
||||
|
||||
@@ -457,7 +460,7 @@ WriteLiteral(" ");
|
||||
WriteLiteral("\'");
|
||||
|
||||
|
||||
#line 73 "..\..\Views\Device\ImportHeaders.cshtml"
|
||||
#line 77 "..\..\Views\Device\ImportHeaders.cshtml"
|
||||
Write(h.Item1);
|
||||
|
||||
|
||||
@@ -466,7 +469,7 @@ WriteLiteral("\'");
|
||||
WriteLiteral("\': \'");
|
||||
|
||||
|
||||
#line 73 "..\..\Views\Device\ImportHeaders.cshtml"
|
||||
#line 77 "..\..\Views\Device\ImportHeaders.cshtml"
|
||||
Write(h.Item2);
|
||||
|
||||
|
||||
@@ -477,7 +480,7 @@ WriteLiteral("\',");
|
||||
WriteLiteral("\r\n");
|
||||
|
||||
|
||||
#line 74 "..\..\Views\Device\ImportHeaders.cshtml"
|
||||
#line 78 "..\..\Views\Device\ImportHeaders.cshtml"
|
||||
}
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user