Beispiel #1
0
        private Dictionary <ILineItem, List <ValidationIssue> > ValidatePurchaseOrder(IPurchaseOrder purchaseOrder)
        {
            var validationIssues = new Dictionary <ILineItem, List <ValidationIssue> >();

            purchaseOrder.UpdatePlacedPriceOrRemoveLineItems(_customerContext.GetContactById(purchaseOrder.CustomerId),
                                                             (item, issue) => validationIssues.AddValidationIssues(item, issue), _placedPriceProcessor);
            purchaseOrder.UpdateInventoryOrRemoveLineItems((item, issue) =>
                                                           validationIssues.AddValidationIssues(item, issue));
            purchaseOrder.AdjustInventoryOrRemoveLineItems((item, issue) =>
                                                           validationIssues.AddValidationIssues(item, issue));
            purchaseOrder.ApplyDiscounts(_promotionEngine, new PromotionEngineSettings());
            return(validationIssues);
        }