public static void Manter(int id, int idUsuario, string nome, string email, char sexo, DateTime dataNascimento, ColecaoPersistencia colecao)
        {
            ObjPessoa pessoa = new ObjPessoa();

            if (id > 0)
            {
                pessoa.Materializar(id);
            }

            bool existeAlteracoes = false;

            if (!pessoa.Usuario.ID.Equals(idUsuario))
            {
                pessoa.Usuario.ID = idUsuario;
                existeAlteracoes  = true;
            }

            if (!pessoa.Nome.Equals(nome))
            {
                pessoa.Nome      = nome;
                existeAlteracoes = true;
            }

            if (!pessoa.Email.Equals(email))
            {
                pessoa.Email     = email;
                existeAlteracoes = true;
            }

            if (!pessoa.Sexo.Equals(sexo))
            {
                pessoa.Sexo      = sexo;
                existeAlteracoes = true;
            }

            if (!pessoa.DataNascimento.Equals(dataNascimento))
            {
                pessoa.DataNascimento = dataNascimento;
                existeAlteracoes      = true;
            }

            if (existeAlteracoes)
            {
                if (pessoa.ID > 0)
                {
                    colecao.AdicionarItem(pessoa, Persistence.Enumeradores.EnumTipoTransacao.Alterar);
                }
                else
                {
                    ObjUsuario usuario = new ObjUsuario(idUsuario);
                    pessoa.Usuario = usuario;

                    colecao.AdicionarItem(pessoa, Persistence.Enumeradores.EnumTipoTransacao.Incluir);
                }
            }
        }
        /// <summary>
        /// Inclusion of registry does not believe the collection of persistence.
        /// </summary>
        public static void Manter(int id, string loginUsuario, string login, string senha, string CPF, string RG, bool doador, bool ativo, ColecaoPersistencia colecao)
        {
            ObjShardAccount shardAccount = new ObjShardAccount();

            if (id > 0)
            {
                shardAccount.Materializar(id);
            }

            bool existeAlteracao = false;

            if (!shardAccount.Login.Equals(login))
            {
                shardAccount.Login = login;
                existeAlteracao    = true;
            }

            if (!shardAccount.Senha.Equals(senha))
            {
                shardAccount.Senha = senha;
                existeAlteracao    = true;
            }

            if (!shardAccount.CPF.Equals(CPF))
            {
                shardAccount.CPF = CPF;
                existeAlteracao  = true;
            }

            if (!shardAccount.RG.Equals(RG))
            {
                shardAccount.RG = RG;
                existeAlteracao = true;
            }

            if (!shardAccount.Doador.Equals(doador))
            {
                shardAccount.Doador = doador;
                existeAlteracao     = true;
            }

            if (!shardAccount.Ativo.Equals(ativo))
            {
                shardAccount.Ativo = ativo;
                existeAlteracao    = true;
            }

            if (existeAlteracao)
            {
                ObjPessoa pessoa = ControladorPessoa.GetPessoa(loginUsuario);
                shardAccount.NomeCompleto     = pessoa.Nome;
                shardAccount.DataNascimento   = pessoa.DataNascimento;
                shardAccount.Sexo             = pessoa.Sexo;
                shardAccount.Email            = pessoa.Email;
                shardAccount.DataCriacaoConta = DateTime.Now;

                if (shardAccount.ID > 0)
                {
                    colecao.AdicionarItem(shardAccount, Persistence.Enumeradores.EnumTipoTransacao.Alterar);
                }
                else
                {
                    shardAccount.Ativo = false;
                    bool inserted = shardAccount.Incluir();
                    if (inserted)
                    {
                        ControladorUsuarioConta.LinkingWebAccountToShardAccount(pessoa.Usuario.ID, shardAccount.Login);
                    }
                }
            }
        }