Answered step by step
Verified Expert Solution
Link Copied!

Question

1 Approved Answer

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; }

///

/// Gets the exterior finish chosen for the vehicle /// /// exterior finish public ExteriorFinish GetExteriorFinishChosen() { return this.exteriorFinishChosen; }

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

blur-text-image

Get Instant Access to Expert-Tailored Solutions

See step-by-step solutions with expert insights and AI powered tools for academic success

Step: 2

blur-text-image

Step: 3

blur-text-image

Ace Your Homework with AI

Get the answers you need in no time with our AI-driven, step-by-step assistance

Get Started

Recommended Textbook for

Optimization And Data Science Trends And Applications 5th Airoyoung Workshop And Airo Phd School 2021 Joint Event

Authors: Adriano Masone ,Veronica Dal Sasso ,Valentina Morandi

1st Edition

3030862887, 978-3030862886

More Books

Students also viewed these Databases questions

Question

Explain all drawbacks of application procedure.

Answered: 1 week ago

Question

Explain the testing process of accounting 2?

Answered: 1 week ago