public async Task <IActionResult> Register(RegistrerUserViewModel model, [FromServices] ILogger <AccountController> logger) { if (!ModelState.IsValid) { logger.LogWarning($"Ошибка модели"); return(View(model)); // Если данные в форме некоректны, то на доработку } var new_user = new User // Создаём нового пользователя { UserName = model.UserName }; using (logger.BeginScope("Регистрация началась")) { // Пытаемся зарегистрировать его в системе с указанным паролем var creation_result = await _UserManager.CreateAsync(new_user, model.Password); if (creation_result.Succeeded) // Если получилось { await _SignInManager.SignInAsync(new_user, false); // То сразу логиним его на сайте logger.LogInformation($"Пользователь успешно зарегистрирован { model.UserName }"); return(RedirectToAction("Index", "Home")); // и отправляем на главную страницу } foreach (var error in creation_result.Errors) // Если что-то пошло не так... { ModelState.AddModelError("", error.Description); // Все ошибки заносим в состояние модели } } return(View(model)); // И модель отправляем на доработку }
public async Task <IActionResult> Register(RegistrerUserViewModel model) { if (!ModelState.IsValid) { return(View(model)); // Если данные в форме некоректны, то на доработку } using (_Logger.BeginScope("Регистрация нового пользователя {0}", model.UserName)) { var new_user = new User // Создаём нового пользователя { UserName = model.UserName }; // Пытаемся зарегистрировать его в системе с указанным паролем var creation_result = await _UserManager.CreateAsync(new_user, model.Password); if (creation_result.Succeeded) // Если получилось { await _SignInManager.SignInAsync(new_user, false); // То сразу логиним его на сайте _Logger.LogInformation("Пользователь {0} успешно зарегистрирован в системе", model.UserName); return(RedirectToAction("Index", "Home")); // и отправляем на главную страницу } foreach (var error in creation_result.Errors) // Если что-то пошло не так... { ModelState.AddModelError("", error.Description); // Все ошибки заносим в состояние модели } _Logger.LogWarning("Ошибка при регистарции пользователя {0}: {1}", model.UserName, string.Join(", ", creation_result.Errors.Select(error => error.Description))); } return(View(model)); // И модель отправляем на доработку }
public async Task <IActionResult> Register(RegistrerUserViewModel model) { if (!ModelState.IsValid) { return(View(model)); // Если данные в форме некоректны, то на доработку } var new_user = new User // Создаём нового пользователя { UserName = model.UserName }; // Пытаемся зарегистрировать его в системе с указанным паролем var creation_result = await _UserManager.CreateAsync(new_user, model.Password); if (creation_result.Succeeded) // Если получилось { await _SignInManager.SignInAsync(new_user, false); // То сразу логиним его на сайте return(RedirectToAction("Index", "Home")); // и отправляем на главную страницу } foreach (var error in creation_result.Errors) // Если что-то пошло не так... { ModelState.AddModelError("", error.Description); // Все ошибки заносим в состояние модели } return(View(model)); // И модель отправляем на доработку }