Example #1
0
        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));
        }
Example #2
0
        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);
        }