protected void Printer_Update(PXGraph graph, EntityImpl entity, EntityImpl targetEntity)
        {
            PX.SM.SMPrinterMaint newPrinterGraph = (PX.SM.SMPrinterMaint)PXGraph.CreateInstance(typeof(PX.SM.SMPrinterMaint));
            var    isActive    = targetEntity.Fields.SingleOrDefault(f => f.Name == "IsActive") as EntityValueField;
            string printerName = entity.InternalKeys["Printers"]["PrinterName"];

            foreach (PX.SM.SMPrinter existingPrinter in newPrinterGraph.Printers.Select())
            {
                if (existingPrinter.PrinterName == printerName && isActive != null && isActive.Value != null)
                {
                    existingPrinter.IsActive = isActive.Value == "true";
                    newPrinterGraph.Printers.Update(existingPrinter);
                }
            }
            if (newPrinterGraph.Printers.Cache.IsDirty)
            {
                newPrinterGraph.Save.Press();
            }
        }
        protected void Printer_Insert(PXGraph graph, EntityImpl entity, EntityImpl targetEntity)
        {
            var printerName = targetEntity.Fields.SingleOrDefault(f => f.Name == "PrinterName") as EntityValueField;
            var description = targetEntity.Fields.SingleOrDefault(f => f.Name == "Description") as EntityValueField;
            var isActive    = targetEntity.Fields.SingleOrDefault(f => f.Name == "IsActive") as EntityValueField;

            if (printerName != null && printerName.Value != null)
            {
                PX.SM.SMPrinterMaint newPrinterGraph = (PX.SM.SMPrinterMaint)PXGraph.CreateInstance(typeof(PX.SM.SMPrinterMaint));
                PX.SM.SMPrinter      printer         = new PX.SM.SMPrinter();
                printer.PrinterName = printerName.Value;
                if (description != null)
                {
                    printer.Description = description.Value;
                }
                if (isActive != null)
                {
                    printer.IsActive = isActive.Value == "true";
                }

                newPrinterGraph.Printers.Insert(printer);
                newPrinterGraph.Save.Press();
            }
        }