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)); }
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))); }