public List <TituloModeloLst> ObterNumerosTitulos(string numero, int modeloId) { TituloModeloInternoBus bus = new TituloModeloInternoBus(); List <TituloModeloLst> titulos = new List <TituloModeloLst>(); try { if (!_validar.ObterNumerosTitulos(numero, modeloId)) { return(titulos); } if (ValidacoesGenericasBus.ValidarMaskNumeroBarraAno(numero)) { titulos = _requrimentoInternoBus.ObterNumerosTitulos(numero, modeloId); switch (titulos.Count) { case 0: Validacao.Add(Mensagem.Requerimento.TituloNaoEncontrado); break; case 1: Validacao.Add(Mensagem.Requerimento.TituloEncontrado); break; default: Validacao.Add(Mensagem.Requerimento.TitulosEncontrados); break; } } else { if (_da.ValidarNumeroSemAnoExistente(numero, modeloId)) { Validacao.Add(Mensagem.Requerimento.TituloNumeroSemAnoEncontrado); } else { Validacao.Add(Mensagem.Requerimento.TituloNaoEncontrado); } } } catch (Exception exc) { Validacao.AddErro(exc); } return(titulos); }
public bool ValidarAtividade(List <Atividade> atividades, string local = null) { if (atividades.Count <= 0) { Validacao.Add(Msg.AtividadeObrigatorio); return(Validacao.EhValido); } int SetorId = atividades[0].SetorId; int titulos = 0; int titulosDeclaratorio = 0; string tituloDeclaratorioModelo = string.Empty; foreach (Atividade atividade in atividades) { #region Atividades if (SetorId != atividade.SetorId) { Validacao.Add(Msg.AtividadesSetoresDiferentes); return(Validacao.EhValido); } if (atividade.Finalidades.Count < 1) { Validacao.Add(Msg.TituloObrigatorio(atividade.NomeAtividade)); return(Validacao.EhValido); } if (!_atividadeBus.AtividadeAtiva(atividade.Id)) { Validacao.Add(Msg.AtividadeDesativada(atividade.NomeAtividade, local)); } foreach (var item in atividade.Finalidades) { #region Finalidades if (item.TituloModelo == 0) { Validacao.Add(Msg.TituloObrigatorio(atividade.NomeAtividade)); } //Verifica se a situação da atividade é encerrada ou já tem título emitido if (atividade.Protocolo.Id > 0 && _atividadeBus.ValidarAtividadeComTituloOuEncerrada(atividade.Protocolo.Id.Value, atividade.Protocolo.IsProcesso, atividade.Id, item.TituloModelo)) { continue; } if (!_atividadeConfigurada.AtividadeConfigurada(atividade.Id, item.TituloModelo)) { Validacao.Add(Msg.TituloNaoConfiguradoAtividade(item.TituloModeloTexto, atividade.NomeAtividade, local)); continue; } TituloModelo modelo = _tituloModeloBus.Obter(item.TituloModelo); if (modelo.TipoDocumentoEnum == eTituloModeloTipoDocumento.Titulo) { ++titulos; } else { ++titulosDeclaratorio; tituloDeclaratorioModelo = modelo.Nome; } if (titulos > 0 && titulosDeclaratorio > 0) { Validacao.Add(Msg.TituloDeclaratorioOutroRequerimento(tituloDeclaratorioModelo)); } if (item.Id == 3) //Renovação { #region Renovacao if (!modelo.Regra(eRegra.Renovacao)) { Validacao.Add(Msg.TituloNaoEhRenovacao(item.TituloModeloTexto, atividade.NomeAtividade, local)); } if (modelo.Regra(eRegra.Renovacao)) { if (item.EmitidoPorInterno) { if (item.TituloModeloAnteriorId == 0 || item.TituloModeloAnteriorId == null) { Validacao.Add(Msg.TituloAnteriorObrigatorio(item.TituloModeloTexto, atividade.NomeAtividade)); } if (string.IsNullOrWhiteSpace(item.TituloAnteriorNumero)) { Validacao.Add(Msg.NumeroAnteriorObrigatorio(item.TituloModeloTexto, atividade.NomeAtividade)); } else { if (!ValidacoesGenericasBus.ValidarMaskNumeroBarraAno(item.TituloAnteriorNumero)) { Validacao.Add(Msg.TituloAnteriorNumeroInvalido); } } CarregarTituloAnteriorSigla(item); } else { ValidarTituloNumeroOrgaoTexto(item, atividade); } } #endregion } else { #region Fase Anterior if (!modelo.Regra(eRegra.FaseAnterior) && (item.TituloModeloAnteriorId != null && item.TituloModeloAnteriorId != 0)) { Validacao.Add(Msg.TituloNaoTemTituloAnterior(item.TituloModeloAnteriorTexto, item.TituloModeloTexto, local)); continue; } Boolean adicionouTituloAnterior = false; Boolean validarTituloAnterior = Convert.ToBoolean((modelo.Resposta(eRegra.FaseAnterior, eResposta.TituloAnteriorObrigatorio) ?? new TituloModeloResposta()).Valor); if (item.EmitidoPorInterno) { adicionouTituloAnterior = (item.TituloAnteriorId.GetValueOrDefault(0) > 0) || (!String.IsNullOrWhiteSpace(item.TituloAnteriorNumero)); } else { adicionouTituloAnterior = (!String.IsNullOrWhiteSpace(item.TituloModeloAnteriorTexto)) || (!String.IsNullOrWhiteSpace(item.TituloAnteriorNumero)) || (!String.IsNullOrWhiteSpace(item.OrgaoExpedidor)); } validarTituloAnterior = validarTituloAnterior || adicionouTituloAnterior; if (modelo.Regra(eRegra.FaseAnterior) && validarTituloAnterior) { List <TituloModeloResposta> respostas = modelo.Respostas(eRegra.FaseAnterior, eResposta.Modelo); if (respostas == null || respostas.Count < 1) { Validacao.Add(Msg.TituloNaoEhFaseAnterior(item.TituloModeloTexto, local)); } if (item.EmitidoPorInterno) { if (item.TituloModeloAnteriorId != null && item.TituloModeloAnteriorId != 0) { if (respostas.SingleOrDefault(x => x.Valor.ToString() == item.TituloModeloAnteriorId.ToString()) == null) { Validacao.Add(Msg.TituloNaoTemTituloAnterior(item.TituloModeloTexto, item.TituloModeloAnteriorTexto, local)); } } if (string.IsNullOrWhiteSpace(item.TituloAnteriorNumero)) { Validacao.Add(Msg.NumeroAnteriorObrigatorio(item.TituloModeloTexto, atividade.NomeAtividade)); } else { if (!(ValidacoesGenericasBus.ValidarMaskNumeroBarraAno(item.TituloAnteriorNumero) || ValidacoesGenericasBus.ValidarNumero(item.TituloAnteriorNumero, 12))) { Validacao.Add(Msg.TituloAnteriorNumeroInvalido); } else { if (ValidacoesGenericasBus.ValidarNumero(item.TituloAnteriorNumero, 12) && _da.ValidarNumeroSemAnoExistente(item.TituloAnteriorNumero, item.TituloModeloAnteriorId.GetValueOrDefault())) { Validacao.Add(Msg.TituloNumeroSemAnoEncontrado); } } } CarregarTituloAnteriorSigla(item); } else { ValidarTituloNumeroOrgaoTexto(item, atividade); } } #endregion } #endregion } #endregion } return(Validacao.EhValido); }