========
jQuery(document).ready(function () {
jQuery.ImagePosition = {
'left': '0',
'top': '0',
'position': 'absolute',
'background-repeat': 'no-repeat'
}
jQuery.ajax({
type: "POST",
url: "DPrint.aspx/LoadFloors",
data: "{}",
dataType: "json",
contentType: "application/json; charset=utf-8",
success: loadFloors,
error: fnError
}); //End ajax request
jQuery('#ddlFloor').change(function (e) {
e.stopPropagation();
loadFloorPrinters(e.currentTarget.value);
}); //End change event
function loadFloors(result) {
jQuery('#imgFloor').append('').removeClass('success validation');
jQuery('#loadinggp').removeClass('loadinggp');
if (result != null && result.d != null && result.d.ErrorObject.UIFriendlyMessage != null) {
fnError(result.d.ErrorObject.UIFriendlyMessage);
return;
}
if (result == null || result.d == null || result.d.DataObject == null) {
jQuery('#imgFloor').html("There are no floor(s) available.").removeClass('success').addClass('validation');
return;
}
jQuery.each(result.d.DataObject, function (idx, floor) {
if (idx == 0) loadFloorPrinters(floor.FloorID);
jQuery("").appendTo("#ddlFloor");
});
}
function loadFloorPrinters(value) {
jQuery('#imgFloor').html("");
jQuery('#loadinggp').addClass('loadinggp');
jQuery.ajax({
type: "POST",
url: "DPrint.aspx/LoadFloorPrinters",
data: "{ 'floorID': '" + value + "' }",
dataType: "json",
contentType: "application/json; charset=utf-8",
success: setMappings,
error: fnError
}); //End ajax request
}
function setMappings(result) {
jQuery('#imgFloor').html("").removeClass('success validation');
if (result != null && result.d != null && result.d.ErrorObject.UIFriendlyMessage != null) {
fnError(result.d.ErrorObject.UIFriendlyMessage);
return;
}
if (result == null || result.d == null || result.d.DataObject == null) {
jQuery('#imgFloor').html("There are no printer(s) available for selected floor.").removeClass('success').addClass('validation');
return;
}
jQuery('#imgFloor').css('background-image', 'url(' + result.d.DataObject.FloorPlanUrl + ')')
.css('background-repeat', 'no-repeat')
.css('position', 'relative')
.css('width', result.d.DataObject.FloorPlanWidth + 'px')
.css('height', result.d.DataObject.FloorPlanHeight + 'px');
setTimeout(function () {
jQuery('#loadinggp').removeClass('loadinggp');
jQuery.each(result.d.DataObject.Printers, function (idx, printer) {
if (jQuery.trim(printer.EmailAddress) != "") {
jQuery.ImagePosition.left = printer.MapX + 'px';
jQuery.ImagePosition.top = printer.MapY + 'px';
jQuery('#imgFloor').append("
jQuery('#printicon' + idx).css(jQuery.ImagePosition);
jQuery('#printicon' + idx).click(function (e) {
e.preventDefault();
var oWnd = radopen('DPrintDialog.aspx?email=' + jQuery.trim(printer.EmailAddress), null);
oWnd.SetTitle('Print to ' + printer.PrinterName);
oWnd.SetSize(450, 250);
});
}
}); //End each
}, 500); //End Timeout
} //End setMappings
function fnError(error) {
jQuery('#loadinggp').removeClass('loadinggp');
jQuery('#imgFloor').append('Error occured while loading the data.').removeClass('success').addClass('validation');
}
}); //End document ready
Server:
=======
[WebMethod]
public static DUGenericEntity LoadFloorPrinters(string floorID)
{
DUGenericEntity duGenericEntity = new DUGenericEntity();
try
{
duGenericEntity.DataObject = Common.PrintManager.GetPrinterDetails(floorID);
}
catch (Exception ex)
{
ExceptionPolicy.HandleException(ex, ExceptionPolicyHelper.UI);
duGenericEntity.ErrorObject.UIFriendlyMessage = System.Web.HttpContext.Current.Server.HtmlEncode(ex.Message);
duGenericEntity.ErrorObject.ErrorStackTrace.Add(System.Web.HttpContext.Current.Server.HtmlEncode(ex.StackTrace));
}
return duGenericEntity;
}

No comments:
Post a Comment