protected virtual void Segment_RowDeleting(PXCache cache, PXRowDeletingEventArgs e) { var row = (Segment)e.Row; var dimensionID = row.DimensionID; var segmentID = row.SegmentID; if (Header.Current.ParentDimensionID != null && row.Inherited == true) { throw new PXException(Messages.SegmentNotOverridden, segmentID); } if (PXSelectReadonly <Segment, Where <Segment.parentDimensionID, Equal <Current <Segment.dimensionID> >, And <Segment.segmentID, Equal <Current <Segment.segmentID> > > > > .SelectMultiBound(this, new object[] { row }).Count > 0) { throw new PXException(Messages.SegmentHasChilds, segmentID); } Segment lastSegmeent = PXSelect <Segment, Where <Segment.dimensionID, Equal <Current <Segment.dimensionID> > >, OrderBy <Desc <Segment.segmentID> > > .SelectSingleBound(this, new object[] { row }); if (lastSegmeent != null && lastSegmeent.SegmentID > segmentID) { throw new PXException(Messages.SegmentIsNotLast, segmentID); } if (((SegmentValue)PXSelect <SegmentValue, Where <SegmentValue.dimensionID, Equal <Optional <Segment.dimensionID> >, And <SegmentValue.segmentID, Equal <Optional <Segment.segmentID> > > > > . Select(this, dimensionID, segmentID)) != null) { if (row.ParentDimensionID == null) { throw new PXException(Messages.SegmentHasValues, segmentID); } var answer = Header.Ask(Messages.Warning, PXMessages.LocalizeFormatNoPrefixNLA(Messages.SegmentHasValuesQuestion, segmentID), MessageButtons.YesNoCancel, MessageIcon.Warning); switch (answer) { case WebDialogResult.Yes: break; case WebDialogResult.Cancel: e.Cancel = true; break; case WebDialogResult.No: default: throw new PXException(Messages.SegmentHasValues, segmentID); } } }
public static IEnumerable <ExternalTransaction> GetSOInvoiceExternalTrans(PXGraph graph, ARInvoice currentInvoice) { foreach (ExternalTransaction tran in PXSelectReadonly <ExternalTransaction, Where <ExternalTransaction.refNbr, Equal <Current <ARInvoice.refNbr> >, And <ExternalTransaction.docType, Equal <Current <ARInvoice.docType> > > >, OrderBy <Desc <ExternalTransaction.transactionID> > > .SelectMultiBound(graph, new object[] { currentInvoice })) { yield return(tran); } foreach (ExternalTransaction tran in PXSelectReadonly2 <ExternalTransaction, InnerJoin <SOOrderShipment, On <SOOrderShipment.orderNbr, Equal <ExternalTransaction.origRefNbr>, And <SOOrderShipment.orderType, Equal <ExternalTransaction.origDocType> > > >, Where <SOOrderShipment.invoiceNbr, Equal <Current <ARInvoice.refNbr> >, And <SOOrderShipment.invoiceType, Equal <Current <ARInvoice.docType> >, And <ExternalTransaction.refNbr, IsNull> > >, OrderBy <Desc <CCProcTran.tranNbr> > > .SelectMultiBound(graph, new object[] { currentInvoice })) { yield return(tran); } }