//Override the PrepareInsert method.
        protected override bool PrepareInsert(PXCache sender, object row,
                                              PXAccumulatorCollection columns)
        {
            if (!base.PrepareInsert(sender, row, columns))
            {
                return(false);
            }
            RSSVEmployeeWorkOrderQty newQty = (RSSVEmployeeWorkOrderQty)row;

            if (newQty.NbrOfAssignedOrders != null)
            {
                // Add the restriction for the value of
                // RSSVEmployeeWorkOrderQty.NbrOfAssignedOrders.
                columns.AppendException(
                    Messages.ExceedingMaximumNumberOfAssingedWorkOrders,
                    new PXAccumulatorRestriction <
                        RSSVEmployeeWorkOrderQty.nbrOfAssignedOrders>(
                        PXComp.LE, 10));
            }
            // Update NbrOfAssignedOrders by using Summarize.
            columns.Update <RSSVEmployeeWorkOrderQty.nbrOfAssignedOrders>(
                newQty.NbrOfAssignedOrders,
                PXDataFieldAssign.AssignBehavior.Summarize);
            return(true);
        }
Esempio n. 2
0
        protected override bool PrepareInsert(PXCache sender, object row, PXAccumulatorCollection columns)
        {
            if (!base.PrepareInsert(sender, row, columns))
            {
                return(false);
            }
            ProductQty newQty = (ProductQty)row;

            if (newQty.AvailQty < 0m)
            {
                columns.AppendException("Updating product quantity in stock will lead to a negative value.",
                                        new PXAccumulatorRestriction <ProductQty.availQty>(PXComp.GE, 0m));
            }
            columns.Update <ProductQty.availQty>(newQty.AvailQty, PXDataFieldAssign.AssignBehavior.Summarize);
            return(true);
        }
            protected override bool PrepareInsert(PXCache sender, object row, PXAccumulatorCollection columns)
            {
                if (!base.PrepareInsert(sender, row, columns))
                {
                    return(false);
                }

                var returnRow = (POReceiptLineReturnUpdate)row;

                columns.Update <POReceiptLineReturnUpdate.baseReturnedQty>(returnRow.BaseReturnedQty, PXDataFieldAssign.AssignBehavior.Summarize);
                columns.Update <POReceiptLineReturnUpdate.lastModifiedByID>(returnRow.LastModifiedByID, PXDataFieldAssign.AssignBehavior.Replace);
                columns.Update <POReceiptLineReturnUpdate.lastModifiedDateTime>(returnRow.LastModifiedDateTime, PXDataFieldAssign.AssignBehavior.Replace);
                columns.Update <POReceiptLineReturnUpdate.lastModifiedByScreenID>(returnRow.LastModifiedByScreenID, PXDataFieldAssign.AssignBehavior.Replace);

                if (returnRow.BaseOrigQty != null)
                {
                    columns.AppendException(Messages.ReturnedQtyMoreThanReceivedQty,
                                            new PXAccumulatorRestriction <POReceiptLineReturnUpdate.baseReturnedQty>(PXComp.LE, returnRow.BaseOrigQty));
                }

                return(true);
            }