public bool ValidarDesassociarFiscalizacao(int fiscalizacaoId) { _busFiscalizacao.ValidarDesassociar(fiscalizacaoId); AcompanhamentoBus acompanhamentoBus = new AcompanhamentoBus(); if (acompanhamentoBus.ObterAcompanhamentos(fiscalizacaoId).Itens.Count > 0) { Validacao.Add(Mensagem.Processo.FiscalizacaoAssociadaPossuiAcompanhamento); } return(Validacao.EhValido); }
public bool Salvar(Processo processo, bool isConversao = false) { RequerimentoValidar _requerimentoValidar = new RequerimentoValidar(); #region Validações Genérica if (processo.SetorId <= 0 && processo.Id.GetValueOrDefault() <= 0) { Validacao.Add(Mensagem.Processo.SetorObrigatorio); } if (!processo.DataCadastro.Data.HasValue) { Validacao.Add(Mensagem.Processo.DataCriacaoObrigatoria); } else { if (processo.DataCadastro.Data > DateTime.Today) { Validacao.Add(Mensagem.Processo.DataCriacaoMaiorAtual); } } if (processo.Tipo.Id <= 0) { Validacao.Add(Mensagem.Processo.ProcessoTipoObrigatorio); } if (processo.Volume.GetValueOrDefault() <= 0) { Validacao.Add(Mensagem.Processo.QuantVolumesObrigatoria); } if (!processo.PossuiSEP.HasValue) { Validacao.Add(Mensagem.Processo.PossuiNumeroSEPObrigatorio); } else { if (processo.PossuiSEP.Value) { int numeroAutuacao = 0; if (String.IsNullOrWhiteSpace(processo.NumeroAutuacao)) { Validacao.Add(Mensagem.Processo.NumeroAutuacaoObrigatorio); } else if (!Int32.TryParse(processo.NumeroAutuacao, out numeroAutuacao)) { Validacao.Add(Mensagem.Processo.NumeroAutuacaoFormato); } else { String numProcesso; if (ExisteNumeroSEP(processo, out numProcesso)) { Validacao.Add(Mensagem.Processo.NumeroAutuacaoJaExistente(numProcesso)); } } if (!processo.DataAutuacao.Data.HasValue) { Validacao.Add(Mensagem.Processo.DataAutuacaoObrigatoria); } else { if (processo.DataAutuacao.Data > DateTime.Today) { Validacao.Add(Mensagem.Processo.DataAutuacaoMaiorAtual); } } } } if (processo.Tipo.Id <= 0) { return(false); } ValidarProcessoTodosCampos(processo, isConversao); if (processo.Tipo.Id == 2 /*Fiscalização*/ && processo.Fiscalizacao.Id == 0) { Validacao.Add(Mensagem.Processo.FiscalizacaoObrigatoria); } if (processo.Requerimento.Id > 0) { ResponsavelTecnico(processo.Responsaveis); if (_requerimentoValidar.RequerimentoDeclaratorio(processo.Requerimento.Id)) { Validacao.Add(Mensagem.Processo.AssociarDeclaratorio); } } #endregion if (processo.Fiscalizacao.Id > 0) { String numeroProcessoAssociado = ValidarFiscalizacaoAssociadaOutroProtocolo(processo.Id.GetValueOrDefault(0), processo.Fiscalizacao.Id); if (!String.IsNullOrWhiteSpace(numeroProcessoAssociado)) { Validacao.Add(Mensagem.Fiscalizacao.FiscalizacaoJaAssociada(numeroProcessoAssociado)); } } if (processo.Id > 0) { #region Validações ao Editar if (!EmPosse(processo.Id.Value)) { Validacao.Add(Mensagem.Processo.PosseProcessoNecessariaEditar); return(Validacao.EhValido); } Processo processoOriginal = _da.ObterSimplificado(processo.Id.Value) as Processo; if ((processo.ChecagemRoteiro.Id > 0 && processo.Requerimento.Id > 0) && (processoOriginal.ChecagemRoteiro.Id != processo.ChecagemRoteiro.Id || processoOriginal.Requerimento.Id != processo.Requerimento.Id)) { _requerimentoValidar.RoteirosChecagemRequerimento(processo.ChecagemRoteiro.Id, processo.Requerimento.Id, processo.Requerimento.SituacaoId); } if (processoOriginal.ChecagemRoteiro.Id != processo.ChecagemRoteiro.Id) { if (_da.VerificarChecagemTemTituloPendencia(ModeloCodigosPendencia, processo.Id.Value).Count > 0) { Validacao.Add(Mensagem.Documento.ChecagemAssociadaTitulo); } else { _busCheckListRoteiro.ValidarAssociarCheckList(processo.ChecagemRoteiro.Id, processo.Id.GetValueOrDefault(), true); } } if (processoOriginal.Requerimento.Id != processo.Requerimento.Id) { List <String> titulos = _da.VerificarAtividadeAssociadaTitulo(processo.Id.GetValueOrDefault()); if (titulos.Count > 0) { Validacao.Add(Mensagem.Processo.RequerimentoAssociadoTitulo()); } } if (processoOriginal.Fiscalizacao.Id != processo.Fiscalizacao.Id) { AcompanhamentoBus acompanhamentoBus = new AcompanhamentoBus(); if (acompanhamentoBus.ObterAcompanhamentos(processoOriginal.Fiscalizacao.Id).Itens.Count > 0) { Validacao.Add(Mensagem.Processo.FiscalizacaoAssociadaPossuiAcompanhamento); } } #endregion } else { #region Validações ao cadastrar if (processo.ChecagemRoteiro != null && processo.ChecagemRoteiro.Id > 0) { _busCheckListRoteiro.ValidarAssociarCheckList(processo.ChecagemRoteiro.Id, processo.Id.GetValueOrDefault(), true, isConversao); } if ((processo.ChecagemRoteiro != null && processo.ChecagemRoteiro.Id > 0) && (processo.Requerimento != null && processo.Requerimento.Id > 0)) { _requerimentoValidar.RoteirosChecagemRequerimento(processo.ChecagemRoteiro.Id, processo.Requerimento.Id, processo.Requerimento.SituacaoId); } #endregion } return(Validacao.EhValido); }