public ActionResult AddVehicle(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 (vavm.UploadedPic == null) { ModelState.AddModelError("UploadedPic", "Picture is required"); } 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 int id = vRepo.Create(vavm.Vehicle); vavm.Vehicle.VehicleId = id; string path = Path.Combine(Server.MapPath("~/Images/"), "inventory-" + id + ".png"); if (System.IO.File.Exists(path)) { System.IO.File.Delete(path); } vavm.UploadedPic.SaveAs(path); return(RedirectToAction("EditVehicle/" + vavm.Vehicle.VehicleId)); } } } return(View(vavm)); }