public VehicleExitResultModel VehicleExit(ExitVehicleDTO exitVehicleDTO) { Vehicle vehicle = _lab08ParkingLotUnitOfWork.VehicleRepository.GetAll().FirstOrDefault(v => v.Number == exitVehicleDTO.VehicleNumber); if (vehicle == null) { return(new VehicleExitResultModel() { IsSuccessful = false, Message = $"Vehicle {exitVehicleDTO.VehicleNumber} cant be found in the parking lot!", Fee = 0 }); } double calculatedFee = _calculatorService.CalculateFee(new VehicleFeeCalculationDTO() { VehicleNumber = vehicle.Number, CheckTime = exitVehicleDTO.ExitTime }).Fee; return(new VehicleExitResultModel() { IsSuccessful = true, Message = $"Vehicle {exitVehicleDTO.VehicleNumber} can now leave the parking lot.", Fee = calculatedFee }); }
public void Fail_When_TheVehicleIsSomehowNotRegistered() { var vehicles = new List <Vehicle> { new Vehicle() { Number = "1234", EntryTime = new DateTime(2021, 3, 30, 9, 15, 0), VehicleCategory = VehicleCategory.A } }; _lab08ParkingLotUnitOfWork.Setup(r => r.VehicleRepository.GetAll()).Returns(vehicles.AsQueryable()); var vehicle = new ExitVehicleDTO() { VehicleNumber = "12345", ExitTime = DateTime.Now }; VehicleExitResultModel result = _controller.VehicleExit(vehicle); Assert.IsFalse(result.IsSuccessful); }
public VehicleExitResultModel VehicleExit(ExitVehicleDTO exitVehicleDTO) { VehicleExitResultModel result = _registerService.VehicleExit(exitVehicleDTO); return(result); }