public async Task<ActionResult> Index(string id, SurveyResponseViewModel model)
        {
            if (!ModelState.IsValid)
                return View(model);

            var existingUser = await _userDataRepo.Get(id);

            if (!string.IsNullOrEmpty(model.ScoreboardName))
            {
                existingUser = existingUser ?? new UserData();

                if (!string.IsNullOrWhiteSpace(existingUser.HashedPassword) && !BCrypt.Net.BCrypt.Verify(model.Password, existingUser.HashedPassword))
                {
                    ModelState.AddModelError("Password", "A username has already been set for this user, and the password you entered does not match.  Please try again.");
                    return View(model);
                }

                existingUser.ScoreboardName = model.ScoreboardName;
                existingUser.UserId = id;
                existingUser.HashedPassword = BCrypt.Net.BCrypt.HashPassword(model.Password);

                await _userDataRepo.Save(existingUser);
            }

            var surveyResponse = Mapper.Map<SurveyResponse>(model);
            surveyResponse.UserId = id;
            await _surveyResponseRepo.Save(surveyResponse);

            ViewData["Success"] = true;

            return View(model);
        }
        public async Task<ActionResult> Index(string id)
        {
            if (string.IsNullOrWhiteSpace(id))
                return RedirectToAction("Index", "Home");

            UserId = id;

            var existingUser = await _userDataRepo.Get(id);

            var model = new SurveyResponseViewModel();

            if (existingUser != null)
                model.ScoreboardName = existingUser.ScoreboardName;

            return View(model);
        }