Example #1
0
        public async Task <ActionResult> EditApplicantDetails()
        {
            EditApplicantDetailsViewModel model;

            var response = await client.Registration.GetApplicantDetailsAsync(User.GetAccessToken());

            model = new EditApplicantDetailsViewModel(response);

            return(View(model));
        }
Example #2
0
        public async Task <ActionResult> EditApplicantDetails(EditApplicantDetailsViewModel model)
        {
            if (!ModelState.IsValid)
            {
                return(View(model));
            }

            try
            {
                if (model.Email.Equals(model.ExistingEmail))
                {
                    //Update applicant details only
                    await client.Registration.UpdateApplicantDetailsAsync(User.GetAccessToken(), model.ToRequest());

                    return(RedirectToAction("Home", "Applicant", new { id = model.Id, area = string.Empty }));
                }

                //Update applicant details & Send verification email
                await client.Registration.UpdateApplicantDetailsAsync(User.GetAccessToken(), model.ToRequest());

                var emailSent =
                    await
                    client.Registration.SendEmailVerificationAsync(User.GetAccessToken(),
                                                                   new EmailVerificationData
                {
                    Url = Url.Action("VerifyEmail", "Account", null, Request.Url.Scheme)
                });

                return(RedirectToAction("EmailVerificationRequired", "Account"));
            }
            catch (ApiBadRequestException ex)
            {
                this.HandleBadRequest(ex);

                if (ModelState.IsValid)
                {
                    throw;
                }
            }

            return(View(model));
        }
        public async Task<ActionResult> EditApplicantDetails(EditApplicantDetailsViewModel model)
        {
            if (!ModelState.IsValid)
            {
                return View(model);
            }

            try
            {
                if (model.Email.Equals(model.ExistingEmail))
                {
                    //Update applicant details only
                    await client.Registration.UpdateApplicantDetailsAsync(User.GetAccessToken(), model.ToRequest());
                    return RedirectToAction("Home", "Applicant", new { id = model.Id, area = string.Empty });
                }

                //Update applicant details & Send verification email
                await client.Registration.UpdateApplicantDetailsAsync(User.GetAccessToken(), model.ToRequest());

                var emailSent =
                    await
                        client.Registration.SendEmailVerificationAsync(User.GetAccessToken(),
                            new EmailVerificationData
                            {
                                Url = Url.Action("VerifyEmail", "Account", null, Request.Url.Scheme)
                            });

                return RedirectToAction("EmailVerificationRequired", "Account");
            }
            catch (ApiBadRequestException ex)
            {
                this.HandleBadRequest(ex);

                if (ModelState.IsValid)
                {
                    throw;
                }
            }

            return View(model);
        }
        public async Task<ActionResult> EditApplicantDetails()
        {
            EditApplicantDetailsViewModel model;

            var response = await client.Registration.GetApplicantDetailsAsync(User.GetAccessToken());
            model = new EditApplicantDetailsViewModel(response);

            return View(model);
        }