private void CriarSenha(Usuario usuario) { string senha = _geradorDeSenha.GerarGuid(8); _geradorDeEmail.CriacaoAutomaticaDeSenha(usuario, senha); string senhaCriptografada = _provedorDeCriptografia.Criptografar(senha); usuario.CriarSenha(senhaCriptografada); _usuarios.Save(usuario); }
public void CriacaoAutomaticaDeSenha(Usuario usuario, string novaSenha) { if (string.IsNullOrEmpty(usuario.Email)) { throw new UsuarioSemEmailException(usuario.Nome); } var contaDeEmail = ObjectFactory.GetNamedInstance<ContaDeEmail>("ContaDeEmailProgas"); var emailService = new EmailService(contaDeEmail); emailService.Enviar(usuario.Email, _geradorDeMensagemDeEmail.CriacaoAutomaticaDeSenha(usuario, novaSenha)); }
private Usuario AtualizarUsuario(UsuarioCadastroVm usuarioCadastroVm) { Usuario usuario = _usuarios.BuscaPorLogin(usuarioCadastroVm.Login); Fornecedor fornecedor = _fornecedores.BuscaPeloCodigo(usuarioCadastroVm.CodigoFornecedor); if (usuario != null) { usuario.Alterar(usuarioCadastroVm.Nome, usuarioCadastroVm.Email, fornecedor); } else { usuario = new Usuario(usuarioCadastroVm.Nome, usuarioCadastroVm.Login,usuarioCadastroVm.Email, fornecedor); } return usuario; }
public MensagemDeEmail CriacaoAutomaticaDeSenha(Usuario usuario, string novaSenha) { string mensagem = "Prezado(a) " + usuario.Nome + Environment.NewLine + Environment.NewLine + "Conforme foi solicitado através do Portal de Vendas da PROGAS, segue abaixo a sua nova senha de acesso ao site. " + "Esta senha foi gerada automaticamente no momento da sua solicitação. "+ "Recomenda-se que acesse o site " + ConfigurationManager.AppSettings["EnderecoDoSite"] + " e altere a senha para uma de sua preferência." + Environment.NewLine + Environment.NewLine + "Dados de Acesso:" + Environment.NewLine + Environment.NewLine + "Login: "******"Nova Senha: " + novaSenha + Environment.NewLine + "Atenciosamente," + Environment.NewLine + "PROGAS" + Environment.NewLine + Environment.NewLine + "Esta é uma mensagem gerada automaticamente, portanto, não deve ser respondida." + Environment.NewLine + "© PROGAS. Todos os direitos reservados. Termos e Condições e Política de Privacidade." + Environment.NewLine; return new MensagemDeEmail("Geração automática de senha",mensagem); }
public void Novo(UsuarioCadastroVm usuarioVm) { try { _unitOfWork.BeginTransaction(); Fornecedor fornecedor = _fornecedores.BuscaPeloCodigo(usuarioVm.CodigoFornecedor); var novoUsuario = new Usuario(usuarioVm.Nome, usuarioVm.Login, usuarioVm.Email, fornecedor); _usuarios.Save(novoUsuario); _unitOfWork.Commit(); } catch (Exception) { _unitOfWork.RollBack(); throw; } }