public static DocumentoViewModel Criar(Documento documento, bool carregarPaginas = false) { var documentoViewModel = new DocumentoViewModel { DocumentoId = documento.Id, LoteId = documento.Lote.Id, TipoId = documento.TipoDocumento.Id, TipoDescricao = documento.TipoDocumento.Description, TipoArquivo = documento.TipoDeArquivo, Cpf = documento.Cpf, Versao = documento.Versao, MarcaDeNovaVersao = documento.Templates, Virtual = documento.Virtual, CodigoDoPai = documento.DocumentoPaiId, DataCaptura = documento.Lote.PacoteProcessado.ArquivoRecebidoEm.GetValueOrDefault(), Excluido = documento.Status == DocumentoStatus.Excluido, DocumentoPaiId = documento.DocumentoPaiId }; if (carregarPaginas) { documentoViewModel.Paginas = documento.ObterPaginasOrdenadas().ToList(); } return(documentoViewModel); }
public static DossieViewModel Criar(Processo processo, bool carregarDocumentos = false) { var dossie = new DossieViewModel { LoteId = processo.Lote.Id, ProcessoId = processo.Id, Identificacao = processo.Identificacao, DataRegistro = processo.Lote.DataCriacao, DataMovimento = processo.Lote.PacoteProcessado != null ? processo.Lote.PacoteProcessado.ArquivoRecebidoEm : null, Status = processo.Status.DisplayName, TempoDeProcessamento = processo.Lote.TempoProcessamento(), Caixa = processo.Lote.Pacote.Identificacao, Folder = processo.Lote.DossieEsperado.CodigoDeBarras, Tipo = processo.TipoDeProcesso.Descricao, TipoId = processo.TipoDeProcesso.Id, Documentos = new List <DocumentoViewModel>(), PodeEditar = processo.Status == ProcessoStatus.Finalizado || processo.Status == ProcessoStatus.AguardandoExportacao || processo.Lote.Status == LoteStatus.Faturamento || processo.Lote.Status == LoteStatus.Finalizado, ColetaId = processo.Lote.Pacote.ColetaId, LotecefId = processo.Lote.LoteCef == null ? 0 : processo.Lote.LoteCef.Id, LotecefData = processo.Lote.LoteCef == null ? string.Empty : (processo.Lote.LoteCef.DataFim == null ? string.Empty : processo.Lote.LoteCef.DataFim.Value.ToString("dd/MM/yyyy")), LotecefFaturado = processo.Lote.LoteCef == null ? string.Empty : (processo.Lote.LoteCef.DataAssinaturaCertificado == null ? string.Empty : processo.Lote.LoteCef.DataAssinaturaCertificado.Value.ToString("dd/MM/yyyy")), UltimaOcorrenciaObs = processo.Lote.DossieEsperado.UltimaOcorrencia == null ? string.Empty : processo.Lote.DossieEsperado.UltimaOcorrencia.Observacao }; if (processo.Status == ProcessoStatus.AguardandoTransmissao || processo.Status == ProcessoStatus.AguardandoAjuste) { dossie.Status = processo.Lote.Status.DisplayName; } if (carregarDocumentos) { foreach (var documento in processo.Documentos) { dossie.Documentos.Add(DocumentoViewModel.Criar(documento)); } var documentosPdfMarcados = dossie.Documentos.Where(x => x.TipoId == TipoDocumento.CodigoDossiePdf && x.MarcaDeNovaVersao == Documento.SimboloEngrenagem); if (documentosPdfMarcados.Any()) { var pdfMarcado = documentosPdfMarcados.OrderBy(x => x.DocumentoId).Last(); var novoPdf = new DocumentoViewModel { DocumentoId = -1, TipoArquivo = pdfMarcado.TipoArquivo, TipoDescricao = pdfMarcado.TipoDescricao, TipoId = pdfMarcado.TipoId, Versao = (pdfMarcado.Versao.ToInt() + 1).ToString() }; dossie.Documentos.Add(novoPdf); } } return(dossie); }
public static IList <DocumentoViewModel> CriarPorLista(IList <Documento> documentos) { var lista = new List <DocumentoViewModel>(); foreach (var documento in documentos) { lista.Add(DocumentoViewModel.Criar(documento)); } return(lista); }