Exemplo n.º 1
0
            /// <summary>
            /// Clear manual discount of particular type from sales line.
            /// </summary>
            /// <param name="salesLine">Sales line containing discount line.</param>
            /// <param name="manualDiscountType">Type of manual discount.</param>
            internal static void ClearManualDiscountLinesOfType(SalesLine salesLine, ManualDiscountType manualDiscountType)
            {
                if (salesLine == null)
                {
                    throw new ArgumentNullException("salesLine");
                }

                // Consider calculable lines only. Ignore voided or return-by-receipt lines.
                var allDiscounts = salesLine.DiscountLines.ToList();

                salesLine.DiscountLines.Clear();

                foreach (DiscountLine discountLine in allDiscounts)
                {
                    if (!(discountLine.DiscountLineType == DiscountLineType.ManualDiscount && discountLine.ManualDiscountType == manualDiscountType))
                    {
                        salesLine.DiscountLines.Add(discountLine);
                    }
                }
            }
Exemplo n.º 2
0
            /// <summary>
            ///  Clear manual discount of particular type from transaction.
            /// </summary>
            /// <param name="transaction">Transaction containing the discount.</param>
            /// <param name="manualDiscountType">Type of manual discount.</param>
            internal static void ClearManualDiscountLinesOfType(SalesTransaction transaction, ManualDiscountType manualDiscountType)
            {
                if (transaction == null)
                {
                    throw new ArgumentNullException("transaction");
                }

                // Consider calculable lines only. Ignore voided or return-by-receipt lines.
                foreach (var line in transaction.PriceCalculableSalesLines)
                {
                    ClearManualDiscountLinesOfType(line, manualDiscountType);
                }
            }