Beispiel #1
0
        public void RollupLineItemsFromPurchaseOrder(PurchaseOrder order)
        {
            if (CartItems.Count > 0)
            {
                Scout.Core.UserInteraction.Dialog.ShowMessage("Sales Order already contains line items.", UserMessageType.Error);
                return;
            }

            foreach (PurchaseLineItem item in order.LineItems)
            {
                if (item.OutgoingPart != null)
                {
                    SalesLineItem lineItem = GetLineByPart(item.OutgoingPart);
                    if (lineItem != null)
                    {
                        lineItem.Quantity += item.Quantity;
                    }
                    else
                    {
                        lineItem          = Scout.Core.Data.CreateEntity <SalesLineItem>(Session);
                        lineItem.Part     = item.OutgoingPart;
                        lineItem.Quantity = item.Quantity;
                        CartItems.Add(lineItem);
                    }
                }
            }

            CopyCustomerInfoFromPurchaseOrder(order);
        }
        public int GetOpenQty(SalesLineItem lineItem)
        {
            var openScheduled = lineItem.Schedules.Where(s => DateTime.Compare(s.ScheduledDate, DateTime.Now) <= 0)
                                .Sum(s => s.Qty);

            return(openScheduled - lineItem.ProcessedQty);
        }
Beispiel #3
0
        internal static ShippingLineSummary GetShippingSummaryForLine(SalesLineItem lineItem)
        {
            BinaryOperator op = new BinaryOperator("LineItem", lineItem);

            return(Repository
                   .Get <ShippingLineSummary>(lineItem.Session)
                   .ByCriteria(op));
        }
Beispiel #4
0
        public override void GetError()
        {
            m_error = "";

            SalesLineItem lineItem = ShipmentIsAssociatedToLineItem();

            if (lineItem == null)
            {
                return;
            }
            if (!LineItemIsShippable(lineItem))
            {
                return;
            }
            if (!PartIsExpected())
            {
                return;
            }
            if (UnitIsOnHold())
            {
                return;
            }
            if (ExceedsLotQty())
            {
                return;
            }
            if (ExceedsExpectedQty())
            {
                return;
            }
            if (!DomainIsShippable())
            {
                return;
            }
            if (!UnitIsIntheCorrectShippingDomain())
            {
                return;
            }
            if (!UnitHasFinishedProcessing())
            {
                return;
            }
            if (!UnitCompletedRequiredServiceRoute())
            {
                return;
            }
            if (!UnitHasCorrectShopfloorProgram())
            {
                return;
            }
            if (!UnitIsOnCorrectShopfloorline())
            {
                return;
            }
        }
Beispiel #5
0
        public override bool Equals(object obj)
        {
            SalesLineItem salesLineItem = obj as SalesLineItem;

            if (salesLineItem != null)
            {
                return
                    (salesLineItem.Part.Equals(Part));
            }

            return(false);
        }
Beispiel #6
0
        private bool LineItemIsShippable(SalesLineItem lineItem)
        {
            var lineValidator = new SalesLineItemShipmentValidator(lineItem);

            if (!lineValidator.Validated())
            {
                m_error = "Line item is not shippable";
                return(false);
            }

            return(true);
        }