public JsonResult Create(CreateUserViewModel model) { var verificationLinkModel = new VerificationLinkModel { AbsoluteUri = Request.Url.AbsoluteUri, PathAndQuery = Request.Url.PathAndQuery }; bool created = true; string message = String.Empty; try { _userService.CreateAccount(model, verificationLinkModel); } catch (Exception ex) { message = ex.Message; created = false; } ViewBag.Created = created; ViewBag.Message = message; return(Json(new { message, created }, JsonRequestBehavior.AllowGet)); }
public void CreateAccount(CreateUserViewModel model, VerificationLinkModel verificationLinkModel) { UserDto existingUser = _userDao.GetByEmail(model.Email); if (existingUser != null) { throw new Exception($"Użytkownik o emailu {model.Email} już istnieje!"); } UserDto user = _userDao.Insert(model.Name, model.LastName, model.Role, model.Email, SetPassword()); string verifyLink = $"/User/VerifyAccount/{user.ActivationCode}"; string activationLink = verificationLinkModel.AbsoluteUri.Replace(verificationLinkModel.PathAndQuery, verifyLink); var createAccountNotificationMessage = new CreateAccountNotificationMessage { EmailTo = user.Email, ActivationLink = activationLink, }; _notificationService.SendCreateAccountNotification(createAccountNotificationMessage); }