public decimal CalculateFare(TaxiFareViewModel txVM) { decimal totalFare = TaxiFareConstants.BaseFare + TaxiFareConstants.NYtaxSurchargeRate + TaxiFareConstants.UnitFare * (txVM.NumberOfMilesDrivenBelow6mph / TaxiFareConstants.MilesPerUnitFare + txVM.NumberOfMinutesDrivenAbove6mph / TaxiFareConstants.MinutesPerUnitFare) + NightSurcharge(txVM.RideStartDateTime.TimeOfDay) + WeekDayPeakHourSurcharge(txVM.RideStartDateTime, txVM.RideStartDateTime.TimeOfDay); return(totalFare); }
public ActionResult CalculateFare(TaxiFareViewModel txFrVM) { txFrVM.TotalFare = _taxiFareService.CalculateFare(txFrVM); var serializer = new JavaScriptSerializer(); var result = serializer.Serialize(txFrVM); return(Json(result)); }
public static TaxiFareViewModel WeekdayPeakSurchargeRide() { TaxiFareViewModel txFareVMtest = new TaxiFareViewModel(); txFareVMtest.RideStartDateTime = new DateTime(2010, 10, 08, 16, 30, 0); txFareVMtest.NumberOfMilesDrivenBelow6mph = 2; txFareVMtest.NumberOfMinutesDrivenAbove6mph = 5; return(txFareVMtest); }
public static TaxiFareViewModel StandardRide() { TaxiFareViewModel txFareVMtest = new TaxiFareViewModel(); txFareVMtest.RideStartDateTime = new DateTime(2010, 10, 08, 9, 30, 0); txFareVMtest.NumberOfMilesDrivenBelow6mph = 2; txFareVMtest.NumberOfMinutesDrivenAbove6mph = 5; return(txFareVMtest); }