/// <summary> /// Prices for row. /// </summary> /// <param name="row">The row.</param> /// <returns></returns> public double PriceForRow(UPSEOrderRow row) { double basePrice = this.BasePriceForRow(row); if (this.ComputePriceForQuantity1 && basePrice == 0) { UPSERowPricing rowPricing = this.RowPricingForRow(row); if (rowPricing.HasUnitPrice) { return(rowPricing.UnitPriceForQuantityRowPrice(1, 0)); } } return(basePrice); }
private UPSEPrice PricingForRow(UPSEOrderRow row) { if (row.Pricing != null) { return(row.Pricing); } UPSERowPricing rowPricing = this.RowPricingForRow(row); if (rowPricing != null) { row.Pricing = rowPricing.Price; } return(row.Pricing); }
/// <summary> /// Bases the price for row. /// </summary> /// <param name="row">The row.</param> /// <returns></returns> public double BasePriceForRow(UPSEOrderRow row) { UPSEPrice pricing = this.PricingForRow(row); return(pricing?.UnitPrice ?? 0); }
private UPSERowPricing RowPricingForRow(UPSEOrderRow row) { return(this.Pricing.PriceForRow(row)); }