Пример #1
0
 private static void calculateAmount(Shipping s)
 {
     //TODO
     var shippingFinal = s.Amount * s.ShippingChargePercentage;
     if (s.RiskyOrNot == RiskFactor.Risky)
     {
         shippingFinal += 25;
     }
     Console.WriteLine("The shipping fees are: {0:0.00}", shippingFinal);
     return;
 }
Пример #2
0
 static void Main()
 {
     string zoneString, amountString;
     double amount;
     List<Shipping> myShippingList = new List<Shipping>()
     {
         new Shipping {ZoneName="zone1", ShippingChargePercentage=0.25, RiskyOrNot=RiskFactor.NotRisky},
         new Shipping {ZoneName="zone2", ShippingChargePercentage=0.12, RiskyOrNot=RiskFactor.Risky },
         new Shipping {ZoneName="zone3", ShippingChargePercentage=0.08, RiskyOrNot=RiskFactor.NotRisky },
         new Shipping {ZoneName="zone4", ShippingChargePercentage=0.04, RiskyOrNot=RiskFactor.Risky }
     };
     do
     {
         Console.WriteLine("What is the destination zone?");
         zoneString = Console.ReadLine();
         if (zoneString != "exit")
         {
             if (myShippingList.Exists(p => p.ZoneName == zoneString))
             {
                 //TODO
                 Console.WriteLine("What is the item price?");
                 amountString = Console.ReadLine();
                 if (double.TryParse(amountString, out amount))
                 {
                     var temp = new Shipping();
                     temp = myShippingList.Find(p => p.ZoneName == zoneString);
                     temp.myEventHandler += calculateAmount;
                     temp.Amount = amount;
                 }
             }
             else
             {
                 Console.WriteLine("The zone is not present in the database. Try Again.");
                 continue;
             }
         }
     } while (zoneString != "exit");
 }