コード例 #1
0
        /// <summary>
        ///      Process Confirmation Line.
        ///     - Update InOut Line
        /// </summary>
        /// <param name="isSOTrx">sales order</param>
        /// <param name="confirmType">type</param>
        /// <returns>success</returns>
        public Boolean ProcessLine(bool isSOTrx, String confirmType)
        {
            MInOutLine line = GetLine();

            //	Customer
            if (MInOutConfirm.CONFIRMTYPE_CustomerConfirmation.Equals(confirmType))
            {
                line.SetConfirmedQty(GetConfirmedQty());
            }

            //	Drop Ship
            else if (MInOutConfirm.CONFIRMTYPE_DropShipConfirm.Equals(confirmType))
            {
            }

            //	Pick or QA
            else if (MInOutConfirm.CONFIRMTYPE_PickQAConfirm.Equals(confirmType))
            {
                line.SetTargetQty(GetTargetQty());
                line.SetMovementQty(GetConfirmedQty()); //	Entered NOT changed
                line.SetPickedQty(GetConfirmedQty());
                //
                line.SetScrappedQty(GetScrappedQty());
            }

            //	Ship or Receipt
            else if (MInOutConfirm.CONFIRMTYPE_ShipReceiptConfirm.Equals(confirmType))
            {
                line.SetTargetQty(GetTargetQty());
                Decimal qty         = GetConfirmedQty();
                Boolean isReturnTrx = line.GetParent().IsReturnTrx();

                /* In PO receipts and SO Returns, we have the responsibility
                 * for scrapped quantity
                 */
                if ((!isSOTrx && !isReturnTrx) || (isSOTrx && isReturnTrx))
                {
                    qty = Decimal.Add(qty, GetScrappedQty());
                }
                line.SetMovementQty(qty);                               //	Entered NOT changed
                //
                line.SetScrappedQty(GetScrappedQty());
                // vikas 12/28/2015 Mantis Issue (0000335)
                line.SetConfirmedQty(GetConfirmedQty());
            }
            //	Vendor
            else if (MInOutConfirm.CONFIRMTYPE_VendorConfirmation.Equals(confirmType))
            {
                line.SetConfirmedQty(GetConfirmedQty());
            }

            return(line.Save(Get_TrxName()));
        }