414 lines
18 KiB
C#
414 lines
18 KiB
C#
#pragma warning disable 1591
|
|
//------------------------------------------------------------------------------
|
|
// <auto-generated>
|
|
// This code was generated by a tool.
|
|
// Runtime Version:4.0.30319.18051
|
|
//
|
|
// Changes to this file may cause incorrect behavior and will be lost if
|
|
// the code is regenerated.
|
|
// </auto-generated>
|
|
//------------------------------------------------------------------------------
|
|
|
|
namespace Disco.Web.Areas.Config.Views.DeviceModel
|
|
{
|
|
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.BI.Extensions;
|
|
using Disco.Models.Repository;
|
|
using Disco.Web;
|
|
using Disco.Web.Extensions;
|
|
|
|
[System.CodeDom.Compiler.GeneratedCodeAttribute("RazorGenerator", "2.0.0.0")]
|
|
[System.Web.WebPages.PageVirtualPathAttribute("~/Areas/Config/Views/DeviceModel/_DeviceComponentsTable.cshtml")]
|
|
public partial class DeviceComponentsTable : System.Web.Mvc.WebViewPage<Disco.Web.Areas.Config.Models.DeviceModel.ComponentsModel>
|
|
{
|
|
public DeviceComponentsTable()
|
|
{
|
|
}
|
|
public override void Execute()
|
|
{
|
|
|
|
#line 2 "..\..\Areas\Config\Views\DeviceModel\_DeviceComponentsTable.cshtml"
|
|
|
|
Html.BundleDeferred("~/ClientScripts/Modules/Disco-jQueryExtensions");
|
|
|
|
|
|
#line default
|
|
#line hidden
|
|
WriteLiteral("\r\n<table");
|
|
|
|
WriteLiteral(" id=\"deviceComponents\"");
|
|
|
|
WriteLiteral(" data-devicemodelid=\"");
|
|
|
|
|
|
#line 5 "..\..\Areas\Config\Views\DeviceModel\_DeviceComponentsTable.cshtml"
|
|
Write(Model.DeviceModelId.HasValue ? Model.DeviceModelId.Value.ToString() : string.Empty);
|
|
|
|
|
|
#line default
|
|
#line hidden
|
|
WriteLiteral("\"");
|
|
|
|
WriteLiteral(">\r\n <tr>\r\n <th>\r\n Description\r\n </th>\r\n <th>\r\n" +
|
|
" Cost\r\n </th>\r\n <th>\r\n Job Types\r\n </" +
|
|
"th>\r\n <th");
|
|
|
|
WriteLiteral(" class=\"actions\"");
|
|
|
|
WriteLiteral(">\r\n \r\n </th>\r\n </tr>\r\n");
|
|
|
|
|
|
#line 20 "..\..\Areas\Config\Views\DeviceModel\_DeviceComponentsTable.cshtml"
|
|
|
|
|
|
#line default
|
|
#line hidden
|
|
|
|
#line 20 "..\..\Areas\Config\Views\DeviceModel\_DeviceComponentsTable.cshtml"
|
|
foreach (var item in Model.DeviceComponents)
|
|
{
|
|
|
|
|
|
#line default
|
|
#line hidden
|
|
WriteLiteral(" <tr");
|
|
|
|
WriteLiteral(" data-devicecomponentid=\"");
|
|
|
|
|
|
#line 22 "..\..\Areas\Config\Views\DeviceModel\_DeviceComponentsTable.cshtml"
|
|
Write(item.Id);
|
|
|
|
|
|
#line default
|
|
#line hidden
|
|
WriteLiteral("\"");
|
|
|
|
WriteLiteral(">\r\n <td>\r\n <input");
|
|
|
|
WriteLiteral(" type=\"text\"");
|
|
|
|
WriteLiteral(" class=\"description\"");
|
|
|
|
WriteAttribute("value", Tuple.Create(" value=\"", 704), Tuple.Create("\"", 729)
|
|
|
|
#line 24 "..\..\Areas\Config\Views\DeviceModel\_DeviceComponentsTable.cshtml"
|
|
, Tuple.Create(Tuple.Create("", 712), Tuple.Create<System.Object, System.Int32>(item.Description
|
|
|
|
#line default
|
|
#line hidden
|
|
, 712), false)
|
|
);
|
|
|
|
WriteLiteral(" />\r\n </td>\r\n <td>\r\n <input");
|
|
|
|
WriteLiteral(" type=\"text\"");
|
|
|
|
WriteLiteral(" class=\"cost\"");
|
|
|
|
WriteAttribute("value", Tuple.Create(" value=\"", 819), Tuple.Create("\"", 851)
|
|
|
|
#line 27 "..\..\Areas\Config\Views\DeviceModel\_DeviceComponentsTable.cshtml"
|
|
, Tuple.Create(Tuple.Create("", 827), Tuple.Create<System.Object, System.Int32>(item.Cost.ToString("C")
|
|
|
|
#line default
|
|
#line hidden
|
|
, 827), false)
|
|
);
|
|
|
|
WriteLiteral(" />\r\n </td>\r\n <td>\r\n <span");
|
|
|
|
WriteAttribute("class", Tuple.Create(" class=\"", 915), Tuple.Create("\"", 986)
|
|
, Tuple.Create(Tuple.Create("", 923), Tuple.Create("edit", 923), true)
|
|
|
|
#line 30 "..\..\Areas\Config\Views\DeviceModel\_DeviceComponentsTable.cshtml"
|
|
, Tuple.Create(Tuple.Create("", 927), Tuple.Create<System.Object, System.Int32>(item.JobSubTypes.Count > 0 ? " editAlert" : string.Empty
|
|
|
|
#line default
|
|
#line hidden
|
|
, 927), false)
|
|
);
|
|
|
|
WriteLiteral("></span>\r\n </td>\r\n <td>\r\n <span");
|
|
|
|
WriteLiteral(" class=\"remove\"");
|
|
|
|
WriteLiteral("></span>\r\n </td>\r\n </tr>\r\n");
|
|
|
|
|
|
#line 36 "..\..\Areas\Config\Views\DeviceModel\_DeviceComponentsTable.cshtml"
|
|
}
|
|
|
|
|
|
#line default
|
|
#line hidden
|
|
WriteLiteral(" <tr>\r\n <td");
|
|
|
|
WriteLiteral(" colspan=\"4\"");
|
|
|
|
WriteLiteral(">\r\n <a");
|
|
|
|
WriteLiteral(" href=\"#\"");
|
|
|
|
WriteLiteral(" id=\"addDeviceComponent\"");
|
|
|
|
WriteLiteral(">Add Component</a>\r\n </td>\r\n </tr>\r\n</table>\r\n<script");
|
|
|
|
WriteLiteral(" type=\"text/javascript\"");
|
|
|
|
WriteLiteral(@">
|
|
$(function () {
|
|
var $deviceComponents = $('#deviceComponents');
|
|
|
|
$('#addDeviceComponent').click(function () {
|
|
var dc = $('<tr><td><input type=""text"" class=""description"" /></td><td><input type=""text"" class=""cost"" /></td><td><span class=""edit""></span></td><td><span class=""remove""></span></td></tr>');
|
|
dc.find('input').focus(function () { $(this).select() })
|
|
dc.insertBefore($deviceComponents.find('tr').last());
|
|
dc.find('input.description').focus();
|
|
return false;
|
|
});
|
|
|
|
$deviceComponents.on('change', 'input', updateComponent);
|
|
$deviceComponents.on('focus', 'input', function () { $(this).select(); });
|
|
|
|
$deviceComponents.on('click', 'span.remove', removeComponent);
|
|
$deviceComponents.on('click', 'span.edit', editComponentJobTypes);
|
|
|
|
function removeComponentConfirmed(id, row) {
|
|
var data = { id: id };
|
|
$.ajax({
|
|
url: '");
|
|
|
|
|
|
#line 64 "..\..\Areas\Config\Views\DeviceModel\_DeviceComponentsTable.cshtml"
|
|
Write(Url.Action(MVC.API.DeviceModel.ComponentRemove()));
|
|
|
|
|
|
#line default
|
|
#line hidden
|
|
WriteLiteral("\',\r\n dataType: \'json\',\r\n data: data,\r\n " +
|
|
" success: function (d) {\r\n if (d == \'OK\') {\r\n " +
|
|
" row.remove();\r\n } else {\r\n a" +
|
|
"lert(\'Unable to remove component: \' + d);\r\n }\r\n " +
|
|
" },\r\n error: function (jqXHR, textStatus, errorThrown) {\r\n " +
|
|
" alert(\'Unable to remove component: \' + textStatus);\r\n " +
|
|
" }\r\n });\r\n }\r\n function removeComponent() {\r\n " +
|
|
" var componentRow = $(this).closest(\'tr\');\r\n var id = componentRow" +
|
|
".attr(\'data-devicecomponentid\');\r\n if (id) {\r\n var dia" +
|
|
"log = $(\"#dialogConfirmRemove\");\r\n var buttons = dialog.dialog(\"o" +
|
|
"ption\", \"buttons\");\r\n buttons[\'Remove\'] = function () { removeCom" +
|
|
"ponentConfirmed(id, componentRow); $(this).dialog(\"close\"); };\r\n " +
|
|
"var buttons = dialog.dialog(\"option\", \"buttons\", buttons);\r\n dial" +
|
|
"og.dialog(\'open\');\r\n } else {\r\n // New - Remove\r\n " +
|
|
" componentRow.remove();\r\n }\r\n }\r\n function up" +
|
|
"dateComponent() {\r\n var componentRow = $(this).closest(\'tr\');\r\n " +
|
|
" componentRow.find(\'input\').attr(\'disabled\', true).addClass(\'updating\');\r\n\r" +
|
|
"\n var id = componentRow.attr(\'data-devicecomponentid\');\r\n " +
|
|
"if (id) {\r\n // Update\r\n var data = {\r\n " +
|
|
" id: id,\r\n Description: componentRow.find(\'input.descr" +
|
|
"iption\').val(),\r\n Cost: componentRow.find(\'input.cost\').val()" +
|
|
"\r\n };\r\n $.ajax({\r\n url: \'");
|
|
|
|
|
|
#line 106 "..\..\Areas\Config\Views\DeviceModel\_DeviceComponentsTable.cshtml"
|
|
Write(Url.Action(MVC.API.DeviceModel.ComponentUpdate()));
|
|
|
|
|
|
#line default
|
|
#line hidden
|
|
WriteLiteral(@"',
|
|
dataType: 'json',
|
|
type: 'POST',
|
|
data: data,
|
|
success: function (d) {
|
|
componentRow.find('input').attr('disabled', false).removeClass('updating');
|
|
if (d.Result == 'OK') {
|
|
componentRow.find('input.description').val(d.Component.Description);
|
|
componentRow.find('input.cost').val(d.Component.Cost);
|
|
} else {
|
|
alert('Unable to update component: ' + d.Result);
|
|
}
|
|
},
|
|
error: function (jqXHR, textStatus, errorThrown) {
|
|
alert('Unable to update component: ' + textStatus);
|
|
}
|
|
});
|
|
} else {
|
|
// Add
|
|
id = componentRow.closest('table').attr('data-devicemodelid');
|
|
var data = {
|
|
id: id,
|
|
Description: componentRow.find('input.description').val(),
|
|
Cost: componentRow.find('input.cost').val()
|
|
};
|
|
$.ajax({
|
|
url: '");
|
|
|
|
|
|
#line 132 "..\..\Areas\Config\Views\DeviceModel\_DeviceComponentsTable.cshtml"
|
|
Write(Url.Action(MVC.API.DeviceModel.ComponentAdd(null, null, null)));
|
|
|
|
|
|
#line default
|
|
#line hidden
|
|
WriteLiteral(@"',
|
|
dataType: 'json',
|
|
type: 'POST',
|
|
data: data,
|
|
success: function (d) {
|
|
componentRow.find('input').attr('disabled', false).removeClass('updating');
|
|
if (d.Result == 'OK') {
|
|
componentRow.attr('data-devicecomponentid', d.Component.Id);
|
|
componentRow.find('input.description').val(d.Component.Description);
|
|
componentRow.find('input.cost').val(d.Component.Cost);
|
|
} else {
|
|
alert('Unable to add component: ' + d.Result);
|
|
}
|
|
},
|
|
error: function (jqXHR, textStatus, errorThrown) {
|
|
alert('Unable to add component: ' + textStatus);
|
|
}
|
|
});
|
|
}
|
|
}
|
|
function editComponentJobTypes() {
|
|
var edit$this = $(this);
|
|
var componentRow = edit$this.closest('tr');
|
|
|
|
var id = componentRow.attr('data-devicecomponentid');
|
|
|
|
if (id) {
|
|
var data = {
|
|
id: id
|
|
};
|
|
$.ajax({
|
|
url: '");
|
|
|
|
|
|
#line 163 "..\..\Areas\Config\Views\DeviceModel\_DeviceComponentsTable.cshtml"
|
|
Write(Url.Action(MVC.API.DeviceModel.Component()));
|
|
|
|
|
|
#line default
|
|
#line hidden
|
|
WriteLiteral("\',\r\n dataType: \'json\',\r\n data: data,\r\n " +
|
|
" success: function (d) {\r\n componentRow.fin" +
|
|
"d(\'input\').attr(\'disabled\', false).removeClass(\'updating\');\r\n " +
|
|
" if (d.Result == \'OK\') {\r\n $dialogUpdateJobTypes " +
|
|
"= $(\'#dialogUpdateJobTypes\');\r\n $dialogUpdateJobTypes" +
|
|
".find(\'input:checked\').each(function () { $(this).prop(\'checked\', false) });\r\n " +
|
|
" for (var i = 0; i < d.Component.JobSubTypes.length; i+" +
|
|
"+) {\r\n var sjt = d.Component.JobSubTypes[i];\r\n " +
|
|
" $dialogUpdateJobTypes.find(\'#SubTypes_\' + sjt).prop" +
|
|
"(\'checked\', true);\r\n }\r\n $" +
|
|
"(\'#CheckboxBulkSelect_dialogUpdateJobTypes\').checkboxBulkSelect(\'update\');\r\n " +
|
|
" var buttons = $dialogUpdateJobTypes.dialog(\"option\", \"bu" +
|
|
"ttons\");\r\n buttons[\'Save\'] = function () {\r\n " +
|
|
" $dialogUpdateJobTypes.dialog(\"disable\");\r\n " +
|
|
" var selectedSJTs = [];\r\n $dialog" +
|
|
"UpdateJobTypes.find(\'input:checked\').each(function () { selectedSJTs.push($(this" +
|
|
").val()) });\r\n\r\n var data = {\r\n " +
|
|
" id: id,\r\n JobSubTypes: sele" +
|
|
"ctedSJTs\r\n };\r\n $." +
|
|
"ajax({\r\n url: \'");
|
|
|
|
|
|
#line 187 "..\..\Areas\Config\Views\DeviceModel\_DeviceComponentsTable.cshtml"
|
|
Write(Url.Action(MVC.API.DeviceModel.ComponentUpdateJobSubTypes()));
|
|
|
|
|
|
#line default
|
|
#line hidden
|
|
WriteLiteral("\',\r\n dataType: \'json\',\r\n " +
|
|
" type: \'POST\',\r\n traditional: tr" +
|
|
"ue,\r\n data: data,\r\n " +
|
|
" success: function (d) {\r\n if (d" +
|
|
".Result == \'OK\') {\r\n if (d.Component." +
|
|
"JobSubTypes.length > 0) {\r\n edit$" +
|
|
"this.addClass(\'editAlert\');\r\n } else " +
|
|
"{\r\n edit$this.removeClass(\'editAl" +
|
|
"ert\');\r\n }\r\n " +
|
|
" $dialogUpdateJobTypes.dialog(\"enable\");\r\n " +
|
|
" $dialogUpdateJobTypes.dialog(\"close\");\r\n " +
|
|
" } else {\r\n al" +
|
|
"ert(\'Unable to update component sub types: \' + d.Result);\r\n " +
|
|
" }\r\n },\r\n " +
|
|
" error: function (jqXHR, textStatus, errorThrown) {\r\n " +
|
|
" alert(\'Unable to update component sub types: \' + t" +
|
|
"extStatus);\r\n }\r\n " +
|
|
" });\r\n };\r\n var buttons" +
|
|
" = $dialogUpdateJobTypes.dialog(\"option\", \"buttons\", buttons);\r\n " +
|
|
" $dialogUpdateJobTypes.dialog(\'open\');\r\n } els" +
|
|
"e {\r\n alert(\'Unable to load component: \' + d.Result);" +
|
|
"\r\n }\r\n },\r\n error: " +
|
|
"function (jqXHR, textStatus, errorThrown) {\r\n alert(\'Unab" +
|
|
"le to load component: \' + textStatus);\r\n }\r\n }" +
|
|
");\r\n }\r\n\r\n }\r\n\r\n $(\"#dialogConfirmRemove\").dialog({\r\n " +
|
|
" resizable: false,\r\n height: 140,\r\n modal: true,\r" +
|
|
"\n autoOpen: false,\r\n buttons: {\r\n \"Remove\":" +
|
|
" function () {\r\n $(this).dialog(\"close\");\r\n }," +
|
|
"\r\n Cancel: function () {\r\n $(this).dialog(\"clo" +
|
|
"se\");\r\n }\r\n }\r\n });\r\n\r\n $(\'#dialogUpdate" +
|
|
"JobTypes\').dialog({\r\n resizable: false,\r\n modal: true,\r\n " +
|
|
" autoOpen: false,\r\n width: 550,\r\n buttons: {\r\n " +
|
|
" \"Save\": function () {\r\n $(this).dialog(\"close\");" +
|
|
"\r\n },\r\n Cancel: function () {\r\n " +
|
|
" $(this).dialog(\"close\");\r\n }\r\n }\r\n });\r\n\r\n " +
|
|
" $(\'#CheckboxBulkSelect_dialogUpdateJobTypes\').checkboxBulkSelect({ parentSel" +
|
|
"ector: \'div\' });\r\n });\r\n</script>\r\n<div");
|
|
|
|
WriteLiteral(" id=\"dialogUpdateJobTypes\"");
|
|
|
|
WriteLiteral(" title=\"Update Job Types\"");
|
|
|
|
WriteLiteral(">\r\n <div>\r\n <h2>\r\n Hardware Non-Warranty Job Types</h2>\r\n");
|
|
|
|
WriteLiteral(" ");
|
|
|
|
|
|
#line 261 "..\..\Areas\Config\Views\DeviceModel\_DeviceComponentsTable.cshtml"
|
|
Write(CommonHelpers.CheckBoxList("SubTypes", Model.JobSubTypes.ToSelectListItems(), 2));
|
|
|
|
|
|
#line default
|
|
#line hidden
|
|
WriteLiteral("\r\n <br />\r\n <span");
|
|
|
|
WriteLiteral(" id=\"CheckboxBulkSelect_dialogUpdateJobTypes\"");
|
|
|
|
WriteLiteral(" class=\"checkboxBulkSelectContainer\"");
|
|
|
|
WriteLiteral(">\r\n </span>\r\n </div>\r\n</div>\r\n<div");
|
|
|
|
WriteLiteral(" id=\"dialogConfirmRemove\"");
|
|
|
|
WriteLiteral(" title=\"Delete this Component?\"");
|
|
|
|
WriteLiteral(">\r\n <p>\r\n <span");
|
|
|
|
WriteLiteral(" class=\"ui-icon ui-icon-alert\"");
|
|
|
|
WriteLiteral(" style=\"float: left; margin: 0 7px 20px 0;\"");
|
|
|
|
WriteLiteral("></span>\r\n This item will be permanently deleted and cannot be recovered. " +
|
|
"Are you sure?</p>\r\n</div>\r\n");
|
|
|
|
}
|
|
}
|
|
}
|
|
#pragma warning restore 1591
|