public async Task <IActionResult> AddCarToUser(int?id) { if (id == null) { return(NotFound()); } var user = await _context.Users.FirstOrDefaultAsync(m => m.Id == id); if (user == null) { return(NotFound()); } var userCarViewModel = new UserCarViewModel() { UserId = user.Id, AllCarBrands = LicensePlateSearcher.GetAllBrands().Select(x => new SelectListItem { Text = x, Value = x.ToString() }), AllCarModels = LicensePlateSearcher.GetAllModels().Select(x => new SelectListItem { Text = x, Value = x.ToString() }) }; return(View(userCarViewModel)); }
public async Task <IActionResult> AddCarToUser(UserCarViewModel userCarViewModel) { try { var user = await _context.Users.Include(x => x.UserCars).FirstOrDefaultAsync(m => m.Id == userCarViewModel.UserId); //var car = LicensePlateSearcher.CheckForCarInDatabase(userCarViewModel.CarBrand, userCarViewModel.CarMake); var newMake = userCarViewModel.CarMake.ToString().Split('-')[0].Trim().Replace(' ', ';'); var car = await _context.Cars.FirstOrDefaultAsync(c => c.Make == newMake); if (user != null && car != null) { var userCar = new UserCar { User = user, Car = car }; user.UserCars.Add(userCar); _context.Add(userCar); await _context.SaveChangesAsync(); return(RedirectToAction("CreatePath", "Path", user)); } else { throw new Exception("NULL"); } } catch (Exception e) { throw new Exception(e.Message); } return(RedirectToAction("CreatePath", "Path")); }