Exemplo n.º 1
0
        public Usuario Salvar(UsuarioFormViewModel model)
        {
            var usuario = model.Id > 0
                ? _usuarioRepository.Get(model.Id)
                : Mapper.Map <UsuarioFormViewModel, Usuario>(model);

            if (usuario == null)
            {
                throw new Exception("Usuario não encontrado");
            }

            if (model.Id > 0)
            {
                var perfilAcessoId = usuario.PerfilAcessoId;
                usuario = Mapper.Map(model, usuario);
                if (model.TipoTelaDeUsuario != TipoTelaDeUsuario.Admin)
                {
                    usuario.PerfilAcessoId = perfilAcessoId;
                }
            }

            if (usuario.Id == 0 && model.NovaSenha == null)
            {
                throw new Exception("A senha é obrigatória");
            }

            if (!(usuario.Cpf > 0))
            {
                throw new Exception("CPF inválido.");
            }

            if (JaUsouCpf(usuario.Cpf, usuario.Id))
            {
                throw new Exception("CPF já cadastrado.");
            }

            if (model.NovaSenha != null)
            {
                usuario.Senha = CriptografiaHelpers.Criptografar(model.NovaSenha, usuario.Cpf.ToString());
            }

            if (usuario.Id > 0)
            {
                _usuarioRepository.Update(usuario);
            }
            else
            {
                _usuarioRepository.Add(usuario);
            }

            _usuarioRepository.Commit();

            return(usuario);
        }
Exemplo n.º 2
0
        public void ValidarSenha(int usuarioId, string senha)
        {
            var login = (from x in _usuarioRepository.Get()
                         where x.Id == usuarioId
                         select new { x.Senha, x.Cpf }).FirstOrDefault();

            var senhaCriptografada = CriptografiaHelpers.Criptografar(senha, login.Cpf.ToString());

            if (!login.Senha.SequenceEqual(senhaCriptografada))
            {
                throw new Exception("Senha atual inválida!");
            }
        }
Exemplo n.º 3
0
 private void CriarUsuarioAdmin(Data.EfDbContext context, Int64 cpf, string nome, string email, string senha, int perfilId)
 {
     if (!context.Usuarios.Any(x => x.Cpf == cpf))
     {
         var usuario = new Usuario
         {
             Cpf            = cpf,
             Nome           = nome,
             Email          = email,
             Senha          = CriptografiaHelpers.Criptografar(senha, cpf.ToString()),
             DtInclusao     = DateTime.Now,
             PerfilAcessoId = perfilId
         };
         context.Usuarios.Add(usuario);
         context.SaveChanges();
     }
 }
Exemplo n.º 4
0
        public void TrocaSenha(TrocaSenhaFormViewModel model)
        {
            if (!ParticipanteHelpers.IsCpf(model.Cpf))
            {
                throw new Exception("CPF inválido.");
            }

            var cpf     = Convert.ToInt64(model.Cpf);
            var usuario = _usuarioRepository.Get().FirstOrDefault(m => m.Cpf == cpf && m.TokenSenha == model.TokenSenha);

            if (usuario == null)
            {
                throw new Exception("Usuário não encontrado");
            }

            usuario.Senha      = CriptografiaHelpers.Criptografar(model.NovaSenha, usuario.Cpf.ToString());
            usuario.TokenSenha = null;

            _usuarioRepository.Update(usuario);
            _usuarioRepository.Commit();
        }
Exemplo n.º 5
0
        public UsuarioLogadoViewModel ValidarLogin(LoginFormViewModel model, TipoArea area)
        {
            var login   = ConversaoHelper.ToInt64(model.Login);
            var usuario = (from x in _usuarioRepository.Get()
                           where x.Cpf == login
                           select new
            {
                x.CargoId,
                FirstName = x.Nome,
                UserId = x.Id,
                x.Senha,
                x.DtInativacao,
                x.PerfilAcessoId
            }).FirstOrDefault();

            if (usuario == null)
            {
                throw new Exception("Usuário não existe!");
            }

            if (usuario.DtInativacao != null)
            {
                throw new Exception("Usuário inativo!");
            }

            var senhaCriptografada = CriptografiaHelpers.Criptografar(model.Senha, model.Login);

            if (!usuario.Senha.SequenceEqual(senhaCriptografada))
            {
                throw new Exception("Senha inválida!");
            }

            return(new UsuarioLogadoViewModel
            {
                UserId = usuario.UserId,
                FirstName = usuario.FirstName,
                Roles = _permissaoApp.PermissoesString(usuario.PerfilAcessoId)
            });
        }