Пример #1
0
        public double GetOffer(List <PricePerBox> boxes)
        {
            var    list       = PackageDetailsUtil.SplitList(boxes, 4);
            double totalPrice = 0;

            foreach (var item in list)
            {
                if (item.Count == 4)
                {
                    totalPrice = totalPrice + item[0].Price + item[1].Price + item[2].Price;
                }
                else
                {
                    foreach (var box in item)
                    {
                        totalPrice = totalPrice + box.Price;
                    }
                }
            }
            return(totalPrice);
        }
Пример #2
0
        internal List <PricePerBox> GetPricePerBox(Order order)
        {
            var pricePerBox = new List <PricePerBox>();

            foreach (var box in order.Box)
            {
                var packageType     = PackageDetailsUtil.GetPackageType(box);
                var totalCostPerBOx = CalculateDeliveryCostForParcel(packageType);
                totalCostPerBOx += calculateOverageByWeight.GetAdditionalCost(packageType, box);
                pricePerBox.Add(new PricePerBox
                {
                    PackageType = packageType,
                    Price       = totalCostPerBOx,
                    Length      = box.Length,
                    Height      = box.Height,
                    Breadth     = box.Breadth,
                    Weight      = box.Weight
                });
            }
            return(pricePerBox);
        }