public static void Manter(int id, string login, string senha, TipoUsuario tipo, string avatar, ColecaoPersistencia colecao)
        {
            ObjUsuario usuario = new ObjUsuario();

            if (id > 0)
                usuario.Materializar(id);

            bool existeAlteracoes = false;

            if (!String.IsNullOrEmpty(login) && !usuario.Login.Equals(login))
            {
                usuario.Login = login;
                existeAlteracoes = true;
            }

            Criptografia.Criptografia criptografia = new CriptografiaMD5();
            string senhaCriptografada = criptografia.Criptografar(senha);
            if (!String.IsNullOrEmpty(senha) && !usuario.Senha.Equals(senhaCriptografada))
            {
                usuario.Senha = senhaCriptografada;
                existeAlteracoes = true;
            }

            if (!usuario.Tipo.Equals(tipo))
            {
                usuario.Tipo = tipo;
                existeAlteracoes = true;
            }

            if (!String.IsNullOrEmpty(avatar) && !usuario.Avatar.Equals(avatar))
            {
                usuario.Avatar = avatar;
                existeAlteracoes = true;
            }

            if (existeAlteracoes)
            {
                if (usuario.ID > 0)
                    colecao.AdicionarItem(usuario, Persistence.Enumeradores.EnumTipoTransacao.Alterar);
                else
                    colecao.AdicionarItem(usuario, Persistence.Enumeradores.EnumTipoTransacao.Incluir);
            }
        }
        /// <summary>
        /// Alterar senha usuário corrente (logado).
        /// </summary>        
        public static void AtualizarSenhaUsuarioLogado(string senhaAtual, string novaSenha, ColecaoPersistencia colecao)
        {
            if ((!string.IsNullOrEmpty(senhaAtual) && string.IsNullOrEmpty(novaSenha)) ||
                (!string.IsNullOrEmpty(novaSenha) && string.IsNullOrEmpty(senhaAtual)))
                throw new Usuario.Excessoes.AlterarSenhaDadosIncompletosException("Não foi possível Alterar a senha, dados incompletos.");

            if (!string.IsNullOrEmpty(senhaAtual) && !string.IsNullOrEmpty(novaSenha))
            {
                ObjUsuario usuario = UsuarioCorrenteSingleton.Istance.Usuario;

                Criptografia.Criptografia criptografia = new CriptografiaMD5();
                senhaAtual = criptografia.Criptografar(senhaAtual);

                if (senhaAtual.Equals(usuario.Senha))
                {
                    novaSenha = criptografia.Criptografar(novaSenha);
                    usuario.Senha = novaSenha;
                    colecao.AdicionarItem(usuario, Persistence.Enumeradores.EnumTipoTransacao.Alterar);                    
                }
                else
                    throw new Usuario.Excessoes.SenhaInvalidaException("A senha informada não confere.");
            }
        }