public async Task <ActionResult> ClockVehicle(ClockModel model)
        {
            try
            {
                //Check liscence plate belongs to active vehicle
                VehicleDTO dto = await _vehicleService.GetVehicleAsync(model.vehicle.licenceNum);

                //If not found
                if (dto == null)
                {
                    //Reutn error
                    ModelState.AddModelError("vehicle.licenceNum", "Vehicle not found.");
                    return(View(model));
                }
                //If there are any currently unresolved damage cases on the vehicle
                else if (dto.state == "Under Investigation")
                {
                    //Return error
                    ModelState.AddModelError("vehicle.licenceNum", "Vehicle currently unavailable due to potential damages. Please contact a member of staff.");
                    return(View(model));
                }

                //Create model from the DTO
                ClockModel newModel = ClockModel.CreateModel(dto);
                //Return view with the update model
                return(View(newModel));
            }
            catch
            {
                //Redirect tohe main blank page
                return(RedirectToAction("ClockVehicle"));
            }
        }
예제 #2
0
        /// <summary>
        /// Shows advanced details of a vehicle including its clock and damage history
        /// </summary>
        /// <param name="lPlate">liscence plate number</param>
        /// <returns>View</returns>
        public async Task <IActionResult> Details(string lPlate)
        {
            //Get vehicle details
            VehicleDTO dto = await _beService.GetVehicleAsync(lPlate);

            //Get Clock History for vehicle
            IEnumerable <ClockHistoryDTO> clkdtos = await _beService.GetClockHistoriesAsync(lPlate);

            //Get damage history for vehicle
            IEnumerable <DamageHistoryDTO> dmgdtos = await _beService.GetDamageAsync(lPlate);

            //Create model
            VehicleDetailModel model = VehicleDetailModel.CreateModel(dto, dmgdtos, clkdtos);

            return(View("VehicleDetails", model));
        }