Ejemplo n.º 1
0
 private static void PrintResult(DeliveryCostInformationEntity entity)
 {
     Console.WriteLine("----------------------------------------");
     Console.WriteLine("Delivery Cost Information");
     Console.WriteLine("Weight (KG): {0}", entity.PackageSpecification.Weight.ToString());
     Console.WriteLine("Height (CM): {0}", entity.PackageSpecification.Height.ToString());
     Console.WriteLine("Width (CM): {0}", entity.PackageSpecification.Width.ToString());
     Console.WriteLine("Length (CM): {0}", entity.PackageSpecification.Length.ToString());
     Console.WriteLine("Category: {0}", entity.PackageCategory);
     Console.WriteLine("Cost: {0}", entity.PackageCategory.Equals(PackageCategoryEnum.Reject) ? "N/A" : "$" + entity.DeliveryCost.ToString("0.00"));
 }
Ejemplo n.º 2
0
        public DeliveryCostInformationEntity CalculateDelivery(PackageSpecificationEntity packageSpecification)
        {
            DeliveryCostInformationEntity result = new DeliveryCostInformationEntity();

            var packageVolume = PackageVolume(packageSpecification.Length, packageSpecification.Width, packageSpecification.Height);

            if (packageSpecification.Weight > 25)
            {
                result.PackageCategory = PackageCategoryEnum.Reject;
                result.DeliveryCost    = 0;
            }
            else if (packageSpecification.Weight > 10)
            {
                result.PackageCategory = PackageCategoryEnum.HeavyPackage;
                result.DeliveryCost    = packageSpecification.Weight * 15;
            }
            else if (packageVolume < 1500)
            {
                result.PackageCategory = PackageCategoryEnum.SmallPackage;
                result.DeliveryCost    = packageVolume * .05;
            }
            else if (packageVolume < 2500)
            {
                result.PackageCategory = PackageCategoryEnum.MediumPackage;
                result.DeliveryCost    = packageVolume * .04;
            }
            else
            {
                result.PackageCategory = PackageCategoryEnum.LargePackage;
                result.DeliveryCost    = packageVolume * .03;
            }

            result.PackageSpecification = packageSpecification;

            return(result);
        }