#pragma warning disable 1591
//------------------------------------------------------------------------------
// <auto-generated>
//     This code was generated by a tool.
//     Runtime Version:4.0.30319.34014
//
//     Changes to this file may cause incorrect behavior and will be lost if
//     the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------

namespace Disco.Web.Views.Device
{
    using System;
    using System.Collections.Generic;
    using System.IO;
    using System.Linq;
    using System.Net;
    using System.Text;
    using System.Web;
    using System.Web.Helpers;
    using System.Web.Mvc;
    using System.Web.Mvc.Ajax;
    using System.Web.Mvc.Html;
    using System.Web.Routing;
    using System.Web.Security;
    using System.Web.UI;
    using System.Web.WebPages;
    using Disco;
    using Disco.BI.Extensions;
    using Disco.Models.Repository;
    
    #line 2 "..\..\Views\Device\Export.cshtml"
    using Disco.Models.Services.Devices;
    
    #line default
    #line hidden
    using Disco.Services;
    using Disco.Services.Authorization;
    using Disco.Services.Web;
    using Disco.Web;
    using Disco.Web.Extensions;
    
    #line 1 "..\..\Views\Device\Export.cshtml"
    using Disco.Web.Models.Device;
    
    #line default
    #line hidden
    
    [System.CodeDom.Compiler.GeneratedCodeAttribute("RazorGenerator", "2.0.0.0")]
    [System.Web.WebPages.PageVirtualPathAttribute("~/Views/Device/Export.cshtml")]
    public partial class Export : Disco.Services.Web.WebViewPage<ExportModel>
    {
        public Export()
        {
        }
        public override void Execute()
        {
            
            #line 4 "..\..\Views\Device\Export.cshtml"
  
    Authorization.RequireAny(Claims.Device.Actions.Export);

    ViewBag.Title = Html.ToBreadcrumb("Devices", MVC.Device.Index(), "Export Devices");

    var optionsMetadata = ModelMetadata.FromLambdaExpression(m => m.Options, ViewData);
    var optionGroups = optionsMetadata.Properties.Where(p => p.ShortDisplayName != null && p.ModelType == typeof(bool))
        .GroupBy(m => m.ShortDisplayName);

            
            #line default
            #line hidden
WriteLiteral("\r\n<div");

WriteLiteral(" id=\"Devices_Export\"");

WriteLiteral(">\r\n");

            
            #line 14 "..\..\Views\Device\Export.cshtml"
    
            
            #line default
            #line hidden
            
            #line 14 "..\..\Views\Device\Export.cshtml"
     using (Html.BeginForm(MVC.API.Device.Export()))
    {

            
            #line default
            #line hidden
WriteLiteral("        <div");

WriteLiteral(" id=\"Devices_Export_Type\"");

WriteLiteral(" class=\"form\"");

WriteLiteral(" style=\"width: 570px\"");

WriteLiteral(">\r\n            <h2>Export Type</h2>\r\n            <table>\r\n                <tr>\r\n " +
"                   <th");

WriteLiteral(" style=\"width: 150px\"");

WriteLiteral(">Type:\r\n                    </th>\r\n                    <td>\r\n");

WriteLiteral("                        ");

            
            #line 23 "..\..\Views\Device\Export.cshtml"
                   Write(Html.DropDownListFor(m => m.Options.ExportType, Enum.GetNames(typeof(Disco.Models.Services.Devices.Exporting.DeviceExportTypes)).Select(t => new SelectListItem() { Text = t, Value = t })));

            
            #line default
            #line hidden
WriteLiteral("\r\n                        <div");

WriteLiteral(" id=\"Devices_Export_Type_Target_Batch\"");

WriteLiteral(" class=\"Devices_Export_Type_Target\"");

WriteLiteral(">\r\n");

WriteLiteral("                            ");

            
            #line 25 "..\..\Views\Device\Export.cshtml"
                       Write(Html.DropDownListFor(m => m.Options.ExportTypeTargetId, Model.DeviceBatches.Select(i => new SelectListItem() { Value = i.Key.ToString(), Text = i.Value })));

            
            #line default
            #line hidden
WriteLiteral("\r\n                        </div>\r\n                        <div");

WriteLiteral(" id=\"Devices_Export_Type_Target_Model\"");

WriteLiteral(" class=\"Devices_Export_Type_Target\"");

WriteLiteral(">\r\n");

WriteLiteral("                            ");

            
            #line 28 "..\..\Views\Device\Export.cshtml"
                       Write(Html.DropDownListFor(m => m.Options.ExportTypeTargetId, Model.DeviceModels.Select(i => new SelectListItem() { Value = i.Key.ToString(), Text = i.Value })));

            
            #line default
            #line hidden
WriteLiteral("\r\n                        </div>\r\n                        <div");

WriteLiteral(" id=\"Devices_Export_Type_Target_Profile\"");

WriteLiteral(" class=\"Devices_Export_Type_Target\"");

WriteLiteral(">\r\n");

WriteLiteral("                            ");

            
            #line 31 "..\..\Views\Device\Export.cshtml"
                       Write(Html.DropDownListFor(m => m.Options.ExportTypeTargetId, Model.DeviceProfiles.Select(i => new SelectListItem() { Value = i.Key.ToString(), Text = i.Value })));

            
            #line default
            #line hidden
WriteLiteral("\r\n                        </div>\r\n                    </td>\r\n                </tr" +
">\r\n                <tr>\r\n                    <th>&nbsp;</th>\r\n                  " +
"  <td>\r\n");

WriteLiteral("                        ");

            
            #line 38 "..\..\Views\Device\Export.cshtml"
                   Write(Html.CheckBoxFor(m => m.Options.ExcelCsvFormat));

            
            #line default
            #line hidden
WriteLiteral(" <label");

WriteLiteral(" for=\"Options_ExcelCsvFormat\"");

WriteLiteral(">Microsoft Excel CSV Format</label>\r\n                    </td>\r\n                <" +
"/tr>\r\n            </table>\r\n        </div>\r\n");

WriteLiteral("        <div");

WriteLiteral(" id=\"Devices_Export_Fields\"");

WriteLiteral(" class=\"form\"");

WriteLiteral(" style=\"width: 570px; margin-top: 15px;\"");

WriteLiteral(">\r\n            <h2>Export Fields <a");

WriteLiteral(" id=\"Devices_Export_Fields_Defaults\"");

WriteLiteral(" href=\"#\"");

WriteLiteral(">(Defaults)</a></h2>\r\n            <table>\r\n");

            
            #line 46 "..\..\Views\Device\Export.cshtml"
                
            
            #line default
            #line hidden
            
            #line 46 "..\..\Views\Device\Export.cshtml"
                 foreach (var optionGroup in optionGroups)
                {
                    var optionFields = optionGroup.ToList();
                    var itemsPerColumn = (int)Math.Ceiling((double)optionFields.Count / 2);

            
            #line default
            #line hidden
WriteLiteral("                    <tr>\r\n                        <th");

WriteLiteral(" style=\"width: 120px;\"");

WriteLiteral(">\r\n");

WriteLiteral("                            ");

            
            #line 52 "..\..\Views\Device\Export.cshtml"
                       Write(optionGroup.Key);

            
            #line default
            #line hidden
WriteLiteral("\r\n");

            
            #line 53 "..\..\Views\Device\Export.cshtml"
                            
            
            #line default
            #line hidden
            
            #line 53 "..\..\Views\Device\Export.cshtml"
                             if (optionFields.Count > 2)
                            {

            
            #line default
            #line hidden
WriteLiteral("                                <span");

WriteLiteral(" style=\"display: block;\"");

WriteLiteral(" class=\"select\"");

WriteLiteral("><a");

WriteLiteral(" class=\"selectAll\"");

WriteLiteral(" href=\"#\"");

WriteLiteral(">ALL</a> | <a");

WriteLiteral(" class=\"selectNone\"");

WriteLiteral(" href=\"#\"");

WriteLiteral(">NONE</a></span>\r\n");

            
            #line 56 "..\..\Views\Device\Export.cshtml"
                            }

            
            #line default
            #line hidden
WriteLiteral("                        </th>\r\n                        <td>\r\n                    " +
"        <div");

WriteLiteral(" class=\"Devices_Export_Fields_Group\"");

WriteLiteral(">\r\n                                <table");

WriteLiteral(" class=\"none\"");

WriteLiteral(">\r\n                                    <tr>\r\n                                    " +
"    <td");

WriteLiteral(" style=\"width: 50%\"");

WriteLiteral(">\r\n                                            <ul");

WriteLiteral(" class=\"none\"");

WriteLiteral(">\r\n");

            
            #line 64 "..\..\Views\Device\Export.cshtml"
                                                
            
            #line default
            #line hidden
            
            #line 64 "..\..\Views\Device\Export.cshtml"
                                                 foreach (var optionItem in optionFields.Take(itemsPerColumn))
                                                {

            
            #line default
            #line hidden
WriteLiteral("                                                    <li");

WriteAttribute("title", Tuple.Create(" title=\"", 3833), Tuple.Create("\"", 3864)
            
            #line 66 "..\..\Views\Device\Export.cshtml"
, Tuple.Create(Tuple.Create("", 3841), Tuple.Create<System.Object, System.Int32>(optionItem.Description
            
            #line default
            #line hidden
, 3841), false)
);

WriteLiteral(">\r\n                                                        <input");

WriteLiteral(" type=\"checkbox\"");

WriteAttribute("id", Tuple.Create(" id=\"", 3946), Tuple.Create("\"", 3983)
, Tuple.Create(Tuple.Create("", 3951), Tuple.Create("Options_", 3951), true)
            
            #line 67 "..\..\Views\Device\Export.cshtml"
           , Tuple.Create(Tuple.Create("", 3959), Tuple.Create<System.Object, System.Int32>(optionItem.PropertyName
            
            #line default
            #line hidden
, 3959), false)
);

WriteAttribute("name", Tuple.Create(" name=\"", 3984), Tuple.Create("\"", 4023)
, Tuple.Create(Tuple.Create("", 3991), Tuple.Create("Options.", 3991), true)
            
            #line 67 "..\..\Views\Device\Export.cshtml"
                                                   , Tuple.Create(Tuple.Create("", 3999), Tuple.Create<System.Object, System.Int32>(optionItem.PropertyName
            
            #line default
            #line hidden
, 3999), false)
);

WriteLiteral(" value=\"true\"");

WriteLiteral(" ");

            
            #line 67 "..\..\Views\Device\Export.cshtml"
                                                                                                                                                                      Write(((bool)optionItem.Model) ? "checked " : null);

            
            #line default
            #line hidden
WriteLiteral("/><label");

WriteAttribute("for", Tuple.Create(" for=\"", 4093), Tuple.Create("\"", 4131)
, Tuple.Create(Tuple.Create("", 4099), Tuple.Create("Options_", 4099), true)
            
            #line 67 "..\..\Views\Device\Export.cshtml"
                                                                                                                                                               , Tuple.Create(Tuple.Create("", 4107), Tuple.Create<System.Object, System.Int32>(optionItem.PropertyName
            
            #line default
            #line hidden
, 4107), false)
);

WriteLiteral(">");

            
            #line 67 "..\..\Views\Device\Export.cshtml"
                                                                                                                                                                                                                                                                    Write(optionItem.DisplayName);

            
            #line default
            #line hidden
WriteLiteral("</label></li>\r\n");

            
            #line 68 "..\..\Views\Device\Export.cshtml"
                                                }

            
            #line default
            #line hidden
WriteLiteral("                                            </ul>\r\n                              " +
"          </td>\r\n                                        <td");

WriteLiteral(" style=\"width: 50%\"");

WriteLiteral(">\r\n                                            <ul");

WriteLiteral(" class=\"none\"");

WriteLiteral(">\r\n");

            
            #line 73 "..\..\Views\Device\Export.cshtml"
                                                
            
            #line default
            #line hidden
            
            #line 73 "..\..\Views\Device\Export.cshtml"
                                                 foreach (var optionItem in optionFields.Skip(itemsPerColumn))
                                                {

            
            #line default
            #line hidden
WriteLiteral("                                                    <li");

WriteAttribute("title", Tuple.Create(" title=\"", 4666), Tuple.Create("\"", 4697)
            
            #line 75 "..\..\Views\Device\Export.cshtml"
, Tuple.Create(Tuple.Create("", 4674), Tuple.Create<System.Object, System.Int32>(optionItem.Description
            
            #line default
            #line hidden
, 4674), false)
);

WriteLiteral(">\r\n                                                        <input");

WriteLiteral(" type=\"checkbox\"");

WriteAttribute("id", Tuple.Create(" id=\"", 4779), Tuple.Create("\"", 4816)
, Tuple.Create(Tuple.Create("", 4784), Tuple.Create("Options_", 4784), true)
            
            #line 76 "..\..\Views\Device\Export.cshtml"
           , Tuple.Create(Tuple.Create("", 4792), Tuple.Create<System.Object, System.Int32>(optionItem.PropertyName
            
            #line default
            #line hidden
, 4792), false)
);

WriteAttribute("name", Tuple.Create(" name=\"", 4817), Tuple.Create("\"", 4856)
, Tuple.Create(Tuple.Create("", 4824), Tuple.Create("Options.", 4824), true)
            
            #line 76 "..\..\Views\Device\Export.cshtml"
                                                   , Tuple.Create(Tuple.Create("", 4832), Tuple.Create<System.Object, System.Int32>(optionItem.PropertyName
            
            #line default
            #line hidden
, 4832), false)
);

WriteLiteral(" value=\"true\"");

WriteLiteral(" ");

            
            #line 76 "..\..\Views\Device\Export.cshtml"
                                                                                                                                                                      Write(((bool)optionItem.Model) ? "checked " : null);

            
            #line default
            #line hidden
WriteLiteral("/><label");

WriteAttribute("for", Tuple.Create(" for=\"", 4926), Tuple.Create("\"", 4964)
, Tuple.Create(Tuple.Create("", 4932), Tuple.Create("Options_", 4932), true)
            
            #line 76 "..\..\Views\Device\Export.cshtml"
                                                                                                                                                               , Tuple.Create(Tuple.Create("", 4940), Tuple.Create<System.Object, System.Int32>(optionItem.PropertyName
            
            #line default
            #line hidden
, 4940), false)
);

WriteLiteral(">");

            
            #line 76 "..\..\Views\Device\Export.cshtml"
                                                                                                                                                                                                                                                                    Write(optionItem.DisplayName);

            
            #line default
            #line hidden
WriteLiteral("</label></li>\r\n");

            
            #line 77 "..\..\Views\Device\Export.cshtml"
                                                }

            
            #line default
            #line hidden
WriteLiteral(@"                                            </ul>
                                        </td>
                                    </tr>
                                </table>
                            </div>
                        </td>
                    </tr>            
");

            
            #line 85 "..\..\Views\Device\Export.cshtml"
                }

            
            #line default
            #line hidden
WriteLiteral("            </table>\r\n        </div>\r\n");

WriteLiteral("        <script>\r\n            $(function () {\r\n                var exportDefaultF" +
"ields = [\'DeviceSerialNumber\', \'ModelId\', \'ProfileId\', \'BatchId\', \'AssignedUserI" +
"d\', \'DeviceLocation\', \'DeviceAssetNumber\'];\r\n                var $exportFields =" +
" $(\'#Devices_Export_Fields\');\r\n                var $exportType = $(\'#Options_Exp" +
"ortType\');\r\n                var $exportTypeTargetContainers = $(\'#Devices_Export" +
"_Type\').find(\'.Devices_Export_Type_Target\');\r\n                var $form = $expor" +
"tType.closest(\'form\');\r\n                var $exportingDialog = null;\r\n\r\n        " +
"        function exportTypeChange() {\r\n                    $exportTypeTargetCont" +
"ainers.hide();\r\n                    $exportTypeTargetContainers.find(\'select\').p" +
"rop(\'disabled\', true);\r\n\r\n                    switch ($exportType.val()) {\r\n    " +
"                    case \'Batch\':\r\n                            $(\'#Devices_Expor" +
"t_Type_Target_Batch\').show().find(\'select\').prop(\'disabled\', false);\r\n          " +
"                  break;\r\n                        case \'Profile\':\r\n             " +
"               $(\'#Devices_Export_Type_Target_Profile\').show().find(\'select\').pr" +
"op(\'disabled\', false);\r\n                            break;\r\n                    " +
"    case \'Model\':\r\n                            $(\'#Devices_Export_Type_Target_Mo" +
"del\').show().find(\'select\').prop(\'disabled\', false);\r\n                          " +
"  break;\r\n                    }\r\n                }\r\n                $exportType." +
"change(exportTypeChange);\r\n                exportTypeChange();\r\n\r\n              " +
"  $exportFields.on(\'click\', \'a.selectAll,a.selectNone\', function () {\r\n         " +
"           var $this = $(this);\r\n\r\n                    $this.closest(\'tr\').find(" +
"\'input\').prop(\'checked\', $this.is(\'.selectAll\'));\r\n\r\n                    return " +
"false;\r\n                });\r\n\r\n                $(\'#Devices_Export_Fields_Default" +
"s\').click(function () {\r\n\r\n                    $exportFields.find(\'input\').prop(" +
"\'checked\', false);\r\n\r\n                    $.each(exportDefaultFields, function (" +
"index, value) {\r\n                        $(\'#Options_\' + value).prop(\'checked\', " +
"true);\r\n                    });\r\n\r\n                    return false;\r\n          " +
"      });\r\n\r\n                // Submit Validation\r\n                function subm" +
"itHandler() {\r\n                    var exportFieldCount = $exportFields.find(\'in" +
"put:checked\').length;\r\n\r\n                    if (exportFieldCount > 0) {\r\n\r\n    " +
"                    if ($exportingDialog == null) {\r\n                           " +
" $exportingDialog = $(\'#Devices_Export_Exporting\').dialog({\r\n                   " +
"             width: 400,\r\n                                height: 160,\r\n        " +
"                        resizable: false,\r\n                                modal" +
": true,\r\n                                autoOpen: false\r\n                      " +
"      });\r\n                        }\r\n                        $exportingDialog.d" +
"ialog(\'open\');\r\n\r\n                        $form[0].submit();\r\n                  " +
"  }\r\n                    else\r\n                        alert(\'Select at least on" +
"e field to export.\');\r\n                }\r\n                $.validator.unobtrusiv" +
"e.parse($form);\r\n                $form.data(\"validator\").settings.submitHandler " +
"= submitHandler;\r\n\r\n                $(\'#Devices_Export_Download_Dialog\').dialog(" +
"{\r\n                    width: 400,\r\n                    resizable: false,\r\n     " +
"               modal: true,\r\n                    autoOpen: true\r\n               " +
" });\r\n                $(\'#Devices_Export_Button\').click(function () {\r\n         " +
"           $form.submit();\r\n                });\r\n            });\r\n        </scri" +
"pt>\r\n");

            
            #line 171 "..\..\Views\Device\Export.cshtml"
    }

            
            #line default
            #line hidden
WriteLiteral("</div>\r\n");

            
            #line 173 "..\..\Views\Device\Export.cshtml"
 if (Model.ExportSessionId != null)
{

            
            #line default
            #line hidden
WriteLiteral("    <div");

WriteLiteral(" id=\"Devices_Export_Download_Dialog\"");

WriteLiteral(" class=\"dialog\"");

WriteLiteral(" title=\"Export Devices\"");

WriteLiteral(">\r\n        <h4>");

            
            #line 176 "..\..\Views\Device\Export.cshtml"
       Write(Model.ExportSessionResult.RecordCount);

            
            #line default
            #line hidden
WriteLiteral(" record");

            
            #line 176 "..\..\Views\Device\Export.cshtml"
                                                     Write(Model.ExportSessionResult.RecordCount != 1 ? "s" : null);

            
            #line default
            #line hidden
WriteLiteral(" were successfully exported.</h4>\r\n        <a");

WriteAttribute("href", Tuple.Create(" href=\"", 9307), Tuple.Create("\"", 9379)
            
            #line 177 "..\..\Views\Device\Export.cshtml"
, Tuple.Create(Tuple.Create("", 9314), Tuple.Create<System.Object, System.Int32>(Url.Action(MVC.API.Device.ExportRetrieve(Model.ExportSessionId))
            
            #line default
            #line hidden
, 9314), false)
);

WriteLiteral(" class=\"button\"");

WriteLiteral("><i");

WriteLiteral(" class=\"fa fa-download fa-lg\"");

WriteLiteral("></i>Download Device Export</a>\r\n    </div>\r\n");

WriteLiteral(@"    <script>
        $(function () {
            $('#Devices_Export_Download_Dialog')
                .dialog({
                    width: 400,
                    height: 160,
                    resizable: false,
                    modal: true,
                    autoOpen: true
                });
        });
    </script>
");

            
            #line 191 "..\..\Views\Device\Export.cshtml"
}

            
            #line default
            #line hidden
WriteLiteral("<div");

WriteLiteral(" id=\"Devices_Export_Exporting\"");

WriteLiteral(" class=\"dialog\"");

WriteLiteral(" title=\"Exporting Devices...\"");

WriteLiteral(">\r\n    <h4><i");

WriteLiteral(" class=\"fa fa-lg fa-cog fa-spin\"");

WriteLiteral(" title=\"Please Wait\"");

WriteLiteral("></i>Exporting devices...</h4>\r\n</div>\r\n<div");

WriteLiteral(" class=\"actionBar\"");

WriteLiteral(">\r\n    <a");

WriteLiteral(" id=\"Devices_Export_Button\"");

WriteLiteral(" href=\"#\"");

WriteLiteral(" class=\"button\"");

WriteLiteral(">Export Devices</a>\r\n</div>\r\n");

        }
    }
}
#pragma warning restore 1591
