Exemple #1
0
        protected void JobPrinterSelection_OnSelectedIndexChanged(Object sender, Telerik.Web.UI.RadComboBoxSelectedIndexChangedEventArgs e)
        {
            Client.Printing.Printer selectedPrinter = MercuryApplication.PrinterGet(Convert.ToInt64(e.Value), true);

            Mercury.Server.Application.PrinterCapabilities printerCapabilities =

                MercuryApplication.PrinterCapabilitiesGet(selectedPrinter.PrintServerName, selectedPrinter.PrintQueueName, true);



            return;
        }
        protected void Page_Load(object sender, EventArgs e)
        {
            Int64 forPrinterId = 0;


            if (MercuryApplication == null)
            {
                return;
            }

            if ((!MercuryApplication.HasEnvironmentPermission(Mercury.Server.EnvironmentPermissions.PrinterReview))

                && (!MercuryApplication.HasEnvironmentPermission(Mercury.Server.EnvironmentPermissions.PrinterManage)))
            {
                Response.Redirect("/PermissionDenied.aspx", true); return;
            }


            if (!Page.IsPostBack)
            {
                #region Initial Page Load

                if (Request.QueryString["PrinterId"] != null)
                {
                    forPrinterId = Int64.Parse(Request.QueryString["PrinterId"]);
                }

                if (forPrinterId != 0)
                {
                    printer = MercuryApplication.PrinterGet(forPrinterId, false);

                    if (printer == null)
                    {
                        printer = new Mercury.Client.Printing.Printer(MercuryApplication);
                    }
                }

                else
                {
                    printer = new Mercury.Client.Printing.Printer(MercuryApplication);
                }

                InitializeAll();

                Session[SessionCachePrefix + "Printer"] = printer;

                Session[SessionCachePrefix + "PrinterUnmodified"] = printer.Copy();

                #endregion
            } // Initial Page Load

            else   // Postback

            {
                printer = (Mercury.Client.Printing.Printer)Session[SessionCachePrefix + "Printer"];
            }

            ApplySecurity();

            if (!String.IsNullOrEmpty(printer.Name))
            {
                Page.Title = "Printer - " + printer.Name;
            }
            else
            {
                Page.Title = "Printer";
            }

            return;
        }
        protected Boolean ApplyChanges()
        {
            Boolean isModified = false;

            Boolean success = false;


            Mercury.Client.Printing.Printer printerUnmodified = (Mercury.Client.Printing.Printer)Session[SessionCachePrefix + "PrinterUnmodified"];

            if (printerUnmodified.Id == 0)
            {
                isModified = true;
            }


            printer.Name = PrinterName.Text.Trim();

            printer.Description = PrinterDescription.Text.Trim();

            printer.Enabled = PrinterEnabled.Checked;

            printer.Visible = PrinterVisible.Checked;


            printer.PrintServerName = PrinterConfigurationServerName.Text;

            printer.PrintQueueName = ConfigurationPrintQueuesAvailable.SelectedValue;


            if (!isModified)
            {
                isModified = !printer.IsEqual(printerUnmodified);
            }

            if (isModified)
            {
                success = MercuryApplication.PrinterSave(printer);

                if (success)
                {
                    printer = MercuryApplication.PrinterGet(printer.Id, false);

                    Session[SessionCachePrefix + "Printer"] = printer;

                    Session[SessionCachePrefix + "PrinterUnmodified"] = printer.Copy();

                    SaveResponseLabel.Text = "Save Successful";

                    InitializeAll();
                }

                else
                {
                    SaveResponseLabel.Text = "Unable to Save.";

                    if (MercuryApplication.LastException != null)
                    {
                        SaveResponseLabel.Text = SaveResponseLabel.Text + " [" + MercuryApplication.LastException.Message + "]";
                    }

                    success = false;
                }
            }

            else
            {
                SaveResponseLabel.Text = "No Changes Detected."; success = true;
            }

            return(success);
        }