Question
Sales Quote code public class SalesQuote { private decimal vehicleSalePrice, tradeInAmount, salesTaxRate; private Accessories accessoriesChosen; private ExteriorFinish exteriorFinishChosen public SalesQuote(decimal vehicleSalePrice, decimal tradeInAmount, decimal salesTaxRate,
Sales Quote code
public class SalesQuote { private decimal vehicleSalePrice, tradeInAmount, salesTaxRate; private Accessories accessoriesChosen; private ExteriorFinish exteriorFinishChosen
public SalesQuote(decimal vehicleSalePrice, decimal tradeInAmount, decimal salesTaxRate, Accessories accessoriesChosen, ExteriorFinish exteriorFinishChosen) { this.vehicleSalePrice = vehicleSalePrice; this.tradeInAmount = tradeInAmount; this.salesTaxRate = salesTaxRate; this.accessoriesChosen = accessoriesChosen; this.exteriorFinishChosen = exteriorFinishChosen; }
public SalesQuote(decimal vehicleSalePrice, decimal tradeInAmount, decimal salesTaxRate) : this(vehicleSalePrice, tradeInAmount, salesTaxRate, Accessories.None, ExteriorFinish.None) { this.vehicleSalePrice = vehicleSalePrice; this.tradeInAmount = tradeInAmount; this.salesTaxRate = salesTaxRate; }
public decimal GetVehicleSalePrice() { return this.vehicleSalePrice; } public void SetVehicleSalePrice(decimal vehicleSalePrice) { if (vehicleSalePrice <0) { this.vehicleSalePrice = 0; } else { this.vehicleSalePrice = vehicleSalePrice; } } public decimal GetTradeInAmount() { return this.tradeInAmount; }
public void SetTradeInAmuont(decimal tradeInAmount) { if (tradeInAmount < 0) { this.tradeInAmount = 0; } else { this.tradeInAmount = tradeInAmount; } } public decimal GetSalesTaxRate() { return this.salesTaxRate; }
public void SetSalesTaxRate (decimal salesTaxRate) { if (salesTaxRate <0) { this.salesTaxRate = 0; } else { this.salesTaxRate = salesTaxRate; } } public Accessories GetAccessoriesChosen() { return this.accessoriesChosen; }
public void SetAccessoriesChosen(Accessories accessoriesChosen) { this.accessoriesChosen = accessoriesChosen; }
///
public void SetExteriorFinishChosen(ExteriorFinish exteriorFinishChosen) { this.exteriorFinishChosen = exteriorFinishChosen; }
public decimal GetAccessoryCost() { const decimal STEREOSYSTEM = 505.05m; const decimal LEATHERINTERIOR = 1010.10m; const decimal COMPUTERNAVIGATION = 1515.15m; decimal accessoryCost; switch (this.accessoriesChosen) { case Accessories.StereoSystem: accessoryCost = (decimal)STEREOSYSTEM; break; case Accessories.LeatherInterior: accessoryCost = (decimal)LEATHERINTERIOR; break; case Accessories.ComputerNavigation: accessoryCost = (decimal)COMPUTERNAVIGATION; break; case Accessories.StereoAndLeather: accessoryCost = (decimal)(STEREOSYSTEM + LEATHERINTERIOR); break; case Accessories.LeatherAndNavigation: accessoryCost = (decimal)(LEATHERINTERIOR + COMPUTERNAVIGATION); break; case Accessories.StereoAndNavigation: accessoryCost = (decimal)(STEREOSYSTEM + COMPUTERNAVIGATION); break; case Accessories.All: accessoryCost = (decimal)(STEREOSYSTEM + LEATHERINTERIOR + COMPUTERNAVIGATION); break; default: accessoryCost = 0; break; } return accessoryCost; }
public decimal GetExteriorFinishStandard() { const decimal EXTERIORFINISHSTANDARD = 202.02m; const decimal EXTERIORFINISHPEARLIZED = 404.04m; const decimal EXTERIORFINISHCUSTOM = 606.06m; decimal exteriorFinishStandard; switch (this.exteriorFinishChosen) { case ExteriorFinish.ExteriorFinishStandard: exteriorFinishStandard = (decimal)EXTERIORFINISHSTANDARD; break; case ExteriorFinish.ExteriorFinishPearlized: exteriorFinishStandard = (decimal)EXTERIORFINISHPEARLIZED; break; case ExteriorFinish.ExteriorFinishCustom: exteriorFinishStandard = (decimal)EXTERIORFINISHCUSTOM; break; default: exteriorFinishStandard = 0; break; } return exteriorFinishStandard; }
public decimal GetSubTotal() { return this.vehicleSalePrice + GetAccessoryCost() + GetExteriorFinishStandard(); }
public decimal GetSalesTax() { return (decimal)((GetSubTotal() * this.salesTaxRate) / 100); }
public decimal GetTotal() { return GetSubTotal() + GetSalesTax(); }
public decimal GetAmountDue() { return (GetTotal() > this.tradeInAmount) ? (GetTotal() - this.tradeInAmount) : 0; }
public override string ToString() { return string.Format("vehicleSalePrice: {0:C} tradeInAmount: {1:C} salesTaxRate salesTax: {2:C} GetAccessoryCost: {3:C} GetExteriorFinishStandard: {4:C} GetSubTotal: {5:C} GetTotal: {6:C} GetAmountDue: {7:C} ", this.vehicleSalePrice, this.tradeInAmount, GetSalesTax(), GetAccessoryCost(), GetExteriorFinishStandard(), GetSubTotal(), GetTotal(), GetAmountDue()); } }
}
Step by Step Solution
There are 3 Steps involved in it
Step: 1
Get Instant Access to Expert-Tailored Solutions
See step-by-step solutions with expert insights and AI powered tools for academic success
Step: 2
Step: 3
Ace Your Homework with AI
Get the answers you need in no time with our AI-driven, step-by-step assistance
Get Started