private void SalvarPaginas(Documento documento, AcaoDeSeparacao acao, LoteParaSeparacaoViewModel loteParaSeparacao) { var listaDocumentacaoGeral = this.documentoRepositorio.ObterDocumentosDoLotePorTipo(documento.Lote.Id, TipoDocumento.CodigoDocumentoGeral).Select(x => x.Id).ToList(); foreach (var paginaId in acao.Paginas) { var pagina = this.paginaRepositorio.ObterPorId(paginaId); var documentoOriginal = this.documentoRepositorio.ObterPorId(pagina.Documento.Id); //// manda refazer o PDF do documento original, se for diferente de 27 if (listaDocumentacaoGeral.Any(x => x == documentoOriginal.Id) == false) { loteParaSeparacao.MarcaDocumentoManipulado(documentoOriginal.Id); } var paginaParaSeparacaoAtual = loteParaSeparacao.ObterPagina(paginaId).Status; var paginaEstavaExcluida = paginaParaSeparacaoAtual == null || loteParaSeparacao.ObterPagina(paginaId).Status == PaginaStatus.StatusExcluida; if ((documentoOriginal.TipoDocumento.Id == TipoDocumento.CodigoDocumentoGeral && documentoOriginal.Status == DocumentoStatus.Excluido) || paginaEstavaExcluida) { pagina.Status = PaginaStatus.StatusExcluida; } pagina.Documento = documento; this.paginaRepositorio.Salvar(pagina); documento.Paginas.Add(pagina); this.documentoRepositorio.AlterarMarca(documentoOriginal.Id, Documento.MarcaDeAlteradoNaSeparacao); this.gravaLogDaPaginaServico.Executar(LogPagina.AcaoDocumentoCriadoNaSeparacao, pagina.Id, pagina.Documento.Id, string.Format("Página movida para documento #{0}, documento anterior era #{1}", documento.Id, documentoOriginal.Id)); loteParaSeparacao.ObterPagina(paginaId).NovoDocumentoId = documento.Id; } }
private int ObterDocumentoDaPagina(int paginaId, LoteParaSeparacaoViewModel loteParaSeparacao) { var paginaParaSeparacao = loteParaSeparacao.ObterPagina(paginaId); return(paginaParaSeparacao.DocumentoAtualId()); }