public IProtocolo Obter(int id) { IProtocolo protocolo = null; try { protocolo = _da.Obter(id); if ((protocolo.Id ?? 0) <= 0) { Validacao.Add(Mensagem.Processo.Inexistente); } else { if (protocolo.Arquivo != null && protocolo.Arquivo.Id > 0) { ArquivoDa _arquivoDa = new ArquivoDa(); protocolo.Arquivo = _arquivoDa.Obter(protocolo.Arquivo.Id.Value); } } } catch (Exception exc) { Validacao.AddErro(exc); } return(protocolo); }
public Documento Obter(int id) { Documento documento = null; try { documento = _da.Obter(id) as Documento; if (documento != null && documento.Arquivo != null && documento.Arquivo.Id > 0) { ArquivoDa _arquivoDa = new ArquivoDa(); documento.Arquivo = _arquivoDa.Obter(documento.Arquivo.Id.Value); } } catch (Exception exc) { Validacao.AddErro(exc); } return(documento); }
public MemoryStream GerarPdfProtocoloAssociado(int protocoloId) { ProtocoloRelatorio protocolo = _da.Obter(protocoloId); Document doc = new Document(PageSize.A4, 45, 45, 85, 50); MemoryStream str = new MemoryStream(); PdfWriter wrt = PdfWriter.GetInstance(doc, str); wrt.SetEncryption(PdfWriter.STRENGTH128BITS, null, null, PdfWriter.AllowPrinting); wrt.PageEvent = CabecalhoRodapeFactory.Criar(protocolo.SetorCriacaoId); doc.Open(); PdfPTable tabelaDocumento = PdfMetodosAuxiliares.CriarTabela(); tabelaDocumento.DefaultCell.Padding = 0; PdfMetodosAuxiliares.AddTituloData(doc, "Documentos Juntados/Processos Apensados"); tabelaDocumento.DefaultCell.BorderWidth = 0; #region Processo/Documento tabelaDocumento.AddCell(PdfMetodosAuxiliares.AddTexto("Processo", PdfMetodosAuxiliares.arial10Negrito)); PdfMetodosAuxiliares.PularLinha(tabelaDocumento); PdfPTable tabelaInterior = PdfMetodosAuxiliares.CriarTabela(2, new float[] { 20, 80 }); tabelaInterior.AddCell(PdfMetodosAuxiliares.AddTexto("Tipo:", PdfMetodosAuxiliares.arial10)); tabelaInterior.AddCell(PdfMetodosAuxiliares.AddTexto(protocolo.TipoTexto, PdfMetodosAuxiliares.arial10)); tabelaInterior.AddCell(PdfMetodosAuxiliares.AddTexto("Número:", PdfMetodosAuxiliares.arial10)); tabelaInterior.AddCell(PdfMetodosAuxiliares.AddTexto(protocolo.Numero, PdfMetodosAuxiliares.arial10)); tabelaDocumento.AddCell(tabelaInterior); #endregion List <ProtocoloRelatorio> protocolosAux = new List <ProtocoloRelatorio>(); #region Documentos Juntados protocolosAux = protocolo.ProtocolosAssociados.Where(x => x.ProtocoloTipo == 2).ToList(); if (protocolosAux != null && protocolosAux.Count > 0) { GerarTabelas(protocolosAux, "Documentos Juntados", tabelaDocumento); } #endregion #region Processos Apensados protocolosAux = protocolo.ProtocolosAssociados.Where(x => x.ProtocoloTipo == 1).ToList(); if (protocolosAux != null && protocolosAux.Count > 0) { GerarTabelas(protocolosAux, "Processos Apensados", tabelaDocumento); } #endregion doc.Add(tabelaDocumento); doc.Close(); doc.Dispose(); return(str); }
public void ValidarProcessoTodosCampos(Processo processo, bool isConversao = false) { ListaBus listaBus = new ListaBus(); ProtocoloTipo configuracaoProtocoloTipo = listaBus.TiposProcesso.FirstOrDefault(x => x.Id == processo.Tipo.Id); if (processo.ChecagemRoteiro.Id <= 0 && processo.Requerimento.Id <= 0) { if (processo.Interessado.Id <= 0) { Validacao.Add(Mensagem.Processo.InteressadoObrigatorio); } } else { if ((configuracaoProtocoloTipo.ChecagemRoteiroObrigatorio && processo.ChecagemRoteiro.Id <= 0) || processo.Requerimento.Id > 0 && processo.ChecagemRoteiro.Id <= 0) { Validacao.Add(Mensagem.Processo.ChecagemObrigatoria); return; } if (configuracaoProtocoloTipo.FiscalizacaoObrigatorio && processo.Fiscalizacao.Id <= 0) { Validacao.Add(Mensagem.Processo.FiscalizacaoObrigatoria); } if ((configuracaoProtocoloTipo.RequerimentoObrigatorio && processo.Requerimento.Id <= 0) || processo.ChecagemRoteiro.Id > 0 && processo.Requerimento.Id <= 0) { Validacao.Add(Mensagem.Processo.RequerimentoObrigatorio); } else { if (!isConversao) { RequerimentoFinalizado(processo.Requerimento.Id, processo.Id.GetValueOrDefault()); } if (processo.Atividades.Count <= 0) { Validacao.Add(Mensagem.Processo.AtividadeObrigatoria); } else { Processo processoBanco = processo.Id.GetValueOrDefault() > 0 ? _da.Obter(processo.Id.Value) as Processo : new Processo(); ValidarAtividades(processo.Atividades, (processoBanco.Requerimento.Id != processo.Requerimento.Id)); if (processoBanco.Requerimento.Id == processo.Requerimento.Id) { foreach (Atividade atividade in processoBanco.Atividades) { Atividade atividadeAux = processo.Atividades.SingleOrDefault(x => x.Id == atividade.Id); foreach (var finalidade in atividade.Finalidades) { if (!atividadeAux.Finalidades.Exists(x => x.Id == finalidade.Id) && _atividadeDa.VerificarAtividadeAssociadaTitulo(processoBanco.Id.Value, true, atividade.Id, finalidade.TituloModelo)) { Validacao.Add(Mensagem.Atividade.FinalidadeAssociadaTitulo(finalidade.TituloModeloTexto)); } } } } } } } }
public bool Salvar(Documento documento) { #region Validações Genéricas if (documento.SetorId <= 0 && documento.Id.GetValueOrDefault() <= 0) { Validacao.Add(Mensagem.Documento.SetorObrigatorio); } if (!documento.DataCadastro.Data.HasValue) { Validacao.Add(Mensagem.Documento.DataCriacaoObrigatoria); } else { if (documento.DataCadastro.Data > DateTime.Today) { Validacao.Add(Mensagem.Documento.DataCriacaoMaiorAtual); } } if (documento.Tipo.Id <= 0) { Validacao.Add(Mensagem.Documento.DocumentoTipoObrigatorio); } if (documento.Volume.GetValueOrDefault() <= 0 && documento.Tipo.QuantidadeDocumentoObrigatorio) //Documento Avulso { Validacao.Add(Mensagem.Documento.QuantidadeDocumentoObrigatoria); } if (string.IsNullOrEmpty(documento.Nome) && documento.Tipo.NomeObrigatorio) { Validacao.Add(Mensagem.Documento.NomeObrigatorio); } if (string.IsNullOrEmpty(documento.Assunto) && documento.Tipo.AssuntoObrigatorio) { Validacao.Add(Mensagem.Documento.AssuntoObrigatorio); } if (string.IsNullOrEmpty(documento.Descricao) && documento.Tipo.DescricaoObrigatoria) { Validacao.Add(Mensagem.Documento.DescricaoObrigatoria); } if (documento.Tipo.DestinatarioLivreObrigatorio) { if (string.IsNullOrWhiteSpace(documento.Descricao)) { Validacao.Add(Mensagem.Documento.ConteudoOficioObrigatorio); } if (string.IsNullOrWhiteSpace(documento.OrgaoDestino)) { Validacao.Add(Mensagem.Documento.OrgaoDestinoObrigatorio); } if (string.IsNullOrWhiteSpace(documento.CargoFuncaoDestinatario)) { Validacao.Add(Mensagem.Documento.CargoFuncaoDestinatarioObrigatorio); } if (string.IsNullOrWhiteSpace(documento.NomeDestinatario)) { Validacao.Add(Mensagem.Documento.NomeDestinatarioObrigatorio); } if (string.IsNullOrWhiteSpace(documento.EnderecoDestinatario)) { Validacao.Add(Mensagem.Documento.EnderecoDestinatarioObrigatorio); } } if (documento.Tipo.Id == (int)eProtocoloTipo.FiscalizacaoSemAI_TEI_TAD) { if (documento.Fiscalizacao.Id == 0) { Validacao.Add(Mensagem.Documento.FiscalizacaoObrigatoria); } else { FiscalizacaoValidar fiscValidar = new FiscalizacaoValidar(); if (fiscValidar.PossuiAI_TED_TAD(documento.Fiscalizacao.Id)) { Validacao.Add(Mensagem.Documento.PossuiAI_TEI_TAD); } String numeroProtocoloAssociado = ValidarFiscalizacaoAssociadaOutroProtocolo(documento.Id.GetValueOrDefault(0), documento.Fiscalizacao.Id); if (!String.IsNullOrWhiteSpace(numeroProtocoloAssociado)) { Validacao.Add(Mensagem.Fiscalizacao.FiscalizacaoJaAssociada(numeroProtocoloAssociado)); } } } if (documento.Tipo.Id <= 0) { return(false); } ListaBus listaBus = new ListaBus(); ProtocoloTipo configuracaoDocumentoTipo = listaBus.TiposDocumento.FirstOrDefault(x => x.Id == documento.Tipo.Id); Documento documentoOriginal = documento.Id.GetValueOrDefault() > 0 ? _da.Obter(documento.Id.Value) as Documento : new Documento(); if (configuracaoDocumentoTipo.ProcessoObrigatorio && documento.ProtocoloAssociado.Id.GetValueOrDefault() <= 0) { Validacao.Add(Mensagem.Documento.ProcessoObrigatorio); } if (configuracaoDocumentoTipo.ChecagemPendenciaObrigatorio) { if (documento.ChecagemPendencia.Id <= 0) { Validacao.Add(Mensagem.Documento.ChecagemPendenciaObrigatoria); } else { ChecagemPendenciaJaAssociada(documento.ChecagemPendencia.Id, documento.Id.GetValueOrDefault()); } } if (configuracaoDocumentoTipo.InteressadoObrigatorio && documento.Interessado.Id == 0) { Validacao.Add(Mensagem.Documento.InteressadoObrigatorio); } if (configuracaoDocumentoTipo.RequerimentoObrigatorio) { if (documento.ChecagemRoteiro.Id <= 0) { Validacao.Add(Mensagem.Documento.ChecagemObrigatoria); } if (documento.Requerimento.Id <= 0) { Validacao.Add(Mensagem.Documento.RequerimentoObrigatorio); } else { if (_requerimentoValidar.RequerimentoDeclaratorio(documento.Requerimento.Id)) { Validacao.Add(Mensagem.Documento.AssociarDeclaratorio); } RequerimentoFinalizado(documento.Requerimento.Id, documento.Id.GetValueOrDefault()); ResponsavelTecnico(documento.Responsaveis); if (documento.Atividades.Count <= 0) { Validacao.Add(Mensagem.Documento.AtividadeObrigatoria); } else { Atividades(documento.Atividades, (documentoOriginal.Requerimento.Id != documento.Requerimento.Id)); if (documentoOriginal.Requerimento.Id == documento.Requerimento.Id) { foreach (Atividade atividade in documentoOriginal.Atividades) { Atividade atividadeAux = documento.Atividades.SingleOrDefault(x => x.Id == atividade.Id); foreach (var finalidade in atividade.Finalidades) { if (!atividadeAux.Finalidades.Exists(x => x.Id == finalidade.Id) && _atividadeDa.VerificarAtividadeAssociadaTitulo(documentoOriginal.Id.Value, false, atividade.Id, finalidade.TituloModelo)) { Validacao.Add(Mensagem.Atividade.FinalidadeAssociadaTitulo(finalidade.TituloModeloTexto)); } } } } } } } #endregion if (documento.Id > 0) { #region Editar if (!_da.EmPosse(documento.Id.Value)) { Validacao.Add(Mensagem.Documento.PosseDocumentoNecessariaEditar); return(Validacao.EhValido); } if ((documento.ChecagemRoteiro.Id > 0 && documento.Requerimento.Id > 0) && (documentoOriginal.ChecagemRoteiro.Id != documento.ChecagemRoteiro.Id || documentoOriginal.Requerimento.Id != documento.Requerimento.Id)) { _requerimentoValidar.RoteirosChecagemRequerimento(documento.ChecagemRoteiro.Id, documento.Requerimento.Id, documento.Requerimento.SituacaoId); } if (documentoOriginal.ChecagemRoteiro.Id != documento.ChecagemRoteiro.Id) { if (_da.VerificarChecagemTemTituloPendencia(ModeloCodigosPendencia, documento.Id.Value).Count > 0) { Validacao.Add(Mensagem.Documento.ChecagemAssociadaTitulo); } else { _busCheckListRoteiro.ValidarAssociarCheckList(documento.ChecagemRoteiro.Id, documento.Id.Value, false); } } if (documentoOriginal.Requerimento.Id != documento.Requerimento.Id) { List <String> titulos = _da.VerificarAtividadeAssociadaTitulo(documento.Id.GetValueOrDefault()); if (titulos.Count < 0) { Validacao.Add(Mensagem.Documento.RequerimentoAssociadoTitulo()); } } if (documento.ChecagemPendencia.Id != documentoOriginal.ChecagemPendencia.Id) { Validacao.Add(Mensagem.Documento.ChecagemPendenciaAlterada); } #endregion } else { #region Criar if (documento.ChecagemRoteiro != null && documento.ChecagemRoteiro.Id > 0) { _busCheckListRoteiro.ValidarAssociarCheckList(documento.ChecagemRoteiro.Id, documento.Id.GetValueOrDefault(), false); } if ((documento.ChecagemRoteiro != null && documento.ChecagemRoteiro.Id > 0) && (documento.Requerimento != null && documento.Requerimento.Id > 0)) { _requerimentoValidar.RoteirosChecagemRequerimento(documento.ChecagemRoteiro.Id, documento.Requerimento.Id, documento.Requerimento.SituacaoId); } #endregion } return(Validacao.EhValido); }