示例#1
0
        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);
        }
示例#2
0
        public ActionResult CalculateFare(TaxiFareViewModel txFrVM)
        {
            txFrVM.TotalFare = _taxiFareService.CalculateFare(txFrVM);

            var serializer = new JavaScriptSerializer();
            var result     = serializer.Serialize(txFrVM);

            return(Json(result));
        }
示例#3
0
        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);
        }
示例#4
0
        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);
        }