Beispiel #1
0
        public virtual async Task <ActionResult> ReceiveActivatorEmail(ActivationEmailViewModel viewModel)
        {
            if (!_userService.IsEmailAvailableForConfirm(viewModel.Email))
            {
                this.AddErrors("Email", "ایمیل مورد نظر یافت نشد");
            }
            if (_userService.CheckIsUserBannedOrDeleteByEmail(viewModel.Email))
            {
                this.AddErrors("Email", "اکانت شما مسدود شده است");
            }
            if (!ModelState.IsValid)
            {
                return(View(viewModel));
            }
            var user = await _userService.FindByEmailAsync(viewModel.Email);

            //send confirmation email
            ControllerExtentions.NotySuccess(this, "ایمیلی تحت عنوان فعال سازی اکانت به آدرس ایمیل شما ارسال گردید");
            return(RedirectToAction(MVC.Account.ActionNames.ReceiveActivatorEmail, MVC.Account.Name));
        }
Beispiel #2
0
        public virtual async Task <ActionResult> Register(RegisterViewModel model)
        {
            #region Validation
            if (_userService.CheckEmailExist(model.Email, null))
            {
                this.AddErrors("Email", "این ایمیل قبلا در سیستم ثبت شده است");
            }
            if (!model.Password.IsSafePasword())
            {
                this.AddErrors("Password", "این کلمه عبور به راحتی قابل تشخیص است");
            }
            if (_userService.CheckNameForShowExist(model.NameForShow, null))
            {
                this.AddErrors("NameForShow", "این نام نمایشی قبلا در سیستم ثبت شده است");
            }
            if (_userService.CheckPhoneNumberExist(model.PhoneNumber, null))
            {
                this.AddErrors("PhoneNumber", "این شماره همراه قبلا در سیستم ثبت شده است");
            }

            if (!ModelState.IsValid)
            {
                return(View(model));
            }
            #endregion SendEmail

            var userId = await _userService.Register(model);

            var code = await _userService.GenerateEmailConfirmationTokenAsync(userId);

            var callbackUrl = Url.Action(MVC.Account.ConfirmEmail(userId, code), protocol: Request.Url.Scheme);
            // await _userService.SendEmailAsync(userId, "Confirm your account", "Please confirm your account by clicking <a href=\"" + callbackUrl + "\">here</a>");

            ControllerExtentions.NotySuccess(this, "حساب کاربری شما با موفقیت ایجاد شد. برای فعال سازی " +
                                             "حساب خود به صندوق پستی خود مراجعه کنید",
                                             isSticky: true);

            return(RedirectToAction(MVC.Account.ConfirmEmailPage(callbackUrl)));
        }