Beispiel #1
0
        public bool AlterarSituacao(CARSolicitacao entidade, BancoDeDados banco = null, bool mostrarMsg = true)
        {
            try
            {
                bool           IsCredenciado    = false;
                CARSolicitacao solicitacaoAtual = Obter(entidade.Id) ?? new CARSolicitacao();

                if (solicitacaoAtual.Id == 0)
                {
                    solicitacaoAtual = _busCredenciado.Obter(entidade.Id);
                    IsCredenciado    = true;
                }

                entidade.SituacaoAnteriorId   = solicitacaoAtual.SituacaoId;
                entidade.DataSituacaoAnterior = solicitacaoAtual.DataSituacao;
                entidade.Protocolo            = solicitacaoAtual.Protocolo;

                //passivo arrumado
                GerenciadorTransacao.ObterIDAtual();

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

                        _busCredenciado.AlterarSituacao(new CARSolicitacao()
                        {
                            Id = entidade.Id
                        }, entidade, bancoDeDados);
                        _busCredenciado.FazerVirarPassivo(entidade.Id, bancoDeDados);
                        bancoDeDados.Commit();
                    }
                }
                else
                {
                    if (_validar.AlterarSituacao(entidade))
                    {
                        using (BancoDeDados bancoDeDados = BancoDeDados.ObterInstancia(banco))
                        {
                            bancoDeDados.IniciarTransacao();

                            _da.AlterarSituacao(entidade, bancoDeDados);
                            _da.FazerVirarPassivo(entidade.Id, bancoDeDados);

                            bancoDeDados.Commit();
                        }
                    }
                }

                if (mostrarMsg)
                {
                    Validacao.Add(Mensagem.CARSolicitacao.SolicitacaoAlterarSituacao);
                }
            }
            catch (Exception exc)
            {
                Validacao.AddErro(exc);
            }

            return(Validacao.EhValido);
        }
Beispiel #2
0
        public bool AlterarSituacao(CARSolicitacao entidade, BancoDeDados banco = null, bool isTitulo = false, int funcionarioId = 0)
        {
            try
            {
                bool           IsCredenciado    = false;
                CARSolicitacao solicitacaoAtual = Obter(entidade.Id) ?? new CARSolicitacao();

                if (solicitacaoAtual.Id == 0)
                {
                    solicitacaoAtual = _busCredenciado.Obter(entidade.Id);
                    IsCredenciado    = true;
                }

                entidade.SituacaoAnteriorId   = solicitacaoAtual.SituacaoId;
                entidade.DataSituacaoAnterior = solicitacaoAtual.DataSituacao;
                entidade.Protocolo            = solicitacaoAtual.Protocolo;

                //passivo arrumado
                GerenciadorTransacao.ObterIDAtual();

                if (_validar.AlterarSituacao(entidade, funcionarioId, isTitulo))
                {
                    if (IsCredenciado)
                    {
                        using (BancoDeDados bancoDeDados = BancoDeDados.ObterInstancia(banco, UsuarioCredenciado))
                        {
                            bancoDeDados.IniciarTransacao();

                            _busCredenciado.AlterarSituacao(new CARSolicitacao()
                            {
                                Id = entidade.Id
                            }, entidade, bancoDeDados);
                            _busCredenciado.FazerVirarPassivo(entidade.Id, bancoDeDados);
                            bancoDeDados.Commit();
                        }
                    }
                    else
                    {
                        using (BancoDeDados bancoDeDados = BancoDeDados.ObterInstancia(banco))
                        {
                            bancoDeDados.IniciarTransacao();

                            _da.AlterarSituacao(entidade, bancoDeDados);
                            _da.FazerVirarPassivo(entidade.Id, bancoDeDados);

                            bancoDeDados.Commit();
                        }
                    }

                    if (!isTitulo && Validacao.EhValido)
                    {
                        int situacaoArquivo = (entidade.SituacaoAnteriorId == (int)eCARSolicitacaoSituacao.Valido && entidade.SituacaoId == (int)eCARSolicitacaoSituacao.Invalido) ?
                                              (int)eStatusArquivoSICAR.Cancelado :
                                              (int)eStatusArquivoSICAR.ArquivoReprovado;

                        _da.AlterarSituacaoArquivoSicar(entidade, situacaoArquivo);

                        Validacao.Add(Mensagem.CARSolicitacao.SolicitacaoAlterarSituacao);
                    }
                }
            }
            catch (Exception exc)
            {
                Validacao.AddErro(exc);
            }

            return(Validacao.EhValido);
        }