예제 #1
0
        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);
            
        }
예제 #2
0
 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));
 }
예제 #3
0
        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);
        }            
예제 #5
0
 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;
     }
 }