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(); } }