public void AlterarSituacao(CARSolicitacao filtro, CARSolicitacao carSolicitacao, BancoDeDados banco = null)
        {
            try
            {
                if (_validar.AlterarSituacao(carSolicitacao))
                {
                    GerenciadorTransacao.ObterIDAtual();

                    using (BancoDeDados bancoDeDados = BancoDeDados.ObterInstancia(banco, UsuarioCredenciado))
                    {
                        _da.AlterarSituacao(new CARSolicitacao()
                        {
                            Id = carSolicitacao.Id, SituacaoId = (int)carSolicitacao.SituacaoId, Motivo = carSolicitacao.Motivo
                        }, bancoDeDados);
                        ConsultaCredenciado.Gerar(carSolicitacao.Id, eHistoricoArtefato.carsolicitacao, bancoDeDados);

                        bancoDeDados.Commit();
                    }
                }
            }
            catch (Exception exc)
            {
                Validacao.AddErro(exc);
            }
        }
        public void AlterarSituacao(CARSolicitacao filtro, CARSolicitacao carSolicitacao, BancoDeDados banco = null)
        {
            try
            {
                if (_validar.AlterarSituacao(carSolicitacao))
                {
                    GerenciadorTransacao.ObterIDAtual();

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

                        List <CARSolicitacao> resultados = _da.ObterCARSolicitacoes(filtro, bancoDeDados);

                        if (resultados != null && resultados.Count > 0)
                        {
                            foreach (var item in resultados.Where(x => x.SituacaoId == (int)eCARSolicitacaoSituacao.Valido || x.SituacaoId == (int)eCARSolicitacaoSituacao.Suspenso))
                            {
                                if (item.SituacaoId == (int)carSolicitacao.SituacaoId)
                                {
                                    continue;
                                }

                                _da.AlterarSituacao(new CARSolicitacao()
                                {
                                    Id = item.Id, SituacaoId = (int)carSolicitacao.SituacaoId, Motivo = carSolicitacao.Motivo
                                }, bancoDeDados);
                                ConsultaCredenciado.Gerar(item.Id, eHistoricoArtefato.carsolicitacao, bancoDeDados);
                            }
                        }

                        bancoDeDados.Commit();
                    }
                }
            }
            catch (Exception exc)
            {
                Validacao.AddErro(exc);
            }
        }
Esempio n. 3
0
        public void GerenciarSituacaoCARSolicitacao(List <ConfiguracaoServico> configuracoes, BancoDeDados banco = null)
        {
            using (BancoDeDados bancoDeDados = BancoDeDados.ObterInstancia(banco))
            {
                ConfiguracaoServico configuracao = configuracoes.SingleOrDefault(x => x.Id == (int)eServico.CARSolicitacao) ?? new ConfiguracaoServico();

                try
                {
                    DateTime inicio = configuracao.DataInicioExecucao ?? DateTime.MinValue;

                    if (configuracao == null || configuracao.Id <= 0 || configuracao.EmExecucao || (DateTime.Now - inicio) < configuracao.Intervalo)
                    {
                        return;
                    }

                    //Coloca o serviço em execução
                    configuracao.EmExecucao = true;
                    _da.EditarConfiguracao(configuracao, bancoDeDados);

                    List <CARSolicitacao> solicitacoes = _da.ObterSolicitacoesValidasPorNumDiasPassados(SolicitacaoNumMaxDiasValido, bancoDeDados);
                    solicitacoes = _da.ObterSolicitacoesPorRequerimentoNaoProtocolado(solicitacoes, bancoDeDados);

                    if (solicitacoes != null)
                    {
                        for (int i = 0; i < solicitacoes.Count; i++)
                        {
                            solicitacoes[i].SituacaoId = (int)eCARSolicitacaoSituacao.Suspenso;
                            solicitacoes[i].Motivo     = SolicitacaoMotivoSuspensaoPeriodoProtocolo;
                            _da.AlterarSituacao(solicitacoes[i], bancoDeDados);

                            ConsultaCredenciado.Gerar(solicitacoes[i].Id, eHistoricoArtefato.carsolicitacao, bancoDeDados);
                        }
                    }

                    configuracao.EmExecucao = false;
                    _da.EditarConfiguracao(configuracao, bancoDeDados);
                }
                catch (Exception exc)
                {
                    //finaliza o serviço em execução
                    //configuracao.EmExecucao = false;
                    //_da.EditarConfiguracao(configuracao, bancoDeDados);
                    throw exc;
                }
            }
        }
Esempio n. 4
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);
        }
Esempio n. 5
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);
        }