Example #1
0
        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));
        }
Example #2
0
        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"));
        }