public async Task <ActionResult> Index(string username) { metricSender.SendCount("restore_password.try"); var users = await FindUsers(username); var answer = new RestorePasswordModel { UserName = username }; if (!users.Any()) { answer.Messages.Add(new Message($"Пользователь {username} не найден")); return(View(answer)); } metricSender.SendCount("restore_password.found_users"); foreach (var user in users) { if (string.IsNullOrWhiteSpace(user.Email)) { answer.Messages.Add(new Message($"У пользователя {user.UserName} не указана электронная почта")); continue; } if (!user.EmailConfirmed) { answer.Messages.Add(new Message($"У пользователя {user.UserName} не подтверждена электронная почта")); continue; } var requestId = await requestRepo.CreateRequest(user.Id); if (requestId == null) { answer.Messages.Add(new Message($"Слишком частые запросы для пользователя {user.UserName}. Попробуйте ещё раз через несколько минут")); continue; } await SendRestorePasswordEmail(requestId, user); answer.Messages.Add(new Message($"Письмо с инструкцией по восстановлению пароля для пользователя {user.UserName} отправлено вам на почту", false)); } return(View(answer)); }
public async Task <ActionResult> Index(string username) { var users = await FindUsers(username); var answer = new RestorePasswordModel { UserName = username }; if (!users.Any()) { answer.Messages.Add(new Message(string.Format("Пользователь {0} не найден", username))); return(View(answer)); } foreach (var user in users) { if (string.IsNullOrWhiteSpace(user.Email)) { answer.Messages.Add(new Message(string.Format("У пользователя {0} не указан email", user.UserName))); continue; } var requestId = await requestRepo.CreateRequest(user.Id); if (requestId == null) { answer.Messages.Add(new Message(string.Format("Слишком частые запросы для пользователя {0}. Попробуйте ещё раз через несколько минут", user.UserName))); continue; } await SendRestorePasswordEmail(requestId, user); answer.Messages.Add(new Message(string.Format("Письмо с инструкцией по восстановлению пароля для пользователя {0} отправлено на Ваш email", user.UserName), false)); } return(View(answer)); }