示例#1
0
        public async Task <IActionResult> AcceptInvitationConfirm(AcceptInvitationModel model)
        {
            try
            {
                if (!model.PrivacyPolicyAgreed)
                {
                    ModelState.AddModelError("TOC",
                                             "You must agree to our Terms & Conditions before you can sign up!");
                    return(View("AcceptInvitation", model));
                }

                await _dataAccess.AcceptInvitation(model.Token, model.Email);

                var user = await _userManager.FindByEmailAsync(model.Email);

                return(RedirectToAction(user == null ? "SignUp" : "SignIn"));
            }
            catch (Exception ex)
            {
                _logger.LogError(ex, "Sorry we could not complete the accept invitation process!");
                if (_hostingEnvironment.IsDevelopment())
                {
                    throw;
                }
                return(RedirectToAction("CriticalError", "Home", new { errorType = "AcceptInvitation" }));
            }
        }