public void SaveAllErrors(List <ErrorForSaveViewModel> errors) { var errorsForSave = errors.Where(er => er != null).Where(er => er.NewValue != er.OldValue).ToList(); foreach (var error in errorsForSave) { var erroForSave = _chybaFactory.CreateChyba(error); _errorServiceRepository.SaveError(erroForSave); } var email = _pouzivatelServiceRepository.GetPouzivatelById(errors.First().UserId).email; _sendMailService.SendEmail(email, errorsForSave); }
public async Task Execute(DTOPasswordRecovery dto) { if (dto is null) { throw new ArgumentNullException(nameof(dto)); } var user = _userRepository.GetByEmail(dto.Email); if (user == null) { throw new ApplicationException("Usuário não encontrado."); } var newPassword = Guid.NewGuid().ToString().Split('-')[0]; var encryptedPassword = _encryption.GenerateCryptgraphy(newPassword); user.Password = encryptedPassword; var template = $@" <p> Olá <b>{user.Name.ToUpper()}</b> </p> <p>Recebemos uma solicitação para redefinir sua senha do MyBuy.</p> <p>Aqui está sua nova senha: <b>{newPassword}</b></p> <p>Recomendamos que você troque essa senha pois ela é provisória.</p> <p>Atenciosamente, equipe MyBuy.</p>"; try { await _sendMailService.SendEmail(user.Email, template, "Envio de senha provisória", isHtml : true); _userRepository.Update(user); _unitOfWork.Save(); } catch (Exception e) { throw new ApplicationException("Erro ao gerar nova senha."); } }