public async Task <IActionResult> CreateVehicle(VehicleModel vehModel) { if (vehModel == null || vehModel.licenceNum == null) { return(RedirectToAction("Index")); } //Get makes IEnumerable <MakeModel> makeList = MakeModel.CreateModelNumerable(await _beService.GetMakesAsync()); VehicleDTO searchdto = await _beService.GetVehicleAsync(vehModel.licenceNum); if (searchdto != null) { //Add to dropdown ViewBag.selList = makeList; return(View("VehicleCreate", vehModel)); } vehModel.state = "In"; VehicleDTO dto = VehicleDTO.CreateDTO(vehModel); string response = await _beService.InsertVehicleAsync(dto); return(RedirectToAction("Index")); }
public async Task <IActionResult> CreateVehicle() { VehicleModel model = new VehicleModel(); //Get makes IEnumerable <MakeModel> makeList = MakeModel.CreateModelNumerable(await _beService.GetMakesAsync()); //Add to dropdown ViewBag.selList = makeList; return(View("VehicleCreate", model)); }
// GET: Staff /// <summary> /// Vehicle List page shows all the vehicles and highlights any with open invesitgations /// </summary> /// <param name="indexModel">Model that contains the filter params and list of vehicles</param> /// <returns></returns> //Takes indexModel which contains the filtering options and applies it to the list of vehicles to be shown to the user. public async Task <IActionResult> Index([FromQuery] VehIndexModel indexModel = null) { //Set the DD lists as null to avoid errors IEnumerable <VehicleModel> vehicles = null; IEnumerable <VehicleModel> vehicleConcern = null; IEnumerable <MakeModel> makeList = null; IEnumerable <string> stateList = null; try { //Create model based on the passed values. At first will be null so everything set to default. //Once filter submitted, these will have values to filter the vehicles VehFilterAPI apiModel = VehFilterAPI.CreateModel(indexModel.selectedState, indexModel.selectedMake, indexModel.lPlateSearch); //Call API to get filtered vehicles IEnumerable <VehicleDTO> vehicleDTOs = await _beService.GetVehiclesAsync(apiModel); vehicles = VehicleModel.CreateModelNumerable(vehicleDTOs); //Create seperate list for vehicles with damage concerns so can display them at the top vehicleConcern = vehicles.Where(x => x.state == "Under Investigation").ToList(); //Drop those in the concern list to avoid duplicates vehicles = vehicles.Except(vehicleConcern); //Call API to get Make lists makeList = MakeModel.CreateModelNumerable(await _beService.GetMakesAsync()); //Create model based off the new lists e.g. indexModel = VehIndexModel.CreateModel(vehicles, vehicleConcern, makeList, indexModel.selectedMake, indexModel.selectedState, indexModel.lPlateSearch); } catch { vehicles = Array.Empty <VehicleModel>(); makeList = Array.Empty <MakeModel>(); stateList = Array.Empty <string>(); indexModel = VehIndexModel.CreateModel(null, null, null, Guid.Empty, null, null); } //Return view with model return(View("VehicleList", indexModel)); }