Ejemplo n.º 1
0
        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);
        }
Ejemplo n.º 3
0
        public VehicleExitResultModel VehicleExit(ExitVehicleDTO exitVehicleDTO)
        {
            VehicleExitResultModel result = _registerService.VehicleExit(exitVehicleDTO);

            return(result);
        }