public ParkingCharges CaclulateParkingCharges(DateTime CarEntryTime, DateTime CarExistTime) { ChargeCalcUtils.InitializeRates(); double charge = 0; double ParkingRate = 0; NameoftheRate chargetype = NameoftheRate.Standard; var type = ChargeCalcUtils.GetNameOfRate(CarEntryTime, CarExistTime); if (type == NameoftheRate.Standard) { //Apply charges based on duration chargetype = type; var t = ChargeCalcUtils.GetChargesforStandard(CarEntryTime, CarExistTime); ParkingRate = t.ParkingRate; charge = t.Charge; } else { //Get rates based on Night/EarlyBirad/Week end. chargetype = type; charge = ChargeCalcUtils.chargeRatelookup.Where(x => x.RateType == type).Select(y => y.ParkingRate).FirstOrDefault(); ParkingRate = charge; } ParkingCharges TotalchargeObj = new ParkingCharges(); TotalchargeObj.ParkingRate = ParkingRate; TotalchargeObj.TotalCcharges = charge; TotalchargeObj.CarParkingStartTime = CarEntryTime; TotalchargeObj.CarParkingEndTime = CarExistTime; return(TotalchargeObj); }
static void Main(string[] args) { float charge = ParkingCharges.Charge(100); Console.WriteLine(charge.ToString("000.00")); Console.ReadKey(); }
public async Task <JsonResult> UpdateParkingCharges([FromBody] ParkingCharges parkingCharges) { try { RepositoryWrapper.ExitGateRepository.UpdateParkingCharges(parkingCharges); return(await base.FinalizeMessage("Vehicle exit succesfully")); } catch (Exception ex) { return(await base.FinalizStatusCodeeMessage("Error: Failure in ParkingCharges Update : " + ex, 401)); } }
public void GetParkingChargeTest() { ParkingCharges ctr = new ParkingCharges(); //Rule week end var charge = ctr.GetParkingCharge(DateTime.Parse("2020-07-18 T18:00:00"), DateTime.Parse("2020-07-18T20:00:00")); //Rule early bird // charge =ctr.GetParkingCharge(DateTime.Now.AddHours(-9), DateTime.Now.AddHours(2)); //Rule night charge = ctr.GetParkingCharge(DateTime.Parse("2020-07-01T18:00:00"), DateTime.Parse("2020-07-01T20:00:00")); //Rule standard //https://localhost:44336/ParkingCharges?CarEntryTime=2020-07-01T09:00:00&CarExistTime=2020-07-01T12:00:00 // ctr.GetParkingCharge( DateTime.Parse("2020-07-01T09:00:00"), DateTime.Parse("2020-07-01T12:00:00")); //Exception Testing. // charge = ctr.GetParkingCharge(DateTime.Now.AddHours(-9),DateTime.Now.AddHours(2)); Assert.Fail(); }
static void Main() { ParkingCharges parkingCharges = new ParkingCharges(); Console.WriteLine("\n================== Greetings at the Parking meter =================="); double total = 0; do { Console.Write("\n\n\nPlease enter the lenght of your parking or 0 to exit: "); double parkingChargestheParkingLength = double.Parse(Console.ReadLine()); parkingCharges.SetParkingLength(parkingChargestheParkingLength); Console.WriteLine($"Your charges for the given parking parking lenght is: {parkingCharges.CalculateCharges()}"); total += parkingCharges.CalculateCharges(); } while (parkingCharges.GetParkingLength() != 0); Console.WriteLine($"\n\nThe total parking spend is: {total}"); Console.WriteLine("\n\n====== Thank you and good bye! ======"); }