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:
Gary Sharp
2017-03-25 15:37:28 +11:00
parent ed66f4f285
commit 5ce9e51ae7
51 changed files with 1959 additions and 1083 deletions
@@ -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.
@@ -33,7 +33,6 @@ namespace Disco.Web.Views.Device
using System.Web.UI;
using System.Web.WebPages;
using Disco;
using Disco.BI.Extensions;
using Disco.Models.Repository;
#line 2 "..\..\Views\Device\ImportReview.cshtml"
@@ -377,7 +376,7 @@ WriteLiteral(">\r\n <thead>\r\n <tr>\r\n
#line hidden
#line 67 "..\..\Views\Device\ImportReview.cshtml"
foreach (var header in Model.Context.ParsedHeaders)
foreach (var header in Model.Context.Columns.Where(c => c.Type != DeviceImportFieldTypes.IgnoreColumn))
{
@@ -387,7 +386,7 @@ WriteLiteral(" <th>");
#line 69 "..\..\Views\Device\ImportReview.cshtml"
Write(Model.HeaderTypes.FirstOrDefault(h => h.Item1 == header.Item2).Item2);
Write(Model.HeaderTypes.FirstOrDefault(h => h.Item1 == header.Type).Item2);
#line default
@@ -412,7 +411,7 @@ WriteLiteral(" </tr>\r\n <tr>\r\n
#line hidden
#line 75 "..\..\Views\Device\ImportReview.cshtml"
foreach (var header in Model.Context.ParsedHeaders)
foreach (var header in Model.Context.Columns.Where(c => c.Type != DeviceImportFieldTypes.IgnoreColumn))
{
@@ -422,7 +421,7 @@ WriteLiteral(" <th>");
#line 77 "..\..\Views\Device\ImportReview.cshtml"
Write(header.Item1);
Write(header.Name);
#line default
@@ -455,15 +454,15 @@ WriteLiteral(" </tr>\r\n </thead>\r\n <tbod
#line hidden
WriteLiteral(" <tr");
WriteAttribute("class", Tuple.Create(" class=\"", 4299), Tuple.Create("\"", 4335)
, Tuple.Create(Tuple.Create("", 4307), Tuple.Create("action", 4307), true)
WriteAttribute("class", Tuple.Create(" class=\"", 4401), Tuple.Create("\"", 4437)
, Tuple.Create(Tuple.Create("", 4409), Tuple.Create("action", 4409), true)
#line 85 "..\..\Views\Device\ImportReview.cshtml"
, Tuple.Create(Tuple.Create("", 4313), Tuple.Create<System.Object, System.Int32>(record.RecordAction
, Tuple.Create(Tuple.Create("", 4415), Tuple.Create<System.Object, System.Int32>(record.RecordAction
#line default
#line hidden
, 4313), false)
, 4415), false)
);
WriteLiteral(">\r\n <td");
@@ -502,23 +501,23 @@ WriteLiteral("</td>\r\n");
#line hidden
WriteLiteral(" <td");
WriteAttribute("class", Tuple.Create(" class=\"", 4663), Tuple.Create("\"", 4772)
, Tuple.Create(Tuple.Create("", 4671), Tuple.Create("header", 4671), true)
WriteAttribute("class", Tuple.Create(" class=\"", 4765), Tuple.Create("\"", 4874)
, Tuple.Create(Tuple.Create("", 4773), Tuple.Create("header", 4773), true)
#line 91 "..\..\Views\Device\ImportReview.cshtml"
, Tuple.Create(Tuple.Create("", 4677), Tuple.Create<System.Object, System.Int32>(field.FieldType
, Tuple.Create(Tuple.Create("", 4779), Tuple.Create<System.Object, System.Int32>(field.FieldType
#line default
#line hidden
, 4677), false)
, Tuple.Create(Tuple.Create(" ", 4695), Tuple.Create("action", 4696), true)
, 4779), false)
, Tuple.Create(Tuple.Create(" ", 4797), Tuple.Create("action", 4798), true)
#line 91 "..\..\Views\Device\ImportReview.cshtml"
, Tuple.Create(Tuple.Create("", 4702), Tuple.Create<System.Object, System.Int32>(field.FieldAction.HasValue ? field.FieldAction.ToString() : "Error"
, Tuple.Create(Tuple.Create("", 4804), Tuple.Create<System.Object, System.Int32>(field.FieldAction.HasValue ? field.FieldAction.ToString() : "Error"
#line default
#line hidden
, 4702), false)
, 4804), false)
);
WriteLiteral(" data-previousvalue=\"");
@@ -671,14 +670,14 @@ WriteLiteral(">\r\n <a");
WriteLiteral(" id=\"Devices_Import_Review_ChangeHeaders\"");
WriteAttribute("href", Tuple.Create(" href=\"", 6466), Tuple.Create("\"", 6535)
WriteAttribute("href", Tuple.Create(" href=\"", 6568), Tuple.Create("\"", 6637)
#line 115 "..\..\Views\Device\ImportReview.cshtml"
, Tuple.Create(Tuple.Create("", 6473), Tuple.Create<System.Object, System.Int32>(Url.Action(MVC.Device.ImportHeaders(Model.Context.SessionId))
, Tuple.Create(Tuple.Create("", 6575), Tuple.Create<System.Object, System.Int32>(Url.Action(MVC.Device.ImportHeaders(Model.Context.SessionId))
#line default
#line hidden
, 6473), false)
, 6575), false)
);
WriteLiteral(" class=\"button\"");
@@ -730,14 +729,14 @@ WriteLiteral(" <a");
WriteLiteral(" id=\"Devices_Import_Review_Apply\"");
WriteAttribute("href", Tuple.Create(" href=\"", 6897), Tuple.Create("\"", 6968)
WriteAttribute("href", Tuple.Create(" href=\"", 6999), Tuple.Create("\"", 7070)
#line 122 "..\..\Views\Device\ImportReview.cshtml"
, Tuple.Create(Tuple.Create("", 6904), Tuple.Create<System.Object, System.Int32>(Url.Action(MVC.API.Device.ImportApply(Model.Context.SessionId))
, Tuple.Create(Tuple.Create("", 7006), Tuple.Create<System.Object, System.Int32>(Url.Action(MVC.API.Device.ImportApply(Model.Context.SessionId))
#line default
#line hidden
, 6904), false)
, 7006), false)
);
WriteLiteral(" class=\"button\"");
@@ -781,9 +780,7 @@ WriteLiteral(" </div>\r\n</div>\r\n<script>\r\n $(function () {\r\n
"em>&lt;None&gt;</em>\';\r\n }\r\n }\r\n }," +
"\r\n position: {\r\n my: \"left top\",\r\n at: " +
"\"left bottom\",\r\n collision: \"flipfit flip\"\r\n }\r\n " +
" });\r\n\r\n });\r\n</script>\r\n\r\n");
WriteLiteral("\r\n");
" });\r\n\r\n });\r\n</script>\r\n");
}
}