Esempio n. 1
0
        public ActionResult Register(RegistrationModel model)
        {
            if (!ModelState.IsValid)
            {
                return(View(model));
            }

            var request            = model.Map <RegistrationModel, UserRegistrationRequestDto>();
            var registrationResult = _authenticationService.Register(request);

            if (registrationResult.Type != DataResultType.Success)
            {
                ModelState.AddModelError("", registrationResult.FriendlyMessage);
                return(View());
            }

            var emailResult = _emailService.Send(EmailType.ConfirmEmail,
                                                 new[] { registrationResult.Value.UserId });

            if (emailResult.Type != DataResultType.Success)
            {
                ModelState.AddModelError("", "We attempted to send an email to you so that " +
                                         "you can confirm your address, but it failed: " +
                                         $"{registrationResult.FriendlyMessage}");
                return(View());
            }

            return(RedirectToAction("Registered"));
        }