public async Task <IActionResult> SendEmail(string email) { var emailForQuery = email.ToLower(); var user = await _repo.GetUserByEmail(emailForQuery); var random = new Random(); var chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"; var newPassword = new string(Enumerable.Repeat(chars, 20).Select(s => s[random.Next(s.Length)]).ToArray()); _repo.DeleteFromRepo(user); await _repo.SaveAll(); var userForRegisterDto = new CreateUserDto(); _map.Map(user, userForRegisterDto); userForRegisterDto.Password = newPassword; await Register(userForRegisterDto); var message = new EmailMessage(new string[] { user.Email }, "Password reset", "This is your new password:" + newPassword); _emailSender.SendEmail(message); return(NoContent()); }
public async Task <IActionResult> DeleteQuiz(int quizId) { var quizFromRepo = await _repo.GetQuiz(quizId); var questionsFromRepo = await _repo.GetQuestions(quizId); foreach (var questionToDelete in questionsFromRepo) { _repo.DeleteFromRepo(questionToDelete); } _repo.DeleteFromRepo(quizFromRepo); if (await _repo.SaveAll()) { return(Ok()); } throw new Exception("Nie udalo się usunąć wybranego quizu"); }
public async Task <IActionResult> DeleteLesson(int lessonId) { var lessonFromRepo = await _repo.GetLesson(lessonId); _repo.DeleteFromRepo(lessonFromRepo); if (await _repo.SaveAll()) { return(Ok()); } throw new Exception("Nie udało się usunąć wybranej lekcji"); }
public async Task <IActionResult> DeleteMyGroup() { var userId = int.Parse(User.FindFirst(ClaimTypes.NameIdentifier).Value); var group = await _repo.CheckUserIsLeader(userId); var groupId = group.Id; _repo.DeleteFromRepo(group); if (await _repo.SaveAll()) { var groupUsers = await _repo.GetGroupUsers(groupId); foreach (var groupUser in groupUsers) { _repo.DeleteFromRepo(groupUser); } await _repo.SaveAll(); return(Ok()); } throw new Exception("Nie udało się usunąć grupy"); }