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); }
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); }