示例#1
0
        public void CadastrarUsuario(string cpf, string rg, string nome, string senha, string confirmacaoSenha)
        {
            try { ValidacaoUtils.SenhaValida(ModoVerificacaoSenha.Adicionando, senha, confirmacaoSenha); }
            catch (Exception ex) { throw new SenhaInvalidaException(ex.Message); }

            if (!ValidacaoUtils.CPFValido(cpf))
            {
                throw new CPFInvalidoException();
            }

            if (!ValidacaoUtils.RGValido(rg))
            {
                throw new RGInvalidoException();
            }

            if (_usuarioRepository.GetUsuarioByCPF(cpf) != null)
            {
                throw new CPFInvalidoException("O CPF já está cadastrado!");
            }

            if (_usuarioRepository.GetUsuarioByRG(rg) != null)
            {
                throw new RGInvalidoException("O RG já está cadastrado!");
            }

            var statusUsuario = _statusUsuarioRepository.GetStatusUsuarioByEstadoAsync("Normal");
            var perfilUsuario = _perfilUsuarioRepository.GetPerfilUsuarioByTipoAsync("Comum");

            // AQUI
            var senhaCriptografadaParcial = CriptografiaUtils.CriptografiaEmCifra(senha);
            var senhaCriptografadaFinal   = CriptografiaUtils.CriptografaEmCodigo(senhaCriptografadaParcial);

            var usuario = new Usuario(cpf, rg, nome, senhaCriptografadaFinal, DateTime.Now, statusUsuario, perfilUsuario);

            _usuarioRepository.AddUsuario(usuario);
        }