public string name, address, description, servicetype;
public string Description
get {return description;}
set {description = value;}
public string ServiceType
get {return servicetype;}
set {servicetype = value;}
get {return phonenumber;}
set {phonenumber = value;}
public abstract class Membership
public string DetermineSender(string Sender)
else if (Sender == "Regular")
public abstract double CaclulateCost(string ServiceType, double Weight);
public abstract string CalculateDeliveryDate(string ServiceType);
public abstract void Display();
class Regular: Membership
private string PaymentMethod;
public override double CaclulateCost(string ServiceType, double Weight)
if (Weight>=0 && Weight <= 10) {
if (ServiceType == "standard")
else if (ServiceType == "sameday" || ServiceType == "same day")
else if (ServiceType == "overnight" || ServiceType == "over night")
if (ServiceType == "standard")
return (10 * 1000)+((Weight-10)*80);
else if (ServiceType == "sameday" || ServiceType == "same day")
return 10 * 1500+((Weight - 10) * 100);
else if (ServiceType == "overnight" || ServiceType == "over night")
return 10 * 2500+((Weight - 10) * 100);
public override string CalculateDeliveryDate(string ServiceType)
if (ServiceType=="standard")
var RangeLow =DateTime.Today.AddDays(3);
var RangeHigh = DateTime.Today.AddDays(5);
return RangeLow.ToString() + " - " + RangeHigh.ToString();
else if (ServiceType == "overnight"|| ServiceType == "over night"|| ServiceType == "Overnight")
var RangeLow = DateTime.Today.AddHours(12);
var RangeHigh = DateTime.Today.AddHours(24);
return RangeLow + " - " + RangeHigh;
else if (ServiceType== "sameday" || ServiceType == "same day"||ServiceType == "Same day" || ServiceType == "Sameday")
var RangeLow = DateTime.Today.AddHours(6);
var RangeHigh = DateTime.Today.AddHours(12);
return RangeLow + " - " + RangeHigh;
return "Neither Standard , Sameday or Overnight was entered";
public override void Display()
Console.WriteLine("receipt");
Console.WriteLine("Regular Member");
Console.WriteLine("------------------");
Console.WriteLine("\tName: "+Pack.name);
Console.WriteLine("\tAddress: " + Pack.address);
Console.WriteLine("\tDescritpion: " + Pack.description);
Console.WriteLine("\tPhone#: " + Pack.phonenumber);
Console.WriteLine("\tService type: " + Pack.servicetype);
Console.WriteLine("\tPackage Weight: " + Pack.weight);
Console.WriteLine("\tPackage Cost: $" + CaclulateCost(Pack.servicetype,Pack.weight));
Console.WriteLine("\tEstimated delivery date time ranges are: " + CalculateDeliveryDate(Pack.servicetype));
get { return Pack.address; }
set { Pack.address = value; }
public string Description
get { return Pack.description; }
set { Pack.description = value; }
get { return Pack.phonenumber; }
set { Pack.phonenumber = value; }
public string ServiceType
get { return Pack.servicetype; }
set { Pack.servicetype = value; }
get { return Pack.weight; }
set { Pack.weight = value; }
get { return PaymentMethod; }
set { PaymentMethod = value; }
public class Regular:Package
public string paymentmethod;
public string Paymentmethod
get {return paymentmethod;}
set {paymentmethod = value;}
public class Gold:Regular
public string DetermineSender(string Sender)
public static void Main()
Console.WriteLine("Hello World");