コード例 #1
0
        public bool DesbloquearCredenciados(List <CredenciadoPessoa> credenciados)
        {
            bool retorno = true;

            try
            {
                if (!_validar.VerificarSituacao(credenciados[0].OrgaoParceiroId))
                {
                    Validacao.Add(Mensagem.OrgaoParceiroConveniado.OrgaoParceiroBloqueado(Obter(credenciados[0].OrgaoParceiroId).SiglaNome));
                    return(false);
                }

                using (BancoDeDados bancoDeDados = BancoDeDados.ObterInstancia(UsuarioCredenciado))
                {
                    _validar.VerificarCredenciadoAssociadoOrgao(credenciados, bancoDeDados);

                    foreach (CredenciadoPessoa credenciado in credenciados)
                    {
                        //Metodo especifico para Orgaos Parceiros
                        eCredenciadoSituacao situacao = eCredenciadoSituacao.AguardandoChave;
                        if (!_busCredenciado.IsCredenciadoAtivoAlgumaVez(credenciado.Id))
                        {
                            situacao = eCredenciadoSituacao.AguardandoAtivacao;
                        }

                        _busCredenciado.RegerarChave(credenciado.Id, bancoDeDados, situacao);

                        if (!Validacao.EhValido)
                        {
                            break;
                        }
                    }

                    if (!Validacao.EhValido)
                    {
                        bancoDeDados.Rollback();
                        return(false);
                    }

                    bancoDeDados.Commit();
                }
            }
            catch (Exception exc)
            {
                Validacao.AddErro(exc);
            }

            return(retorno);
        }
コード例 #2
0
        public void RegerarChave(int id, BancoDeDados banco = null, eCredenciadoSituacao situacao = eCredenciadoSituacao.AguardandoChave)
        {
            try
            {
                CredenciadoPessoa credenciado = Obter(id, true, banco);

                credenciado.Id       = id;
                credenciado.Situacao = (int)situacao;

                credenciado.Pessoa = ObterPessoaCredenciado(credenciado.Pessoa.Id, banco);

                if (!_validar.RegerarChave(credenciado.Pessoa))
                {
                    return;
                }

                string nome  = credenciado.Pessoa.NomeRazaoSocial;
                string email = credenciado.Pessoa.MeiosContatos.Find(x => x.TipoContato == eTipoContato.Email).Valor;

                credenciado.Chave = GerarChaveAcesso(email, nome);

                using (BancoDeDados bancoDeDados = BancoDeDados.ObterInstancia(banco, UsuarioCredenciado))
                {
                    bancoDeDados.IniciarTransacao();

                    GerenciadorTransacao.ObterIDAtual();

                    _da.RegerarChave(credenciado, bancoDeDados);

                    EnviarEmail(credenciado, email, false);

                    bancoDeDados.Commit();

                    Validacao.Add(Mensagem.Credenciado.RegerarChave);
                }
            }
            catch (Exception exc)
            {
                Validacao.AddErro(exc);
            }
        }