public ActionResult EditVehicle(VehicleAdminVM vavm) { vavm.SetAllListItems(); vavm.Makes = new SelectList(makeRepo.GetAll(), "MakeId", "MakeName"); vavm.Models = new SelectList(modelRepo.GetAll(), "ModelId", "ModelName"); IEnumerable <Make> allMakes = makeRepo.GetAll(); IEnumerable <Model> allModels = modelRepo.GetAll(); vavm.Vehicle.Model = modelRepo.GetById(vavm.Vehicle.ModelId); if (!allMakes.Any(m => m.MakeId == vavm.Vehicle.MakeId)) { ModelState.AddModelError("Vehicle.MakeId", "Invalid Make selection"); } if (!allModels.Any(m => m.ModelId == vavm.Vehicle.ModelId)) { ModelState.AddModelError("Vehicle.ModelId", "Invalid Model selection"); } if (vavm.Vehicle.Model == null || vavm.Vehicle.MakeId != vavm.Vehicle.Model.MakeId) { ModelState.AddModelError("Vehicle.ModelId", "Model not available for selected Make"); } if (ModelState.IsValid) { if (vavm.UploadedPic != null && vavm.UploadedPic.ContentLength > 0) { string type = "." + vavm.UploadedPic.ContentType.Substring(6); vavm.FileType = type; if (type == ".png" || type == ".jpg" || type == ".jpeg") { //add in other form validation string path = Path.Combine(Server.MapPath("~/Images/"), "inventory-" + vavm.Vehicle.VehicleId + ".png"); if (System.IO.File.Exists(path)) { System.IO.File.Delete(path); } vavm.UploadedPic.SaveAs(path); } } vRepo.Update(vavm.Vehicle); return(RedirectToAction("Vehicles")); } return(View(vavm)); }