public async Task <IActionResult> Index(User user) { user.Role = Roles.Customer; Match matchPhone = Regex.Match(user.Phone, @"(^\+38[0-9]{10}$|^[0-9]{10}$|^38[0-9]{10}$)"); Match matchName = Regex.Match(user.Name, @"\S{3,20}$"); Match matchLastName = Regex.Match(user.LastName, @"\S{3,20}$"); Match matchEmail = Regex.Match(user.Email, @".@gmail\.com$|.@mail\.ru$"); Match matchPassword = Regex.Match(user.Password, @"([0-9a-zA-Z]{6,})"); if (matchPhone.Success && matchName.Success && matchEmail.Success && matchPassword.Success && matchLastName.Success) { if (userRep.GetUserByEmail(user.Email) == null) { cryptoService = new CryptoService(appOptions); user.Password = cryptoService.Encrypt(user.Password); user.Token = Guid.NewGuid().ToString(); await userRep.AddUserAsync(user); emailService.Send(user.Email, user.Token, "Registration/ConfirmEmail", "Для подтверждения перейдите по ссылке", "Подтверждениe почтового адреса"); return(RedirectToAction("VariousInf", new { inf = "Вы успешно зарегистрированы,пожалуйста подтвердите почтовый адрес" })); } else { ViewBag.Message = "Вы уже зарегистрированы"; } } else { ViewBag.Message = "Не правильный ввод данных!"; } return(View(user)); }
public async Task <IActionResult> ForgotPassword(User userToUpdate) { var _user = userRep.GetUserByEmail(userToUpdate.Email); if (_user == null && _user.ConfirmEmail == false) { return(RedirectToAction("ForgotPassword", new { message = $"Пользователь с почтовым адресом {userToUpdate.Email} не зарегистрирован" })); } cryptoService = new CryptoService(appOptions); _user.Token = Guid.NewGuid().ToString(); await userRep.UpdateUserAsync(_user); emailService.Send(_user.Email, _user.Token, "User/AllowResetPassword", "Для сброса пароля перейдите по ссылке", "Сброс пароя"); ViewBag.message = "Письмо отправлено,проверьте вашу почту"; return(View("ForgotPasswordConfirmation")); }
public ActionResult Index(User user) { var _user = userRep.GetUserByEmail(user.Email); CryptoService cryptoService = new CryptoService(applicationOption); user.Password = cryptoService.Encrypt(user.Password); if (_user != null) { if (_user.Role == Roles.Admin && _user.Password == user.Password) { servicesUser.SetUser(_user); return(RedirectToAction("List", "Products")); } if (_user.Password == user.Password) { if (_user.ConfirmEmail == true) { servicesUser.SetUser(_user); return(RedirectToAction("List", "Products")); } else { ViewBag.Message = "Подтвердите ваш почтовый адрес"; } } else { ViewBag.Message = "Неправильный логин или пароль"; } } else { ViewBag.Message = "Пользователь не найден"; } return(View(user)); }