Example #1
0
        public async Task <IActionResult> RegisterAsync(VoterRegistrationViewModel model)
        {
            if (ModelState.IsValid)
            {
                string userId = _UserManager.GetUserId(User);
                VoterRegistrationDataModel registration = await _Context.Registration.FindAsync(userId);

                if (registration == null)
                {
                    registration = new VoterRegistrationDataModel(userId, model);

                    _Context.Registration.Add(registration);
                }
                else
                {
                    registration.Update(model);

                    _Context.Registration.Update(registration);
                }

                await _Context.SaveChangesAsync();

                return(RedirectToAction(nameof(Dashboard)));
            }

            return(View("Register", model));
        }
Example #2
0
        public IActionResult Register()
        {
            VoterRegistrationDataModel data  = _Context.Registration.Find(_UserManager.GetUserId(User));
            VoterRegistrationViewModel model = new VoterRegistrationViewModel(data);

            return(View(model));
        }
 public VoterRegistrationViewModel(VoterRegistrationDataModel data)
 {
     if (data == null)
     {
         return;
     }
     FirstName      = data.FirstName;
     LastName       = data.LastName;
     DOB            = data.DOB;
     Identification = data.Identification;
     SSNumber       = data.SSNumber;
 }
Example #4
0
        public IActionResult Dashboard()
        {
            string userId = _UserManager.GetUserId(User);
            VoterRegistrationDataModel registrationData = _Context.Registration.Find(userId);
            VoterAddressDataModel      addressData      = _Context.Address.Find(userId);
            VoterDemographicsDataModel demographicsData = _Context.Demographics.Find(userId);
            VoterDashboardViewModel    model            = new VoterDashboardViewModel(
                registrationData != null,
                addressData != null,
                demographicsData != null);

            return(View(model));
        }
Example #5
0
        public IActionResult FinalizeRegistration()
        {
            string userId = _UserManager.GetUserId(User);
            VoterRegistrationDataModel registrationData = _Context.Registration.Find(userId);
            VoterAddressDataModel      addressData      = _Context.Address.Find(userId);
            VoterDemographicsDataModel demographicsData = _Context.Demographics.Find(userId);

            VoterFinalizeRegistrationViewModel model = new VoterFinalizeRegistrationViewModel(registrationData, addressData, demographicsData);

            if (registrationData == null || addressData == null || demographicsData == null)
            {
                // TODO change to some error page -- not done with other registration
                return(View(model));
            }
            return(View(model));
        }
        public VoterFinalizeRegistrationViewModel(VoterRegistrationDataModel registrationData, VoterAddressDataModel addressData, VoterDemographicsDataModel demographicsData)
        {
            if (registrationData == null || addressData == null || demographicsData == null)
            {
                return;
            }
            FirstName      = registrationData.FirstName;
            LastName       = registrationData.LastName;
            DOB            = registrationData.DOB;
            Identification = registrationData.Identification;
            SSNumber       = registrationData.SSNumber;

            AddressLineOne = addressData.AddressLineOne;
            AddressLineTwo = addressData.AddressLineTwo;
            City           = addressData.City;
            ZipCode        = addressData.ZipCode.ToString();
            State          = addressData.State;

            Party          = demographicsData.Party;
            Ethnicity      = demographicsData.Ethnicity;
            Sex            = demographicsData.Sex;
            IncomeRange    = demographicsData.IncomeRange;
            VoterReadiness = demographicsData.VoterReadiness;
        }
Example #7
0
        public async Task <IActionResult> FinalizeRegistrationAsync(VoterFinalizeRegistrationViewModel model)
        {
            string userId = _UserManager.GetUserId(User);
            VoterRegistrationDataModel registrationData = _Context.Registration.Find(userId);
            VoterAddressDataModel      addressData      = _Context.Address.Find(userId);
            VoterDemographicsDataModel demographicsData = _Context.Demographics.Find(userId);

            if (registrationData == null || addressData == null || demographicsData == null)
            {
                // TODO change to some error page -- not done with other registration
                return(RedirectToAction(nameof(Dashboard)));
            }

            ApplicationUser user = await _UserManager.GetUserAsync(User);

            _UserManager.AddToRoleAsync(user, "RegisteredVoter").Wait();
            _UserManager.RemoveFromRoleAsync(user, "GenericUser").Wait();

            // this is needed to update the cookie so it has the correct roles
            // otherwise the user will sill have access as a genericUser.
            _SignInManager.RefreshSignInAsync(user).Wait();

            return(RedirectToAction(nameof(VoterController.Dashboard), nameof(VoterController).RemoveController()));
        }