Ejemplo n.º 1
0
        public Usuario Incluir(Usuario dadosUsuario)
        {
            Resultado resultado = DadosValidos(dadosUsuario);

            if (resultado.Inconsistencias.Count == 0)
            {
                dadosUsuario.Senha = EncriptarSenha.GerarHashSenha(dadosUsuario.Senha);
                _context.Usuarios.Add(dadosUsuario);
                _context.SaveChanges();
                return(dadosUsuario);
            }
            else
            {
                string error = "";
                resultado.Inconsistencias.ForEach(inconsistencia => error += inconsistencia + " ");
                throw new Exception(error.Trim());
            }
        }
Ejemplo n.º 2
0
        public bool Atualizar(Usuario dadosUsuario, bool atualizarSenha = false)
        {
            if (dadosUsuario == null)
            {
                throw new Exception("Informe o usuário");
            }

            verificarPermissao(dadosUsuario.IdUsuario);

            Resultado resultado = DadosValidos(dadosUsuario, editando: true);

            if (resultado.Inconsistencias.Count == 0)
            {
                Usuario Usuario = _context.Usuarios.Where(
                    p => p.IdUsuario == dadosUsuario.IdUsuario).FirstOrDefault();

                if (Usuario != null)
                {
                    Usuario.Email = dadosUsuario.Email;
                    Usuario.Login = dadosUsuario.Login;
                    Usuario.Admin = dadosUsuario.Admin;
                    if (atualizarSenha)
                    {
                        Usuario.Senha = EncriptarSenha.GerarHashSenha(dadosUsuario.Senha);
                    }

                    Usuario.Status = dadosUsuario.Status;
                    _context.SaveChanges();
                    return(true);
                }
            }
            else
            {
                string error = "";
                resultado.Inconsistencias.ForEach(inconsistencia => error += inconsistencia + ". ");
                throw new Exception(error.Trim());
            }
            return(false);
        }